Apple証明書関連 - ntuf/Tips GitHub Wiki

ADEPの
プロビジョニングプロファイルは1年間有効
Distribution証明書は3年間有効

ADEPの
Distribution証明書は1年間有効

■■■ 作成方法

■CSRの作成
CSR(開発者証明要求)とは、
キーチェーンアクセスアプリを開き
メニューの[キーチェーンアクセス]- [証明書アシスタント]-「認証局に証明書を要求」で作成する。
・メールアドレス:自分のメールアドレスでよい(必須)
・通称:秘密鍵の名称になるので必ずつける!!「xxxCo., Ltd.」など 
    入力しないと認識されないことがあった。
・要求の処理:「ディスクに保存」を選択する
・「鍵ペア情報を指定」をチェックしてもいいがデフォルトで良い
「鍵ペア情報を指定」をチェックしていると
鍵のサイズ:2048ビット、アルゴリズムRSAを変更できるがデフォルトでよい。

CertificateSigningRequest.CertificateSigningRequestが作成される。
特に期限がないのでいつのものでもよい。1回作ったらずっと使えるはず。
何度作り直してもいい。
 ●鍵 csrの中には公開鍵が含まれている。

■開発者グループの開発用p12ファイルを作成する方法
CSRは個人端末ではない特定の共用端末で作成する。

「Certificates,Identifiers & Profiles」の「Certificates」で登録する
 →CSRを認証局であるAppleに送付したということ
  ●鍵 CSRには共通鍵だけが含まれている
「Certificates,Identifiers & Profiles」の「Certificates」で登録後のダウンロードする
 .cerファイルがダウンロードできる
  開発用であれば「development.cer」か「ios_development.cer」
製品用は「distribution.cer」か「ios_distribution.cer」
 →Appleが証明書を発行したと言う意味
●鍵 証明書には公開鍵を含む証明書のみで、必要な秘密鍵が何であるかを示されているだけ
ダウンロードしたファイルをダブルクリックしてキーチェーンアクセスに反映する
追加された証明書を右クリックして「書き出し」てp12ファイルにする
 →キーチェーンアクセスへの登録を意味する
   ●鍵 p12には秘密鍵も含まれている、その為、管理権限者が管理すべきもの
   (試しに秘密鍵と証明書を削除してp12を取り込んでみたら両方復活した)

■開発用p12ファイルは社外の開発ベンダーに公開してもいいのか?
→良い。Developer権限をつけてやってもらう。
p12ファイルとともにパスワードも伝える必要がある。

■プッシュ通知のp12を更新する(1年に一度)
※証明書のCSRができていることが前提

「iOS Certificates」の+ボタンをクリック
Apple Push Notification service SSL (Sandbox & Production)を選択
Continueをクリック
更新したいAppleIDを選択
Continueをクリック
個人のCSRをアップロードする

cerをダウンロードする
※p12ファイルが必要な場合は
 cerをダブルクリックするとキーチェーンアクセスを開くので、追加された証明書を右クリック「書き出す」でp12で書き出す。

 AWS SNSの場合ログインする
  「プッシュ通知」を選択する
  この画面で証明書の期限を確認しておく。「編集」をクリックする
  証明書の「ファイルの選択」で証明書にp12を選択
  証明書のパスワードがあるなら入力する
  「証明書情報をファイルから読み込む」を選択する
  「変更の保存」をクリックする
  証明書の有効期限が更新されたことを確認する。

  SNSを新しい証明書を適用した状態で動かしてみる。
  
古い証明書を期限切れにしてしまう。
期限が切れるまでは使えるので、プッシュ通知が届いたかテスト完了するまでは残しておいてよい

■プロビジョニングププロファイルの更新

Profilesを開き、対象のPPを選択する。Editをクリックする
新しいCertificatesを選択する。
Save する。
PPをダウンロードする。

■Distribution証明書の更新方法 期限は1年
特定の共用端末で作成する必要はなさそう。
CSRの「通称」が入っていないと秘密鍵入りの証明書が出来ないので、CSRを改めて作ってもよいかも
Certificate更新はできないけど、アカウントホルダーでログインしてCertificateを作り直す必要がある
(p12ファイルも新しく生成されるので管理しないといけない)

Certificatesで+ボタンをクリック
「Apple Distribution※」を選択してContinueをクリック
  ※「iOS Distribution」と言うのもあるがはXcode11未満での名称。

ADPであれば
 更新しないと新しいアプリやアップデートをAppStoreに公開できなくなるだけ
 既存のアプリの動作に影響はない。(古いCertificateをRevokeしても問題ない)
 新しいアプリ、アップデートを公開したいタイミングでCertificateを作成すればいい。
 
ADEPであれば
 PPをEditして、作り直したCertificateを選択し直す。それでできたPPが新しくできる。

■Apple DistributionとiOS Distributionの違い
「Apple Distribution」という名前はXcode 11以降で使用する場合で、以前は「iOS Distribution」だった。

⚠️ **GitHub.com Fallback** ⚠️