Azure KeyVaultを使用したコード署名

このガイドは、1 年 2023 月 XNUMX 日より前に発行された IV および OV コード署名証明書にのみ適用されます。 1年2023月XNUMX日より, SSL.com の組織検証 (OV) および個人検証 (IV) コード署名証明書は、連邦情報処理規格 140-2 (FIPS 140-2) USB トークンまたは eSigner クラウド コード署名サービスを通じて発行されています。 この変更は準拠しています コード署名キーのセキュリティを強化するための認証局/ブラウザ (CA/B) フォーラムの新しいキー ストレージ要件に準拠しています。

このチュートリアルでは、Azure KeyVaultに保存されているコード署名証明書と秘密鍵を使用してWindowsコマンドラインからファイルに署名する方法を示します。 これらの指示に従うには、次のものが必要です。

Azure Sign Toolとは何ですか?

Azureサインツール を提供するオープンソースユーティリティです サインツール Azure KeyVaultに格納されている証明書とキーの機能。 Windows PowerShellで次のコマンドを使用してAzureSign Toolをインストールできます(必須 .NET SDK):

dotnet tool install --global AzureSignTool

[/ su_note]

手順1:新しいAzureアプリケーションを登録する

まず、Key Vaultに接続して署名できるように、新しいAzureアプリケーションを登録する必要があります。

  1. サインイン Azureのポータル.
    Azureにサインインする
  2. MFAデバイスに移動する Azure Active Directory。 (クリック その他のサービス Azure Active Directoryアイコンが表示されていない場合。)
    Azure Active Directory
  3. クリック アプリの登録、左の列。
    アプリの登録
  4. クリック 新規登録.
    新規登録
  5. アプリケーションに 名前 をクリックして 登録する ボタン。 他の設定はデフォルト値のままにします。
    アプリケーションの登録
  6. 新しいアプリケーションが登録されました。 に表示されている値をコピーして保存します アプリケーション(クライアント)ID、後で必要になるためです。
    アプリケーション(クライアント)ID
  7. クリック 認証.
    認証
  8. 詳細設定、セット パブリッククライアントフローを許可する 〜へ Yes.
    パブリッククライアントフローを許可する
  9. クリック Save.
    Save

ステップ2:クライアントシークレットを作成する

次に、クライアントシークレットを生成します。これは、署名時に資格情報として機能します。

  1. クリック 証明書と秘密 左側のメニューにあります。
    証明書と秘密
  2. クリック 新しいクライアントの秘密.
    新しいクライアントの秘密
  3. クライアントに秘密を与える 説明、必要に応じて有効期限を設定し、をクリックします Add
    クライアントシークレットを追加
  4. コピー あなたの新しいクライアントの秘密の 直ちに 安全な場所に保管してください。 次回ページが更新されると、この値はマスクされて取得できなくなります。
    秘密の値をコピーする

手順3:KeyVaultでアクセスを有効にする

次に、Azure KeyVaultでアプリケーションへのアクセスを有効にする必要があります。

  1. 署名に使用する証明書が含まれているKeyVaultに移動し、[ アクセスポリシー リンクをクリックします。
    アクセスポリシー
  2. クリック アクセスポリシーの追加.
    アクセスポリシーの追加
  3. 主な権限、イネーブル Sign.
    キー権限で署名を有効にする
  4. 証明書のアクセス許可、イネーブル Get.
    証明書のアクセス許可の下で取得を有効にする
  5. クリック 何も選択されていません リンク、下 プリンシパルを選択、次に検索フィールドを使用して、前のセクションで作成したアプリケーションを見つけて選択します。
    プリンシパルを選択
  6. クリック 選択
    選択
  7. クリック Add
    Add
  8. クリック Save.
    Save
  9. アクセスポリシーが設定され、ファイルへの署名を開始する準備が整いました。
    終了したアクセスポリシー

ステップ4:ファイルに署名する

これで、ついにコードに署名する準備が整いました。

  1. 次の情報が必要になります。
    • あなたの キーボールトURI (Azureポータルで利用可能):
      キーボールトURI
    •   分かりやすい名前 Key Vaultでの証明書の使用:
      証明書名
    •   アプリケーション(クライアント)ID Azureアプリケーションからの価値:
      アプリケーション(クライアント)ID
    •   クライアントシークレット 上で生成したもの:
      秘密の値をコピーする
  2. 以下は、Azure SignToolを使用してファイルに署名してタイムスタンプを付けるPowerShellのコマンドの例です。 ALLCAPSの値を実際の情報に置き換えます。
    azuresigntool signed -kvu KEY-VAULT-URI -kvc CERTIFICATE-NAME -kvi APPLICATION-CLIENT-ID -kvs CLIENT-SECRET -tr http://ts.ssl.com/ -td sha256 実行可能パス
    注: デフォルトでは、SSL.com は ECDSA キーからのタイムスタンプをサポートしています。

    このエラーが発生した場合: The timestamp certificate does not meet a minimum public key length requirement、ソフトウェア ベンダーに連絡して、ECDSA キーからのタイムスタンプを許可する必要があります。

    ソフトウェア ベンダーが通常のエンドポイントの使用を許可する方法がない場合は、このレガシー エンドポイントを使用できます。 http://ts.ssl.com/legacy RSA タイムスタンプ ユニットからタイムスタンプを取得します。
  3. 署名が成功すると、次のような出力が表示されます(署名に失敗すると出力は生成されません)。
    情報:AzureSignTool.Program [0] =>ファイル:test.exe署名ファイルtest.exe情報:AzureSignTool.Program [0] =>ファイル:test.exeファイルtest.exeの署名が正常に完了しました。 info PS C:\ Users \ Aaron Russell \ Desktop>
  4. 新しいデジタル署名の詳細は、ファイルのプロパティで確認できます。
    デジタル署名の詳細
注: Azure SignToolの作成者も提供しています ウォークスルー AzureDevOpsでツールを使用するため。

SSL.com EV コード署名 証明書は、最高レベルの検証により、不正な改ざんや侵害からコードを保護するのに役立ちます。 年間$ 249。 あなたがすることもできます EV コード署名証明書を大規模に使用する eSigner を使用してクラウドで。 自動化オプションを備えた eSigner は、エンタープライズ コードの署名に適しています。

今すぐ注文

SSL.com のニュースレターを購読する

SSL.comからの新しい記事と更新をお見逃しなく

常に最新情報を入手して安全を確保

SSL.com サイバーセキュリティの世界的リーダーであり、 PKI そしてデジタル証明書。サインアップして、最新の業界ニュース、ヒント、製品のお知らせを受け取ります。 SSL.com.

フィードバックをお待ちしております

アンケートにご協力いただき、最近のご購入についてのご意見をお聞かせください。