Я попытался сгенерировать файл .pem, каждый раз генерируя сертификаты из учетной записи клиента, а затем генерируя файл .pem с помощью терминала, но это бесполезно. Может кто-нибудь дать пошаговую процедуру?
Я попытался сгенерировать файл .pem, каждый раз генерируя сертификаты из учетной записи клиента, а затем генерируя файл .pem с помощью терминала, но это бесполезно. Может кто-нибудь дать пошаговую процедуру?
Ответы:
Чтобы включить Push Notification для вашего приложения iOS, вам необходимо создать и загрузить нам сертификат Apple Push Notification (.pem), чтобы мы могли подключаться к Apple Push Server от вашего имени.
( Обновленная версия с обновленными снимками экрана здесь )
Шаг 1. Войдите на портал обеспечения iOS, нажмите «Сертификаты» на левой навигационной панели. Затем нажмите кнопку «+».
Шаг 2: Выберите опцию SSL (производство) службы Apple Push Notification в разделе «Распространение», затем нажмите кнопку «Продолжить»
Шаг 3: Выберите идентификатор приложения, который вы хотите использовать для своего приложения BYO (Как создать идентификатор приложения), затем нажмите «Продолжить», чтобы перейти к следующему шагу.
Шаг 4. Выполните шаги «О создании запроса на подпись сертификата (CSR)», чтобы создать запрос на подпись сертификата.
В дополнение к инструкции, предоставленной Apple. Вот некоторые дополнительные скриншоты, которые помогут вам выполнить необходимые шаги:
Шаг 4 Дополнительный снимок экрана 1: перейдите к Ассистенту Сертификатов Keychain Access на вашем Mac.
Шаг 4 Дополнительный снимок экрана 2: Заполните информацию о сертификате. Нажмите Продолжить.
Шаг 5: Загрузите файл «.certSigningRequest», созданный на шаге 4, затем нажмите кнопку «Создать».
Шаг 6: Нажмите «Готово», чтобы завершить регистрацию, обновится страница портала обеспечения iOS, которая выглядит следующим образом:
Затем нажмите кнопку «Загрузить», чтобы загрузить сертификат (файл .cer), который вы только что создали. - Дважды щелкните загруженный файл, чтобы установить сертификат в Keychain Access на вашем Mac.
Шаг 7: На вашем Mac перейдите в «Связку ключей», найдите сертификат, который вы только что установили. Если вы не уверены, какой сертификат является правильным, он должен начинаться с «Apple Production IOS Push Services:», за которым следует идентификатор пакета вашего приложения.
Шаг 8: Разверните сертификат, вы должны увидеть закрытый ключ с вашим именем или названием вашей компании. Выберите оба элемента с помощью клавиши «Выбрать» на клавиатуре, щелкните правой кнопкой мыши (или щелкните, удерживая нажатой клавишу cmd, если вы используете мышь с одной кнопкой), выберите «Экспорт 2 элементов», как показано ниже:
Затем сохраните файл p12 с именем «pushcert.p12» на рабочем столе - теперь вам будет предложено ввести пароль для его защиты, вы можете нажать Enter, чтобы пропустить пароль, или введите желаемый пароль.
Шаг 9: Теперь самая сложная часть - откройте «Терминал» на вашем Mac и выполните следующие команды:
cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts
Шаг 10: Удалите файл pushcert.p12 с рабочего стола, чтобы избежать неправильной загрузки его в «Создайте свою собственную область». Откройте «Терминал» на вашем Mac и выполните следующие команды:
cd
cd Desktop
rm pushcert.p12
Шаг 11. НОВОЕ ОБНОВЛЕНИЕ AWS. Создайте новое pushcert.p12
для отправки в AWS SNS. Дважды щелкните на новом pushcert.pem
, а затем экспортируйте тот, который выделен только на зеленом.
Кредит: новое обновление AWS
Теперь вы успешно создали сертификат push-уведомлений Apple (файл .p12)! Вам нужно будет загрузить этот файл в нашу область «Создайте свой собственный» позже. :)
Сегодня существует гораздо более простое решение - pem . Этот инструмент делает жизнь намного проще.
Например, чтобы создать или обновить сертификат push-уведомлений, просто введите:
fastlane pem
и это сделано менее чем за минуту. Если вам нужен сертификат песочницы, введите:
fastlane pem --development
И это мило.
$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
Apple изменила название выданного сертификата. Теперь вы можете использовать один и тот же сертификат для разработки и производства. Хотя вы все еще можете запросить сертификат только для разработки, вы больше не можете запрашивать сертификат только для разработки.
это очень просто после экспорта Cert.p12 и key.p12, пожалуйста, найдите ниже команду для создания файла apns .pem.
https://www.sslshopper.com/ssl-converter.html
command to create apns-dev.pem from Cert.pem and Key.pem
openssl rsa -in Key.pem -out apns-dev-key-noenc.pem
cat Cert.pem apns-dev-key-noenc.pem > apns-dev.pem
Вышеприведенная команда полезна как для Песочницы, так и для Производства.
В соответствии с решением проблем с Push-сертификатом
Сертификат SSL, доступный в вашей учетной записи Apple Developer Program, содержит открытый ключ, но не закрытый ключ. Закрытый ключ существует только на Mac, который создал запрос на подпись сертификата, загруженный в Apple. И открытый, и закрытый ключи необходимы для экспорта файла Privacy Enhanced Mail (PEM).
Скорее всего, причина того, что вы не можете экспортировать рабочий PEM из сертификата, предоставленного клиентом, заключается в том, что у вас нет личного ключа. Сертификат содержит открытый ключ, в то время как закрытый ключ, вероятно, существует только на Mac, который создал исходный CSR.
Вы также можете:
или
Спасибо! на все вышеперечисленные ответы. Я надеюсь, у вас есть файл .p12. Теперь откройте терминал и напишите следующую команду. Установите терминал в путь, куда вы положили .12 файл.
$ openssl pkcs12 -in yourCertifcate.p12 -out pemAPNSCert.pem -nodes
Enter Import Password: <Just enter your certificate password>
MAC verified OK
Теперь ваш .pem файл создан.
Проверка файла .pem Сначала откройте файл .pem в текстовом редакторе, чтобы просмотреть его содержимое. Содержание сертификата должно быть в формате, как показано ниже. Убедитесь, что файл pem содержит как содержимое сертификата (от BEGIN CERTIFICATE до END CERTIFICATE), так и закрытый ключ сертификата (от BEGIN PRIVATE KEY до END PRIVATE KEY):
> Bag Attributes
> friendlyName: Apple Push Services:<Bundle ID>
> localKeyID: <> subject=<>
> -----BEGIN CERTIFICATE-----
>
> <Certificate Content>
>
> -----END CERTIFICATE----- Bag Attributes
> friendlyName: <>
> localKeyID: <> Key Attributes: <No Attributes>
> -----BEGIN PRIVATE KEY-----
>
> <Certificate Private Key>
>
> -----END PRIVATE KEY-----
Кроме того, вы проверяете действительность сертификата, перейдя в SSLShopper Certificate Decoder и вставьте содержимое сертификата (от BEGIN CERTIFICATE до END CERTIFICATE), чтобы получить всю информацию о сертификате, как показано ниже: