Developer ID

Mac App Store以外の場所からダウンロードされるソフトウェアおよびアプリの場合、デベロッパはDeveloper ID証明書を取得し、ソフトウェアをAppleに提出して公証(ノータリゼーション)を受けることができます。一意のDeveloper IDでソフトウェアにデジタル署名を施し、Appleからの公証チケットを含めることで、そのソフトウェアが既知のマルウェアではなく、改ざんされていないことをGatekeeperで確認できるようになります。アプリでCloudKitやプッシュ通知といった高度な機能を活用することも可能です。

Developer IDで署名したアプリの準備

Developer IDで署名したMac向けソフトウェアを配信するには、Apple Developer ProgramまたはApple Developer Enterprise ProgramのメンバーになってDeveloper ID証明書を取得し、アプリをAppleに提出して公証を受ける必要があります。また、CloudKitなどの高度な機能(英語)を活用したアプリを配信するには、Developer IDのプロビジョニングプロファイルを作成する必要もあります。

Developer ID証明書とプロビジョニングプロファイルの有効期限の管理

Developer IDで署名したアプリは、ユーザーがインストールする際にGateKeeperによって検証されます。高度な機能を実装するためにDeveloper IDのプロビジョニングプロファイルを使用しているアプリでは、アプリのインストール時、および毎回の起動時にこのプロファイルの有効性も検証されます。そのため、Developer ID証明書やDeveloper IDのプロビジョニングプロファイルの有効期限が過ぎると、デベロッパやユーザーにどのような影響が及ぶかを理解しておくことが重要になります。

Developer ID証明書の有効期間は、作成日から5年間です。2017年2月22日*より前に生成されたDeveloper IDのプロビジョニングプロファイルの有効期限は、Developer ID証明書の有効期間が終了するまでになります。

  • Developer IDのプロビジョニングプロファイルを使用していないアプリの場合
    アプリのインストール時に、Developer ID証明書の有効性がGatekeeperによって検証されます。アプリのコンパイル時にDeveloper ID証明書が有効である限り、その後証明書の有効期限が過ぎても、ユーザーは引き続きアプリをダウンロードしたり実行したりすることができます。ただし、アップデート版や新規のアプリに署名するには、新しい証明書が必要です。
  • 高度な機能を実装するためにDeveloper IDのプロビジョニングプロファイルを使用しているアプリの場合
    Gatekeeperにより、Developer ID証明書(アプリのインストール時)およびDeveloper IDのプロビジョニングプロファイル(毎回の起動時)の有効性が検証されます。アプリのコンパイル時にDeveloper ID証明書が有効である限り、その後証明書の有効期限が過ぎても、ユーザーは引き続きアプリをダウンロードしたり実行したりすることができます。ただし、Developer IDのプロビジョニングプロファイルの有効期限が過ぎると、そのアプリは起動できなくなります。
  • インストーラパッケージをDeveloper IDインストーラ証明書で署名している場合
    インストーラパッケージの実行時に、GatekeeperによってDeveloper IDインストーラ証明書の有効性が検証されます。Developer IDインストーラ証明書の有効性が確認できないインストーラパッケージは、起動できません。有効期限が過ぎたDeveloper IDインストーラ証明書で署名されているインストーラパッケージを実行するには、有効なDeveloper IDインストーラ証明書で署名し直す必要があります。

証明書が失効しているDeveloper IDで署名されているアプリは、インストールできなくなり、インストール済みの場合は、アプリを起動できなくなります。

テクニカルノート

お問い合わせ