2015-11-26 5 views
1

Я пытаюсь создать файл .pem для службы Apple Push Notification, но не могу найти простой способ его создания.Сгенерировать PEM из личного ключа, Apple CER

У меня нет доступа к компьютеру Apple, поэтому инструкции Apple бесполезны. Использование Windows 10.

Что я сделал:

  1. Сделан CSR + закрытый ключ через генератор (в частности, WHM). Они находятся в простом текстовом формате
  2. создал CSR файл с расширением .certSigningRequest путем копирования & вставки запроса в файл
  3. Выложены КСО в компании Apple Dev центр и вернулся сертификат, в формате CER, любезно of Apple

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

Однако я читал, что CER должен быть просто CRT с другим расширением; что, однако, похоже, не так, и я не знаю, как извлечь сертификат открытого текста из файла CER, который я получил, чтобы сделать PEM. Также я не совсем уверен, как сгенерировать файл p12 из того, что у меня есть (это указано как один из возможных простых способов сделать PEM).

Вопрос заключается в следующем: возможно ли извлечь сертификат открытого текста из файла CER? Или, наоборот, конвертировать его в PEM вместе с личным ключом? (У меня есть OpenSSL)

Update: Я был в состоянии извлечь текстовую часть КВЖД, оказывается, Apple, ССВ в формате DER, так что можно использовать:

openssl x509 -in cert.cer -inform DER -out cert.crt 

Существует еще проблема: PEM также содержит какие-то данные между ключом и сертификатом (атрибуты сумки, атрибуты ключа), а не уверен, как его генерировать. Исследование теперь, но ответ будет очень полезен!

+0

Вы можете установить его в хранилище сертификатов на компьютере Windows, где вы создаете закрытый ключ, а затем экспортируете его в .pfx (то же самое, что и .p12). –

+0

Спасибо. Дело в том, что я сгенерировал ключ на другой машине и только имел его в виде обычного текста.В большинстве случаев с Apple можно просто создать новую пару CSR/key в Windows и выполнить этот процесс правильно, но я пытался использовать существующую пару CSR/key. – Ynhockey

ответ

1

ОК, поэтому я думаю, что понял. Тем не менее, они не тестировались, если они работают с реальными APN, но APN являются изворотливыми и не могут работать по миллионам причин, и PEM выглядит хорошо, поэтому вот что нужно сделать (с OpenSSL), если у вас есть cert.cer и cert.key (равнина-текст закрытый ключ):

  1. Создать простой текстовый сертификат CER: openssl x509 -in cert.cer -inform DER -out cert.crt
  2. Создание PFX из CER и KEY: openssl pkcs12 -export -out cert.pfx -inkey cert.key -in cert.crt
  3. Преобразовать PFX в PEM: openssl pkcs12 -in cert.pfx -out cert.pem -nodes

Я попытался сократить этот процесс путем объединения 2 и 3, но он не генерировал текстовый PEM.

Обновление: Это работало с реальными APN, так что действительно это решение.