eSigner CKA(クラウドキーアダプター) は、CNG インターフェイス (KSP キー サービス プロバイダー) を使用して、certutil.exe や signtool.exe などのツールが eSigner Cloud Signature Consortium (CSC) 準拠の API エンタープライズ コード署名操作用。 CI/CD ツールで eSigner ベースのコード署名を行うには、次の XNUMX つの前提条件を満たす必要があります。
.vsix 署名のワークフロー例
環境変数- USERNAME: SSL.com アカウントのユーザー名。 (必須)
- PASSWORD:SSL.comアカウントのパスワード(必須)
- TOTP_SECRET: OAuth TOTP シークレット。 の詳細情報にアクセスできます。 eSigner EV コード署名の自動化 – SSL.com (必須)
- モード: 'サンドボックス' または '製品' (必須)
.vsix 署名サンプルのワークフロー
# ワークフローの名前。
名前: サインアーティファクト
# プッシュ時にこのワークフローをトリガーします
オン: プッシュ
# 環境変数を作成する
env:
MASTER_KEY: マスター.キー
SIGNABLE_FILE_PATH: HelloWorld.dll
SIGNABLE_VSIX_FILE_PATH: SSLcom.vsix
INSTALL_DIR: C:\Users\runneradmin\eSignerCKA
MASTER_KEY_FILE: C:\Users\runneradmin\eSignerCKA\master.key
仕事:
# 「sign-file」という名前のジョブを定義します
署名ファイル:
# Windows Runner でジョブを実行
ランオン: windows-latest
# ワークフローが実行されると、これはログに記録される名前です
name: eSignerCKA で DLL ファイルに署名
手順:
# 1) ワークフローがアクセスできるようにソース コードをチェックアウトします。
– 名前: チェックアウト リポジトリ
用途: actions/checkout@v3
# 2) eSignerCKA セットアップをダウンロードして解凍する
– 名前: eSignerCKA セットアップのダウンロードと解凍
実行: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip 「https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.6/SSL.COM-eSigner-CKA_1.0.6.zip」
Expand-Archive -Force eSigner_CKA_Setup.zip
アイテムの削除 eSigner_CKA_Setup.zip
項目の移動 - 移動先「eSigner_CKA_Installer.exe」 - パス「eSigner_CKA_*\*.exe」
# 3) eSignerCKA をインストールする
– 名前: サイレント モードで eSignerCKA をセットアップする
実行: |
New-Item -ItemType ディレクトリ -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | アウトヌル
# 4) SSLcomアカウント情報を設定する
– 名前: eSignerCKA の構成アカウント情報
実行: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ Secrets.MODE }}" -user "${{ Secrets.USERNAME }}" -pass "${{ Secrets.PASSWORD }}" - totp "${{ Secrets.TOTP_SECRET }}" -key "${{ env.MASTER_KEY_FILE }}" -r
# 5) Windows 証明書ストアへの証明書のアンロードとロード
– name: 証明書を Windows ストアにロードする
実行: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe アンロード
${{ env.INSTALL_DIR }}/eSignerCKATool.exe ロード
# 6) コード署名証明書を選択し、署名用のサムプリントを取得します
– 名前: Windows ストアから証明書を選択
実行: |
$CodeSigningCert = Get-ChildItem 証明書:\CurrentUser\My -CodeSigningCert | Select-Object -First 1
echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV
# 7) Signtool を使用してアーティファクトに署名する
– 名前: SignTool を使用してサンプル ファイルに署名する
実行: |
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe' sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}
# 8) eSignerCKA ログをアップロードする
– 名前: eSignerCKA ログのアップロード
使用:actions/upload-artifact@v3
if: ${{ always() }}
と:
名前: eSignerCKA-Logs-DLL
パス: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
# 「sign-vsix-file」という名前のジョブを定義します
署名vsixファイル:
# Windows Runner でジョブを実行
ランオン: windows-latest
# ワークフローが実行されると、これはログに記録される名前です
名前: eSignerCKA を使用して VSIX ファイルに署名する
手順:
# 1) ワークフローがアクセスできるようにソース コードをチェックアウトします。
– 名前: チェックアウト リポジトリ
用途: actions/checkout@v3
# 2) ワークフローが使用する .NET CLI 環境をセットアップします。
– 名前: Dotnet Core のセットアップ
実行: |
チョコインストール dotnet-runtime -y
# 3) eSignerCKA セットアップをダウンロードして解凍する
– 名前: eSignerCKA セットアップのダウンロードと解凍
実行: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip 「https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.6/SSL.COM-eSigner-CKA_1.0.6.zip」
Expand-Archive -Force eSigner_CKA_Setup.zip
アイテムの削除 eSigner_CKA_Setup.zip
項目の移動 - 移動先「eSigner_CKA_Installer.exe」 - パス「eSigner_CKA_*\*.exe」
# 4) eSignerCKA をインストールする
– 名前: サイレント モードで eSignerCKA をセットアップする
実行: |
New-Item -ItemType ディレクトリ -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | アウトヌル
# 5) SSLcomアカウント情報を設定する
– 名前: eSignerCKA の構成アカウント情報
実行: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ Secrets.MODE }}" -user "${{ Secrets.USERNAME }}" -pass "${{ Secrets.PASSWORD }}" - totp "${{ Secrets.TOTP_SECRET }}" -key "${{ env.MASTER_KEY_FILE }}" -r
# 6) Windows 証明書ストアへの証明書のアンロードとロード
– name: 証明書を Windows ストアにロードする
実行: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe アンロード
${{ env.INSTALL_DIR }}/eSignerCKATool.exe ロード
# 7) コード署名証明書を選択し、署名用のサムプリントを取得します
– 名前: Windows ストアから証明書を選択
実行: |
$CodeSigningCert = Get-ChildItem 証明書:\CurrentUser\My -CodeSigningCert | Select-Object -First 1
echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV
# 8) OpenVsixSignTool をカスタムの場所 (https://github.com/vcsjones/OpenOpcSignTool) にインストールします
– 名前: OpenOpcSignTool のインストール
実行: |
新しい項目 -ItemType ディレクトリ -Force -Path C:\Users\runneradmin\Desktop\dotnet-tools
Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
項目の移動 -Path OpenVsixSignTool.zip -Destination C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool.zip
Expand-Archive -LiteralPath C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\runneradmin\Desktop\dotnet-tools -Force
# 9) OpenOpcSignTool を使用してアーティファクトに署名する
– 名前: OpenVsixSignTool を使用したサンプル ファイルの署名
実行: |
C:\Users\runneradmin\Desktop\dotnet-tools\OpenVsixSignTool –roll-forward 最新のメジャー サイン –sha1 ${{ env.THUMBPRINT }} –timestamp http://ts.ssl.com -ta sha256 -fd sha256 “${ { env.SIGNABLE_VSIX_FILE_PATH }}」
# 10) eSignerCKA ログをアップロードする
– 名前: eSignerCKA ログのアップロード
使用:actions/upload-artifact@v3
if: ${{ always() }}
と:
名前: eSignerCKA-Logs-VSIX
パス: C:\Users\runneradmin\AppData\Roaming\eSignerCKA\KSP
.vsix 署名サンプルのワークフロー
# 継続的インテグレーションのトリガー
引き金:
- なし
# ジョブをステージにグループ化します。 XNUMX つのステージ内のすべてのジョブは、次のステージが実行される前に完了する必要があります。
ステージ:
– ステージ: サイン
# ワークフローが実行されると、これはログに記録される名前です
表示名: 署名ファイル
仕事:
- 仕事:
プール:
# Windows VM でジョブを実行する
vmImage: 'windows-latest'
手順:
# eSignerCKA セットアップのダウンロードと解凍
– パワーシェル: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip 「https://www.ssl.com/download/ssl-com-esigner-cka」
Expand-Archive -Force eSigner_CKA_Setup.zip
アイテムの削除 eSigner_CKA_Setup.zip
項目の移動 - 移動先「eSigner_CKA_Installer.exe」 - パス「eSigner_CKA_*\*.exe」
displayName: 'eSignerCKA セットアップのダウンロードと解凍'
# eSignerCKA をサイレント モードでセットアップし、インストール ディレクトリを確認します
– パワーシェル: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”$(Build.BinariesDirectory)\Desktop\eSignerCKA” | アウトヌル
ディレクトリ $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: 'eSignerCKA をサイレント モードでセットアップ'
# eSignerCKA でアカウント情報を設定
– パワーシェル: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -user “$(USERNAME)” -pass “$(PASSWORD)” -totp “$(TOTP_SECRET)” -key “$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key” -r
displayName: 'eSignerCKA のアカウント情報の設定'
# 証明書を Windows ストアにアンロードおよびロードする
– パワーシェル: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe アンロード
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe の読み込み
displayName: 'Windows ストアへの証明書のアンロードとロード'
# Windows ストアから証明書を選択し、SignTool でサンプル ファイルに署名します
– パワーシェル: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | オブジェクトの選択 - 最初の 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); エコー $サムプリント
& “C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\signtool.exe”sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $サムプリント HelloWorld.dll
displayName: 'SignTool を使用してサンプル ファイルに署名'
# 署名ジョブを使用するためにアーティファクトを保存します
– タスク: PublishBuildArtifacts@1
displayName: 'ダウンロード用の署名付きアーティファクトとして保存'
入力:
パブリッシュするパス: HelloWorld.dll
アーティファクト名: HelloWorld.dll
– ステージ:sign_vsix
# ワークフローが実行されると、これはログに記録される名前です
表示名: VSIX に署名します
仕事:
- 仕事:
プール:
# Windows VM でジョブを実行する
vmImage: 'windows-latest'
手順:
# eSignerCKA セットアップのダウンロードと解凍
– パワーシェル: |
Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip 「https://www.ssl.com/download/ssl-com-esigner-cka」
Expand-Archive -Force eSigner_CKA_Setup.zip
アイテムの削除 eSigner_CKA_Setup.zip
項目の移動 - 移動先「eSigner_CKA_Installer.exe」 - パス「eSigner_CKA_*\*.exe」
displayName: 'eSignerCKA セットアップのダウンロードと解凍'
# eSignerCKA をサイレント モードでセットアップし、インストール ディレクトリを確認します
– パワーシェル: |
./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”$(Build.BinariesDirectory)\Desktop\eSignerCKA” | アウトヌル
ディレクトリ $(Build.BinariesDirectory)\Desktop\eSignerCKA
Get-ChildItem -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA
displayName: 'eSignerCKA をサイレント モードでセットアップ'
# eSignerCKA でアカウント情報を設定
– パワーシェル: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe config -mode $(MODE) -user “$(USERNAME)” -pass “$(PASSWORD)” -totp “$(TOTP_SECRET)” -key “$( Build.BinariesDirectory)\Desktop\eSignerCKA\master.key” -r
displayName: 'eSignerCKA のアカウント情報の設定'
# 証明書を Windows ストアにアンロードおよびロードする
– パワーシェル: |
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe アンロード
$(Build.BinariesDirectory)\Desktop\eSignerCKA\eSignerCKATool.exe の読み込み
displayName: 'Windows ストアへの証明書のアンロードとロード'
# OpenVsixSignTool をカスタムの場所にインストールします (https://github.com/vcsjones/OpenOpcSignTool)
– パワーシェル: |
New-Item -ItemType Directory -Force -Path $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools
Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
項目の移動 -Path OpenVsixSignTool.zip -Destination $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip
Expand-Archive -LiteralPath $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip -DestinationPath $(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools -Force
displayName: 'OpenVsixSignTool をカスタムの場所にインストール'
# Windows ストアから証明書を選択し、OpenOpcSignTool でサンプル ファイルに署名します
– パワーシェル: |
$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | オブジェクトの選択 - 最初の 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); エコー $サムプリント
$(Build.BinariesDirectory)\Desktop\eSignerCKA\dotnet-tools\OpenVsixSignTool –roll-forward 最新のメジャー サイン –sha1 $Thumbprint –timestamp http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix
displayName: 'OpenOpcSignTool を使用してサンプル ファイルに署名'
# 署名ジョブを使用するためにアーティファクトを保存します
– タスク: PublishBuildArtifacts@1
displayName: 'ダウンロード用の署名付きアーティファクトとして保存'
入力:
発行先のパス: SSLcom.vsix
アーティファクト名: SSLcom.vsix
# Windows ランナー
.windows_runners:
# 利用可能なランナーのリストからランナーを選択するために使用されます。 ランナーがジョブを実行するには、ここにリストされているすべてのタグが必要です。
タグ:
– 共有ウィンドウ
- ウィンドウズ
– 窓-1809
# ジョブをステージにグループ化します。 XNUMX つのステージ内のすべてのジョブは、次のステージが実行される前に完了する必要があります。
ステージ:
- サイン
# 以下はファイルに署名するジョブの定義です
署名ファイル:
# ジョブがどのステージで実行されるかを定義します。
ステージ:サイン
# Windows 上の署名ファイル用ランナー
拡張:
– .windows_runners
before_script:
# インストールディレクトリを作成する
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
スクリプト:
# eSignerCKA セットアップのダウンロードと解凍
– Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip 「https://www.ssl.com/download/ssl-com-esigner-cka」
– Expand-Archive -Force eSigner_CKA_Setup.zip
– アイテムの削除 eSigner_CKA_Setup.zip
– 項目の移動 - 移動先「eSigner_CKA_Installer.exe」 - パス「eSigner_CKA_*\*.exe」
# サイレント モードで eSignerCKA をセットアップする
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\gitlab_runner\Desktop\eSignerCKA” | アウトヌル
# インストールディレクトリを確認
– ディレクトリ C:\Users\gitlab_runner\Desktop\eSignerCKA
# インストールディレクトリを確認
– Get-ChildItem -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
# eSignerCKA でアカウント情報を設定
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe config -mode ${MODE} -user "${USERNAME}" -pass "${PASSWORD}" -totp "${TOTP_SECRET}" -key "C :\Users\gitlab_runner\AppData\Roaming\eSignerCKA\master.key” -r
# 証明書を Windows ストアにアンロードする
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe のアンロード
# 証明書を Windows ストアにロードする
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe のロード
# データディレクトリをチェック
– ディレクトリ C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# 設定データのディレクトリをチェック
– ディレクトリ C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Windows ストアから証明書を選択
– $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | オブジェクトの選択 - 最初の 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# 証明書の拇印をデバッグする
– Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); エコー $サムプリント
# SignTool でサンプル ファイルに署名する
– powershell.exe -ExecutionPolicy Bypass -Command「Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint);」 'C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\signtool.exesign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll」
# 以下はファイルに署名するジョブの定義です
符号対シックス:
# ジョブがどのステージで実行されるかを定義します。
ステージ:サイン
# Windows 上の署名ファイル用ランナー
拡張:
– .windows_runners
before_script:
# インストールディレクトリを作成する
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
スクリプト:
# eSignerCKA セットアップのダウンロードと解凍
– Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip 「https://www.ssl.com/download/ssl-com-esigner-cka」
– Expand-Archive -Force eSigner_CKA_Setup.zip
– アイテムの削除 eSigner_CKA_Setup.zip
– 項目の移動 - 移動先「eSigner_CKA_Installer.exe」 - パス「eSigner_CKA_*\*.exe」
# サイレント モードで eSignerCKA をセットアップする
– ./eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\gitlab_runner\Desktop\eSignerCKA” | アウトヌル
# インストールディレクトリを確認
– ディレクトリ C:\Users\gitlab_runner\Desktop\eSignerCKA
# インストールディレクトリを確認
– Get-ChildItem -Path C:\Users\gitlab_runner\Desktop\eSignerCKA
# eSignerCKA でアカウント情報を設定
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe config -mode ${MODE} -user "${USERNAME}" -pass "${PASSWORD}" -totp "${TOTP_SECRET}" -key "C :\Users\gitlab_runner\AppData\Roaming\eSignerCKA\master.key” -r
# 証明書を Windows ストアにアンロードする
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe のアンロード
# 証明書を Windows ストアにロードする
– C:\Users\gitlab_runner\Desktop\eSignerCKA\eSignerCKATool.exe のロード
# データディレクトリをチェック
– ディレクトリ C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA
# 設定データのディレクトリをチェック
– ディレクトリ C:\Users\gitlab_runner\AppData\Roaming\eSignerCKA\Config
# Windows ストアから証明書を選択
– $CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | オブジェクトの選択 - 最初の 1; echo $CodeSigningCert.Thumbprint > .Thumbprint
# 証明書の拇印をデバッグする
– Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); エコー $サムプリント
# Dotnet ランタイム 7.0 をインストールする
– choco install dotnet-runtime -y
# OpenVsixSignTool をカスタムの場所にインストールする
– New-Item -ItemType Directory -Force -Path C:\Users\gitlab_runner\Desktop\dotnet-tools
– Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip
– Move-Item -Path OpenVsixSignTool.zip -Destination C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool.zip
– Expand-Archive -LiteralPath C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\gitlab_runner\Desktop\dotnet-tools -Force
# OpenVsixSignTool を使用してサンプル ファイルに署名する
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); C:\Users\gitlab_runner\Desktop\dotnet-tools\OpenVsixSignTool –roll-forward 最新の主要な記号 –sha1 $Thumbprint –timestamp http://ts.ssl.com -ta sha256 -fd sha256 “SSLcom.vsix”'
.vsix コード DLL 署名のワークフロー例
# ジョブを実行する CPU アーキテクチャ
アーチ: amd64
# テストを実行するデフォルトの言語
言語: csharp
# 使用する Ubuntu ディストリビューション
dist: バイオニック
# ジョブを実行するオペレーティング システム
os:窓
# ビルドステージの順序を指定します。 XNUMX つのステージ内のすべてのジョブは、次のステージが実行される前に完了する必要があります。
ステージ:
- サイン
仕事:
次のとおりです。
– ステージ: サイン
# ジョブ名
名前: 署名ファイル
# ジョブを実行するオペレーティング システム
os:窓
# デフォルトの汎用言語を使用する
言語: c
# プロジェクトをビルドする前に実行する前スクリプト
before_script:
# インストールディレクトリを作成する
– powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# プロジェクトをビルドするスクリプト
スクリプト:
# eSignerCKA セットアップのダウンロードと解凍
– powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Destination “eSigner_CKA_Installer.exe” -Path “eSigner_CKA_*\*.exe”'
# サイレント モードで eSignerCKA をセットアップする
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom” | アウト・ヌル」
# インストールディレクトリを確認
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# eSignerCKA でアカウント情報を設定
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -user "${USERNAME}" -pass "${ PASSWORD}" -totp "${TOTP_SECRET}" -key "C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key" -r'
# 証明書を Windows ストアにアンロードする
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe unload'
# 証明書を Windows ストアにロードする
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exeload'
# Windows ストアから証明書を選択
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# 証明書の拇印をデバッグする
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $拇印'
# SignTool でサンプル ファイルに署名する
– powershell.exe -ExecutionPolicy Bypass -Command “Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); 'C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll' 」
– ステージ: サイン
# ジョブ名
名前: サイン対シックス
# ジョブを実行するオペレーティング システム
os:窓
# デフォルトの汎用言語を使用する
言語: c
# プロジェクトをビルドする前に実行する前スクリプト
before_script:
# インストールディレクトリを作成する
– powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# プロジェクトをビルドするスクリプト
スクリプト:
# eSignerCKA セットアップのダウンロードと解凍
– powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_Setup.zip “https://www.ssl.com/download/ssl-com-esigner-cka”'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_Setup.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Destination “eSigner_CKA_Installer.exe” -Path “eSigner_CKA_*\*.exe”'
# サイレント モードで eSignerCKA をセットアップする
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_Installer.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom” | アウト・ヌル」
# インストールディレクトリを確認
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom'
# eSignerCKA でアカウント情報を設定
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe config -mode ${MODE} -user "${USERNAME}" -pass "${ PASSWORD}" -totp "${TOTP_SECRET}" -key "C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\master.key" -r'
# 証明書を Windows ストアにアンロードする
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exe unload'
# 証明書を Windows ストアにロードする
– powershell.exe -ExecutionPolicy Bypass -Command 'C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\SSLcom\eSignerCKATool.exeload'
# Windows ストアから証明書を選択
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert | Select-Object -First 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# 証明書の拇印をデバッグする
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $拇印'
# OpenVsixSignTool をカスタムの場所にインストールします (https://github.com/vcsjones/OpenOpcSignTool)
– powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools'
powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile OpenVsixSignTool.zip https://github.com/SSLcom/eSignerCKA/releases/download/v1.0.4/OpenVsixSignTool_1.0.0-x86.zip'
powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Path OpenVsixSignTool.zip -Destination C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip'
powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -LiteralPath C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool.zip -DestinationPath C:\Users\travis\build\mbayrak-sslcom \eSignerCKA\dotnet-tools -Force'
# OpenVsixSignTool を使用してサンプル ファイルに署名する
– powershell.exe -ExecutionPolicy Bypass -Command 「Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint);」 C:\Users\travis\build\mbayrak-sslcom\eSignerCKA\dotnet-tools\OpenVsixSignTool –roll-forward 最新のメジャー サイン –sha1 $Thumbprint –timestamp http://ts.ssl.com -ta sha256 -fd sha256 SSLcom.vsix 」
.NETコードDLL 署名ワークフローの例
.NET コード DLL 署名のサンプル ワークフロー
ワークフローのコンポーネントを準備する
- エディターで .circleci フォルダーを作成します。 フォルダーにワークフローを含め、フォルダーの下に config.yml として yml ファイルを作成します。
- CircleCI のバージョンを設定します。 バージョン フィールドは、非推奨または重大な変更に関する警告を発行するために使用することを目的としています。
バージョン:2.1
-
Orbs は、プロジェクト間で共有できる CircleCI 構成の再利用可能なパッケージであり、複数のプロジェクトで使用できるカプセル化され、パラメーター化されたコマンド、ジョブ、およびエグゼキューターを作成できます。 signtool ツールを使用するには、これが Windows である必要があります。
オーブ:
勝つ: circleci/windows@5.0.0
-
ワークフローを介してジョブを呼び出します。 ワークフローは、実行する一連のジョブを調整します。
ワークフロー:
# ワークフローの名前。
署名ファイル:
# ワークフロー内で、実行するジョブを定義します。
仕事:
– 署名ファイル
- ワークフローで後で呼び出されるジョブを定義します。
仕事:
署名ファイル:
- 実行環境を指定します。 signtool が必要なため、Windows 実行プログラムを使用する必要があります。
遺言執行者:
名前: win/server-2019
サイズ:ミディアム
バリアント: vs 2019
- ジョブの作業ディレクトリを配置します
作業ディレクトリ: /home/circleci/project
- ジョブにステップを追加する 以下を参照してください。 https://circleci.com/docs/2.0/configuration-reference/#steps
手順:
- ワークフローがアクセスできるように、ソース コードをチェックアウトします。
- チェックアウト
- eSignerCKA セットアップをダウンロードして解凍する
- 走る:
name: eSignerCKA セットアップのダウンロードと解凍
コマンド: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip 「https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3」
Expand-Archive -Force eSigner_CKA_1.0.3.zip
アイテムの削除 eSigner_CKA_1.0.3.zip
項目の移動 - 宛先「eSigner_CKA_1.0.3.exe」 - パス「eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe」
- eSignerCKA をインストールする
- 走る:
name: サイレント モードで eSignerCKA をセットアップする
コマンド: |
mkdir -p “/home/circleci/project/eSignerCKA”
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”/home/circleci/project/eSignerCKA” | アウトヌル
- eSignerCKA に SSLcom アカウント情報を設定する
- 走る:
name: eSignerCKA の構成アカウント情報
コマンド: |
/home/circleci/project/eSignerCKA/eSignerCKATool.exe config -mode $env:MODE -user “$env:USERNAME” -pass “$env:PASSWORD” -totp “$env:TOTP_SECRET” -key “/home/circleci /project/eSignerCKA/master.key” -r
- Windows 証明書ストアへの証明書のアンロードとロード
- 走る:
name: 証明書を Windows ストアにロードする
コマンド: |
/home/circleci/project/eSignerCKA/eSignerCKATool.exe アンロード
/home/circleci/project/eSignerCKA/eSignerCKATool.exe 読み込み
- コード署名証明書を選択し、署名用の拇印を取得し、signtool でアーティファクトに署名します
- 走る:
name: Windows ストアから証明書を選択し、SignTool でサンプル ファイルに署名します。
コマンド: |
$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | オブジェクトの選択 - 最初の 1
& 'C:Program Files (x86)Windows Kits10App Certification Kitsigntool.exe'sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 “$($CodeSigningCert.Thumbprint)” “HelloWorld. dll」
.NET コード DLL 署名のサンプル ワークフロー
ワークフローのコンポーネントを準備する
- エディターで .github/workflows フォルダーを作成します。 フォルダーにワークフローを含め、フォルダーの下に sign.yml ファイルを作成します。
- プロジェクトの名前と関連するワークフローのタイプ
名前: サイン アーティファクト
-
プッシュでこのワークフローをトリガーする
オン: プッシュ
-
環境変数を作成する
env:
MASTER_KEY: マスター.キー
SIGNABLE_FILE_PATH: HelloWorld.dll
INSTALL_DIR: C:UsersrunneradmineSignerCKA
MASTER_KEY_FILE: C:UsersrunneradmineSignerCKAmaster.key
-
エディターでジョブを定義する
仕事:
署名ファイル:
-
Windows ランナーでジョブを実行するランオン: windows-latest
-
名前を作成します。 ワークフローが実行されると、これがログに記録される名前になります。
name: eSignerCKA で DLL ファイルに署名
Sign ジョブの手順の概要を説明する
-
ワークフローがアクセスできるように、ソース コードをチェックアウトします。
– 名前: チェックアウト リポジトリ
用途: actions/checkout@v3
- eSignerCKA セットアップをダウンロードして解凍する
– 名前: eSignerCKA セットアップのダウンロードと解凍
実行: |
Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip 「https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3」
Expand-Archive -Force eSigner_CKA_1.0.3.zip
アイテムの削除 eSigner_CKA_1.0.3.zip
項目の移動 - 宛先「eSigner_CKA_1.0.3.exe」 - パス「eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe」 - eSignerCKA をインストールする
– 名前: サイレント モードで eSignerCKA をセットアップする
実行: |
New-Item -ItemType ディレクトリ -Force -Path ${{ env.INSTALL_DIR }}
./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | アウトヌル
- eSignerCKA に SSL.com アカウント情報を設定する
– 名前: eSignerCKA の構成アカウント情報
実行: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe config -mode "${{ Secrets.MODE }}" -user "${{ Secrets.USERNAME }}"
-pass "${{ Secrets.PASSWORD }}" -totp "${{ Secrets.TOTP_SECRET }}" -key "${{ env.MASTER_KEY_FILE }}" -r
- Windows 証明書ストアへの証明書のアンロードとロード
– name: 証明書を Windows ストアにロードする
実行: |
${{ env.INSTALL_DIR }}/eSignerCKATool.exe アンロード
${{ env.INSTALL_DIR }}/eSignerCKATool.exe ロード - コード署名証明書を選択し、署名用の拇印を取得する
– 名前: Windows ストアから証明書を選択
実行: |
$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | オブジェクトの選択 - 最初の 1
echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV - signtool を使用してアーティファクトに署名する
– 名前: SignTool を使用してサンプル ファイルに署名する
実行: |
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/signtool.exe' sign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 ${{ env.THUMBPRINT }} ${{ env.SIGNABLE_FILE_PATH }}
.NET コード DLL 署名のサンプル ワークフロー
ワークフローのコンポーネントを定義する
- Cフォルダーの下に .gitlab-ci.yml として yml ファイルを作成します。
- 使用可能なランナーのリストからランナーを選択するために使用されます。 ジョブを実行するには、ランナーにここにリストされているすべてのタグが必要です。
.windows_runners:
タグ:
– 共有ウィンドウ
- ウィンドウズ
– 窓-1809
- ジョブをステージにグループ化します。 次のステージが実行される前に、XNUMX つのステージのすべてのジョブが完了する必要があります。
ステージ:
- サイン
- 以下は、ファイルに署名するジョブの定義です。 ジョブが実行されるステージを定義します。
署名ファイル:
ステージ:サイン
- 構成を継承する XNUMX つ以上のジョブの名前。
拡張:
– .windows_runners - ファイルに署名するスクリプトを記述します。
スクリプト:
# eSignerCKA セットアップのダウンロードと解凍
– powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip “https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Destination “eSigner_CKA_1.0.3.exe” -Path “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”'
# サイレント モードで eSignerCKA をセットアップする
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Usersgitlab_runnerDesktopeSignerCKA”'
# インストールディレクトリを確認
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerDesktopeSignerCKA'
# eSignerCKA でアカウント情報を設定
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe config -mode ${MODE}
-user "${USERNAME}" -pass "${PASSWORD}" -totp "${TOTP_SECRET}" -key "C:Usersgitlab_runnerAppDataRoamngeSignerCKAmaster.key" -r'
# 証明書を Windows ストアにアンロードする
– powershell.exe -ExecutionPolicy Bypass -コマンド 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe アンロード'
# 証明書を Windows ストアにロードする
– powershell.exe -ExecutionPolicy Bypass -コマンド 'C:Usersgitlab_runnerDesktopeSignerCKAeSignerCKATool.exe ロード'
# データディレクトリをチェック
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerAppDataRoamngeSignerCKA'
# 設定データのディレクトリをチェック
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Usersgitlab_runnerAppDataRoamngeSignerCKAConfig'
# Windows ストアから証明書を選択
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | オブジェクトの選択 - 最初の 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# 証明書の拇印をデバッグする
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $拇印'
# SignTool でサンプル ファイルに署名する
– powershell.exe -ExecutionPolicy Bypass -Command「Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint);」
'C:Program Files (x86)Windows Kits10bin10.0.17763.0x86signtool.exesign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'”
.NET コード DLL 署名のサンプル ワークフロー
ワークフローのコンポーネントを定義する
- ルート フォルダーの下に .travis.yml として yml ファイルを作成します。
- ジョブを実行する CPU アーキテクチャを配置します。
アーチ: amd64
- Travis CI でジョブを実行するためのデフォルト言語
言語: csharp
- ジョブを実行するオペレーティング システム
os:窓
- ステージの順序を指定します。 次のステージを実行する前に、XNUMX つのステージのすべてのジョブを完了する必要があります。
ステージ:
- サイン
- ビルド ステージを定義する
仕事:
次のとおりです。
– ステージ: サイン
-
ジョブ名
名前: 署名ファイル -
ジョブを実行するオペレーティング システム
os:窓 -
Travis CI でジョブを実行するための現在の言語
言語: c -
プロジェクトをビルドする前に実行する Before スクリプトを作成する
before_script:
– powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:Userstravisbuild署名者サンプルeSignerCKASSLcom」
-
プロジェクトをビルドするスクリプトを記述します。
スクリプト:
# eSignerCKA セットアップのダウンロードと解凍
– powershell.exe -ExecutionPolicy Bypass -Command 'Invoke-WebRequest -OutFile eSigner_CKA_1.0.3.zip “https://www.ssl.com/download/ssl-com-esigner-cka-1-0-3”'
– powershell.exe -ExecutionPolicy Bypass -Command 'Expand-Archive -Force eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Remove-Item eSigner_CKA_1.0.3.zip'
– powershell.exe -ExecutionPolicy Bypass -Command 'Move-Item -Destination “eSigner_CKA_1.0.3.exe” -Path “eSigner_CKA_1.0.3SSL.COM eSigner CKA_1.0.3.exe”'
# サイレント モードで eSignerCKA をセットアップする
– powershell.exe -ExecutionPolicy Bypass -Command './eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”C:Userstravisbuild署名者サンプルeSignerCKASSLcom」 | アウト・ヌル」
# インストールディレクトリを確認
– powershell.exe -ExecutionPolicy Bypass -Command 'dir C:Userstravisbuild署名者サンプルeSignerCKASSLcom」
# eSignerCKA でアカウント情報を設定
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Userstravisbuild署名者サンプルeSignerCKASSLcomeSignerCKATool.exe config -mode ${MODE} -user "${USERNAME}"
-pass "${PASSWORD}" -totp "${TOTP_SECRET}" -key "C:Userstravisbuild署名者サンプルeSignerCKASSLcommaster.key” -r'
# 証明書を Windows ストアにアンロードする
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Userstravisbuild署名者サンプルeSignerCKASSLcomeSignerCKATool.exe アンロード'
# 証明書を Windows ストアにロードする
– powershell.exe -ExecutionPolicy Bypass -Command 'C:Userstravisbuild署名者サンプルeSignerCKASSLcomeSignerCKATool.exe ロード'
# Windows ストアから証明書を選択
– powershell.exe -ExecutionPolicy Bypass -Command '$CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | オブジェクトの選択 - 最初の 1; echo $CodeSigningCert.Thumbprint > .Thumbprint'
# 証明書の拇印をデバッグする
– powershell.exe -ExecutionPolicy Bypass -Command 'Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint); echo $拇印'
# SignTool でサンプル ファイルに署名する
– powershell.exe -ExecutionPolicy Bypass -Command「Set-Variable -Name Thumbprint -Value (Get-Content .Thumbprint);」 'C:Program Files (x86)Windows Kits10binx64signtool.exesign /debug /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 $Thumbprint HelloWorld.dll'”
カスタムソリューションが必要ですか?
専門知識とXNUMXつ星のサポートスタッフにより、カスタムソリューションやエンタープライズレベルの大量署名割引についてお客様と協力する準備ができています。 以下のフォームにご記入ください。ご連絡いたします。