Azure DevOps クラウド署名統合ガイド

これは、Azure DevOps を eSigner CodeSignTool と統合して自動コード署名を実行する方法に関するガイドです。

CodeSignTool は、クラウド コード署名プロセスに適しており、さまざまな CI/CD プラットフォームとシームレスに統合するコマンド ライン ユーティリティです。 これは eSigner の一部を形成します。これは、コード署名に対する効率的で安全で使いやすいアプローチを提供するリモート署名サービスです。

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

今すぐ注文

環境変数

  • USERNAME: SSL.com アカウントのユーザー名。 (必須)
  • PASSWORD:SSL.comアカウントのパスワード(必須)
  • CREDENTIAL_ID: 証明書に署名するための資格情報 ID。 credential_id が省略され、ユーザーが eSigner コード署名証明書を XNUMX つしか持っていない場合、CodeSignTool はデフォルトでそれを使用します。 ユーザーが複数のコード署名証明書を持っている場合、このパラメーターは必須です。 (必須)
  • TOTP_SECRET: OAuth TOTP シークレット。 の詳細情報にアクセスできます。 https://www.ssl.com/how-to/automate-esigner-ev-code-signing (必須)
  • ENVIRONMENT_NAME : 「TEST」または「PROD」環境。 (必須)

 

入力

  • 入力ファイルパス: 署名するコード オブジェクトのパス。 (必須)
  • 出力ディレクトリのパス: 署名されたコード オブジェクトが書き込まれるディレクトリ。 output_path を省略すると、-file_path で指定されたファイルが署名付きファイルで上書きされます。

visualstudio.com でプロジェクトを作成する

コード エディターで新しい .yml ファイルを作成します。

統合トリガーと環境変数を設定する

継続的インテグレーションのトリガー

引き金:

  - なし

 

環境変数をグローバルに定義します。 ジョブ レベル プロパティはグローバル変数をオーバーライドします

変数:

  buildConfiguration: 'リリース'

ジョブをステージにグループ化する

ビルド ステージの手順を記述します。 次のステージを実行する前に、XNUMX つのステージのすべてのジョブを完了する必要があります。

ステージ:

  – ステージ: ビルド

    # ワークフローが実行されると、これはログに記録される名前です

    displayName: ビルド

    仕事:

      - 仕事:

        プール:

           Windows VM でジョブを実行する

          vmImage: 'windows-latest'

        手順:

           ドットネット 6.0.x をインストールする

        – タスク: UseDotNet@2

          displayName: 'Install .NET Core SDK'

          入力:

            バージョン: '6.0.x'

            performMultiLevelLookup: 真

            includePreviewVersions: true

       

            Dotnet プロジェクトを復元する

        – タスク: DotNetCoreCLI@2

          displayName: 復元

          入力:

            コマンド: 「復元」

 

           リリース構成で dotnet プロジェクトをビルドする

        – タスク: DotNetCoreCLI@2

          displayName: ビルド

          入力:

            コマンド: ビルド

            プロジェクト: HelloWorld.csproj

            引数: '–configuration $(buildConfiguration)'

 

           署名済みアーティファクト用のディレクトリを作成する

        – powershell: New-Item -ItemType ディレクトリ -Path ./artifacts

          displayName: 'アーティファクト用のディレクトリを作成しました'

 

           署名済みパッケージのディレクトリを作成する

        – powershell: New-Item -ItemType ディレクトリ -Path ./packages

          displayName: 'パッケージ用のディレクトリを作成しました'

 

           アーティファクトを署名パスにコピー

        – powershell: Copy-Item ./bin/Release/netcoreapp3.1/HelloWorld-0.0.1.dll -Destination ./packages/HelloWorld.dll

          displayName: 「ビルドされたアーティファクトをパッケージ ディレクトリにコピーする」

 

           署名ジョブを使用するためにアーティファクトを保存します

        – タスク: PublishBuildArtifacts@1

          displayName: 'ダウンロード用の署名付きアーティファクトとして保存'

          入力:

            公開するパス: ./packages/HelloWorld.dll

            アーティファクト名: HelloWorld.dll

Sign ステージの手順を記述する

