公証を行うことにより、配布した開発者 ID 付きのソフトウェアが Apple によって検証され、不正なコンポーネントが存在しないことが証明されます。Apple の公証ルールと要件については、「配布前の macOS ソフトウェアの正規化」を参照してください。

Apple の公証ルールに合わせて、InDesign 2020 ではHardened Runtime エンタイトルメントが有効になりました。これにより、コードに署名しなくてもサードパーティプラグインを InDesign に読み込めるようになりました。ただし、プラグインの開発者は、Web 経由でプラグインのインストーラー(.pkg または .dmg)を配布する必要があります。macOS のゲートウェイにより、公証されていないバイナリが自動的に隔離されるため、プラグインのインストーラーが実行中に失敗します。詳しくは、「InDesign と macOS 10.15(Catalina)を参照してください。  InDesign のプラグインで公証やコードの署名が不要な場合でも、プラグインのインストーラー/バイナリの公証が必要になります。

公証の要件

証明書生成のプロセス

  1. 証明書をリクエストします(キーチェーンアクセスメニュー/証明書アシスタント/認証局に証明書を要求)。
  2. .certSigningRequest ファイルをディスクに保存します。
  3. Apple Developer ポータルにログインします。
  4. Certificates, Identifiers & Profiles」をクリックします。
  5. Developer ID Application」を選択して、新しい証明書を作成します。
  6. 手順 1 の .certSigningRequest ファイルをアップロードして、処理を完了します。表示された .cer をダウンロードし、ディスクに保存します。
  7. Developer ID Installer」を選択して手順 4 ~ 6 を繰り返します。
  8. 手順 1 と同じ .certSigningRequest ファイルをアップロードして、処理を完了します。表示された .cer をダウンロードし、ディスクに保存します。
  9. 手順 6 と 8 で生成し、ダウンロードした .cer 証明書をダブルクリックして、キーチェーンに読み込みます。

.pkg または .dmg ファイルの公証手順

この例では、SDK から BasicDialog サンプルプラグインを使用します。

  1. # .InDesignPlugin のコードに署名する

    codesign --sign "Developer ID Application: <Developer Name>" --verbose=4 --deep --force --strict BasicDialog.InDesignPlugin
  2. # コードの署名を検証する

    codesign -dv --verbose=4 BasicDialog.InDesignPlugin
  3. # 上記のコードで署名した .InDesignPlugin を package/installer に追加して .pkg または .dmg を作成する
  4. # インストーラー(.dmg、.pkg など)に署名する

    productsign --sign "Developer ID Installer: <Developer Name>"./BasicDialog.pkg ./BasicDialogSigned.pkg
  5. # コードの署名を検証する

    pkgutil --check-signature BasicDialogSigned.pkg
  6. # 公証用に送信する

    xcrun altool --notarize-app --primary-bundle-id "com.demo.plugin" --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx" --file BasicDialogSigned.pkg
  7. # 公証ステータスをオンラインで確認する(手順 6 で要求 UID が返されているはずです)

    xcrun altool --notarization-info <Request UID> --username "your-apple-id@xyz.com" --password "xxxx-xxxx-xxxx-xxxx"
  8. # オフラインで使用するため、公証されたファイルにステープルを作成する

    xcrun stapler staple BasicDialogSigned.pkg
  9. # ステープルを確認する

    stapler validate --verbose BasicDialogSigned.pkg

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

リーガルノーティス   |   プライバシーポリシー