AzureDevOpsを使用したコード署名

このチュートリアルでは、Azure Key Vaultに格納されている証明書を使用して、AzureDevOpsでコード署名する方法を紹介します。 これらの指示に従うには、次のものが必要です。

SSL.com の eSigner クラウド コード署名サービスにより、一般的な CI/CD ツールと簡単に統合できるようになりました。 Azure DevOpsを含む、自動コード署名用。 電子署名者 を使用すると、USB トークン、HSM、またはその他の特別なハードウェアを必要とせず、世界的に信頼できるデジタル署名とタイムスタンプをどこからでも簡単にコードに追加できます。

eSigner を Azure DevOps と統合する方法に関するガイドについては、この記事にアクセスしてください。 Azure DevOps クラウド署名統合ガイド.

Azureアプリケーションを登録する

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

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

クライアントシークレットを作成する

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

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

KeyVaultでアクセスを有効にする

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

  1. 署名に使用する証明書が含まれているKeyVaultに移動し、[ アクセスポリシー リンクをクリックします。
    アクセスポリシー
  2. クリック アクセスポリシーの追加.
    アクセスポリシー
  3. 主な権限、イネーブル VerifySign, Get, List.
    主な権限
  4. 秘密の許可、イネーブル Get & List.
    秘密の許可
  5. 証明書のアクセス許可、イネーブル Get & List.
    証明書のアクセス許可
  6. クリック 何も選択されていません リンク、下 プリンシパルを選択、次に検索フィールドを使用して、前のセクションで作成したアプリケーションを見つけて選択します。
    プリンシパルを選択
  7. クリック 選択
    選択ボタン
  8. クリック Add
    ボタンを追加
  9. クリック Save.
    Save
  10. アクセスポリシーが設定されています。
    アクセスポリシー

DevOpsビルドを構成する

これで、ビルドを構成できます。 AzureDevOpsでプロジェクトを開きます。

AzureDevOpsプロジェクト

アプリケーション資格情報を変数として保存する

アプリケーションIDとクライアントシークレットをYAMLパイプラインファイルに直接含めることもできますが、それらを変数としてDevOpsに保存するとより安全になります。

  1. クリック パイプライン.
    パイプライン
  2. クリック 図書館.
    図書館
  3. クリック +変数グループ.
    変数グループを追加
  4. 変数グループに名前を付けます。
    名前を追加
  5. クリック Add.
    Add
  6. アプリケーションIDの変数名を入力し、値を貼り付けます。 終了したら、ロックをクリックして変数を暗号化します。
    アプリケーションID変数
  7. このプロセスを繰り返して、クライアントシークレットの変数を追加します。
    クライアントシークレット変数
  8. クリック Save.
    Save
  9. パイプラインの変数グループをリンクします。 (VARIABLE-GROUPを実際の変数グループの名前に置き換えます。)
    変数:-グループ: 'VARIABLE-GROUP'

パイプラインステップを追加してAzureSignToolをインストールする

Azureサインツール を提供するオープンソースユーティリティです サインツール Azure KeyVaultに格納されている証明書とキーの機能。 パイプラインに次の手順を追加して、Azure SignToolをインストールします。

-タスク:DotNetCoreCLI @ 2入力:​​コマンド: 'カスタム'カスタム: 'ツール'引数: 'インストール--globalazuresigntool' displayName:AzureSignToolをインストールします

Azure SignToolコマンドをパイプラインに追加する

  1. これで、コードに署名するタスクをパイプラインに追加できます。 次の情報が必要になります。
    • あなたの キーボールトURI (Azureポータルで利用可能):
      キーボールトURI
    • Key Vaultでの証明書のフレンドリ名:
      証明書名
    • あなたの アプリケーションID & クライアントシークレット 変数名:
      変数名
  2. Azure SignTool呼び出しをパイプラインに追加します。 ALL-CAPSに表示されている値を実際の値に置き換えます。
    -タスク:CmdLine @ 2入力:​​スクリプト:AzureSignTool sign -kvu "KEY-VAULT-URI" -kvi "$(APPLICATION-ID-VAR)" -kvs "$(CLIENT-SECRET-VAR)" -kvc CERTIFICATE-NAME -tr "http://ts.ssl.com" -td sha256 "FILE-TO-SIGN" displayName:サインコード
  3. 署名が成功すると、次のような出力が表示されます。
    情報:AzureSignTool.Program [0] =>ファイル:D:\ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe署名ファイルD:\ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe情報:AzureSignTool。 Program [0] =>ファイル:D:\ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exeファイルD:\ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exeの署名が正常に完了しました。

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

今すぐ注文

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

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

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

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

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

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