Эта короткая заметка рассказывает о типах iOS сертификатов и ситуаций их применения. Ничего необычного и нового. Просто захотелось иметь запись под рукой. Также ниже ты найдешь шаги для генерирования сертификатов с помощью openssl.

Production Certificate
Ad Hoc Distribution Provisioning Тестирование финального приложения среди бета тестеров.
Отзыв сертификата:
Приложение умирает.
App Store Distribution Provisioning Публикация финального приложения в аппстор.
Отзыв сертификата:
Ранее опубликованное приложение не прекращает работать.
Development Certificate
Development Provisioning Тестирование билда на девайсах.
Отзыв сертификата:
Приложение умирает.

Не знаю, можно ли мешать вместе сертификаты для разработки и продакшн профиль. Хотя смысла в этом мало.

Запрос подписи сертификата

Часто приходится генерировать запрос с машины Windows или Unix и использовать на сайте разработчиков Apple. Это легко выполнить с помощью OpenSSL. Я предполагаю, что openssl установлена в системе. Введите следующую комманду:

openssl genrsa -out "iOS Distribution.key" 2048

Эта комманда сгенерирует приватный ключ. Не теряй его. Для создания запроса подписи сертификата введи:

openssl req -new -key "iOS Distribution.key" -out "iOS Distribution.csr" 
    -subj "/C=RU/CN=KAVOLORN.RU/emailAddress=some.email@kavolorn.ru"

Теперь у тебя есть .csr файл который ты можешь использовать на портале Apple. Не забывай вводить свои значения в комманду выше.

Преобразования

После того, как ты загрузил .csr файл и скачал сертификат у тебя на руках будет .cer файл. Когда я работаю с разработкой под Adobe AIR мне нужны .p12 сертификаты. Ниже приведены шаги для преобразования .cer файла в .p12 файл:

openssl x509 -in "iOS Distribution.cer" -inform DER 
    -out "iOS Distribution.crt" -outform PEM 
openssl pkcs12 -export -inkey "iOS Distribution.key" -in "iOS Distribution.crt" 
    -out "iOS Distribution.p12"

Вот и все, довольно просто :)

Ссылки

https://developer.apple.com/support/technical/certificates/
https://www.openssl.org/docs/apps/openssl.html