Zenn
🔑

Apple Payのペイメントプロセッシング証明書を作成し、PKCS #12(.p12)形式で書き出す

2025/02/14に公開

背景

既にApple Payが導入されている環境でタイトルの作業が必要になりました。公式ドキュメントなどを参考に実施しましたが、細かい手順まで書かれていなかったり、断片情報しか見つけられなかったりで思いの外つまづいてしまいました。めったに実施しない作業ということもあり、備忘録として残しておきたいと思います。

実施した手順

実施した手順は以下の通りです。

  1. キーチェーンアクセスでECCおよび256ビットのキーペアを指定して証明書署名リクエスト(CSR)を作成
  2. developer.apple.comで作成したCSRをアップロードし、Merchant IDに紐づく証明書を作成
  3. 作成した証明書をダウンロードし、キーチェーンアクセスでp12ファイルを書き出し

各手順について、注意点なども合わせて詳しく記載していきます。

キーチェーンアクセスでECCおよび256ビットのキーペアを指定して証明書署名リクエスト(CSR)を作成

まずはキーチェーンアクセスで証明書署名リクエスト(CSR)を作成します。
検索するとopensslを用いてコマンドで作成する方法も出てきますが、キーチェーンアクセスを用いてGUIで作成可能です。

まず、メニューバーからキーチェーンアクセス>証明書アシスタント>認証局に証明書を要求 を選択します。
認証局に証明書を要求

証明書アシスタントのウインドウで、メールアドレス、通称を入力し、ディスクに保存を選択します。通称は後に秘密鍵の名前として表示されますが、任意の値で大丈夫です。

Apple Payのペイメントプロセッシング証明書作成のためにCSRを作成する場合、ここで、「鍵ペア情報を指定」にチェックを入れる必要があります。

「鍵ペア情報を指定」にチェックを入れた状態で次の画面に進むと、ファイルの保存先の指定の後、鍵ペア情報の入力画面が表示されます。ここでアルゴリズムに「ECC」、鍵のサイズに「256ビット」をそれぞれ選択してください。

この指定によって、公式ドキュメントに記載の通りの要件を満たすことができます。

Apple Payのペイメントプロセッシング証明書を作成する際は、キーペアの情報を指定する必要があります。ECCおよび256ビットのキーペアを選択してください。

問題なくCSRが作成されればこのステップは完了です。

やってみると書いてある通りなのですが、初見の際は「鍵ペア情報を指定」のチェックに目がいかず、遠回りしてしまいました。

developer.apple.comで作成したCSRをアップロードし、Merchant IDに紐づく証明書を作成

次に、前のステップで作成したCSRをもとに、証明書の作成を行います。この作業はdeveloper.apple.comのサイト上で行います。
ブラウザでdeveloper.apple.comを開き、Certificates, Identifiers & Profiles > Identifiers > Merchant IDから対象となるMerchant IDを選択して開きます。(URL)
※既にApple Payの運用がされている環境という前提のため、Merchant IDの作成は省略します。

Apple Pay Payment Processing Certificateの中にある「Create Certificate」ボタンを押下します。中国本土用のものか聞かれるので「No」を選択し、次に進みます。

CSRをアップロードする画面になるため、前のステップで作成したCSRをアップロードして次に進みます。

もし前のステップで「鍵ペア情報を指定」のチェックをせず、鍵ペア情報を指定せずにCSRを作成した場合は、ここで以下のように「Incorrect CSR Key Pair」となります。この場合は、前のステップに戻って、CSRを作成しなおします。

無事に証明書が作成されるとダウンロード画面が表示されます。作成された証明書をダウンロードしておきます。

これで証明書の作成は完了です。

作成した証明書をダウンロードし、キーチェーンアクセスでp12ファイルを書き出し

最後に、証明書と秘密鍵をPKCS #12形式(個人情報交換フォーマット / p12ファイル)で書き出します。
前のステップでダウンロードしてきた証明証(おそらくapple_pay.cerという名前になる)をダブルクリックします。すると、キーチェーンアクセスに秘密鍵と紐づいた状態の証明書が入ってきます。

続いて、秘密鍵と紐づいた状態の証明書をp12ファイルとして書き出します。

右クリックから書き出しを選択

適当な名前をつけて、個人情報交換(.p12)フォーマットで保存

パスワードを指定して保存します。ここで指定したパスワードは、p12ファイルを展開する際に必要となります。

p12ファイルが作成されればすべてのステップが完了です。

つまづいたところとしては、秘密鍵と証明書が紐づいた状態にするために、ダウンロードしてきたファイルをダブルクリックして開くという手順です。そういえば!昔やったことがある!となりました。最近はXcodeなりが自動でやってくれる事が多く、この手順をすっかり忘れていました。

その他: テストについて

Apple PayのテストはSandboxテスターアカウントを作成して、テスト用のカードで行います。
https://developer.apple.com/jp/apple-pay/sandbox-testing/

まとめ

今回は決済プロバイダーに求められる形式がp12ファイルだったため、一連の手順として、Apple Payのペイメントプロセッシング証明書を作成し、PKCS #12(.p12)形式で書き出す方法をまとめました。
ペイメントプロセッシング証明書には約2年の期限があり、忘れた頃に更新作業がやってくると思うので、未来の自分にも届くと良いなと思います。おわり。

参考

Discussion

ログインするとコメントできます