iPhoneプッシュ通知(APNs)の証明書を作る

iPhoneアプリでプッシュ通知するには、
対象のアプリのプッシュ通知証明書を毎年更新する必要がある。
Appleから取得できる証明書は「.cer」だが、サーバーで使うのは「.pem」なので、変換が必要になる。
やりかたを毎回忘れるのでその時に備えたメモ。

事前に済ませておくこと
・鍵ペアを作成する
・証明書の作成に必要な証明書署名要求を作る
・iOS Dev Centerで証明書を作成する
・キーチェーンアクセスに証明書を登録する

以下の手順でやる

・キーチェーンアクセスから証明書と秘密鍵の書き出しを行う
『証明書』からプッシュ通知用の証明書を右クリックして書き出す
apns1

ファイル名は「apns-dev.crt.p12」で保存
apns2

パスワード入力画面では、便宜上、空欄のままOKを押す
apns3

証明書に紐づく秘密鍵を右クリックして書き出す
apns4

ファイル名は「apns-dev.key.p12」で保存
apns5

パスワード入力画面では、便宜上、空欄のままOKを押す
apns6

証明書をPKCS12形式からPEM形式に変換する

cat apns-dev.crt.p12 | openssl pkcs12 -passin pass: -clcerts -nokeys > apns-dev.crt.pem

秘密鍵をPKCS12形式からパスワード付きのPEM形式に変換する(空パスワードは指定できない)

cat apns-dev.key.p12 | openssl pkcs12 -passin pass: -passout pass:PASS -nocerts > apns-dev-with-password.key.pem

秘密鍵からパスワードを除去する

cat apns-dev-with-password.key.pem | openssl rsa -passin pass:PASS > apns-dev.key.pem

証明書と秘密鍵を合成する

cat apns-dev.crt.pem apns-dev.key.pem > apns-dev.crt+key.pem

2015.9.6
NECO

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA

*