Подписание приложения iPhone: действительный идентификатор подписи, соответствующий этому профилю, не найден в вашей цепочке ключей

Я вытягиваю свои волосы из-за этого. Я только что загрузил iPhone 3.0 SDK, но теперь я не могу заставить профили настройки работать. Вот что я пробовал:

  • Удалить все профили подготовки
  • Удалить логин-логин
  • Создайте новый брелок для входа в систему, сделайте это по умолчанию
  • Создать новый запрос на подпись сертификата
  • Создайте новый разработчик и дистрибутив сертификаты в центре разработчиков Apple.
  • Загрузите и установите их
  • Загрузите сертификат WWDR и установите его
  • Создайте новый профиль подготовки и дважды щелкните его, чтобы установить

Все сертификаты сообщают как действительные, но Xcode все равно не узнают их. Что мне делать дальше?

Edit:

Я полностью переустановил Mac OS X и из новой установки установил 3.0 SDK и все еще имею ту же проблему.

Ответ 1

Была та же проблема вчера. Теперь, после подписания на портал разработчика, для каждого недопустимого профиля обеспечения есть кнопка "Обновить". После обновления и загрузки обновленного профиля подготовки все работает так, как ожидалось, поэтому проблема определенно решена:)

Обновление: вам может потребоваться связаться с Apple, чтобы получить кнопку "Обновить", или они удалили ее, - и решение должно просто загрузить ее и добавить в цепочку ключей, не нужно обновлять.

Ответ 2

У меня была та же проблема: я сначала загрузил свои сертификаты на свой маленький MacBook во время работы. При попытке установить сертификаты на моем iMac... я столкнулся с проблемами, описанными на этой странице.

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

  • Закройте все свои материалы, кроме своей веб-страницы, которые должны быть зарегистрированы в центре App Dev.

  • Откройте Xcode. Нажмите ОКНО > ОРГАНИЗАТОР. Затем перейдите на вкладку "Устройства" и выберите "Профили подготовки" слева. Это должно привести к профилированию. Выделите один за другим (если больше 1), щелкните правой кнопкой мыши и удалите профиль. Да, просто сделай это! Удалите их все! (Я продолжал создавать новый после того, как новый попытался заставить эту работу работать.)

  • С первой страницы, которую вы видите после входа в Центр приложений Dev в правой части, нажмите "IOS PROVISIONING PORTAL" > (не "помощник запуска" ). Вместо этого нажмите на левую сторону. Выберите СЕРТИФИКАТЫ. Вероятно, у вас будет только одна строка с вашим именем/компанией - оттуда щелкните правой кнопкой REVOKE. Нажмите "ОК", чтобы подтвердить, что вы хотите сделать.

  • На той же странице нажмите "УСТРОЙСТВА". Нажмите на поле рядом с устройством, которое вы пытаетесь установить, и нажмите "СНЯТЬ ИЗБРАННОЕ". Снова нажмите OK, чтобы подтвердить.

  • Подождите около 2 минут, чтобы Apple сделала свою работу.

  • Теперь нажмите "HOME", который находится в левой части навигации.

  • Нажмите "Помощник запуска"

  • создайте новый идентификатор приложения - вызовите его, как хотите. Просто убедитесь, что он достаточно уникален, чтобы знать, что тот, который вы только что создали, потому что другие, с которыми вы все время возились со всем днем, не будут удалены из Центра Apples Dev.

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

Удачи!

Ответ 3

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

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

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

  • Если вы не хотите обрабатывать все эти sh * t: Просто отмените сертификат на веб-сайте и удалите копию на своем локальном компьютере. Затем запросите новый. Это должен быть конечный способ решения такой проблемы.

Ответ 4

Я обнаружил, что мне нужно перетащить файл distribution_identity.cer, который я загрузил с страницы "Сертификаты → Распространение" на портале программы разработчика в программу доступа к keychain, после чего эта ошибка исчезла.

Ответ 5

Я решил его

a) перейдите на страницу профиля подготовки на портале

b) Нажмите "Изменить" в профиле подготовки, с которым вы столкнулись (справа).

c) Проверьте соответствующий блок сертификата (не проверен по умолчанию) и выберите правильный идентификатор приложения (мой старый был истек)

d) Загрузите и используйте новый профиль подготовки. Удалить старый (ы).

