APSで使うp12形式の証明書、秘密鍵からpem形式の証明書、公開鍵を作成する方法がかなりわかりづらいのでまとめてみました

Apple Push Serviceで使うp12形式の証明書と秘密鍵があるのですが、それをpem形式に変換して使うことがあります。毎度のことながら混乱してしまうので作成フローをまとめてみました。私の場合、Appleの証明書更新に伴いGaurunで使う証明書を作り直そうと思ったときにハマってしまい痛い目を見たのでそのメモです。

see also:
メルカリのプッシュ配信システムGaurun(オープンソース)を使ってプッシュ送信環境を構築する方法
https://lineocean.com/2017/04/14/82/

Apple Developerにて各種証明書の更新を行う

下記記事がわかりやすいので書いてある内容を確認して更新しましょう。
https://qiita.com/natsumo/items/d5cc1d0be427ca3af1cb

色々依存があるので滞りなく設定しなくてはなりません。しかしAppleの証明書更新を毎年行うのは地味に大変なのでどうにかして欲しいポイントではあります。

APSの証明書をローカルにインストールする

ダブルクリックして登録します。キーチェーンアクセスから確認できます。

証明書、秘密鍵それぞれを書き出す

Apple Push Services:${bundleId} みたいな表記があると思うので、それを展開して証明書、秘密鍵それぞれで右クリック > …書き出す を選択してp12ファイルを作成します。その際パスワードの入力は任意です。

ここで間違えてはいけないのは、
1.証明書
2.秘密鍵
それぞれのp12ファイルを作成する必要があるというところです。

一見すると証明書だけ作ればどうにかなる感じがしますがそんなことはなく、正しいフローでpemファイルを作ったとしても動かないという大きな混乱を招くので注意が必要です。

ここでは、
1.p12証明書:pushcert.p12
2.p12秘密鍵:pushkey.p12
という名前で保存しておきます。

pem形式に変換する

下記のように行います。

p12証明書からpem証明書を作成

p12秘密鍵からpem秘密鍵を作成

このとき、パスワードの入力が求められますので適当に入力してください。一番最初に求められるのは、p12ファイルを出力したときにキーチェーンアクセスで設定したパスワード、二番目に求められるのは秘密鍵生成に必要なパスワードになります。

この時点で証明書と鍵のpemファイルができたので完了かと思いきや、gaurunではpem公開鍵ファイルが必要になってくるので注意が必要です。

pem公開鍵を作成する

前のステップで入力したパスワードを入力し出力します。

これで必要なpemファイルの出力が完了しました。現時点で下記があれば問題ありません。
1.pem証明書:cert_aps_prod.pem
2.pem秘密鍵:seckey_aps_prod.pem
3.pem公開鍵:pubkey_aps_prod.pem

正しく証明書と公開鍵のペアができているか確認する

エラーがなければ問題ありません。

以上です。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です