Как я могу использовать существующий закрытый ключ для нового сертификата разработки iOS? - PullRequest
25 голосов
/ 29 декабря 2010

По эстетическим соображениям я хотел бы использовать тот же закрытый ключ, который я использовал для создания своего сертификата распространения некоторое время назад, для создания нового сертификата разработки (срок действия моего старого сертификата истек). Но «Как создать сертификат разработки:» на портале обеспечения iOS требует, чтобы вы использовали Keychain Access для создания нового ключа. Когда я пытаюсь сделать Keychain Access> Certificate Assistant> Запросить сертификат у центра сертификации с «(имя моего ключа)», Certificate Assistant фактически не создает файл CSR.

Кто-нибудь знает, можно ли это сделать, и если да, то как?

Ответы [ 4 ]

52 голосов
/ 18 августа 2011

Сначала мне пришлось экспортировать свой закрытый ключ из цепочки для ключей в виде файла p12.Я попытался написать это, но безуспешно.

  1. Открыть цепочку ключей и выбрать свой закрытый ключ
  2. Щелкните правой кнопкой мыши и выберите «Экспорт»
  3. Используйте тип файла p12.

Запустите следующую команду openssl, чтобы преобразовать ваш файл p12, защищенный паролем, в pem.openssl запросит пароль.

openssl pkcs12 -in your-newly-exported-p12-file.p12 -out your-newly-exported-p12-file-as-a-pem.pem -nodes

Выполните следующую команду в вашем файле pem, чтобы сгенерировать csr.

openssl req -new -key your-newly-exported-p12-file-as-a-pem.pem -out your-csr-to-submit-to-apple.csr
4 голосов
/ 13 сентября 2012

Чтобы сгенерировать CSR из существующего закрытого ключа в Keychain Access, просто щелкните правой кнопкой мыши (закрытый ключ) на секретном ключе, который вы хотите использовать, и выберите ЗАПРОСИТЬ СЕРТИФИКАТ ОТ СЕРТИФИКАТА С ПОМОЩЬЮ "(имя моего ключа)«

Затем введите адрес электронной почты пользователя и адрес электронной почты CA (я просто использую один и тот же адрес электронной почты для обоих) и затем выберите« Сохранено на диск ».

2 голосов
/ 29 декабря 2010

Вас устраивает OpenSSL и командная строка? В списке рассылки обсуждение о создании CSR вручную. Кстати, мне не удалось создать CSR, используя выбранный ключ в Keychain Access / Certificate Assistant.

0 голосов
/ 12 ноября 2016

Я прошел этот ад сегодня. Я хотел автоматизировать экспорт ключа для создания CSR через командную строку. Я нашел инструмент, написанный на c, который обещал то, что я хотел: keychain_access . Я скомпилировал и поиграл с ним, но не смог экспортировать свой ключ распространения. Я снова создал инструмент с нуля с помощью новейших API-интерфейсов безопасности Apple и печати атрибутов элементов цепочки для ключей, но так и не смог найти ключ по метке. Я был в состоянии перечислить это без поиска лейбла. В отчаянной попытке я переименовал, чтобы ввести инструмент доступа цепочки для ключей, и переименовал его в старое имя. После этого мой инструмент, наконец, заклеил ключ этикеткой. А также правый клик REQUEST A CERTIFICATE FROM A CERTIFICATE AUTHORITY WITH "(My Key Name)" снова начал работать. Кажется, что имя было сохранено в другой кодировке или что-то в этом роде. Не событие яблок собственный инструмент доступа брелок смог найти ключ!

...