iosアプリのリリース時に必要な証明書について

2024/05/22に公開

iosアプリのリリースの手順を調べていると証明書(Certificate)と言うものが必要と書かれていました。初心者過ぎて証明書とは何かというところからわからない。

詰まりに詰まりながら調べて行ったので、今回はその備忘録を書いていこうと思います。

証明書とは何か

公式ページはこちら↓

https://developer.apple.com/jp/support/certificates/#:~:text=Apple ID、認証情報、関連,行う機密なアセットです。

「ユーザーの本人確認を行う機密なアセットです。」ということらしい。つまり他の人がアプリに変更を加えたり自分の代わりに公開したりということができないということ? アプリをリリースするときにはアプリに対する責任の所在とか著作権とかを明確にしておかなければなりませんからそのためですかね。本人確認用の書類と考えると確かにまさしく証明書です。それを作成するためにはまず証明書署名要求(CSR)というものが必要で、これは自分のmacから作成できます。

macでキーチェーンアクセスを起動→証明書署名要求を作成→iOS Developer programから証明書ファイルを作成という大まかな流れでした。

証明書署名要求作成

キーチェーンアクセスはFinderのアプリケーション→ユーティリティの中にあります。Spotlightで「キーチェーンアクセス」と検索したらすぐに出ました。

メニューバーのキーチェーンアクセス→証明書アシスタント→認証局に証明書を要求 を選択

するとこんな画面が出ます。

  • Apple Developer Programに登録しているメールアドレスを入力
  • 通称は自分のわかりやすい名前を入力
  • CAのメールアドレスは空欄でOK
  • 要求の処理というところは「ディスクに保存」を選ぶ
  • 「鍵ペア情報を指定」にチェックを入れて
  • 続けるを押下。

名前と保存場所を自分がわかりやすいように選択して保存。

  • 鍵のサイズは2048ビットを選択
  • アルゴリズムはRSAを選択

で続ける

鍵のサイズは2048ビットでないと弾かれるらしいです。

これでCSRは作成できました。

あとはApple Developer Programの方から証明書を作成します。

証明書作成

Apple Developer Programのページを一番下までスクロールすると現れるリンクのリストから
Certificates, IDs, & Profilesをクリック。

Certificatesの後ろの+ボタンを押下。

項目がたくさんありますが

  • 開発用:Development
  • 製品用:Production

ということで、ここはそれぞれ開発したアプリによって選ぶところが違います。
公式のページ↓

https://developer.apple.com/jp/help/account/reference/certificate-types/

Xcode11以降はApple Distributionの方を選べばいいようなので実質一択です。continueして

Choose Fileで先ほど作成したCSR(CertificateSigningRequest.certSigningRequest)を選択してアップロード→continue

そうしたらCertificateの内容が表示されるのでダウンロードして、作業は完了です!

複数端末で動作確認をする場合はまだ作業がいるようでしたが私は単一の端末だけだったのでこれでOKでした。2022年の記事ですが複数端末での動作確認をする場合はこちらが参考になりそうです

https://zenn.dev/iwatos/articles/b131cf60d20131513bcb

知らない単語がたくさん出ましたがこれで証明書作成とApple Developer Programへの証明書登録は終わりです!

おわり

主に自分の備忘録ですが、この記事が未来の自分を含め証明書関連で困っている人の一助になれば幸いです。

Discussion