eSigner CKA(Cloud Key Adapter)を使用してSigntool.exeまたはCertutil.exeでEVコード署名を自動化する方法

このガイド記事では、eSigner CKA をインストールして、Signtool での自動および手動のコード署名に使用する方法について説明します。 

eSigner CKA(クラウドキーアダプター) は、CNG インターフェイス (KSP キー サービス プロバイダー) を使用して、certutil.exe や signtool.exe などのツールが eSigner Cloud Signature Consortium (CSC) 準拠の API をエンタープライズ コード署名操作に使用できるようにする Windows ベースのアプリケーションです。 これは仮想 USB トークンのように機能し、コード署名証明書を証明書ストアに読み込みます。

eSigner CKA では、物理 USB トークンでは存在しない CI/CD プロセスでの署名を自動化する柔軟なオプションが可能です。 CircleCI、GitHub Actions、Gitlab CI、Travis CI などの CI/CD ツールで自動コード署名に eSigner CKA を使用する方法については、次のページを参照してください。 自動化されたコード署名のために eSigner CKA を CI/CD ツールと統合する方法.

注意 

この教材には、次のものが必要です。 

  1. EVコード署名証明書を発行しました。 
  2. EVコード署名証明書 現在eSignerに登録されている必要があります。 そうでない場合は、こちらを参照してください ガイド記事
  3. Google認証システムアプリのように携帯電話にインストールされた認証システムアプリ。

 

ユーザーは、eSignerのExtended Validation CodeSigning機能を使用してコードに署名できます。 詳細については、以下をクリックしてください。

詳細

コマンドラインを作成する

コマンドラインのコンポーネント

手動および自動の両方のコード署名の場合、テキストエディタで次のようなコマンドラインを入力する必要があります。 コマンドプロンプト。 コマンドラインには次のものが含まれます。

  1. 括弧で囲まれたSignTool(ファイルのデジタル署名と署名の検証を担当するコマンドラインツール)の場所:「C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ 10.0.22000.0 \ x86 \ signtool.exe”
  2. このアプリケーションには、XNUMXµmおよびXNUMXµm波長で最大XNUMXWの平均出力を提供する / fd sha256 ハッシュアルゴリズムを指定するオプション
  3. このアプリケーションには、XNUMXµmおよびXNUMXµm波長で最大XNUMXWの平均出力を提供する / tr http://ts.ssl.com タイムスタンプサーバーアドレスを指定するオプション
  4. / td sha256 タイムスタンプダイジェストアルゴリズムを指定するオプション
  5. このアプリケーションには、XNUMXµmおよびXNUMXµm波長で最大XNUMXWの平均出力を提供する / sha1 SignToolがキーストアから適切なコード署名証明書を見つけるために使用する拇印を指定するオプション
  6. 実際の証明書の指紋
  7. 括弧で囲まれた署名されるファイルのパス:「SIGNABLEFILEPATH」

全体として、コマンドラインは次のようになります。 

「C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe」sign /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 証明書の拇印「署名可能なファイルパス」

注: デフォルトでは、SSL.com は ECDSA キーからのタイムスタンプをサポートしています。

このエラーが発生した場合: The timestamp certificate does not meet a minimum public key length requirement、ソフトウェア ベンダーに連絡して、ECDSA キーからのタイムスタンプを許可する必要があります。

ソフトウェア ベンダーが通常のエンドポイントの使用を許可する方法がない場合は、このレガシー エンドポイントを使用できます。 http://ts.ssl.com/legacy RSA タイムスタンプ ユニットからタイムスタンプを取得します。

証明書の指紋を見つける

後で、eSigner CKA をインストールし、EV コード署名証明書を ユーザー証明書ストアを押すと、EV コード署名証明書の拇印を確認できます。 ウィンドウズキー+ R 次に入力します certmgr.mscを ユーザー証明書ストアにアクセスします。 証明書マネージャーウィンドウがポップアップしたら、をクリックします。 個人 左側のパネルでフォルダを選択し、 証明書 EV コード署名証明書を見つけるための右側のサブフォルダー。

証明書をダブルクリックします。 詳細を選択 タブをクリックし、下にスクロールして拇印を表示します。 拇印をコピーして、コードに署名するときにコマンドラインに含めます。

手動コード署名

eSignerCKAをインストールします

インストールモードを選択するときは、 手動コード署名 次に、[OK]ボタンをクリックします。

eSignerCKAプログラムにログインします

