サイトアイコン SSL.com

自動化されたコード署名のために eSigner CKA を CI/CD ツールと統合する方法

以下の XNUMX つの表は、eSigner CKA を統合する方法を示しています。 継続的インテグレーション/継続的デリバリー (CI/CD) ツール for 自動コード署名。 署名用に、CircleCI、GitHub Actions、Gitlab CI、および Travis CI のガイドが提供されています .NETファイル。 署名用に、Azure Pipeline、GitHub Actions、Gitlab CI、および Travis CI のガイドが提供されています .vsix ファイル.

eSigner CKA(クラウドキーアダプター) は、CNG インターフェイス (KSP キー サービス プロバイダー) を使用して、certutil.exe や signtool.exe などのツールが eSigner Cloud Signature Consortium (CSC) 準拠の API  エンタープライズ コード署名操作用。 CI/CD ツールで eSigner ベースのコード署名を行うには、次の XNUMX つの前提条件を満たす必要があります。

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

今すぐ注文

.vsix 署名のワークフロー例

環境変数
サンプル コードについては、 SSL.com Github リポジトリ: https://github.com/SSLcom/esigner-sample

.NETコードDLL 署名ワークフローの例

CircleCI の統合GitHub アクションの統合Gitlab CI 統合TravisCI統合

.NET コード DLL 署名のサンプル ワークフロー

ワークフローのコンポーネントを準備する

  1. エディターで .circleci フォルダーを作成します。 フォルダーにワークフローを含め、フォルダーの下に config.yml として yml ファイルを作成します。
  2. CircleCI のバージョンを設定します。 バージョン フィールドは、非推奨または重大な変更に関する警告を発行するために使用することを目的としています。

    バージョン:2.1

  3. Orbs は、プロジェクト間で共有できる CircleCI 構成の再利用可能なパッケージであり、複数のプロジェクトで使用できるカプセル化され、パラメーター化されたコマンド、ジョブ、およびエグゼキューターを作成できます。 signtool ツールを使用するには、これが Windows である必要があります。

    オーブ:

       勝つ: circleci/windows@5.0.0

  4. ワークフローを介してジョブを呼び出します。 ワークフローは、実行する一連のジョブを調整します。 

    ワークフロー:

       # ワークフローの名前。

       署名ファイル:

          # ワークフロー内で、実行するジョブを定義します。

             仕事:

                – 署名ファイル

  5. ワークフローで後で呼び出されるジョブを定義します。

    仕事:

       署名ファイル:

  6. 実行環境を指定します。 signtool が必要なため、Windows 実行プログラムを使用する必要があります。

    遺言執行者:

       名前: win/server-2019

       サイズ:ミディアム

       バリアント: vs 2019

  7. ジョブの作業ディレクトリを配置します 

    作業ディレクトリ: /home/circleci/project

  8. ジョブにステップを追加する 以下を参照してください。 https://circleci.com/docs/2.0/configuration-reference/#steps  

    手順:

  9. ワークフローがアクセスできるように、ソース コードをチェックアウトします。

    - チェックアウト

  10. 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」

  11. eSignerCKA をインストールする

    - 走る:

          name: サイレント モードで eSignerCKA をセットアップする

          コマンド: |

                mkdir -p “/home/circleci/project/eSignerCKA”

                ./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”/home/circleci/project/eSignerCKA” | アウトヌル

  12. 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

  13. Windows 証明書ストアへの証明書のアンロードとロード

    - 走る:

          name: 証明書を Windows ストアにロードする

          コマンド: |

                /home/circleci/project/eSignerCKA/eSignerCKATool.exe アンロード

                /home/circleci/project/eSignerCKA/eSignerCKATool.exe 読み込み

  14. コード署名証明書を選択し、署名用の拇印を取得し、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 署名のサンプル ワークフロー

