FYI-определение .pem: serverfault.com/a/21158/193377 Сам по себе PEM не является сертификатом, это просто способ кодирования данных. .... это безопасно вставить в текст сообщения электронной почты, потому что оно имеет якорные линии и является 7-битным чистым.
AnneTheAgile
Ответы:
365
Вот что я сделал: From: blog.boxedice.com и глава 10 «iPhone Advanced Projects» Джо Пецзилло.
С aps_developer_identity.cer в цепочке для ключей:
Запустите Keychain Access с вашего локального Mac и из цепочки для ключей входа в систему, отфильтруйте по категории «Сертификаты». Вы увидите расширяемую опцию под названием «Apple Development Push Services»
Щелкните правой кнопкой мыши «Apple Development Push Services»> «Экспорт» Apple Development Push Services ID123 ″. Сохраните это как apns-dev-cert.p12файл, где вы можете получить к нему доступ. Нет необходимости вводить пароль.
Следующая команда генерирует сертификат в Терминале Mac для формата PEM (Privacy Enhanced Mail Security Certificate):
Я выполнил вышеуказанные шаги и теперь он работает. Я сохранил сертификат и скрипт php на своем локальном веб-сервере (Xampp). Я могу получить токен устройства и использую его в скрипте php. Сценарий php может подключаться и отправлять данные полезной нагрузки. Но все же тогда я не могу получить PUSH-уведомление. В чем проблема ? Уведомления требуют времени для достижения ???
Биранчи
12
В Mavericks '(10.9's) Keychain Access есть возможность экспортировать как .pem! Просто щелкните правой кнопкой мыши на сертификате «Apple Development / Production iOS Push Services» в «Связке ключей» и выберите «Экспорт». Измените формат файла на .pem - готово! Также доступно в качестве параметров экспорта: .p7b & .p12
tylerl
5
.pem отключен для меня, yosemite beta7. У меня есть некоторые проблемы с созданием .pem, когда я открываю его, он говорит, что для распространения вместо dev
Cristi Băluță
2
.pem не отключен для меня, но я не могу сохранить как p12. Вот как это выглядит: i.imgur.com/U2M40dU.png
FooBar
2
Для macOS 10.14 Mojave с помощью приложения Keychain Access вы можете выбрать «Экспортировать ваш« Apple Push Services: сертификат com.yourBundleIdentifier »в формат файла« Privacy Enhanced Mail (.pem) »и сохранить в любое время.
Шаг 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: Теперь мы должны объединить Key .pem и Certificate .pem, чтобы получить Development .pem, необходимый для Push-уведомлений на этапе разработки приложения.
Если третий шаг был выполнен, запустите: cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
Если 3-й шаг не был выполнен, запустите: cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem
Шаг 5: Проверьте действительность сертификата и подключение к APNS
Если третий шаг был выполнен, запустите: openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem
Если 3-й шаг не был выполнен, запустите: openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem
Шаг 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: Теперь мы должны объединить Key .pem и Certificate .pem, чтобы получить Production .pem, необходимый для Push-уведомлений на этапе разработки приложения.
Если третий шаг был выполнен, запустите: cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem
Если 3-й шаг не был выполнен, запустите: cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem
Шаг 5: Проверьте действительность сертификата и подключение к APNS.
Если третий шаг был выполнен, запустите: openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem
Если 3-й шаг не был выполнен, запустите: openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
Сначала вам нужно ввести фразу-пароль для файла .p12, чтобы openssl мог его прочитать. Затем вам нужно ввести новую фразу-пароль, которая будет использоваться для шифрования файла PEM. Снова для этого урока я использовал «pushchat» в качестве пароля PEM. Вы должны выбрать что-то более безопасное. Примечание: если вы не введете фразу PEM, openssl не выдаст сообщение об ошибке, но в сгенерированном файле .pem не будет закрытого ключа.
Наконец, объедините сертификат и ключ в один файл .pem:
После того, как вы сгенерируете p12, это должен быть ответ.
Камень
10
- >> Собственный учебник Apple << - это единственный рабочий набор инструкций, с которым я столкнулся. Это просто, и я могу подтвердить, что он отлично работает как на PHP-сервере Linux, так и на Windows-сервере PHP.
Вы можете найти пятиэтапный процесс создания pem внизу страницы.
Да! Просто следуйте простому учебнику. Всего одна простая команда openssl. Я не знаю, имеет ли это значение, но я выполнил команду по SSH на сервер, который подключается к APNS.
Тайлер
1
@tylerl, PEM может быть сгенерирован с любой машины - он не обязательно должен быть сервером, на котором он будет находиться.
capikaw
Нужно ли запускать этот процесс на самом сервере, где развернут код php? или я могу использовать файл .pem, сгенерированный на моем Mac?
Джатин
4
Ссылка не работает по состоянию на сентябрь 2015 г.
Вы можете посмотреть здесь. У меня есть подробный процесс, описанный с изображениями, начиная с создания сертификата, и заканчивая ключом приложения, профилем обеспечения и, в конечном итоге, pem.
http://docs.moengage.com/docs/apns-certificate-pem-file
ПРИМЕЧАНИЕ. Для выполнения любой из этих задач у вас должна быть роль Team Agent или Admin в App Store Connect. Если вы не являетесь частью команды в App Store Connect, это, вероятно, не повлияет на вас.
Отправка push-уведомлений в приложение iOS требует создания ключей шифрования. В прошлом это был громоздкий процесс, в котором использовались ключи и сертификаты SSL. Каждый сертификат SSL был специфичен для одного приложения iOS. В 2016 году Apple представила новый механизм ключа аутентификации, который стал более надежным и простым в использовании. Новые ключи аутентификации являются более гибкими, простыми в обслуживании и применимы не только в приложениях iOS.
Несмотря на то, что прошло много лет с тех пор, как были введены ключи аутентификации, не все службы поддерживают их. FireBase и Amazon Pinpoint поддерживают ключи аутентификации. Amazon SNS, Urban Airship, Twilio и LeanPlum этого не делают. Многие пакеты программного обеспечения с открытым исходным кодом еще не поддерживают ключи аутентификации.
Чтобы создать требуемый сертификат SSL и экспортировать его в файл PEM, содержащий открытый и закрытый ключи:
Перейдите к сертификатам, идентификаторам и профилям
Создайте или измените свой идентификатор приложения.
Включить Push-уведомления для идентификатора приложения
Добавить сертификат SSL к идентификатору приложения
Читайте дальше, чтобы узнать, как избежать потери этого закрытого ключа.
Перейдите к сертификатам, идентификаторам и профилям
Xcode не контролирует сертификаты или ключи для push-уведомлений. Чтобы создать ключи и включить push-уведомления для приложения, необходимо перейти на веб-сайт Apple Developer Center. Раздел «Сертификаты, идентификаторы и профили» вашей учетной записи контролирует идентификаторы приложений и сертификаты.
Чтобы получить доступ к сертификатам и профилям, вы должны либо иметь платное членство в программе Apple Developer Program, либо быть частью команды, которая это делает.
Зайдите в Аккаунт , затем Сертификаты, Идентификаторы и Профили
Создать идентификатор приложения
Приложения, использующие push-уведомления, не могут использовать подстановочные идентификаторы приложений или профили обеспечения. Каждое приложение требует настройки записи идентификатора приложения на портале Apple Developer Center для включения push-уведомлений.
Перейти к идентификаторам приложений в разделе Идентификаторы
Найдите свое приложение, используя идентификатор пакета. Это может уже существовать.
Если для приложения нет идентификатора приложения, нажмите кнопку (+), чтобы создать его.
Выберите Явный идентификатор приложения в App ID раздела суффикса.
Введите идентификатор пакета для приложения.
Прокрутите вниз и включите Push-уведомления .
Нажмите Продолжить .
На следующем экране нажмите Регистрация, чтобы завершить создание идентификатора приложения.
Включить Push-уведомления для идентификатора приложения
Перейти к идентификаторам приложений в разделе Идентификаторы
Нажмите на идентификатор приложения, чтобы увидеть подробности и прокрутить вниз.
Нажмите Редактировать
На экране настроек идентификатора приложения прокрутите вниз до Push-уведомлений.
Установите флажок, чтобы включить push-уведомления.
Создание SSL-сертификатов для push-уведомлений - это процесс нескольких задач. Каждая задача имеет несколько шагов. Все это необходимо для экспорта ключей в формате P12 или PEM. Просмотрите шаги, прежде чем продолжить.
Добавить сертификат SSL к идентификатору приложения
В разделе «Разработка SSL-сертификата» нажмите « Создать сертификат» . Вы должны будете сделать это позже для производства.
Apple попросит вас создать запрос на подпись сертификата
Чтобы создать сертификат, вам нужно будет сделать запрос на подпись сертификата (CSR) на Mac и загрузить его в Apple.
Позже, если вам нужно экспортировать этот сертификат в файл pkcs12 (он же p12), вам нужно будет использовать цепочку для ключей с того же Mac . Когда создается запрос на подпись, Keychain Access генерирует набор ключей в цепочке для ключей по умолчанию. Эти ключи необходимы для работы с сертификатом, который Apple создаст из запроса на подпись.
Хорошей практикой является наличие отдельной цепочки для ключей специально для учетных данных, используемых для разработки. Если вы сделаете это, убедитесь, что эта цепочка для ключей установлена по умолчанию перед использованием Certificate Assistant.
Создать брелок для учетных данных разработчика
Откройте доступ к связке ключей на вашем Mac
В меню File выберите New Keychain ...
Дайте вашей связке ключей описательное имя, например «Shared Development» или название вашего приложения.
Создать запрос на подпись сертификата (CSR)
При создании запроса на подпись сертификата помощник по сертификации генерирует два ключа шифрования в цепочке ключей по умолчанию. Важно сделать связку ключей разработки по умолчанию, чтобы ключи находились в правильной связке ключей.
Откройте Keychain Access на вашем Mac.
Удерживая нажатой клавишу «Control», нажмите на связку ключей в списке цепочек.
Выберите Сделать цепочку для ключей "Shared Development" по умолчанию
В меню « Связка ключей» выберите « Ассистент сертификата» , затем « Запросить сертификат в центре сертификации» ... из подменю.
Когда появится Ассистент Сертификата, отметьте « Сохранено на диск» .
Введите адрес электронной почты, связанный с вашим участием в программе Apple Developer Program, в поле Адрес электронной почты пользователя. поле « .
Введите имя для ключа в поле Common Name . Рекомендуется использовать идентификатор пакета приложения как часть общего имени. Это позволяет легко определить, какие сертификаты и ключи принадлежат какому приложению.
Нажмите продолжить. Ассистент сертификатов предложит сохранить запрос на подпись в файл.
В Keychain Access снова установите брелок «логин» по умолчанию.
При создании запроса на подпись генерируется пара ключей. Перед загрузкой запроса на подпись убедитесь, что ключи цепочки разработки имеют ключи. Их имена будут такими же, как общее имя, используемое в запросе на подпись.
Загрузить запрос на подпись сертификата (CSR)
После создания запроса на подпись сертификата загрузите его в Центр разработчиков Apple. Apple создаст сертификат push-уведомлений из запроса на подпись.
Загрузить запрос на подпись сертификата
Загрузите сертификат, который Apple создала из запроса на подпись сертификата
В Keychain Access выберите связку разработки из списка цепочек для ключей.
В меню File выберите Import Items ...
Импортируйте файл сертификата, загруженный из Apple
Ваша цепочка для ключей разработки теперь должна отображать push-сертификат с закрытым ключом в разделе « Мои сертификаты в Access Keychain Access»:
На этом этапе следует создать резервную копию цепочки ключей разработки. Многие команды хранят свои push-сертификаты на защищенных USB-накопителях, осуществляют внутренний контроль версий или используют решения для резервного копирования, такие как Time Machine. Связка ключей разработки может быть разделена между различными членами команды, поскольку она не содержит никаких персональных учетных данных для подписи кода.
Файлы цепочки для ключей расположены в ~/Library/Keychains.
Некоторые сторонние push-сервисы требуют сертификаты в формате Privacy Enhanced Mail (PEM), в то время как другие требуют Стандарты криптографии с открытым ключом № 12 (PKCS12 или P12). Сертификат, загруженный из Apple, может быть использован для экспорта сертификатов в этих форматах - но только если вы сохранили закрытый ключ.
Конвертировать сертификат в формат PEM
В Keychain Access выберите созданную ранее цепочку для ключей разработки.
Выберите push-сертификат в разделе « Мои сертификаты» . Там должен быть закрытый ключ с ним. ! [Загрузить сертификат CER] (связка ключей / импорт завершен.png)
В меню File выберите Export Items ...
На открывшейся панели сохранения выберите «Формат расширенной почты» (.pem) в качестве формата файла.
Я бы предложил гораздо более простое решение. Просто используйте Certifire . Certifire - это приложение macOS, которое генерирует сертификаты push-уведомлений Apple одним щелчком мыши за пару секунд.
Вот шаги:
1. Загрузите приложение.
2. Войдите в систему, используя свои учетные данные Apple Developer.
3. Выберите App-ID
4. Нажмите кнопку «Создать»
5. Готово!
Вы получите сертификаты APN в формате .pem, а также в формате .p12. Более того, вы также получите сочетание .pem и .p12 (ключ + сертификат)!
Гораздо больше, вы также получите версии без этих сертификатов!
Вот как я это сделал в 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
это создаст файл, к которому вам затем нужно будет добавить свой закрытый ключ.
----- НАЧАТЬ PRIVATE KEY -----
MIIEuwIBADANBgkqhk .... и т.д.
MIIEuwIBADANBgkqhk .... и т.д.
MIIEuwIBADANBgkqhk .... и т.д.
MIIEuwIBADANBgkqhk .... и т.д.
----- END PRIVATE KEY -----
----- BEGIN CERTIFICATE -----
AwIBAgwIBADAwIBADA .... и т.д.
AwIBAgwIBADAwIBADA .... и т.д.
AwIBAgwIBADAwIBADA .... и т.д.
----- END CERTIFICATE -----
Назовите его, например, signpem.shи сохраните в папке вашего пользователя ( /Users/<username>?). После создания файла выполните a, chmod +x signpem.shчтобы сделать его исполняемым, и затем вы можете запустить:
Ответы:
Вот что я сделал: From: blog.boxedice.com и глава 10 «iPhone Advanced Projects» Джо Пецзилло.
С aps_developer_identity.cer в цепочке для ключей:
apns-dev-cert.p12
файл, где вы можете получить к нему доступ. Нет необходимости вводить пароль.Следующая команда генерирует сертификат в Терминале Mac для формата PEM (Privacy Enhanced Mail Security Certificate):
На сервере установите разрешение на доступ к этому незашифрованному ключу с помощью chmod 400.
источник
Фаза разработки:
Шаг 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: Теперь мы должны объединить Key .pem и Certificate .pem, чтобы получить Development .pem, необходимый для Push-уведомлений на этапе разработки приложения.
Если третий шаг был выполнен, запустите:
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
Если 3-й шаг не был выполнен, запустите:
cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem
Шаг 5: Проверьте действительность сертификата и подключение к APNS
Если третий шаг был выполнен, запустите:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem
Если 3-й шаг не был выполнен, запустите:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem
Этап производства:
Шаг 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: Теперь мы должны объединить Key .pem и Certificate .pem, чтобы получить Production .pem, необходимый для Push-уведомлений на этапе разработки приложения.
Если третий шаг был выполнен, запустите:
cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem
Если 3-й шаг не был выполнен, запустите:
cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem
Шаг 5: Проверьте действительность сертификата и подключение к APNS.
Если третий шаг был выполнен, запустите:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem
Если 3-й шаг не был выполнен, запустите:
openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem
источник
шаги:
Это дает вам три файла:
PushChatKey.p12
)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
источник
Запустите приложение «Терминал» и введите следующую команду после запроса
источник
- >> Собственный учебник Apple << - это единственный рабочий набор инструкций, с которым я столкнулся. Это просто, и я могу подтвердить, что он отлично работает как на PHP-сервере Linux, так и на Windows-сервере PHP.
Вы можете найти пятиэтапный процесс создания pem внизу страницы.
источник
Вы можете посмотреть здесь. У меня есть подробный процесс, описанный с изображениями, начиная с создания сертификата, и заканчивая ключом приложения, профилем обеспечения и, в конечном итоге, pem. http://docs.moengage.com/docs/apns-certificate-pem-file
источник
Отправка push-уведомлений в приложение iOS требует создания ключей шифрования. В прошлом это был громоздкий процесс, в котором использовались ключи и сертификаты SSL. Каждый сертификат SSL был специфичен для одного приложения iOS. В 2016 году Apple представила новый механизм ключа аутентификации, который стал более надежным и простым в использовании. Новые ключи аутентификации являются более гибкими, простыми в обслуживании и применимы не только в приложениях iOS.
Несмотря на то, что прошло много лет с тех пор, как были введены ключи аутентификации, не все службы поддерживают их. FireBase и Amazon Pinpoint поддерживают ключи аутентификации. Amazon SNS, Urban Airship, Twilio и LeanPlum этого не делают. Многие пакеты программного обеспечения с открытым исходным кодом еще не поддерживают ключи аутентификации.
Чтобы создать требуемый сертификат SSL и экспортировать его в файл PEM, содержащий открытый и закрытый ключи:
Если у вас уже есть SSL-сертификат, настроенный для приложения на веб-сайте Apple Developer Center, вы можете перейти к «Преобразовать сертификат в формат PEM». Имейте в виду, что у вас возникнут проблемы, если у вас также не будет закрытого ключа, сгенерированного на Mac, который создал запрос на подпись, который был загружен в Apple.
Читайте дальше, чтобы узнать, как избежать потери этого закрытого ключа.
Перейдите к сертификатам, идентификаторам и профилям
Xcode не контролирует сертификаты или ключи для push-уведомлений. Чтобы создать ключи и включить push-уведомления для приложения, необходимо перейти на веб-сайт Apple Developer Center. Раздел «Сертификаты, идентификаторы и профили» вашей учетной записи контролирует идентификаторы приложений и сертификаты.
Чтобы получить доступ к сертификатам и профилям, вы должны либо иметь платное членство в программе Apple Developer Program, либо быть частью команды, которая это делает.
Создать идентификатор приложения
Приложения, использующие push-уведомления, не могут использовать подстановочные идентификаторы приложений или профили обеспечения. Каждое приложение требует настройки записи идентификатора приложения на портале Apple Developer Center для включения push-уведомлений.
Включить Push-уведомления для идентификатора приложения
Создание SSL-сертификатов для push-уведомлений - это процесс нескольких задач. Каждая задача имеет несколько шагов. Все это необходимо для экспорта ключей в формате P12 или PEM. Просмотрите шаги, прежде чем продолжить.
Добавить сертификат SSL к идентификатору приложения
Чтобы создать сертификат, вам нужно будет сделать запрос на подпись сертификата (CSR) на Mac и загрузить его в Apple.
Позже, если вам нужно экспортировать этот сертификат в файл pkcs12 (он же p12), вам нужно будет использовать цепочку для ключей с того же Mac . Когда создается запрос на подпись, Keychain Access генерирует набор ключей в цепочке для ключей по умолчанию. Эти ключи необходимы для работы с сертификатом, который Apple создаст из запроса на подпись.
Создать брелок для учетных данных разработчика
Создать запрос на подпись сертификата (CSR)
При создании запроса на подпись сертификата помощник по сертификации генерирует два ключа шифрования в цепочке ключей по умолчанию. Важно сделать связку ключей разработки по умолчанию, чтобы ключи находились в правильной связке ключей.
При создании запроса на подпись генерируется пара ключей. Перед загрузкой запроса на подпись убедитесь, что ключи цепочки разработки имеют ключи. Их имена будут такими же, как общее имя, используемое в запросе на подпись.
Загрузить запрос на подпись сертификата (CSR)
После создания запроса на подпись сертификата загрузите его в Центр разработчиков Apple. Apple создаст сертификат push-уведомлений из запроса на подпись.
Ваша цепочка для ключей разработки теперь должна отображать push-сертификат с закрытым ключом в разделе « Мои сертификаты в Access Keychain Access»:
На этом этапе следует создать резервную копию цепочки ключей разработки. Многие команды хранят свои push-сертификаты на защищенных USB-накопителях, осуществляют внутренний контроль версий или используют решения для резервного копирования, такие как Time Machine. Связка ключей разработки может быть разделена между различными членами команды, поскольку она не содержит никаких персональных учетных данных для подписи кода.
Некоторые сторонние push-сервисы требуют сертификаты в формате Privacy Enhanced Mail (PEM), в то время как другие требуют Стандарты криптографии с открытым ключом № 12 (PKCS12 или P12). Сертификат, загруженный из Apple, может быть использован для экспорта сертификатов в этих форматах - но только если вы сохранили закрытый ключ.
Конвертировать сертификат в формат PEM
источник
Я бы предложил гораздо более простое решение. Просто используйте Certifire .
Certifire - это приложение macOS, которое генерирует сертификаты push-уведомлений Apple одним щелчком мыши за пару секунд.
Вот шаги:
1. Загрузите приложение.
2. Войдите в систему, используя свои учетные данные Apple Developer.
3. Выберите App-ID
4. Нажмите кнопку «Создать»
5. Готово!
Вы получите сертификаты APN в формате .pem, а также в формате .p12. Более того, вы также получите сочетание .pem и .p12 (ключ + сертификат)!
Гораздо больше, вы также получите версии без этих сертификатов!
источник
Вот как я это сделал в Windows 7 после установки OpenSSL (ссылка идет на установщик Win32, выберите последнюю версию, а не облегченную).
При использовании этого метода вам нужен только
.cer
файл, загруженный из Apple.это создаст файл, к которому вам затем нужно будет добавить свой закрытый ключ.
Вот и все.
источник
Существует самый простой способ создать файл .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.p12, в противном случае вместо этого вам нужно будет ввести ваше имя файла. Спасибо!!
источник
Я никогда не помню
openssl
команду, необходимую для создания.pem
файла, поэтому я сделал этот сценарий bash, чтобы упростить процесс:Назовите его, например,
signpem.sh
и сохраните в папке вашего пользователя (/Users/<username>
?). После создания файла выполните a,chmod +x signpem.sh
чтобы сделать его исполняемым, и затем вы можете запустить:~/signpem myCertificate.p12 myCertificate.pem
И
myCertificate.pem
будет создан.источник