Создание файла .pem для APNS?

Как создать файл .pem, который будет храниться на сервере хостинга для данных полезной нагрузки APN?

Ответ 1

Вот что я сделал: From: blog.boxedice.com и глава 10 "Новые проекты iPhone" Джо Пеццильо.

С aps_developer_identity.cer в цепочке ключей:

  • Запустите доступ к Keychain с вашего локального Mac и из брелка для входа в систему, отфильтруйте по категории "Сертификаты". Вы увидите расширяемую опцию "Сервисы развертывания Apple Development".
  • Щелкните правой кнопкой мыши "Сервисы развертывания Apple Development" > "Экспорт приложений Apple Development ID123". Сохраните это как apns-dev-cert.p12 файл где-нибудь, к которому вы можете получить доступ. Нет необходимости вводить пароль.
  • Следующая команда генерирует сертификат в терминале Macs для формата PEM (сертификат безопасности повышенной безопасности):

    openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
    

На сервере установите разрешение файла этого незашифрованного ключа с помощью chmod 400.

Ответ 2

Этап развития

Шаг 1: Создать сертификат .pem из сертификата .p12
Команда: openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12

Шаг 2: Создать ключ .pem из ключа .p12
Команда: openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12

Шаг 3: Необязательный (если вы хотите удалить пропущенную фразу, заданную на втором шаге)
Команда: openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

Шаг 4: Теперь нам нужно объединить ключ .pem и сертификат .pem, чтобы получить версию .pem, необходимую для Push-уведомлений на этапе разработки приложения. Команда: cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem (If 3rd step is performed )

Команда: cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem (if not)

Шаг 5: Проверка подлинности сертификата и возможности подключения к APNS
Команда: openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem (If 3rd step is not performed )
Команда: openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem (If performed )

Фаза производства:

Шаг 1: Создать сертификат .pem из сертификата .p12
Команда: openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12

Шаг 2: Создать ключ .pem из ключа .p12
Команда: openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12

Шаг 3: Необязательный (если вы хотите удалить пропущенную фразу, заданную на втором шаге)
Команда: openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem

Шаг 4: Теперь нам нужно объединить ключ .pem и сертификат .pem, чтобы получить Production.pem, необходимый для Push-уведомлений на этапе производства приложения. Команда: cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem (If 3rd step is performed ) Команда: cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem (if not)

Шаг 5: Проверка подлинности сертификата и возможности подключения к APNS
Команда: openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem (If 3rd step is not performed )
Команда: openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem(Если выполнено)

Ответ 3

Шаги:

  • Создание CSR с использованием доступа к цепочке ключей
  • Создайте P12, используя доступ к ключевой цепочке, используя закрытый ключ
  • Идентификатор приложения и сертификат APNS

Это дает вам три файла:

  • CSR
  • Закрытый ключ как файл p12 (PushChatKey.p12)
  • Сертификат SSL aps_development.cer

Перейдите в папку, в которую вы загрузили файлы, в моем случае Рабочий стол:

$ cd ~/Desktop/

Преобразовать файл .cer в файл .pem:

$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem

Преобразуйте файл приватных ключей .p12 в файл .pem:

$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12

Введите пароль для импорта:

MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:

Сначала вам нужно ввести кодовую фразу для файла .p12, чтобы openssl мог ее прочитать. Затем вам нужно ввести новую кодовую фразу, которая будет использоваться для шифрования файла PEM. Опять же для этого урока я использовал "pushchat" как кодовую фразу PEM. Вы должны выбрать что-то более безопасное. Примечание: если вы не вводите кодовую фразу PEM, openssl не выдаст сообщение об ошибке, но сгенерированный файл .pem не будет иметь в нем закрытый ключ.

Наконец, объедините сертификат и ключ в один файл .pem:

$ cat PushChatCert.pem PushChatKey.pem > ck.pem

Ответ 4

Запустите приложение Terminal > и введите следующую команду после приглашения

  openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes

Ответ 5

- → собственный учебник Apple < < - единственный рабочий набор инструкций, с которыми я столкнулся. Это прямо, и я могу подтвердить, что он блестяще работает как на Linux-сервере php, так и на php-сервере Windows.

Вы можете найти свой процесс создания 5-шаговых пем прямо в нижней части страницы.

Ответ 6

Вы можете посмотреть здесь. У меня есть подробный процесс, описанный с изображениями, непосредственно от создания сертификата, до ключа приложения к профилю подготовки, в конечном итоге к pem. http://docs.moengage.com/docs/apns-certificate-pem-file

Ответ 7

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

Вот шаги:
1. Загрузите приложение.
2. Войдите в систему, используя учетные данные учетной записи Apple Developer.
3. Выберите App-ID
4. Нажмите кнопку "Создать"
5. Все готово!

Вы получите сертификаты APN в формате .pem, а также в формате .p12. Более того, вы получите также комбинированные .pem и .p12 тоже (key + cert)!
Более того, вы также получите версии всех этих сертификатов без пароля.

введите описание изображения здесь

введите описание изображения здесь

Ответ 8

Вот как я это сделал в Windows 7 после установки OpenSSL (ссылка идет на установщик Win32, выберите последнюю версию и не светлая версия).

С помощью этого метода вам нужен только файл .cer, загруженный с Apple.

c:\OpenSSL-Win32\bin\openssl.exe x509 -in aps_development.cer -inform DER -out developer_identity.pem -outform PEM

это создаст файл, который вам нужно будет добавить и ваш закрытый ключ.

----- НАЧАТЬ ЧАСТНЫЙ КЛЮЧ -----
MIIEuwIBADANBgkqhk.... и т.д.
MIIEuwIBADANBgkqhk.... и т.д.
MIIEuwIBADANBgkqhk.... и т.д.
MIIEuwIBADANBgkqhk.... и т.д.
----- КОНЕЦ ЧАСТНОГО КЛЮЧА -----
----- НАЧАТЬ СЕРТИФИКАТ -----
AwIBAgwIBADAwIBADA.... и т.д.
AwIBAgwIBADAwIBADA.... и т.д.
AwIBAgwIBADAwIBADA.... и т.д.
----- СЕРТИФИКАТ КОНЕЦ -----

Что это.

Ответ 9

Я никогда не помню команду openssl, необходимую для создания файла .pem, поэтому я сделал это bash script для упрощения процесса:

#!/bin/bash
if [ $# -eq 2 ]
then
    echo "Signing $1..."

    if ! openssl pkcs12 -in $1 -out $2 -nodes -clcerts; then
        echo "Error signing certificate."
    else
        echo "Certificate created successfully: $2"
    fi
else
    if [ $# -gt 2 ]
    then
        echo "Too many arguments"
        echo "Syntax: $0 <input.p12> <output.pem>"
    else
        echo "Missing arguments"
        echo "Syntax: $0 <input.p12> <output.pem>"
    fi
fi

Назовите его, например, signpem.sh и сохраните его в своей папке пользователя (/Users/<username>?). После создания файла выполните chmod +x signpem.sh, чтобы сделать его исполняемым, а затем вы можете запустить:

~/signpem myCertificate.p12 myCertificate.pem

И будет создан myCertificate.pem.

Ответ 10

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

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

Для Devlopment openssl pkcs12 -in apns-div-cert.p12 -out apns-div-cert.pem -nodes -clcerts

Для производства openssl pkcs12 -in apns-dist-cert.p12 -out apns-dist-cert.pem -nodes -clcerts

Переименуйте свой файл P12 с этим именем: apns-div-cert.p12, иначе вместо этого вам нужно ввести свое имя файла. Спасибо!!