Developer ID

ソフトウェアやAppをMac App Storer以外の場所でダウンロードできるようにするには、Developer ID証明書を取得し、Appleによる認証を得るためにソフトウェアを提出します。 Appleの認証チケットを含み、一意のDeveloper IDを使ってデジタル署名されたソフトウェアは、Gatekeeperによって、それらが既知のマルウェアではなく、改ざんされたものでもないことを確認することができます。さらに、AppでCloudKitやプッシュ通知といった高度な機能を使うことができます。

Developer ID Appの準備

Developer IDで署名したMac ソフトウェアを配信するには、Apple Developer ProgramまたはApple Developer Enterprise Programのメンバーシップを持っていること、Developer ID証明書を取得していること、またAppleによる認証を得るためにソフトウェアを提出することが必要になります。Developer IDのプロビジョニングプロファイル(CloudKitなどの高度な機能(英語)を使用する場合)を作成することも必要です。

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

失効した証明書で署名されたすべてのDeveloper ID Appは、インストールすることも、起動することも(インストール済みの場合)できなくなります。

* Developer ID Appの管理をシンプルにし、ユーザーがAppを継続的に利用できるようにするため、2017年2月22日以降に生成されたDeveloper IDのプロビジョニングプロファイルの有効期間は、Developer ID証明書の有効期限にかかわらず、作成日から18年間となっています。

テクニカルノート

お問い合わせ