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 (必須)
- モード: 'サンドボックス' または '製品' (必須)
.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つ星のサポートスタッフにより、カスタムソリューションやエンタープライズレベルの大量署名割引についてお客様と協力する準備ができています。 以下のフォームにご記入ください。ご連絡いたします。