話題の記事

よく分かる!iOS アプリ開発に必要な証明書ファイルの作成方法 2015年版

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

(2015/12/02 20:49 冒頭の一部記述を修正しました)

朝のジャスミン茶は欠かせない田宮です。

今日は、証明書周りの手順について解説させていただきます。

証明書周りは一度やるとあとは暫く触れる事がないので、備忘も兼ねて書かせていただきます。本記事では、証明書作成要求(CSR)の作成⇒開発用証明書(CER)の作成⇒Macに開発用証明書(CER)を登録までを記載させて頂きます。

本記事は、2013年の以下の記事を元に、最新の環境に合わせて変更したものになります!

よく分かる!iOS アプリ開発に必要な証明書ファイルの作成方法 | アドカレ2013 : SP #4 | Developers.IO

証明書とは

iOS アプリを App Store に出すために、アプリ配布用の証明書というものが必要です。

証明書が必要な理由

配布用証明書は、以下の目的のために存在します。

  • アプリを誰が作ったか判別するため
  • アプリが改ざんされていないことを判別するため

証明書作成のプロセスの中で、公開鍵と秘密鍵を生成する必要があります。秘密鍵は、Macのキーチェーンにのみ保管され、秘密鍵を持っているユーザーのみが、そのユーザー本人としてアプリをAppleに提出できることを担保します。

ここから先は、証明書を作成する方法について解説していきます。

1.キーチェーンアクセスから証明書署名要求(CSR)の作成

「Apple Developer Program」の「Certificates,Identifiers & Profiles」から早速作ってみましょう!と言う前に Apple Developer ProgramのCertificatesから証明書ファイルを作成する場合は、証明書署名要求(CSR)が必要になります。その為、最初にMacのキーチェーンアクセスから証明書署名要求(CSR)を作成する必要があります。

1-1.キーチェーンアクセスを起動

Launchpad からキーチェーンアクセスを起動させてみます。

1-2.認証局に証明書を要求を選択

証明書署名要求(CSR)を作成するためには、キーチェーンアクセスのメニューから以下を選択します。 キーチェーンアクセス⇒証明書アシスタント⇒認証局に証明書を要求

スクリーンショット_2015-12-02_14_28_33

1-3.証明書情報を入力

証明書情報の入力を行います

貼り付けた画像_2015_12_02_15_20

  • ユーザーのメールアドレス:Apple Developer Programに登録したメールアドレス
  • 通称:Apple Developer Programに登録した名称
  • CAのメールアドレス:不要
  • 鍵ペア情報を指定:チェック必須
  • ディスクに保存を選択

※ 上記「通称」については、開発していると証明書が増えてくるので、命名規約を作り、分かり易い通称をつけておいた方が良いと思います。

1-4.保存先を選択

証明書署名要求(CSR)の保存先を選択します。

貼り付けた画像_2015_12_02_15_25

  • 名前:CertificateSigningRequest.certSigningRequest(デフォルト)
  • タグ:空
  • 場所:証明書の保存先

1-5.鍵ペア情報

鍵ペア情報を選択します。

ios-certificates-1-5 (1)

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

※鍵のサイズが2048ビットでなければCSRは却下されます。

2.iOS Developer programから証明書ファイルを作成

証明書署名要求(CSR)が上記の手順で作成できました。次は、Apple Developer Programから証明書を作成します。

2-1.Apple Developer Centerへログイン

Member Center を表示します。

スクリーンショット_2015-12-02_14_35_22

2-2.iOS Apps の Certificatesをクリック

Certificatesをクリックします。

スクリーンショット_2015-12-02_14_35_33

2-3.証明書ファイルの追加

左メニューの Certificates を選択して「+」ボタンを押下します。

スクリーンショット_2015-12-02_14_36_02

2-4.証明書の種類を選択

  • Development:開発用
    • iOS App Development:通常時
    • Apple Push Notification service SSL (Sandbox):通知を利用する場合
  • Production:本番用
    • App Store and Ad Hoc:通常時
    • Apple Push Notification service SSL (Production):通知を利用する場合
    • Pass Type ID Certificate:PassBook用
    • Website Push ID Certificate:Safari通知用

    • WatchKit Services Certificate:WatchKitサービスとサーバを繋ぐためのもの

    • VoIP Services Certificate:VoIPサービス用
    • Apple Pay Certificate:Apple Pay用

kinds_of_certificate 2

開発と本番やPush通知を使う場合等によって選択する内容が異なります。今回は、開発用かつ通知を使わない場合で進めます。

2-5.証明書作成要求(CSR)の確認

証明書作成要求(CSR)の確認画面になります。特に問題なければ「Continue」を押下してください。

スクリーンショット_2015-12-02_14_38_46

2-6.証明書作成要求(CSR)の選択

「Choose File...」ボタンを押下して、先ほど作成した証明書作成要求(CSR)を選択します。

71c0709eb8bf601cd4dc4c36b457262b

2-7.証明書作成要求(CSR)のジェネレート

証明書作成要求(CSR)が選択されたら、「Generate」ボタンを押下します。

aa72fee2dac19dca5936c6677e017d9f

2-8.証明書ファイルの作成完了画面

証明書ファイルが作成されたことを確認します。

スクリーンショット 2015-12-02 14.39.42

2-9.開発用証明書(CER)のダウンロード

作成された開発用証明書(CER)のダウンロードを行います。

スクリーンショット_2015-12-02_14_39_42

3.Macに開発用証明書(CER)を登録

最後は、いよいよ Mac に開発用証明書(CER)の登録を行います。

3-1.ダウンロードした開発用証明書(CER)を選択

先ほどダウンロードした、拡張子が cer のファイルをダブルクリックし、キーチェーンアクセスに証明書が登録を行います。

3-2.「"システムルート"キーチェーンは変更できません。」が表示される場合

ファイルをダブルクリックした際、以下のメッセージが表示されることがあります

スクリーンショット 2015-12-02 19.41.09

この事象が発生している場合は、キーチェーンアクセスのメニューのファイル⇒読み込むを選択し、開発用証明書(CER)である、拡張子 cer のファイルを選択すると読み込めます。

スクリーンショット 2015-12-02 19.40.55

3-3.キーチェーンアクセスに読み込めているか確認

読み込まれた、開発用証明書ファイルは、ログインキーチェーンに登録されます。

貼り付けた画像_2015_12_02_19_35

まとめ

証明書系の作業は、一度やってしまうとほとんど触ることないのですが、また最初からやろうとすると、色々検索して調べながらやったりと結構ハマりがちだと思います。今回の手順は2015年12月時点の内容になります。今後細かい手順やコンソール画面のUIが変わってくる可能性もありますのでご注意ください。

参考

Appleドキュメント:iOSチーム管理ガイド