iPhoneのプッシュ通知(APNS)の証明書の作り方

Objective-Cでプッシュ通知をするためには、Appleへの接続に証明書が必要ですが、その証明書の作成手順は結構大変なので、一つ一つスクリーンショットと一緒に追っていきます。

証明書の要求ファイルを作成

まずはCSRという証明書への署名要求のファイルを作成します。これをAppleに送って、実際の証明書をもらいます。

「アプリケーション」→「ユーティリティ」→「キーチェーンアクセス」を起動して、メニューバーから「認証局に証明書を要求」を開きます。

スクリーンショット 2013-08-19 23.29.29

入力欄を埋めていきます。「CAのメールアドレス」は空のままにして、「ディスクに保存」をします。

スクリーンショット 2013-08-19 23.30.14

名前はなんでもよいので、そのまま「CertificateSigningRequest.certSigningRequest」で保存します。このファイルをAppleに送信して、実際の証明書を獲得します。

スクリーンショット 2013-08-19 23.31.04

Developer Centerで証明書を作成

Apple Developer Centerにログインします。

スクリーンショット 2013-08-19 23.32.06

ログインできました。iOS Appsの「Certificates」を選択して証明書画面へ行きます。

スクリーンショット 2013-08-19 23.32.50

Add – iOS Certificates – Apple Developer

証明書画面の右上の「+」マークを押すと、証明書の追加が行えます。

この中から「Apple Push Notification service SSL (Production)」を選択します。デバッグビルドの端末にプッシュ通知を送りたいという場合は、「Apple Push Notification service SSL (Sandbox)」を選択します。

スクリーンショット 2013-08-19 23.33.47

どのApp IDを使うか聞かれますので、これからプッシュ通知を送りたいアプリのApp IDを選択します。複数のアプリにプッシュ通知を送りたい場合は、そのつど証明書を作成する必要があります。

スクリーンショット 2013-08-19 23.39.44

App IDを選択すると、ファイルアップロードのフォームが現れます。ここでお待ちかねの、先ほど作成した「CertificateSigningRequest.certSigningRequest」をアップロードします。

スクリーンショット 2013-08-19 23.40.28

証明書が作られて、「Download」ボタンが出ますので、ダウンロードします。これで証明書が完成です!

スクリーンショット 2013-08-19 23.41.12

p12ファイルを書き出す

最後に、完成した証明書を実際に使うために、p12ファイルの形式で書き出します。先ほどダウンロードしたファイルをダブルクリックすると、キーチェーンアクセスが起動し、追加されます。

スクリーンショット 2013-08-19 23.43.15

追加されたファイルを選択し、右クリックから「書き出す」を選択します。

スクリーンショット 2013-08-19 23.43.25

保存先の選択画面が出ますので、そのまま保存します。名前は初期の「証明書.p12」のまま保存しましたが、名前を変えても構いません。

スクリーンショット 2013-08-19 23.43.44

パスワードをかける必要があれば、パスワードを入力します。ライブラリなどによってパスワードがかかっていると使用できない場合があるので、パスワードを入力しない場合が多いです。

スクリーンショット 2013-08-19 23.43.48

pemに書き出す

php-apnsなどライブラリによっては、p12の形式では使えず、pemなどの形式に変換する工程が必要な場合があります。次のようなopensslコマンドで変換します。

openssl pkcs12 -in certificate.p12 -clcerts -nokeys -out certificate.pem

おわりに

例によって最後にPRですが、サーバをもたなくても簡単にプッシュ通知が配信できて、しかも通知内容のA/Bテストできたりして、無料で今すぐ始められるサービスがあります。

スクリーンショット 2013-08-13 20.18.51

GrowthPush

プッシュ通知の実装をする前に、いちど試してみてください!

About katty0324

Comments are closed.

Scroll To Top