Ответ 1
Решил! Необходимо было изменить "Пользовательский сертификат" на "Подписание кода".
У меня возникла проблема с кодовыми именами моих приложений, поэтому я удалил все ключи из брелка. Затем я отправился в Certificate Assistant = > Запрос сертификата из центра сертификации (для создания CSR для нового сертификата).
Итак, введите мой адрес электронной почты, и вот что я получаю:
Указанный элемент не найден в цепочке ключей.
Что я делаю неправильно?
P.S. Когда я пытаюсь создать центр сертификации, я получаю ту же ошибку.
Решил! Необходимо было изменить "Пользовательский сертификат" на "Подписание кода".
Я решил это. Убедитесь, что вы находитесь в разделе "Сертификаты", и перед тем, как запрашивать сертификат, вы выбираете "Центр сертификации партнеров по всему миру Apple".
Доступ к Keychain не позволит вам запросить сертификат у центра сертификации с "идентификатором"..., если у вас нет как закрытого ключа, так и открытого ключа для идентификации в вашей цепочке ключей. Я столкнулся с этим, когда у меня был только закрытый ключ, а не соответствующий открытый ключ.
Вы можете создать открытый ключ из закрытого ключа и импортировать его в цепочку ключей, используя процедуру, описанную в Я потерял свой открытый ключ. Могу ли я восстановить его из закрытого ключа?
Как только я импортировал открытый ключ, я смог использовать Запрос сертификата из центра сертификации с командой "identity"... без запуска Указанный элемент не был найден в ошибке keychain.
Вы (возможно, случайно) запрашиваете Keychain Access для создания запроса на подпись сертификата с использованием существующего ключа. Если выбран ключ, когда вы переходите в меню Keychain Access - Certificate Assistant, представленные параметры будут для этого выбранного ключа.
Выберите неключевой элемент в цепочке ключей (например, сохраненный пароль) и снова перейдите в Доступ к цепочке ключей - Ассистент сертификата, чтобы генерировать CSR в обычном режиме.
Даже я получал эту проблему. Я решил это, выбрав All Items
вместо Keys
в панели Categories
, а затем попытаюсь создать сертификат.
Попробуйте это, это наверняка сработает.
Это происходило со мной. Я заметил, что параметр меню для создания запроса сертификата изменился с
Запросить сертификат от центра сертификации...
к
Запросить сертификат от центра сертификации с именем "My Name"...
Я работаю в домене, поэтому я вышел из системы, зарегистрировался и вышел как другой пользователь, а затем снова зашел в систему. После этого меню появилось как ожидалось, и эта ошибка исчезла.
Моя цель состояла в том, чтобы создать CSR (запрос подписи сертификата), используя мой существующий закрытый ключ, чтобы отправить Apple в новый сертификат распространения iPhone. Я убедился, что сертификаты были выбранной категорией слева. Я попытался щелкнуть правой кнопкой мыши по моему закрытому ключу и нажать "Запросить сертификат из центра сертификации с помощью импортированного закрытого ключа" и получить следующую ошибку при попытке сохранить его.
Указанный элемент не найден в цепочке ключей.
Я также получил ту же ошибку, когда я просмотрел меню файла: "Доступ к ключам" > "Ассистент сертификата"
Что я собрал из других интернет-источников, так это то, что Keychain Access НЕ позволяет создавать новый CSR, если вы импортировали закрытый ключ, только если вы создали ключ локально из инструмента.
Вместо этого я решил экспортировать закрытый ключ и использовать openssl для создания нового CSR, который Apple принял, и теперь ссылается на новый импортированный закрытый ключ.
Будьте осторожны, поскольку личный ключ .pem больше не защищен паролем)
$ openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes
Enter Import Password: ********************
MAC verified OK
$ openssl req -out Certificates.csr -key Certificates.pem -new
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:.
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:John Doe Dev Key
Email Address []:[email protected]
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Несколько замечаний:
$ openssl req -noout -text -in Certificates.csr
Certificate Request:
Data:
Version: 0 (0x0)
Subject: CN=John Doe Dev Key/[email protected]
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)
Modulus (2048 bit):
…
Exponent: 65537 (0x10001)
Attributes:
a0:00
Signature Algorithm: sha1WithRSAEncryption
…
Что вам нужно сделать, это в строке Тема и убедитесь, что это правильно.
Теперь все, что вам нужно сделать, это отправить его Apple, дождаться получения сертификата и затем установить его. После импорта вновь созданного сертификата вы увидите, что он ссылается на старый сертификат, который вы экспортировали выше.
Хорошо, имя, которое отображается, отображает элемент, выделенный вами в главном окне Keychain (если вы выбираете другой элемент здесь, вы также видите с ним пункт меню). Если вы перейдете в раздел категории слева и, например, выберите мои сертификаты и вернитесь к пункту меню помощника сертификата, он выглядит/действует так, как вы привыкли. Надеюсь, это поможет!
У меня такая же проблема. я могу создать CSR, а затем не создавать его и получать такую же ошибку.
то я могу найти и найти решение, но не решить.
некоторое время я смогу его решить.
мой доступ к цепочке ключей через фрейм-тайм CSR.so мой доступ к цепочке ключей заблокирован.
открыть > доступ к брелокам > верх экрана доступа к цепочке ключей "Нажмите, чтобы разблокировать системный брелок"
Нажмите эту кнопку и разблокируйте системный брелок, затем создайте файл CSR, а затем не получите эту ошибку.
При выборе секретного ключа в цепочке ключей возникнет проблема. "указанный элемент не найден в цепочке ключей" Пока вы выбираете открытый ключ, решайте его. "Ваш запрос сертификата создан на диске."
Если вы выбрали какой-либо секретный ключ в цепочке ключей при создании нового CSR, он предложит вам обратиться к этому ключу. Просто убедитесь, что вы выбрали элемент не частного ключа для создания нового CSR, который будет полезен для создания нового.
Например, сохранить выбранный в инструменте связки ключей "Открытый ключ" или любой существующий сертификат, который не имеет к нему закрытого ключа. Теперь выполните поток "Запрос сертификата из центра сертификации".
После отзыва каждого сертификата, который я имел, я понял, что проблема была с моим yubikey. Это мешало подписать приложение. После того как я его удалил, проблема решена.
Эта ветка форума помогла мне: https://forums.developer.apple.com/thread/106938