Edited at

APNs証明書更新手順

More than 3 years have passed since last update.


APNs証明書更新手順まとめ

APNsの証明書は1年で期限が切れるので、毎年更新作業が発生するのですが、毎回「あれ、どうやるんだっけ?」となるので、まとめておく。


1.期限確認(on your server)

まずは証明書の期限を確認。期限チェックは自動化しておくのがよい。

コマンドは以下。

$ openssl x509 -noout -dates -in hogehoge.pem

出力結果は以下。

notBefore=Oct  9 00:00:00 2014 GMT

notAfter=Oct 8 00:00:00 2015 GMT

notAfterをみる。はい、切れてますね\(^o^)/オワタ

期限チェックは自動化しておくのがよい(2回目)。


2.cerファイル作成(at Apple Developer)


2-1.Member Centerへログイン

https://developer.apple.com/membercenter/index.action


2-2.iOS Apps->Certificatesをクリック

ここまでは楽勝だ。


2-3.Certificates->Allから証明書新規作成

右上の+ボタンをクリックする。 


2-4.Apple Push Notification service SSL(Produciton)を選択

ラジオボタンにチェックして、Continueボタンをクリックする。

(開発用の場合はSandboxを選択する。)


2-5.任意のApp IDを選択

セレクトボックスから設定して、Continueボタンをクリックする。


2-5.CSRファイル作成

作成済の場合は、Continueボタンをクリックする。

(更新なのでおそらく作成済だと思うが、未作成の場合は作成する。)


2-6.CSRファイルをアップロード

Choose Fileをクリックして、CSRファイルをアップロードすると、

Generateボタンがクリック出来るようになるので、クリックする。


2-7.cerファイルダウンロード

正常に処理が完了すると、cerファイルが生成されるので、Downloadボタンをクリックする。

Apple Developerサイト上での作業は以上。


3.p12ファイル作成(on your Mac)


3-1.キーチェーンアクセスを起動

2.でダウンロードしたcerファイルをダブルクリックすると、キーチェーンアクセスが起動する。


3-2.cerファイルをp12ファイルへ書き出し

キーチェーンアクセス起動後、任意の証明書(Apple Production IOS Push Services:Your App IDと表示される)を右クリックで、"Apple Production IOS Push Services:Your App IDを書き出す"を選択する。

ファイル保存のダイアログが表示されるので、画面下部のフォーマットを"個人情報交換(.p12)にして、パスワードを設定後(任意)、適当なファイル名で保存する。


4.pemファイル作成(on your Mac)


4-1.証明書と鍵をまとめてpemファイルを出力

コマンドは以下。(catでもOK)

$ openssl pkcs12 -in hogehoge.p12 -out hogehoge.pem -nodes -clcerts

パスワードを入力して、Mac verified OKが表示されればOK。


4-2.期限確認

$ openssl x509 -noout -dates -in hogehoge.pem

notBefore=Oct  11 20:00:00 2015 GMT

notAfter=Oct 10 20:00:00 2016 GMT

notAfterが来年になりました!

あとは動作確認して、pemファイルをサーバーにアップロードしてオシマイ。

もう忘れないはず。。


参考サイト

SSL証明書の有効期限を確認するコマンド:

http://blog.higty.xyz/archives/317

iOSプッシュ通知について:

http://qiita.com/Shun0750@github/items/055a6d83c7167557f02b

[Push通知]APNsの設定(サーバ編):

http://qiita.com/yukiko-kato-bass/items/fe3a890eb097780cd574