Творящий.PEM файл для APNS?


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

11 158

11 ответов:

вот что я сделал, от:blog.boxedice.com и" iPhone Advanced Projects " Глава 10 byJoe Pezzillo.

С aps_developer_identity.cer в связке ключей:

  1. запустите Keychain Access с вашего локального Mac и из Связки ключей входа, фильтруйте по категории сертификатов. Вы увидите расширяемый вариант под названием "Apple Development Push Services"
  2. щелкните правой кнопкой мыши на "Apple Development Push Services" > экспорт " Apple Разработка Push Services ID123". Сохраните это как apns-dev-cert.p12 файл где-то вы можете получить к нему доступ. Нет необходимости вводить пароль.
  3. следующая команда генерирует сертификат в терминале Mac для формата PEM (Privacy Enhanced Mail Security Certificate):

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

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

Фазы Развития:

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

Шаг 2: Создать Ключ .Пем из Ки .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 необходим для 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: Создать Ключ .Пем из Ки .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 необходим для 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 (Если выполняется )

действия:

  1. создать КСО, используя ключ доступа, последовательность
  2. создайте P12, используя доступ к цепочке Ключей с помощью закрытого ключа
  3. APNS App ID и сертификат

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

  • ЦСР
  • закрытый ключ в виде файла p12 (PushChatKey.p12)
  • сертификат SSL,aps_development.cer

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

$ cd ~/Desktop/

преобразования .CER файл в a .файл 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

запустить терминал и введите следующую команду после строки

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

->>собственный учебник Apple

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

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

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

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

вы получите APN сертификаты .формат pem, а также В.формат p12. Более того, вы получите также объединены .Пем И.Р12 тоже (ключ+сертификат)!
Более того, вы также получите версии без парольной фразы всех этих сертификатов!

enter image description here

enter image description here

вот как я сделал это на 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....и т. д.
----- END PRIVATE KEY - - - - -
----- НАЧАТЬ СЕРТИФИКАТ - - - - -
Авибагвибадавибада....и т. д.
Авибагвибадавибада....и т. д.
Авибагвибадавибада....и т. д.
----- КОНЕЧНЫЙ СЕРТИФИКАТ - - - - -

вот именно.

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

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

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

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

~/signpem myCertificate.p12 myCertificate.pem

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

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

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

На Развитие openssl pkcs12-in apns-div-cert.П12-из точек доступа APN-див-верняк.pem-nodes-clcerts

Для Производства openssl pkcs12-in apns-dist-cert.П12-из точек доступа APN-дист-верняк.pem-nodes-clcerts

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

Примечание: для выполнения любой из этих задач необходимо иметь роль Team Agent или Admin В App Store Connect. Если вы не являетесь частью команды в App Store Connect, это, вероятно, не влияет на вас.

отправка push-уведомлений в приложение iOS требует создания ключей шифрования. В прошлом это был трудоемкий процесс, который использовал ключи и сертификаты. Каждый сертификат SSL был специфичен для одного приложения iOS. В 2016 Году Apple введен новый механизм ключа аутентификации, который является более надежным и простым в использовании. Новые ключи аутентификации являются более гибкими, простыми в обслуживании и применении к большему, чем в приложении iOS.

хотя прошло уже много лет с тех пор, как были введены ключи аутентификации, не каждая служба поддерживает их. Военнослужащих и Amazon определить поддерживает проверку подлинности ключей. Amazon SNS, Urban Airship, Twilio и LeanPlum этого не делают. Многие пакеты программного обеспечения с открытым исходным кодом еще не поддерживают аутентификацию ключи.

чтобы создать необходимый сертификат SSL и экспортировать его в PEM-файл, содержащий открытый и закрытый ключи:

  1. перейдите к сертификатам, идентификаторам и профилям
  2. создание или редактирование идентификатора приложения.
  3. Включить уведомления толчка для идентификатора приложения
  4. добавьте сертификат SSL в идентификатор приложения
  5. преобразование сертификата в формат PEM

Если у вас уже есть сертификат SSL, созданная для приложение на веб-сайте Apple Developer Center вы можете пропустить вперед, чтобы преобразовать сертификат в формат PEM. имейте в виду, что вы столкнетесь с проблемами, если вы не и есть закрытый ключ, который был сгенерирован на Mac, который создал запрос подписи, который был загружен в Apple.

читайте дальше, чтобы увидеть, как избежать потери этого закрытого ключа.

перейдите к сертификатам, идентификаторам и профилям

Xcode, совсем не контрольные сертификаты или ключи для push-уведомлений. Чтобы создать ключи и включить push-уведомления для приложения, вы должны перейти на веб-сайт Apple Developer Center. Раздел сертификаты, идентификаторы и профили вашей учетной записи контролирует идентификаторы и сертификаты приложений.

чтобы получить доступ к сертификатам и профилям, вы должны либо иметь платное членство в программе Apple Developer, либо быть частью команды, которая это делает.

  1. войдите в Разработчик Apple сайт enter image description here
  2. на счета, потом Сертификаты, Идентификаторы И Профили enter image description here

создать идентификатор приложения

приложения, использующие push-уведомления, не могут использовать идентификаторы приложений с подстановочными знаками или профили подготовки. Для каждого приложения необходимо настроить запись идентификатора приложения на портале Apple Developer Center, чтобы включить push-уведомления.

  1. на приложения Идентификаторы под коды
  2. поиск вашего приложения с помощью идентификатора пакета. Возможно, он уже существует.
  3. если нет существующего идентификатора приложения для приложения нажмите кнопку ( + ), чтобы создать его.
  4. выберите явное приложение ID на идентификатор