– ステージ: サイン

    # ワークフローが実行されると、これはログに記録される名前です

    displayName: 記号

    仕事:

    - 仕事:

      プール:

         Ubuntu VM でジョブを実行する

        vmImage: 「Ubuntu 最新」

      手順:

         署名済みアーティファクト用のディレクトリを作成する

      – スクリプト: mkdir -p ./artifacts && mkdir -p ./packages

        displayName: 「アーティファクトとパッケージ用に作成されたディレクトリ」

 

         署名するアーティファクトをダウンロードする

      – タスク: DownloadPipelineArtifact@2

        入力:

          アーティファクト: HelloWorld.dll

          ダウンロードパス: ./packages

 

         Docker 17.09.0-ce をインストールします。

      – タスク: DockerInstaller@0

        表示名: Docker インストーラー

        入力:

          ドッカーバージョン: 17.09.0-ce

          releaseType: 安定

 

         Docker Pull CodeSigner Docker イメージ

      – スクリプト: docker pull ghcr.io/sslcom/codesigner:latest

        displayName: 'Docker プル CodeSigner Docker イメージ'

         CodeSigner Docker イメージでアーティファクトに署名する

      – スクリプト: docker run -i –rm –dns 8.8.8.8 –network host –volume $PWD/packages:/codesign/examples –volume $PWD/artifacts:/codesign/output

                -e USERNAME=$(ユーザー名) -e PASSWORD=$(PASSWORD) -e CREDENTIAL_ID=$(CREDENTIAL_ID) -e TOTP_SECRET=$(TOTP_SECRET)

パスワードに特殊文字が含まれている場合は、引用符で囲む必要があります。

                -e ENVIRONMENT_NAME=$(ENVIRONMENT_NAME) ghcr.io/sslcom/codesigner:最新のサイン -input_file_path=/codesign/examples/HelloWorld.dll

                -output_dir_path=/コードデザイン/出力

        displayName: 'CodeSigner Docker イメージでアーティファクトに署名'

 

         ダウンロード用に署名済みアーティファクトを保存する

      – タスク: PublishBuildArtifacts@1

        displayName: '署名済みアーティファクトをダウンロード用に保存'

        入力:

          公開するパス: ./artifacts/HelloWorld.dll

          アーティファクト名: HelloWorld.dll

新しい .gitignore ファイルを作成する

次のように入力します。

ビン

オブジェクト

.vscode

メッセージ バーに「Created pipeline.yml」と入力し、 コミット (Comma Separated Values) ボタンをクリックして、各々のジョブ実行の詳細(開始/停止時間、変数値など)のCSVファイルをダウンロードします。

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

今すぐ注文

クリックに進みます 変更を同期 (Comma Separated Values) ボタンをクリックして、各々のジョブ実行の詳細(開始/停止時間、変数値など)のCSVファイルをダウンロードします。

visualstudio.com に進み、クリックします。 残り ダッシュボード上

ページを更新して yml ファイルを表示します

クリック パイプライン ダッシュボード上

次に、をクリックします。 パイプラインの作成

Azure Repos Git をクリックします。

YAML ファイルを選択します

クリック Variables ボタンの後に 新しい変数

各環境変数の値を配置し、 OK (Comma Separated Values) ボタンをクリックして、各々のジョブ実行の詳細(開始/停止時間、変数値など)のCSVファイルをダウンロードします。

+ 記号をクリックして、各変数を追加し続けます

すべての変数を配置したら、パイプラインの作成に進みます

パイプラインを実行する

クリック パイプライン ダッシュボードで。 パイプラインの XNUMX つのドット (その他のオプション) をクリックします。 クリック パイプラインを実行する。 最後に、 ラン

[ビルド] をクリックしてビルド ステージを開始します。

ビルド ステージの各ジョブが成功したかどうかを確認する

の横にあるドロップダウン矢印をクリックします。 ジョブ 各ビルド ジョブのステータスを確認するには

をクリックして署名ステージを開始します。 ジョブ

署名プロセスの各ステップが成功したかどうかを確認します

ビルド段階とサイン段階の両方が成功したかどうかを再確認します

あなたは SSL.com Docker イメージのソース コードが含まれ、その使用方法が説明されている Github リポジトリ: https://github.com/SSLcom/ci-images 

Azure DevOps パイプラインのサンプル

作成した Azure DevOps パイプラインのサンプルを確認してください github.com/SSLcom/codesigner-azuredevops-sample

その他のリモート署名統合ガイド

カスタムソリューションが必要ですか? 

専門知識とXNUMXつ星のサポートスタッフにより、カスタムソリューションやエンタープライズレベルの大量署名割引についてお客様と協力する準備ができています。 以下のフォームにご記入ください。ご連絡いたします。

Twitter
Facebook
LinkedIn
Reddit
メール

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

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

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

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