署名 - shirai/SwiftLearning GitHub Wiki

署名

概論

目標

  • 署名に必要なファイルを列挙し説明できる
  • プロジェクト設定を正しく行える

わかったこと

基本

  • AppStoreで配布するアプリケーションには、暗号技術に基づくデジタル署名が必要
  • 開発中のiOS用アプリケーションは、開発用である旨の印がついたiOSデバイスにしかインストールできない
  • 実際にアプリケーションを動かすためには、署名済みのアプリケーションと、その起動時に認証を行う開発用プロビジョニングプロファイル(23p)を、当該デバイスにインストールする必要がある
  • 開発用プロビジョニングプロファイルとは署名を施したファイルで、下記の事項が定義されている(認証できる)
    • 実行可能なアプリケーション
    • 当該アプリケーションが実行可能なデバイスのリスト
    • アプリケーションの署名に用いた開発用証明書のリスト
  • プロファイルは開発用デバイスだけでなく、開発用コンピュータにもインストールしなければならない
    • Xcodeがアプリケーションに署名し、デバイスにインストールするのは、署名証明書および署名対象のアプリケーションを、プロファイルが認証できる場合に限る
  • 開発中、コードに署名するためには、開発システムのキーチェーンに、以下に示すものを組み込む必要がある
    • 秘密鍵
    • 開発用署名証明書(チーム管理者が認証済み):この中に、上記の秘密鍵と組になる公開鍵が含まれている
    • 中間署名証明書(Appleが提供):この証明書は、開発用署名証明書と、署名証明機関との仲介
  • 署名証明書と対応する秘密鍵の組を、コード署名IDと言い、iOS用アプリケーションをビルドする際、Xcodeはこれをコンパイルした後、コード署名IDを使って署名し、 デバイスにインストールする

プロジェクトの作成

  1. 特定アプリケーションIDを作成する。これは、バンドルID照合文字列の部分が、開発するアプリケーションのバンドルIDと完全一致するアプリケーションIDのこと。
  2. このアプリケーションIDを使って、開発用プロビジョニングプロファイルを作成する。
  3. 同様に、配布用プロビジョニングプロファイル(必要ならば複数)を作成する。

つぎにやること

  • 公式ドキュメント読み込み
  • 学習まとめ作成
  • 正しく実行できる

参考