Как добавить закрытый ключ в сертификат распространения?

Хорошо, у меня есть сертификат разработчика, связанный с ним закрытым ключом. Прекрасно работает.

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

Итак, я проверил свои сертификаты, и точно, мой сертификат разработчика связан с его закрытым ключом, но не с моим сертификатом распространения. Как я могу связать/добавить свои личные ключи в этот сертификат!?

Будет ли это решить проблему "Действительный идентификатор подписи не найден"?

Ответ 1

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

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

Если компьютер, запросивший сертификат распространения, доступен (или где-то есть резервная копия активов распределения)

  • На компьютере, где был создан ресурс распределения, откройте Xcode.
  • Нажмите "Окно", "Органайзер".
  • Разверните раздел "Команды".
  • Выберите свою команду, выберите сертификат типа "Распределение iOS", нажмите "Экспорт" и следуйте инструкциям.
  • Сохраните экспортированный файл и перейдите на свой компьютер.
  • Повторите шаги 1-3.
  • Нажмите "Импорт" и выберите файл, который вы экспортировали ранее.

Если компьютер, на котором был создан профиль распространения, больше не доступен (и нет резервной копии)

Вы должны отозвать сертификат и создать новый.

Возможно, вам придется попросить администратора вашей команды или агента предоставить вам некоторые привилегии для создания сертификатов распространения. Когда у вас будет достаточно привилегий, выполните следующие действия (с 15 мая по 2013 год):

  • Перейти на эту веб-страницу: https://developer.apple.com/devcenter/ios/index.action
  • Нажмите "Member Center" и введите учетные данные разработчика iOS.
  • Нажмите "Сертификаты, идентификаторы и профили".
  • Нажмите "Сертификаты" в разделе "Приложения iOS".
  • Разверните раздел "Сертификаты" слева, выберите "Распространение" и нажмите на свой сертификат распространения.
  • Нажмите "Отменить" и следуйте инструкциям.
  • Нажмите на знак плюса, чтобы добавить новый сертификат.
  • Выберите "App Store и Ad Hoc" и нажмите "Продолжить" .
  • Следуйте инструкциям, напечатанным на веб-странице. Это включает в себя открытие приложения Keychain на вашем Mac и получение запроса на подпись сертификата оттуда. Нажмите "Продолжить" .
  • Загрузите файл .csr и нажмите "Продолжить" .
  • Для распространения создается сертификат. Загрузите его и дважды щелкните по нему, чтобы интегрировать его в цепочку ключей.

Повторно запустите Xcode и проверьте конфигурацию проекта, чтобы узнать, можете ли вы теперь выбрать сертификат "Распространение iPhone" (т.е. он не затенен).

Ответ 2

Поскольку существующие ответы были написаны, интерфейс Xcode был обновлен, и они перестали быть точными (в частности, шаг Click on Window, Organizer//Expand the Teams). Теперь инструкции по импорту существующего сертификата следующие:

Экспорт выбранных сертификатов

  • Выберите Xcode > Предпочтения.
  • Нажмите "Учетные записи" в верхней части окна.
  • Выберите команду, которую хотите просмотреть, и нажмите "Просмотреть детали".
  • Управляйте кликом по сертификату, который вы хотите экспортировать, в таблице Signing Identities и выберите "Экспорт" во всплывающем меню.

Экспортировать сертификат demo

  1. Введите имя файла в поле "Сохранить как" и пароль в поля "Пароль" и "Проверить". Файл зашифрован и защищен паролем.
  2. Нажмите "Сохранить". Файл сохраняется в месте, указанном с расширением .p12.

Источник (документация Apple)

Чтобы импортировать его, я обнаружил, что меню Xcode let-me-help-you не распознает файл .p12. Вместо этого я просто импортировал его вручную в Keychain, затем Xcode был создан и архивирован без жалобы.

Ответ 3

Этот сайт объясняет шаг за шагом, что вам нужно "Сертификаты, идентификаторы и профили" и как ваш вопрос

"Valid Signing identity not found"?

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

For Export:

Xcode → Организатор, выберите свою команду. Нажмите "Экспорт". Укажите имя файла и пароль и нажмите "Сохранить".

For Import:

Xcode → Организатор, выберите свою команду. Нажмите "Импорт". Выберите файл, содержащий ваши активы для подписи кода. Введите пароль для файла и нажмите "Открыть".

Ответ 4

Для сертификата разработчика вам необходимо создать профиль разработчика .mobileprovision и установить его в свой XCode. Если вы хотите распространять приложение с помощью профиля распространения adhoc, вам потребуется сертификат AdHoc Distribution и закрытый ключ в вашей цепочке ключей.

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

Ответ 5

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

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

Когда вы импортируете правильный секретный ключ на свой Mac, организатор XCode распознает уже загруженный профиль распространения как "Действительный профиль"

Однако, если у вас нет доступа к исходному Mac, который создал эти профили, единственный вариант, который у вас есть, - это аннулирование профилей.

Ответ 6

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

Ответ 7

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