Створення сертифікатів Apple Pay

Опис

 

При інтеграції Apple Pay по API необхідно провести генерацію сертифікатів Apple Pay.


Процедура генерації

 

  1. Створіть папку на вашому пристрої в яку будуть збережені сертифікати.


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==