eSigner CKAをインストールしたら、プログラムを開き、SSL.comアカウントのユーザー名とパスワードを使用してログインします。

ログインに成功すると、EVコード署名証明書が発行されたエンティティの名前、シリアル番号、有効期限、および EVCS (拡張検証コード署名) の頭字語。

テキストエディタでコマンドラインを書く

思い出してください。コード署名のコマンドラインは次のようになります。 

「C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe」sign /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 証明書の拇印「署名可能なファイルパス」

テキストエディタでコマンドラインを記述してを押すと 入力します、メッセージが表示されます 追加ストアの追加が完了。 次に、SSL.comアカウントのユーザー名とパスワードを入力するように求めるウィンドウがポップアップ表示されます。

ワンタイムパスワード(OTP)を入力してください 

eSignerに登録されたEVコード署名証明書のワンタイムパスワード(OTP)が認証システムアプリに送信されます。 入力が成功すると、コマンドプロンプトはファイルが正常に署名されたことを示します。

ファイルのデジタル署名を確認してください

コード署名が正常に完了すると、ファイルのデジタル署名の詳細を確認できるようになります。 署名されたファイルを右クリックし、をクリックします プロパティ、続いて デジタル署名 タブ。 ここには、署名者の名前、使用されているダイジェストアルゴリズム、および署名のタイムスタンプが表示されます。 クリック 詳細 署名されたコードに関する詳細情報を取得するには、ボタンをクリックします。

クリックすると 詳細、あなたは述べている情報を読むことができるようになります このデジタル署名はOKです。 クリックに進みます 証明書の表示

クリックした後 証明書の表示 ボタンをクリックすると、署名されたファイルに対して発行されたデジタル証明書が発行者からのものであり、発行後の変更から保護されていることを示す情報が表示されます。

自動コード署名

eSignerCKAをインストールします

インストールモードを選択するときは、 自動コード署名 次に、[OK]ボタンをクリックします。

マスターキーファイルを保存する

マスターキーファイルを保護することの重要性を説明するメモが表示されます。 読んでOKボタンをクリックしてください。

ウィンドウがポップアップ表示され、マスターキーファイルを保存する場所を選択できます。

SSL.com アカウントのユーザー名とパスワードを入力してください

SSL.comアカウントのユーザー名とパスワードを入力します。

電子署名者を入力してください 時間ベースのワンタイム パスワード (TOTP)