По-видимому существует 4 разных причины этой проблемы:

  • В вашей цепочке ключей отсутствует секретный ключ, связанный с вашим Разработчик iPhone или iPhone Сертификат распространения.
  • В вашей цепочке ключей отсутствуют отношения с разработчиками Apple по всему миру Промежуточный сертификат.
  • Ваш сертификат был отозван или истек.
  • Протокол состояния сертификатов (OCSP) или сертификат Список отзыва (CRL) включается в Настройки доступа к брелокам

.

Ответ 6

После тщательного прохождения темы и проверки всех решений, предлагаемых людьми, я могу с уверенностью утверждать это, следуя шагам, указанным в документах разработчика Apple для создания файлов CSR и мобильного обеспечения, просто сделайте это!,

  • Запустить Xcode.
  • Выберите окно- > Организатор
  • Нажмите эту кнопку обновления, и эта грязная желтая полоска будет немедленно удалена.

http://img.skitch.com/20100820-1ngm8an14c6fm3dt7g6j51d2nx.jpg

Поверьте мне, вам нужно только сделать это. Нет необходимости повторять процесс снова и снова, чтобы убедиться, что вы делаете это правильно. Просто нажмите "Обновить", введите свои учетные данные и сделайте это.

Ответ 7

Для меня это работало только тогда, когда сертификат и оба ключа находились в цепочке ключей входа. Раньше я создал брелок для разработки, но организатор Xcode не нашел ключей там. Поэтому я переместил их обратно в Login, оставил инструмент для ключей и voila, ошибка в Xcode Organizer ушла! Это было на Snow Leopard 10.6.2 с 3.1.3 SDK.

Ответ 8

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

Очень важно, чтобы вы сохранили секретный ключ в безопасном месте в случае, если вам необходимо разработать на нескольких компьютерах или решить переустановить системную ОС. Без вашего закрытого ключа вы не сможете подписать двоичные файлы в Xcode и протестировать приложение на любом устройстве Apple. Когда создается CSR, приложение Keychain Access создает закрытый ключ в вашей логин-цепочке. Этот закрытый ключ привязан к вашей учетной записи пользователя и не может быть воспроизведен в случае потери из-за переустановки ОС. Если вы планируете разрабатывать и тестировать несколько систем, вам нужно будет импортировать свой закрытый ключ на все системы, над которыми вы будете работать.

  • Чтобы экспортировать свой секретный ключ и сертификат для обеспечения безопасности и для включения разработки в нескольких системах, откройте приложение Keychain Access Application и выберите категорию "Keys".
  • Control. Нажмите на закрытый ключ, связанный с сертификатом разработки iPhone, и нажмите "Экспортировать элементы в меню". Частный ключ идентифицируется с помощью iPhone Developer: общедоступного сертификата, который сопряжен с ним.
  • Сохраните свой ключ в формате файла личной информации (.p12).
  • Вам будет предложено создать пароль, который будет использоваться при попытке импортировать этот ключ на другом компьютере.
  • Теперь вы можете перенести этот файл .p12 между системами. Дважды нажмите на .p12, чтобы установить его в систему. Вам будет предложено ввести пароль, введенный на шаге 4.

Ответ 9

Лучший ответ, который я получил, - это экспорт вашего ключа, а не просто попытка импортировать файл сертификата.

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

Затем импортируйте это на новый компьютер.

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

Ответ 10

Вы пытались перезагрузить свой Mac и ваше устройство? Хромой ответ, но я всегда стараюсь это первым.

Ответ 11

В моем случае я скопировал проект с моего iMac на свой Macbook Pro и выяснил, что у меня не было моего закрытого ключа, установленного на Macbook. Поэтому я экспортировал свой закрытый ключ, скопировал и установил его в Macbook, и он работает! Я документировал информацию здесь: http://www.creatistblog.com/2009/09/iphone-developer-provisioning.html

Ответ 12

Просто заметка с Xcode 4: в организаторе на левой панели находятся два разных раздела:

  • Библиотекa > Профили профилей

  • Устройствa > ваше устройство > Профили расширения

Я всегда ставил свои профили подготовки в 2. и даже после очистки и правильной установки он не работал. Затем я обнаружил 1. и, наконец, нашел кнопку обновления. Если вы выберите "Автоматическое предоставление устройств" в 1. и нажмите "Обновить", все будет проверено (желтое предупреждение в 2. больше).

Ответ 13

Я получил работу после повторного выполнения всего, а затем создал пустой проект с XCode и построил/запустил его на устройство. XCode показал окно с вопросом: хотите ли вы принять сертификат разработчика. Я нажал "Всегда". Только после этого шага я избавился от сообщения "Действительный идентификатор подписи, соответствующий этому профилю, не найден в вашей цепочке ключей" в Organizer.