ワークフローのコンポーネントを準備する

  1. エディターで .github/workflows フォルダーを作成します。 フォルダーにワークフローを含め、フォルダーの下に sign.yml ファイルを作成します。
  2. プロジェクトの名前と関連するワークフローのタイプ 

    名前: サイン アーティファクト

  3. プッシュでこのワークフローをトリガーする 

    オン: プッシュ

  4. 環境変数を作成する

    env:

     MASTER_KEY: マスター.キー

     SIGNABLE_FILE_PATH: HelloWorld.dll

     INSTALL_DIR: C:UsersrunneradmineSignerCKA

     MASTER_KEY_FILE: C:UsersrunneradmineSignerCKAmaster.key

  5. エディターでジョブを定義する

    仕事:

     署名ファイル:

  6. Windows ランナーでジョブを実行するランオン: windows-latest

  7. 名前を作成します。 ワークフローが実行されると、これがログに記録される名前になります。

    name: eSignerCKA で DLL ファイルに署名

Sign ジョブの手順の概要を説明する

  1. ワークフローがアクセスできるように、ソース コードをチェックアウトします。

    – 名前: チェックアウト リポジトリ

       用途: actions/checkout@v3

  2. 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」
  3. eSignerCKA をインストールする

    – 名前: サイレント モードで eSignerCKA をセットアップする

      実行: |

          New-Item -ItemType ディレクトリ -Force -Path ${{ env.INSTALL_DIR }}

          ./eSigner_CKA_1.0.3.exe /CURRENTUSER /VERYSILENT /SUPPRESSMSGBOXES /DIR=”${{ env.INSTALL_DIR }}” | アウトヌル

  4. 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

  5. Windows 証明書ストアへの証明書のアンロードとロード

    – name: 証明書を Windows ストアにロードする

      実行: |

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe アンロード

          ${{ env.INSTALL_DIR }}/eSignerCKATool.exe ロード
  6. コード署名証明書を選択し、署名用の拇印を取得する

    – 名前: Windows ストアから証明書を選択

      実行: |

          $CodeSigningCert = Get-ChildItem Cert:CurrentUserMy -CodeSigningCert | オブジェクトの選択 - 最初の 1

          echo "THUMBPRINT=$($CodeSigningCert.Thumbprint)" >> $env:GITHUB_ENV
  7. 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 署名のサンプル ワークフロー

ワークフローのコンポーネントを定義する

  1. Cフォルダーの下に .gitlab-ci.yml として yml ファイルを作成します。
  2. 使用可能なランナーのリストからランナーを選択するために使用されます。 ジョブを実行するには、ランナーにここにリストされているすべてのタグが必要です。

    .windows_runners:

          タグ:

                – 共有ウィンドウ

                - ウィンドウズ

                – 窓-1809

  3. ジョブをステージにグループ化します。 次のステージが実行される前に、XNUMX つのステージのすべてのジョブが完了する必要があります。

    ステージ:

          - サイン

  4. 以下は、ファイルに署名するジョブの定義です。 ジョブが実行されるステージを定義します。

    署名ファイル:

         ステージ:サイン

  5. 構成を継承する XNUMX つ以上のジョブの名前。

    拡張:

         – .windows_runners
  6. ファイルに署名するスクリプトを記述します。

    スクリプト:

    # 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 署名のサンプル ワークフロー

ワークフローのコンポーネントを定義する

  1. ルート フォルダーの下に .travis.yml として yml ファイルを作成します。
  2. ジョブを実行する CPU アーキテクチャを配置します。

    アーチ: amd64

  3. Travis CI でジョブを実行するためのデフォルト言語

    言語: csharp

  4. ジョブを実行するオペレーティング システム

    os:窓

  5. ステージの順序を指定します。 次のステージを実行する前に、XNUMX つのステージのすべてのジョブを完了する必要があります。

    ステージ:

      - サイン

  6. ビルド ステージを定義する

    仕事:

      次のとおりです。

         – ステージ: サイン

  7. ジョブ名

    名前: 署名ファイル
  8. ジョブを実行するオペレーティング システム

    os:窓
  9. Travis CI でジョブを実行するための現在の言語

    言語: c
  10. プロジェクトをビルドする前に実行する Before スクリプトを作成する

    before_script:

        – powershell.exe -ExecutionPolicy Bypass -Command 'New-Item -ItemType Directory -Force -Path C:Userstravisbuild署名者サンプルeSignerCKASSLcom」

  11. プロジェクトをビルドするスクリプトを記述します。

    スクリプト:

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

モバイル版を終了