次に、時間ベースのワンタイムパスワード(TOTP)を配置します。 TOTPは、SSL.comアカウントのEVコード署名証明書の注文の詳細に含まれています。 eSignerの注文を登録したときに以前に設定した4桁のPINを入力し、[ QRコードを表示 TOTPを表示するボタン。

TOTPは、ラベルの付いたボックスに表示されます 暗証番号。 TOTPをコピーして、 TOTPシークレット eSigner CKAウィンドウのフィールドをクリックし、 OK ボタンを押して保存します。 

SSL.com アカウントの資格情報と TOTP を入力すると、EV コード署名証明書の詳細を表示できます。 TOTP を更新する場合は、割り当てられたフィールドに新しい TOTP を貼り付けてから、 Save.

テキストエディタでコマンドラインを書く

思い出してください。コード署名のコマンドラインは次のようになります。 

C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ 10.0.22000.0 \ x86 \ signtool.exe "sign / fd sha256 / tr http://ts.ssl.com / td sha256 / sha1証明書拇印" SIGNABLEファイルパス"

Open コマンドプロンプト および コマンドラインを配置します。 Enterを押すと、次のような通知が表示されます。 追加ストアの追加が完了.

数秒後、通知が表示されます 正常に署名されました。 これは、OTPを追加することなく、ファイルが自動化された方法で署名されていることを示しています。 

ファイルのデジタル署名の存在を確認してください

署名したファイルのフォルダの場所を開きます。 それを右クリックしてからクリックします プロパティ。 タブをクリックします デジタル署名 ここでは、使用されているセキュアハッシュアルゴリズムが256ビットであることがわかります。 署名者の名前、ダイジェストアルゴリズム、およびタイムスタンプを表示しているすぐ近くのスペースをクリックします。 強調表示されたら、クリックします 詳細

ポップアップウィンドウに、ファイルのデジタル署名が有効であることが示され、署名された特定の時刻が示されます。 クリック 証明書の表示 ボタンをクリックすると、発行された EV Code Signing デジタル証明書の詳細が表示されます。 

EV コード署名証明書に関する情報が表示され、実行可能ファイルの作成者として検証され、ファイルが改ざんされないように保護されます。 

サンドボックスアカウントでeSignerCKAをテストする方法

eSignerCKAをインストールします

インストールするかどうかを選択します マニュアル or 自動化 モード

**** XNUMXつのモードを選択した場合は、他のモードでテストする前に、プログラムを再インストールする必要があることに注意してください。*****

Appdataのローミングサブディレクトリを開きます

 SSL.comサンドボックスアカウントを使用してeSignerCKAをテストするには、AppDataフォルダーのRoamingサブディレクトリでアプリケーションの設定を変更する必要があります。 入力 %アプリデータ% Windowsの検索バーで、AppDataのローミングサブディレクトリに直接移動します。

eSignerを開く データファイル テキストエディタで

Video Cloud Studioで 電子署名者CKA フォルダ、ファイルを見つけます デザイナーアプリ.データ、右クリックして、テキストエディタ(この場合はテキストエディタ)を使用してファイルを編集するオプションを選択します Notepad++

テキストエディタを開くと、以下の値セットが表示されます。

値セットを後続の行に分割して、編集しやすくすることができます。 

手動モードのテスト署名

手動モードでのテスト署名の場合、次の値が存在する必要があります。

  1. クライアントIDは次のようになります。 qOUezCCzSqgA93acB3LYq6lbNjgZdiOxQc-KayC3UMw
  2. Add -試す api_urlで
    以前:「api_url」:」https://cs.ssl.com / csc / v0 /
    後:「api_url」:」https://cs-try.ssl.com / csc / v0 / 
  3. 交換する ログイン   oauth-サンドボックス auth_urlで
    前:「auth_url」:」https://ログイン.ssl.com / oauth2 / token”
    変更後:「auth_url」:」https://oauth-サンドボックス.ssl.com / oauth2 / token”
  4. 「cred_mode」: 0
  5. 「master_key」:null

自動モードテスト署名

自動モードでのテスト署名の場合、次の値が存在する必要があります。

  1. クライアントIDは次のようになります。 qOUezCCzSqgA93acB3LYq6lbNjgZdiOxQc-KayC3UMw
  2. Add -試す api_urlで
    以前:「api_url」:」https://cs.ssl.com / csc / v0 /
    後:「api_url」:」https://cs-try.ssl.com / csc / v0 / 
  3. 交換する ログイン   oauth-サンドボックス auth_urlで
    前:「auth_url」:」https://ログイン.ssl.com / oauth2 / token”
    変更後:「auth_url」:」https://oauth-サンドボックス.ssl.com / oauth2 / token”
  4. 「cred_mode」: 1
  5. 交換する ヌル の正確なファイルパスを使用してmaster_keyに マスターキー ファイルにソフトウェアを指定する必要があります。
    テストの目的で自動モードでeSignerCKAをインストールする場合は、サンドボックスアカウントのログイン資格情報を提供する必要があります。 その理由は、自動コード署名では、ログイン資格情報がマスターキーを使用して暗号化されるためです。 インストール時に本番ログイン資格情報を入力し、後で自動テスト形式に従ってesignerapp.dataファイルの値を変更すると、指定したユーザー名とパスワードがサンドボックステスト環境に存在しないため、テストを実行できなくなります。

SSL.comサンドボックスアカウントのクレデンシャルを使用してeSignerCKAにログインします

の値を変更した後 デザイナーアプリ.データ, これで、ライブ証明書について前に概説したのと同じ手順に従って、サンドボックスからEVコード署名証明書をテストできます。

eSigner CKA と HLKSigntool を使用してハードウェア ラボ キット (HLK) ファイルに署名する方法

Hardware Lab Kit は、Microsoft に提出するカーネル モード ドライバーをテストおよび準備するためのツールです。 現在、eSigner CKA では、Microsoft の HLK ソフトウェア内で使用するために、HLKSigntool をインストールする必要もあります。 

HLKSignTool.exe を実行する前に、まず eSigner CKA をインストールして構成する必要があります (ユーザーがログインし、TOTP シークレットを設定する)。 

ステップ 1. eSigner CKA をインストールして構成する

ステップ 2. 以下のコマンド ラインで HLKSignTool を使用します。

コマンドライン
HLKSignTool.exe certificate_serial "path_to_file"

例:

HLKSignTool.exe 3364de1e9ed1882e963a89ff7a958e9d "A:\teet.hlkx"

eSigner CKA を使用して VBA マクロに署名する方法

このリンクを使用して、VBA プロジェクトにデジタル署名するための Microsoft Office サブジェクト インターフェイス パッケージをダウンロードしてインストールします。 https://www.microsoft.com/en-us/download/details.aspx?id=56617

注: VBA は eSigner に送信するコードの SHA1 ハッシュを提供しますが、eSigner では SHA256 以上が必要なため、一部のユーザーは署名に失敗する場合があります。これを解決するには、次の操作を行います。 Microsoft 次のことを推奨します。

URLに DWORD レジストリキー値 V1ハッシュ強化 別のハッシュアルゴリズムを選択するには、 HKCU\ソフトウェア\Microsoft\VBA\セキュリティ 価値アルゴリズムルール(1 は SHA1、2 は SHA256、3 は SHA384、4 は SHA512).

インストールしたら、次の手順を実行します。

  1. 管理者のコマンド プロンプトを開き、次のように入力します。パスは、ファイルをインストールした場所になります。

    regsvr32.exe

    regsvr32.exe

    OLE コントロールを登録する方法の詳細については、次のサイトを参照してください。 マイクロソフトのウェブサイト.

    成功すると、次のメッセージが表示されます。「DIIRegister Server in 成功した。」

  2. 以下をインストールします。 download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
  3. eSignerCKAをインストールします
  4. SignTool コマンドを実行してマクロに署名します。 https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

eSigner CKA を使用して .app ファイルに署名する方法

  1. ダウンロード Dynamics.365.BC.55195.US.DVD.zip at https://www.microsoft.com/en-US/download/details.aspx?id=105113 
    注: 署名しようとすると、 。アプリ 最初に Microsoft をインストールせずに eSigner CKA を使用してファイルを作成する Dynamics 365 Business Central アプリケーションでは、次の SignTool エラーが発生します。 このファイル形式は認識されないため、署名できません。
  2. Video Cloud Studioで Dynamics.365.BC.55195.US.DVD.zip コンテンツを好みの場所に抽出します。
  3. Open setup.exeを for Microsoft Dynamics 365 Business Central をクリックし、 次へ>
  4. Microsoft ソフトウェア ライセンス条項を読んで、 承ります >
  5. 選択する 高度なインストール オプション
  6. クリック インストールオプションを選択してください.
  7. 選択する サーバー インストールオプション。
  8. クリック 申し込む ボタン.
  9. インストールが完了するまで待ちます。 インストールが成功したら、 閉じる
  10. SignTool で .app ファイルに署名します。 https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

eSigner CKA を使用して vsix ファイルに署名する方法

  1. Dotnet Core SDK をダウンロードします。 https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  2. OpenVsixSignTool をインストールする
    dotnet tool install -g OpenVsixSignTool
  3. 次の署名コマンドを使用します。
    OpenVsixSignTool sign --sha1 CERTIFICATE THUMBPRINT --timestamp http://ts.ssl.com -ta sha256 -fd sha256 "SIGNABLE FILE PATH"

eSigner CKA でマルウェア スキャンを使用する方法

指示:

  1. SSL.com アカウントにログインします。 「注文」タブをクリックしてから、 ダウンロード 証明書のリンクをクリックして詳細を表示します。 下にスクロールして、 資格情報への署名 セクションを開き、eSigner 証明書の資格情報を示す部分を見つけます。 というラジオボタンがオンになっていることを確認してください。 署名資格が有効 および マルウェアブロッカーが有効になっています 選ばれる。
  2. eSigner クラウド キー アダプターをインストールします。
  3. eSigner CodeSignTool をインストールします。 クリック (茶事の話はこちらをチェック) eSigner CodeSignTool をダウンロードします。
  4. 次のコマンドを使用して、CodeSignTool でコードをスキャンします。 scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. 署名ツールを使用して、次のコマンドを使用して eSigner CKA でコードに署名します。 scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

パラメーター:

  • -input_file_path=<PATH>: 署名されるコード オブジェクトのパス。
  • -username=<USERNAME>SSL.com アカウントのユーザー名
  • -password=<PASSWORD>SSL.com アカウントパスワード。
  • -program_name=<PROGRAM_NAME>:番組名
  • -credential_id=<CREDENTIAL_ID>: 証明書に署名するための資格情報 ID。 電子署名者資格情報 ID は、 SSL.com 証明書の注文ページ。

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

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

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

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

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

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