Подпись приложений ios сертификатом разработчика

Всё что нужно знать. Коротко. Понятно.

Когда спрашивают про ключи подписи приложений, то явно или не явно имеется в ввиду закрытый криптографический ключ.  Различные проблемы и недопонимания данной темы появились из-за того что существуют различные форматы контейнеров, в которых и хранится данный ключ.

Если вы делаете ваше webview приложение для IOS на Xcode, под макбуком, то многие вещи для вас остаются «за кадром» — вы просто нажимаете кнопку и ваша среда автоматически делает различные запросы к вашему аккаунту и прочее.

Но, как быть, если вы решили сделать сборку на REact Native, или просите кого-то обновить приложение? Данный вопрос мы и рассмотрим.

Забегая вперед сажу сразу — для подписи приложений на react native нужно сделать файл .P12.

Данный файл будет содержать закрытый ключ и сертификат!

Все трудности и проблемы связаны с недопониманием что это такое! Ведь сам по себе портал Apple Developer не выдаёт никаких  файлов формата P12, а для его получения приходитcя генерировать несколько различных файлов, которые то и дело приходится загружать то на поhтал aplle developer, то обратно на программу связка ключей в вашем MAC OS

Форматы контейнеров для хранения ключа.

Сам по себе закрытый ключ подписи, который вы сгенерируете никак не защищён, имея его на руках, вы можете подписать им всё что угодно.

Поэтому, что бы защитить его, он помещается в контейнер. Данные контейнеры бывают разные. Сейчас везде куда ни плюнь

PKCS12

Из этого вытекает первое правило — для доступа к ключу разработчика — нужен пароль от контейнера (хранилища ключа)!

Нет пароля? Попробуйте стандартный — 11111, android. Не подошёл — забейте. Вы потеряли возможность загрузить обновление вашего приложения.

Когда вы делаете приложение в Android Studio, то там можно сразу же сгенерировать закрытый ключ подписи, который автоматически поместится в контейнер JKS. Удивительно, но для этого не нужен аккаунт разработчика.  В действительности закрытый ключ подписи это просто секретный шифр, который можно создать программой keytool.

Как подписать приложение ios своим сертификатом?

Первая проблема, с которой вы столкнётесь — подписать IOS приложение можно только сертификатом, который выдаст APPSTORE!

Из этого следует одно важное правило — у вас должен быть оплаченный аккаунт разработчика apple developer

Для того чтобы получить сертификат для подписи нужно сделать запрос в центр сертификации. CSR

To manually generate a Certificate, you need a Certificate Signing Request (CSR) file from your Mac.

Так прям и написано на сайте apple developer.

Обычно это делается через mac OS из программы связка ключей

Когда в программе связка ключей вы генерируете CSR файл, то в него помещается ОТКРЫТЫЙ КЛЮЧ и некоторые данные.

Закрытый ключ по прежнему остаётся на вашем MAC OS. 

Далее вы на портале apple developer создаёте сертификат подписи.

Второе важное правило — этот сертификат подписи не содержит закрытый ключ!

Это значит что, если вы не сделали P12 на вашем макбуке, то всё ещё не сможете подписать IOS приложение на REACT Native. Так как для подписи нужен закрытый ключ, которого нет в том файле, который выдаёт портал apple developer при загрузке на него CSR файла и генерации сертификата!

Проверьте данный факт сами. Зайдите на портад apple developer и скачайте сгенерированный сертификат. Этот сертификат выдаётся после CSR запроса. Точнее после загрузки на этот портал CRS файла. И не содержит приветного ключа.

Убедится в этом можно открыв данный фыйл в чудесной программе https://keystore-explorer.org/downloads.html

В ней вы воочию убедитесь в содержимом данного файла.

Что делать?

Всё очень просто. Ваш приватный ключ остался где-то в СВЯЗКЕ КЛЮЧЕЙ на вашем MAC OS.  Просто перетащите туда файл, который вы скачали с apple developer (сертификат) и сгенерируйте файл P12

Напоследок убедитесь в том, чо ваш чудесный P12 контейнер содержит как ключи, так и сам сертификат, выданный apple порталом для разработчиков.

Откройте полученныйПЭ12 в чудесной программе KeyStore Explorer

Теперь-то вы можете подписать ваше приложение

Write a Comment

Ваш адрес email не будет опубликован.