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

Я получаю идентификатор сертификата ошибки более одного раза в цепочке ключей

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

4b9b3361

Ответ 1

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

Ответ 2

Я столкнулся с проблемой, когда старый сертификат продолжает появляться, даже я удаляю его в KeyChain Access. Решение состоит в удалении всех профилей подготовки, которые используют старый сертификат из организатора XCode.

Ответ 3

Откройте доступ к брелокам. Под рубрикой в ​​нижней левой части панели вы должны выбрать "Мои сертификаты", На главной панели вы увидите дубликат сертификата. Если он недействителен, на нем будет красный X. Удалите его, перезапустите Xcode, и вам будет хорошо.

Ответ 4

В программе "Доступ к брелокам" в меню "Вид" выберите "Показать истекшие сертификаты" (если в пункте меню указано "Скрыть сертификаты с истекшим сроком действия", то вы уже показываете их). Затем проверьте каждую цепочку ключей в списке слева для дубликата сертификата. Кроме того, для каждого ключевого слова обязательно смотрите под "Сертификаты" и "Мои сертификаты" (если есть).

Ответ 5

Xcode 4.3 теперь ищет все связки ключей для подписания сертификатов, но это увеличивает частоту ошибки сборки:

Идентификатор сертификата (x) появляется более одного раза в цепочке ключей...

Действия Apple по его устранению: " Как разрешить ошибку CodeSign: идентификатор сертификата появляется более одного раза в цепочке ключей?"

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

1) Доступ к брелокам > Правкa > Список связок ключей, снимите флажок "Общий" для брелка для входа.

2) Затем, если вы вернетесь в список ключей, вы обнаружите, что логин-логин по-прежнему отмечен как Shared, создайте резервную копию следующих файлов, а затем удалите их, если они существуют:

/Library/Preferences/com.apple.security-common.plist
~/Library/Preferences/com.apple.security.plist

3) Повторите попытку сборки.

Ответ 6

После обновления до XCode 4.3 у меня была эта точная проблема. Процесс сборки не сработал, и в KeyChain Access я был уверен, что у меня только один сертификат разработки. В сети не было никакой помощи в том, как ее решить, но мне удалось обойти это следующим способом. Обратите внимание, что я не знаю, будет ли это работать на старой версии Xcode, но лучше всего просто позволить Xcode заботиться обо всем процессе.

Прежде всего, нужно проверить, действительно ли у вас есть дубликаты сертификатов.

Откройте терминал и введите следующую команду:

 sudo /usr/bin/security  find-certificate -a -Z -c "iPhone Developer" | grep SHA-1

Если вы видите несколько одинаковых хэшей SHA-1, у вас есть дубликаты, и нам нужно их удалить.

В KeyChain Access (я не проверял это, но этот шаг может и не понадобиться):

  • Создайте новый KeyChain - я назвал my login-new
  • Выберите новую цепочку ключей на панели "Связки ключей".
  • Go File- > Make keychain "login-new" default

В XCode Organizer:

  • На панели "Устройства" удалите все профили подготовки

В портале обеспечения разработчиков:

  • Отменить сертификаты разработки и распространения

Вернуться к XCode Organizer:

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

Вернитесь в терминал и снова введите команду find-certificate сверху. Вы не должны на данный момент видеть дубликаты.

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

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

Теперь ваше приложение должно создавать и запускаться на вашем устройстве.

Ответ 7

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

Ответ 8

Имела ту же проблему, но удаление устаревшего сертификата было бесполезным, оно появилось снова в момент запуска Xcode!

В Keychain Access, в самой левой панели, под категорией есть "Мои сертификаты", но также и другая запись: "Сертификаты". Я удалил сертификат из "Мои сертификаты", но не смотрел "Сертификаты". Удаление (с истекшим) сертификата из "Сертификатов" тоже решило его для меня.

Ответ 9

Если вы все еще не работаете для вас после удаления сертификата, попробуйте сделать Product > Clean. В моем случае это было необходимо даже после перезапуска системы.

Ответ 10

Я продолжаю получать эту ошибку, даже после удаления дубликата. Наконец я сделал следующее:

  • Откройте Keychain Access и удалите дубликат сертификата (просто держите последний) из раздела My Certificates и Certificates
  • Переходите к ключам и проверяйте наличие закрытого ключа там без открытого ключа, если да, удалите его.
  • Затем перезапустите Xcode.

Это исправляет мою проблему.

Ответ 11

в моем случае скрытым истекшим сертификатом был дубликат. Выше подсказки оказались полезными!