Творящий.файл pem для APNS?
Как создать .файл pem, который будет храниться на хост-сервере для данных полезной нагрузки APN?
11 ответов
вот что я сделал с:blog.boxedice.com и "iPhone" продвинутые "проекты" Глава 10 byJoe Pezzillo.
С aps_developer_identity.cer в брелке:
- запустите Keychain Access с вашего локального Mac и из Связки ключей входа, фильтруйте по категории сертификатов. Вы увидите расширяемую опцию под названием "Apple Development Push Services"
- щелкните правой кнопкой мыши на "Apple Development Push Services" > экспорт " Apple Разработка Push-сервисов ID123". Сохраните это как
apns-dev-cert.p12
файл, где вы можете получить к нему доступ. Нет необходимости вводить пароль. -
следующая команда генерирует сертификат в терминале Mac для формата PEM (сертификат конфиденциальности Enhanced Mail Security):
openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
на сервере установите разрешение файла этого незашифрованного ключа с помощью chmod 400.
Фазы Развития:
Шаг 1: Создать Сертификат .pem из сертификата .Р12
: openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
Шаг 2: Создать Ключ .pem от Key .Р12
: 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 из сертификата .Р12
: openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12
Шаг 2: Создать Ключ .pem от Key .Р12
: 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, чтобы получить производство .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
(Если выполняется )
действия:
- создайте CSR с помощью доступа к цепочке ключей
- создайте P12 с помощью доступа к цепочке Ключей с помощью закрытого ключа
- 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 в a .файл 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
вы можете посмотреть здесь. У меня есть подробный процесс, описанный с изображениями, прямо от создания сертификата, до ключа приложения к профилю подготовки, в конечном итоге pem. http://docs.moengage.com/docs/apns-certificate-pem-file
Я бы предложил гораздо более простое решение. Просто используйте Certifire.
Certifire Это приложение macOS, которое генерирует сертификаты Apple Push Notification всего одним щелчком мыши за пару секунд.
вот шаги:
1. Скачать приложение.
2. Войдите в систему, используя учетные данные учетной записи разработчика Apple.
3. Выберите App-ID
4. Нажмите кнопку "Создать"
5. Ты молодец!
вы получите APN сертификаты .формат pem, а также В.формат p12.
Более того, вы также будете объединены .Пем и .Р12 тоже (ключ+сертификат)!
Более того, вы также получите версии без парольных фраз всех этих сертификатов!
вот как я это сделал в 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 ЗАКРЫТЫЙ КЛЮЧ - - - - -
----- НАЧАТЬ СЕРТИФИКАТ - - - - -
Авибагвибадавибада....и т. д.
Авибагвибадавибада....и т. д.
Авибагвибадавибада....и т. д.
----- СЕРТИФИКАТ КОНЦА - - - - -
вот именно.
Я не помню 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.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.Р12 в противном случае вместо этого вам нужно ввести свое имя файла. Спасибо!!
Примечание: для выполнения любой из этих задач необходимо иметь роль Team Agent или Admin В App Store Connect. Если вы не являетесь частью команды в App Store Connect, это, вероятно, не влияет на вас.
отправка push-уведомлений в приложение iOS требует создания ключей шифрования. В прошлом это был трудоемкий процесс, который использовал ключи и сертификаты. Каждый сертификат SSL был специфичен для одного приложения iOS. В 2016 Году Apple введен новый механизм ключа аутентификации, который является более надежным и простым в использовании. Новые ключи аутентификации являются более гибкими, простыми в обслуживании и применении больше, чем в приложении iOS.
хотя прошло много лет с тех пор, как были введены ключи аутентификации, не каждая служба поддерживает их. FireBase и Amazon Pinpoint поддерживают ключи аутентификации. Amazon SNS, Urban Airship, Twilio и LeanPlum-нет. Многие пакеты программ с открытым исходным кодом еще не поддерживают аутентификацию ключи.
чтобы создать необходимый сертификат SSL и экспортировать его в PEM-файл, содержащий открытый и закрытый ключи:
- перейдите к сертификатам, идентификаторам и профилям
- создать или изменить идентификатор приложения.
- включить Push-уведомления для App ID
- добавить сертификат SSL в идентификатор приложения
- преобразование сертификата в формат PEM
Если у вас уже есть сертификат SSL, созданная для приложение на веб-сайте Apple Developer Center вы можете пропустить вперед, чтобы преобразовать сертификат в формат PEM. имейте в виду, что вы столкнетесь с проблемами, если вы не и имейте закрытый ключ, который был создан на Mac, который создал запрос подписи, который был загружен в Apple.
читайте дальше, чтобы узнать, как избежать потери этого закрытого ключа.
перейдите к сертификатам, идентификаторам и профилям
Xcode, совсем не контрольные сертификаты или ключи для push-уведомлений. Чтобы создать ключи и включить push-уведомления для приложения, вы должны перейти на веб-сайт Apple Developer Center. Раздел сертификаты, идентификаторы и профили вашей учетной записи управляет идентификаторами приложений и сертификатами.
чтобы получить доступ к сертификатам и профилям, вы должны иметь платное членство в программе Apple Developer или быть частью команды, которая это делает.
- войдите в Разработчик Apple сайт
- на счета, потом Сертификаты, Идентификаторы И Профили
создать идентификатор приложения
приложения, использующие push-уведомления, не могут использовать идентификаторы подстановочных знаков или профили подготовки. Для каждого приложения необходимо настроить запись идентификатора приложения на портале Apple Developer Center, чтобы включить push-уведомления.
- на App IDs под коды
- поиск приложения с помощью идентификатора пакета. Возможно, она уже существует.
- если нет существующего идентификатора приложения для приложения нажмите кнопку ( + ), чтобы создать его.
- выберите явное приложение ID на идентификатор меню выберите Новый Брелок...
- дайте вашему keychain описательное имя, как "общая разработка" или имя вашего применение
создать запрос подписи сертификата (CSR)
при создании запроса подписи сертификата помощник сертификата генерирует два ключа шифрования в связке ключей по умолчанию. Важно сделать связку ключей разработки по умолчанию, чтобы ключи находились в правой связке ключей.
- откройте Keychain Access на вашем Mac.
- Control-нажмите на брелок разработки в списке брелки
- выберите сделать брелок "общая разработка" по умолчанию
- С Keychain Access меню выберите Помощник Удостоверение, потом запросить сертификат у Центра сертификации... из подменю.
- когда помощник сертификат проверки Сохранено На Диске.
- введите адрес электронной почты, связанный с вашим членством в Программе разработчиков Apple, в Адрес Электронной Почты Пользователя меню выберите Предметы Импорта...
- импорт файла сертификата, загруженного из Apple
ваш брелок разработки теперь должен показывать сертификат push с закрытым ключом под Сертификаты в Keychain Access:
на этом этапе необходимо создать резервную копию связки ключей разработки. Много команды хранят свои push-сертификаты на защищенных USB-накопителях, выполняют внутренний контроль версий или используют резервное решение, например Time Machine. Связка ключей разработки может совместно использоваться различными членами команды, поскольку она не содержит личных учетных данных для подписи кода.
Keychain файлы расположены в
~/Library/Keychains
.
некоторым сторонним службам push требуются сертификаты в формате Privacy Enhanced Mail (PEM), в то время как другим требуется открытый ключ Стандарты криптографии #12 (PKCS12 или P12). Сертификат, загруженный из Apple, можно использовать для экспорта сертификатов в этих форматах, но только если вы сохранили закрытый ключ.
преобразование сертификата в формат PEM
- в Keychain Access выберите связку ключей разработки, созданную ранее.
- выберите сертификат push в Сертификаты. Там должен быть закрытый ключ. ![Скачать CER push сертификат](брелок/импорт завершен.png)
- С меню выберите Экспорт Товаров...
- в открывшейся панели выберите Конфиденциальность Расширенной Почты (.pem) как формат файла.
- сохраните файл