1年毎にやってくるPUSH通知証明書の更新ですが、毎回手順を調べるのも面倒なのでメモ。
全体の流れは、
- 証明書署名要求を作成
- Apple Developer Programで証明書を作成
- .p12ファイルを作成
- .pemファイルを作成
【手順1: 証明書署名要求を作成】
キーチェーンアクセス.appを起動し、メニューの「キーチェーン」→「証明書アシスタント」→「認証局に証明書を要求...」をクリック。
・ユーザーのメールアドレスを入力...適当なメアド
・通称 ... 何でもOK
・CAのメールアドレス ... 空白
・ディスクに保存 ... チェック
・鍵ペア情報を指定 ... チェックしない
で、「続ける」をクリックし、保存先を決めてファイルを保存。
CertificateSigningRequest.certSigningRequest というファイルが生成されます。
【手順2: Apple Developer Programで証明書を作成】
Apple Developer Programにログイン。
メニューにある「Certificates」→「All」をクリック。
画面右上にある「+」ボタンをクリックし証明書作成を開始する。
次の画面で、「Production」内にある「Apple Push Notification service SSL (Sandbox & Production)」にチェックを入れ「Continue」をクリック。
※開発版の場合は「Develop」内にある「Apple Push Notification service SSL (Sandbox)」にチェックを入れる。
次の画面で、PUSH通知証明書を更新するアプリのApp IDを選択し「Continue」。
次の画面はそのまま「Continue」をクリック。
次の画面で、先ほど生成した CertificateSigningRequest.certSigningRequest を選択し「Continue」。
すると、証明書が作成されるので「Download」をクリックし保存する。
【手順3: .p12ファイルを作成】
手順2で作成した証明書ファイルをダブルクリックし、キーチェーンアクセスに登録します。
次にキーチェーンアクセス上で、登録した証明書を「右クリック」→「"Apple Push Services: XXX.XXX.XXX"を書き出す...」をクリックして適当なディレクトリに保存します。
パスワードが必要な場合は設定して下さい。次の手順4で利用します。
ファイル名は半角英数で aps_prod.p12 のように変えておいたほうが良いです。
【手順4: .pemファイルを作成】
多くのPUSH通知証明書更新について書かれたサイトは、手順3で作成した「.p12ファイルをサーバーにあげて使って下さい」、とあるのですが、
一応、.pemファイルを作ってそれをサーバーにUPする手順も書いておきます。
(...というか、その方法でしかやった事がない)
ターミナルを開き、手順3で作成した.p12ファイルがあるディレクトリまで移動し、
以下のコマンドを叩きます。
$ openssl pkcs -in aps_prod.p12 -out aps_prod.pem -nodes
これで、.pemファイルが生成されます。
※手順3でパスワードを指定していた場合は、パスワードを問われます。
手順は以上。
作られたaps_prod.pemをサーバーにアップしてPUSH通知が届くかテストして作業完了です!
以上でぇぇぇぇぇぇぇす。