回答:
iOSアプリでプッシュ通知を有効にするには、Appleプッシュ通知証明書(.pemファイル)を作成してアップロードする必要があります。そうすると、AppleがAppleプッシュサーバーに接続できるようになります。
(ここに更新されたスクリーンショットで更新されたバージョン)
手順1:iOSプロビジョニングポータルにログインし、左側のナビゲーションバーで[証明書]をクリックします。次に、「+」ボタンをクリックします。
ステップ2:[配布]セクションで[Apple Push Notification service SSL(Production)]オプションを選択し、[続行]ボタンをクリックします。
ステップ3:BYOアプリに使用するアプリID(アプリIDの作成方法)を選択し、[続行]をクリックして次のステップに進みます。
手順4:「証明書署名要求(CSR)の作成について」の手順に従って、証明書署名要求を作成します。
アップルが提供する指示を補足するため。以下は、必要な手順を完了するのに役立つ追加のスクリーンショットの一部です。
ステップ4補足スクリーンショット1:Macのキーチェーンアクセスの証明書アシスタントに移動します。
ステップ4補足スクリーンショット2:証明書情報を入力します。続行をクリックします。
ステップ5:ステップ4で生成された「.certSigningRequest」ファイルをアップロードし、「生成」ボタンをクリックします。
ステップ6:[完了]をクリックして登録を完了すると、iOSプロビジョニングポータルページが次の画面のように更新されます。
次に、[ダウンロード]ボタンをクリックして、今作成した証明書(.cerファイル)をダウンロードします。-ダウンロードしたファイルをダブルクリックして、証明書をMacのキーチェーンアクセスにインストールします。
ステップ7:Macで[キーチェーン]に移動し、インストールしたばかりの証明書を探します。どの証明書が正しいかわからない場合は、「Apple Production IOS Push Services:」で始まり、その後にアプリのバンドルIDが続きます。
ステップ8:証明書を展開すると、自分の名前または会社名のいずれかを含む秘密鍵が表示されます。キーボードの「選択」キーを使用して両方の項目を選択し、右クリック(またはシングルボタンマウスを使用する場合はcmd-クリック)して、以下のように「2つの項目をエクスポート」を選択します。
次に、「pushcert.p12」という名前のp12ファイルをデスクトップに保存します。保護するためにパスワードの入力を求められます。Enterをクリックしてパスワードをスキップするか、必要なパスワードを入力できます。
ステップ9:最も難しい部分-Macで「ターミナル」を開き、次のコマンドを実行します。
cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts
ステップ10:Build your Ownエリアへの誤アップロードを防ぐために、デスクトップからpushcert.p12を削除します。Macで「ターミナル」を開き、次のコマンドを実行します。
cd
cd Desktop
rm pushcert.p12
ステップ11-新しいAWS更新:pushcert.p12
AWS SNSに送信する新規作成。新しいをダブルクリックしpushcert.pem
、グリーンのハイライトされたもののみをエクスポートします。
クレジット: AWSの新しいアップデート
これで、Appleプッシュ通知証明書(.p12ファイル)が正常に作成されました。このファイルは、後でBuild Your Ownエリアにアップロードする必要があります。:)
今日、はるかに簡単なソリューションがあります— pem。このツールは、生活をはるかに簡単にします。
たとえば、プッシュ通知証明書を生成または更新するには、次のように入力します。
fastlane pem
そしてそれは1分以内に行われます。サンドボックス証明書が必要な場合は、次のように入力します。
fastlane pem --development
そして、それはかなりそれです。
$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
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
上記のコマンドは、サンドボックスとプロダクションの両方に役立ちます。
Apple Developer Programアカウントで入手できるSSL証明書には公開鍵が含まれていますが、秘密鍵は含まれていません。秘密鍵は、Appleにアップロードされた証明書署名要求を作成したMacにのみ存在します。Privacy Enhanced Mail(PEM)ファイルをエクスポートするには、公開鍵と秘密鍵の両方が必要です。
クライアントから提供された証明書から有効なPEMをエクスポートできない理由は、秘密鍵がないためです。証明書には公開鍵が含まれていますが、秘密鍵はおそらく元のCSRを作成したMacにのみ存在します。
次のいずれかを行うことができます。
または
ありがとう!上記のすべての答えに。.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 証明書デコーダに移動して証明書の有効性を確認し、証明書の内容(BEGIN CERTIFICATEからEND CERTIFICATEまで)を貼り付けて、以下に示すように証明書に関するすべての情報を取得します。