Створення сертифікатів Apple Pay
Опис
При інтеграції Apple Pay по API необхідно провести генерацію сертифікатів Apple Pay.
Процедура генерації
Створіть папку на вашому пристрої в яку будуть збережені сертифікати.
2. Відкрийте Terminal в цій папці.
2.1. Виконайте команду openssl ecparam -genkey -name prime256v1 -out ecckey.key
2.2. Виконайте команду openssl req -new -sha256 -key ecckey.key -out ecccertreq.csr -subj /CN=www.mydomain.com
, де www.mydomain.com - ваш домен (для додатку вкажіть будь який домен).
3. Зайдіть до вашого Apple Developer акаунта.
4. Створіть новий Identifier за посиланням https://developer.apple.com/account/resources/identifiers/merchant/add/
В полі Identifier необхідно вводити домен сайту у зворотньому порядку. Для прикладу, при домені google.com.ua необхідно ввести ua.com.google
5. Оберіть в загальному списку ваш Identifiers за посиланням нижче та перейдіть до його налаштувань https://developer.apple.com/account/resources/identifiers/list/merchant
6. В розділі Apple Pay Payment Processing Certificate натисніть кнопку Create Certificate
7. Натисніть Continue.
8. Завантажте ecccertreq.csr з вашої папки з сертифікатами та натисніть Continue.
9. Натисніть Download для завантаження файлу apple_pay.cer і збережіть його в папку з сертифікатами.
10. Повернуться до вашого Identifier в переліку https://developer.apple.com/account/resources/identifiers/list/merchant
11. В розділі Merchant Domains натисніть кнопку Add Domain.
12. Введіть ваш домен та натисніть кнопку Save.
13. Натисніть Download для завантаження файлу apple-developer-merchantid-domain-association.txt
Цей файл необхідно розмістити на вашому сервері в папці .well-known согласно пути https://ВАШ_ДОМЕН/.well-known/apple-developer-merchantid-domain-association.txt
Після розміщення файлу натиснітт кнопку Verify.
Status: Verified - успішна верифікація.
Status: Pending - верифікація не завершена, протермінована та вимагає повторної верифікації.
14. В розділі Apple Pay Merchant Identity Certificate натисніть кнопку Create Certificate.
15. Відкрийте новий Terminal в папці з сертифікатами.
Виконайте команду openssl req -new -newkey rsa:2048 -nodes -out rsacertreq.csr -keyout rsakey.key -subj /CN=www.mydomain.com
, де http://www.mydomain.com - ваш домен (для додатку вкажіть будь який домен).
16. Завантажте rsacertreq.csr з вашої папки з сертифікатами та натисніть кнопку Continue.
17. Натисніть Download для завантаження файлу merchant_id.cer та збережіть його в папці з сертифікатами.
18. Відкрийте новий термінал Terminal в папці з сертифікатами.
18.1. Виконайте команду openssl x509 -inform DER -in merchant_id.cer -out merchant_id.pem
18.2. Виконайте команду openssl pkcs12 -export -out Certificates.p12 -inkey rsakey.key -in merchant_id.pem
18.3. Придумайте та введіть пароль використовуючи лише цифри (від 5 до 10 символів). Для підтвердження вас попросить ввести пароль ще раз. Пароль збережіть в файл password.txt в папці з сертифікатами.
18.4. Виконайте команду openssl pkcs12 -in Certificates.p12 -out ApplePay.crt.pem -clcerts -nokeys
18.5. Введіть пароль з кроку 18.3.
19. Відкрийте файл rsakey.key редактором коду та замініть теги теги:
-----BEGIN PRIVATE KEY-----
на -----BEGIN RSA PRIVATE KEY-----
-----END PRIVATE KEY-----
на -----END RSA PRIVATE KEY-----
Файл rsakey.key перейменувати в ApplePay.key.pem
20. Відкрийте файл ecckey.key редактором коду.
Видаліть все окрім вмісту між тегами -----BEGIN EC PRIVATE KEY-----
та -----END EC PRIVATE KEY-----
. Теги також видаліть. Отримані дані необхідно вирівняти в один рядок.
В результаті ви отримаєте подібний рядок:MHcCAQEEIGOcj9yGqWYQsFb69go2TXk3nZ2+1bWCnxWK677sZAVFoAoGCCqGSM49AwEHoUQDQgAEhnrbXXeXyKQhYIeznMgw1fqJVNkkMdN00hDpK8u0SXclbUFiNdeIQo07Bb/xU+sUrnL3RBJ0SoP9YVmRDfrzEg==