Подтвердить что ты не робот

Xcode не смог найти действительный закрытый сертификат/действительную пару ключей для этого профиля в вашей цепочке ключей

Возможный дубликат:
Xcode - профиль iPhone не соответствует какой-либо действительной паре с сертификатом/закрытым ключом в ключевом ключе по умолчанию

У меня возникла проблема с установкой профиля подготовки, созданного другим разработчиком.

  • Сертификат развития уже существует
  • Приложение, над которым я работаю, имеет профиль Provisioning Profile, связанный с сертификатом
  • Добавлен UUID моего устройства.
  • AppID для приложения уже существует
  • Профиль Provisioning Provisioning существует с моим UUID

Когда я загружаю профиль сертификата и Provisioning Profile, я получаю сообщение об ошибке в Organizer:

Xcode could not find a valid private certificate/valid key-pair for this profile in your keychain

Как я могу решить?

4b9b3361

Ответ 1

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

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

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

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

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

Недавно я пытался переместить пару открытых/закрытых ключей для сертификата разработчика iOS на другую машину. Публичный файл был экспортирован с использованием Keychain Access на .pem и приватный файл на защищенный паролем .p12.

На другом компьютере Keychain Access не будет импортировать их. Это была хорошая старая командная строка:

security import ios_priv.p12 -k ~/Library/Keychains/login.keychain 
security import ios_pub.pem -k ~/Library/Keychains/login.keychain

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


РЕДАКТИРОВАТЬ, чтобы ответить на комментарий @baudot ниже. (это не помещало бы комментарий)

Удостоверьтесь, что у вас также есть сертификат Root CA для партнеров по дизайну Apple в вашей цепочке ключей. Это то, что используется для проверки сертификата.

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

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

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

Единственная незаменимая вещь - ваша учетная запись ADC. Все остальное можно восстановить или воссоздать.

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

Ответ 2

Это произошло со мной, потому что я опустил профиль в раздел Профили Provisioning Profilesing в Xcode Organizer, но не в раздел "Профили профилей библиотеки". После того, как я ее тоже там сбросил, предупреждение исчезло в разделе устройства.

Надеюсь, это может помочь любому...

Ответ 3

Когда сертификат в порядке, перезапустите Xcode, чтобы найти его.

Ответ 4

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

technotes

Ответ 5

У меня была эта проблема после истечения срока действия моего сертификата, и я уверен, что все ключи были хорошими и в нужных местах. Шаг, который я пропустил, - это удаление профилей в Provisioning Portal и их повторное создание. Не верьте, что ссылка "обновить" - это выглядит как соблазнительный ярлык, но для меня это просто не сработало!

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

Ответ 6

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

Ответ 7

Я смог решить это только с помощью Xcode → Organizer → Profile Developer и нажмите "Экспорт" в нижней части правой панели. Это сохраняет консолидированный файл .developerprofile, который вы только что открываете/импортируете на целевой машине.

Отказ от ответственности: возможно, это не то, что первоначально планировал плакат. Однако я не смог успешно перемещать private + public + cert между моими машинами любым другим способом.

Ответ 8

Вы должны отредактировать профиль обеспечения в портале инициализации iOS. Выберите "изменить", а затем "Изменить". Введите необходимую информацию (ваше имя, устройства, идентификатор приложения).

Когда система показывает, что профиль "Активен", перейдите в раздел "Сертификаты" портала инициализации iOS и проверьте свой сертификат разработки. Он должен иметь ваш профиль обеспечения, указанный в записи "Профиль предоставления".

После этого вы можете загрузить профиль и перенести его в Xcode.

Ответ 9

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

scp [email protected]:Library/Keychains/login.keychain ~/Downloads/oldmac.keychain
--or-- ssh oldmac; cp Library/Keychains/login.keychain ~/Dropbox/oldmac.keychain

На новом Mac откройте Keychain Access. Перейдите в Файл → Добавить брелок и выберите Загрузки /oldmac.keychain

Затем просто скопируйте необходимые открытые ключи из связки ключей oldmac в цепочку ключей "login" по умолчанию.

Ответ 10

У меня была эта проблема.

Просто нажмите "Обновить" на нижней панели инструментов, и XCode 4 загрузит и установит все для вас.