Невозможно преобразовать идентификатор разработчика apple.cer into.формат p12. Сертификат не соответствует закрытому ключу

У меня следующая проблема:

У меня есть эти файлы

developer_identity.cer

Team_Provisioning_Profile_.mobileprovision по

чтобы упаковать мобильное приложение adobe flex для iOS, мне нужно преобразовать мой .сертификат CER в .формат p12. После этого урока ВКЛ help.adobe.com я всегда получаю эту проблему при выполнении последней команды openssl:

"без сертификата совпадает закрытый ключ
ошибка в pkcs12"

из того, что я понимаю, мне нужно как-то получить закрытый ключ, который использовался для создания сертификата (я хорошо понимаю это??). Как получить закрытый ключ mykey.ключ, если у меня есть .cer and .mobileprovision файлы, упомянутые выше?

4 ответов


Не уверен, что вы можете получить свой закрытый ключ, если вы его потеряли.

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


The .cer не содержит вашего закрытого ключа, и вы не можете его создать .файл p12 из него. Вы должны экспортировать их одновременно с брелка. Если только у вас есть .файл cer, это бесполезно, и вам придется создать новый закрытый ключ и пару сертификатов.


OpenSSL говорит сертификат не соответствует закрытому ключу когда сертификат закодирован DER. Просто измените его на кодировку PEM перед созданием PKCS#12.

  1. создать пару ключей : openssl genrsa -out aps_development.key 2048

  2. создать CSR : openssl req -new -sha256 -key aps_development.key -out aps_development.csr

  3. загрузите CSR на портал разработчика, чтобы получить сертификат aps_development.cer

  4. конвертировать сертификат: openssl x509 -inform DER -outform PEM -in aps_development.cer -out aps_development.pem

  5. построить PKCS#12: openssl pkcs12 -inkey aps_development.key -in aps_development.pem -export -out aps_development.p12


вы открываете программу Keychain Access, найденную в разделе Приложения / утилиты. В списке категорий справа вы выбираете "мои сертификаты".

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

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

затем вы можете найти свой сертификат в списке "Мои сертификаты". Если вы развернете сертификат, для которого вы хотите найти закрытый ключ, он должен быть показан прямо под сертификатом.

держу пари, вы просто следовали за гидом и делали шаги и не совсем уверены, что именно вы сделали. Мы все делаем правильно ;-)

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

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

позвольте мне дать вам краткую версию:

  1. доступ к цепочке ключей используется для создания открытого / закрытого ключа
  2. создать запрос на подпись сертификата с помощью открытого ключа. По сути это файл, содержащий открытый ключ просит Apple для создания сертификата открытого ключа.
  3. Apple добавляет кучу информации о вас и цели открытого ключа, а также добавление самого открытого ключа в файл, который становится сертификатом. Затем apple подписывает это.
  4. скачать сертификат.
  5. дважды щелкните и импортируйте сертификат в брелок.