Ответ 14

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

Однако проверьте это.

Сначала очистите все сертификаты на портале, чтобы начать новый.

После создания нового запроса сертификата с помощником нажмите "Показать в Finder" и дважды щелкните этого плохого мальчика. Вы должны получить всплывающее окно для Ассистента сертификатов на экране с указанием "Пожалуйста, укажите выдающий центр сертификации" и т.д. Если вы этого не сделаете, просто закройте его и дважды щелкните дважды. Теперь просто перейдите в диалог, выбрав "Запросить сертификат из существующего ЦС" - Продолжить Запрос "Сохранено на диск" - Продолжить Сохраните его, когда захотите, даже переопределите файл.

В конце вы увидите волшебную "Создать пару ключей"

Перейдите к доступу KeyChain, и вы увидите там свои ключи! Загрузите этот сертификат на портал Apple, а затем пройдите через их мастер, как обычно, теперь все должно отлично работать.

Ответ 15

Существует два разных сертификата для двух разных профилей подготовки (разработка и распространение). Вы должны установить сертификаты BOTH в цепочке ключей. На портале программ для разработчиков iPhone:

Сертификаты → Разработка → Загрузить Сертификаты → Распространение → Загрузить

Дважды щелкните оба сертификата. После этого оба сертификата должны появиться в Keychain.

Ответ 16

Ответ заключается в том, что отмените свой текущий сертификат развития и создайте новый. следуйте инструкциям на сайте яблок о том, как это сделать. Это так просто!! У меня была эта точная проблема.

Ответ 17

Простые шаги для этого:

  • Начните с keychain (который уже содержит ваш ключ разработчика) на вашем компьютере и создайте запрос на сертификат. Загрузите запрос на сайт dev и создайте сертификат.
  • Создайте профиль, используя сертификат.
  • Загрузите профиль и отпустите его на Xcode.

Теперь все точки связаны, и они должны работать. Это работает как для dev, так и для распространения.

Ответ 18

Я зашел в аккаунт разработчика и отозвал сертификат разработки. После отзыва и загрузки сертификата разработки я дважды щелкнул недавно загруженный сертификат, и на этот раз Private Key находился под сертификатом разработки в KeyChain Access.

Ответ 19

Хороший способ убедиться, что это происходит чисто, - сначала очистить свой логин.

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

 security unlock-keychain -p password ~/Library/Keychains/login.keychain 

Ввести закрытый ключ в логин-логин:

security import PrivateKey.p12 -k ~/Library/Keychains/login.keychain 

1 импортировано.

Импортировать открытый ключ в логин-логин:

security import PublicKeyName.pem -k ~/Library/Keychains/login.keychain 

1 импортированный ключ.

Ответ 20

"Это была ошибка на сайте портала Apple. В профиле обеспечения отсутствовали необходимые поля. Они исправили эту ошибку поздно 6/16/09."

Ответ 21

У меня была одна и та же проблема и все испробовалось. По какой-то причине решение заключалось в том, что все мои сертификаты были перенесены в цепочку ключей, называемую "microsoft_intermediate_certificates". Поскольку это, вероятно, произошло во время обновления Xcode, я совершенно не понимаю, почему, но это может помочь кому-то.

Я переместил все содержимое ключевого слова Microsoft в логин-логин, и все вернулось к нормальному.

Ответ 22

Наконец-то я получил это, чтобы работать после 4 подобных попыток после возникновения той же самой проблемы, которая была первоначально отправлена. Итак, вот что случилось, я не уверен, что это старая проблема (2009-07-09), но я буду публиковать в любом случае, если она вам полезна. Что сработало для меня... может сработать для вас...

  • заново запустите и удалите старые ключи, открытые ключи и сертификаты в цепочке ключей
  • пройти весь процесс, запросить сертификат из центра сертификации, получить новый открытый ключ, новый закрытый ключ и новый сертификат. Примечание: когда он работал, у меня был только один закрытый ключ, один открытый ключ и один сертификат.
  • Создайте новый профиль подготовки (который использует только что сделанный сертификат) и поместите его в окно вашего организатора в Xcode. Удалите все старые BS.
  • Запустите его.

Надеюсь, это поможет.

Ответ 23

