Подписание приложения для iPhone: в вашей цепочке для ключей не найдена действительная подпись, соответствующая этому профилю. - PullRequest
310 голосов
/ 16 июня 2009

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

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

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

Edit:

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

Ответы [ 32 ]

166 голосов
/ 11 февраля 2010

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

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

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

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

  3. На первой странице, которую вы увидите после входа в Центр разработки приложений с правой стороны, нажмите «ПОРТАЛ ОБЕСПЕЧЕНИЯ iOS»> (не «запускать помощник»). Вместо этого нажмите на левую сторону. Выберите СЕРТИФИКАТЫ. Вероятно, у вас будет только одна строка с вашим именем / компанией - оттуда нажмите на правую сторону REVOKE. Нажмите кнопку ОК, чтобы подтвердить, что вы хотите это сделать.

  4. На той же странице нажмите УСТРОЙСТВА. Установите флажок рядом с устройством, которое вы пытаетесь подготовить, и нажмите УДАЛИТЬ ВЫБРАН. Снова нажмите ОК для подтверждения.

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

  6. Теперь нажмите «ДОМОЙ», который находится слева от навигации.

  7. Нажмите «Помощник по запуску»

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

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

Удачи!

70 голосов
/ 26 февраля 2010

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

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

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

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

65 голосов
/ 17 июня 2009

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

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

27 голосов
/ 12 августа 2009

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

22 голосов
/ 26 апреля 2010

Я решил это

а) перейти на страницу профиля на портале

b) Нажмите «Изменить» в профиле обеспечения, у которого возникли проблемы (с правой стороны).

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

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

Видимо Есть 4 различных причины этой проблемы:

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

.

14 голосов
/ 21 августа 2010

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

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

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

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

9 голосов
/ 19 февраля 2010

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

7 голосов
/ 11 августа 2010

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

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

  1. Чтобы экспортировать свой закрытый ключ и сертификат для безопасного хранения и обеспечения возможности разработки на нескольких системах, откройте приложение доступа к цепочке для ключей и выберите категорию «Ключи».
  2. Control-клик по закрытому ключу, связанному с вашим сертификатом разработки iPhone, и нажмите «Экспортировать элементы» в меню Закрытый ключ определяется разработчиком iPhone: открытый сертификат, связанный с ним.
  3. Сохраните ключ в формате файла обмена личной информацией (.p12).
  4. Вам будет предложено создать пароль, который будет использоваться при попытке импортировать этот ключ на другой компьютер.
  5. Теперь вы можете передавать этот файл .p12 между системами. Дважды щелкните файл .p12, чтобы установить его в системе. Вам будет предложено ввести пароль, введенный на шаге 4.
5 голосов
/ 11 августа 2009

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

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

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

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

3 голосов
/ 22 сентября 2009

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

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