色々と手順はよく見かけるのですが、各手順やファイルの意味が分からなかったので
自分なりに調べてまとめてみました。間違いあればコメントにてご指摘下さい。
- 秘密鍵(Private Key)と公開鍵のセット(Public Key)
- チーム開発時は開発用、配布用で分けるとよい。個人でも分けておくと後で楽。
- それぞれ、以下のキーチェーンからのCSR作成時に自動で出来上がりキーチェーンアクセスに記録される。
- 別の開発マシンで使う際やSaaSでPush通知する際などには、下記*.cerから*.p12ファイルとして書き出して、何らかのセキュアな方法(オススメはUSBとかなの?)で別マシンに移す。
- 証明書要求(Certificate Request or Certificate Signing Request)(いわゆるCSR)
- キーチェーンアクセスから作成する。
- デフォルト名は
CertificateSigningRequest.certSigningRequest
- 開発時の個人用は
dev-CertificateSigningRequest.certSigningRequest
として保存しておく - リリース時のプロダクト用は
dist-CertificateSigningRequest.certSigningRequest
として保存しておく - 上記のCSRをportalにてアップロードして、開発者用は
ios_development.cer
をダウンロードしておく - 上記のCSRをportalにてアップロードして、開発者用は
ios_distribution.cer
をダウンロードしておく - 開発用証明書(Development Certificate)(Public Key)
- ios_development.cer
- デバイスにインストールする際に必要
- 配布用証明書(Distribution Certificate)(Public Key)
- アップルへ申請する際に必要
- ios_distribution.cer
- apple id
- いつもの個人アカウントとは別に作っておくことを推奨
- デバイスID(Device identifier)
- 開発用にインストール可能なデバイスとして登録する
- TestFrightなどで配布する際に必要
- プロビジョニング プロファイル(Provisioning Profile)
配布用の証明書管理
これは、例えばあるチームで誰か管理する人を立てて、その人がやるべきなのではないかと考えている。
つまり、不用意に配布用の秘密鍵は全開発者に渡す必要ないのでは?