У меня была такая же проблема, но это было связано с настройкой "FileVault" на моем Mac. Я зашел в свой брелок и установил "login", чтобы быть моим дефолтом и исправил его.

Ответ 24

Что вам нужно:

1) Закрытый и открытый ключ.

У них есть этот символ в вашей цепочке ключей:

alt text http://pici.se/pictures/IbNdRGuoy.png

2) Сертификат, сделанный из запроса на подпись этих ключей

3) Профиль подготовки, связанный с этим сертификатом

Предположим, вы сменили компьютеры и хотите снова настроить Xcode с профилями подготовки. Как вы это делаете?

  • Откройте Xcode, нажмите ctrl + O, чтобы открыть Организатор, и удалите все профили подготовки, которые вы, возможно, уже установили.
  • Откройте доступ к keychain и создайте запрос подписи, который вы сохраняете в файл (при создании запроса в вашей цепочке ключей создается закрытый и открытый ключ).
  • Создайте/обновите сертификат в портале подготовки ресурсов, отправив apple этот запрос на подпись
  • Загрузите и установите новый сертификат.
  • Отмените профили подготовки и обновите их новым сертификатом.
  • Загрузите и установите обновленные профили подготовки.

Ответ 25

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

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

Ответ 26

Я просто потратил несколько часов на этот вопрос fershlugginer, который появился после обновления моей лицензии на разработку. Повторяю, все работало без сучка и задоринки, тогда (спасибо, Яблоко!) Все это испортилось и оставалось испорченным. Ни один из официальных шагов по устранению неполадок Apple (связанных выше) или возможных шагов разрешения, упомянутых здесь, не разрешил мне проблему.

Что в конечном итоге для меня было для удаления как моих сертификатов разработки, так и распространения, отозвать их на портале инициализации, а затем разрешить Xcode АВТОМАТИЧЕСКИ обновлять/выпускать их. Ничто другое, в любом порядке, не могло получить оба необходимых сертификата в моей цепочке ключей с правильно прикрепленным личным ключом.

Ответ 27

Я не знаю, действительно ли они пропустили его или мои глаза просто застекляли, но....

На всякий случай кто-то другой не обращает внимания на то, что я сделал....

так же, как при разработке и тестировании...

1) Вам необходимо РАСПРЕДЕЛЕНИЕ < СЕРТИФИКАТ → 2) Вам необходимо РАСПРЕДЕЛЕНИЕ < ПРОФИЛИРУЮЩИЙ ПРОФИЛЬ →

Это ДВА ШАГА на портале, чтобы получить подписанную вещь.

Там я был, создав разработчика CERTIFICATE и скопировав его в папку "Мобильные условия", задаваясь вопросом, почему это не сработало.

Как только у меня был профиль обеспечения на месте

* BINGO *

Ответ 28

Вот что я сделал.

  • Убедитесь, что ваши сертификаты не истекли, убедитесь, что вы удалили все истекшие. Получайте новые и т.д. После того, как вы убедитесь, что все так, как должно быть, затем сосредоточьтесь на файлах проекта.
  • в finder, перейдите в ваши файлы .xcodeproj и покажите содержимое пакета.
  • открыть файл project.pbxproj в xcode или textedit.
  • найти каждое исправление для PROVISIONING_PROFILE и удалить GUID, просто оставить пустым "" В зависимости от вашего проекта у вас должно быть около 12 + refrences, удалите все GUID.

  • Сохраните файл, затем повторно запустите проект в XCODE

  • Выберите правильные профили предоставления для всех возможных подписи кода (они не должны быть одинаковыми)
  • Создайте свой проект, и вам должно быть хорошо.

Я думаю, что Xcode путается каким-то образом и удаляет все профили Provision из project.pbxproj, а затем повторно выбирает действительный профиль, который устанавливает его striaght.

Ответ 29

Если у вас есть новый mac, вы можете перейти к Центр разработчика IOS → Портал обеспечения → Сертификаты → Разработка → Отменить и создать новый сертификат. Моя проблема решена. Моя ошибка: "Ошибка кодового знака: идентификатор" iPhone Developer "не соответствует действительной, не прошедшей срок действия паре сертификата/закрытого ключа в ваших цепочках ключей"

Ответ 30

Вчера столкнулся с аналогичной проблемой с нашим CI-сервером. Расширение приложения не может быть подписано с ошибкой

Code Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier XXX were found.

Примечание. Я сам создал свои профили обеспечения из Портал разработчиков (не управляется Xcode).

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

введите описание изображения здесь

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