Developer ID

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

Developer IDで署名したAppの準備

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

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

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

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

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

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

テクニカルノート

お問い合わせ