Как создать закрытый ключ для сертификата распространения iPhone? - PullRequest
14 голосов
/ 27 марта 2009

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

Теперь я закончил процесс разработки и начал распространять

Я создал «Сертификат распространения», но как мне назначить закрытый ключ для этого сертификата?

Поскольку получено «Ошибка CodeSign: идентификатор подписи кода» ... не соответствует ни одному сертификату подписи кода в вашей цепочке для ключей »при компиляции

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

Обратите внимание, что я НЕ говорю о сертификате разработки, спасибо.

Ответы [ 4 ]

35 голосов
/ 21 ноября 2012

Поскольку никто не обновил и не ответил на этот вопрос, так как Натан указал, что исходная ссылка для ответа недоступна (точка номер один при публикации в stackoverflow "Пожалуйста, обязательно ответьте на вопрос "), вот ответ из моего опыта, надеюсь, это поможет кому-то:

Для этого конкретного вопроса (сертификат Dev / Distribution установлен, но нет закрытого ключа) ответом является выбор из 2 вариантов:

1. Создайте новый идентификатор сертификата через портал Apple Devloper В этом случае вам нужно будет войти на портал разработчиков Apple и использовать помощника, в рамках этого вам потребуется создать и загрузить CSR (запрос на подпись сертификата), который также создаст открытый и закрытый ключи на машине. Apple подписывает запрос и вуаля, пара подписанных публичных / частных сертификатов: Ссылка

2. Экспортируйте закрытый ключ с машины, изначально использовавшейся для создания сертификата Это тот случай, когда ваша подпись с ранее созданным идентификатором, возможно, на старой машине или (как в моем случае) ваша разработка для клиента, у которого уже есть идентификатор. Если вы не можете получить доступ к устройству, которое первоначально использовалось для создания удостоверения сертификата, вам придется создать новое удостоверение в соответствии с руководством / помощником.

Для этого вам нужно будет экспортировать свой закрытый ключ (файл .p12) или пару открытого / закрытого ключей через Keychain Access и установить закрытый ключ или пару ключей на компьютер, на котором вы разрабатываете. Вот руководство , которое я нашел в stackoverflow.

Ссылка: http://iphonedevsdk.com/forum/iphone-sdk-development/11498-problems-exporting-importing-p12-private-key-for-developing-on-another-mac.html

PS> Имейте в виду, я выполняю последний вариант прямо сейчас, и, хотя свидетельства предполагают, что это сработает, я пока не проверял его, если, если не сработает, я отвечу!

4 голосов
/ 27 марта 2009

Прочтите Получение сертификата распространения iPhone на сайте Apple Developer Connection iPhone . Это объясняет шаг за шагом, что вам нужно будет сделать, в правильном порядке.

РЕДАКТИРОВАТЬ : текущая ссылка выглядит так: https://developer.apple.com/library/watchos/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-SW1

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

Все члены команды могут создавать свои собственные сертификаты разработчиков. Только агент команды или администратор может создать сертификат распространения. Только агент команды может создать сертификат ID разработчика. Если у вас есть членство в организации, прочитайте раздел «Управление вашей командой» в Центре участников, чтобы получить описание командных ролей и задач, которые агенты группы выполняют от имени членов группы.

Xcode создает ваш сертификат разработки для вас, когда вам это нужно. Например, когда вы присваиваете свой проект команде или создаете профиль обеспечения группы, как описано в разделе «Настройка идентификации и параметров группы», XCode создает сертификат разработки и добавляет его в профиль обеспечения группы. Из-за этого вы обычно создаете сертификаты распространения, используя окно настроек Xcode.

Для создания подписи

  1. В окне настроек Xcode нажмите Учетные записи.

  2. Выберите команду, которую вы хотите использовать, и нажмите View Details.

  3. В появившемся диалоговом окне нажмите кнопку «Создать» в строке типа сертификата, который вы хотите создать.

    Если кнопка «Создать» отключена, вам не разрешено создавать подписи этого типа. Описание каждого типа сертификата см. В таблице 14-2.

    После создания удостоверения подписи кнопка «Создать» исчезает.

  4. Чтобы вернуться к настройкам Аккаунтов, нажмите Готово.

0 голосов
/ 29 ноября 2016

Если вы наведите курсор мыши на изображение и нажмете маленький красный значок удаления, сохраните его. Отходите и вернитесь на эту страницу, вы сможете снова добавить иконку.

0 голосов
/ 17 января 2012

Для меня - перезапуск Xcode решил обе эти проблемы.
Очевидно, что где-то все было правильно настроено, но его нужно было сбросить / синхронизировать.

...