eSigner CKA(クラウドキーアダプター) CNGインターフェース(KSPキーサービスプロバイダー)を使用して、 certutil.exe and signtool.exe コード署名操作を実行するには 電子署名者 CSC API.
として機能する 仮想USBトークンは、物理的なハードウェアを必要とせずに、コード署名証明書をWindows証明書ストアに安全に読み込みます。クラウドベースの署名方法であるeSigner CKAは、USBトークンのコスト、ロジスティクス上の課題、セキュリティリスクを排除しながら、ネットワーク化されたHSMの複雑さを伴わずにエンタープライズグレードの署名機能を提供します。これにより、eSigner CKAは 拡張性、安全性、費用対効果の高いソリューション 最新のコード署名ワークフロー向け。
このガイドはカバーします SignTool を使用した Windows での手動および自動コード署名 実稼働証明書またはテスト証明書を使用します。物理トークンとは異なり、eSigner CKAは 高度な自動化などのCI/CDツールとのシームレスな統合を可能にします。 GitHub Actions、GitLab CI、CircleCI、Travis CICI/CD ツールを使用している場合は、次の関連ガイドを参照してください。 自動化されたコード署名のために eSigner CKA を CI/CD ツールと統合する方法.
要件
- SSLcom が発行するコード署名証明書。
- コード署名証明書は現在 eSigner に登録されている必要があります。このガイドを参照してください: リモートドキュメントおよびコード署名用に eSigner に登録する
- eSigner CKA をコンピューターにインストールし、署名モード (手動または自動) と署名の種類 (本番またはテスト) を構成します。インストール手順については、この記事を参照してください。 SSL.com eSigner Cloud Key Adapter (CKA) のインストール方法。
オプションの手順: 署名前のマルウェアスキャンを使用する
マルウェア スキャンは、コード署名証明書で署名する前にソフトウェアにマルウェアが含まれていないことを確認する SSL.com の重要なサービスです。マルウェア スキャンを統合することで、開発者は強力なセキュリティ レイヤーを追加し、マルウェアが検出されると署名プロセスを自動的に停止し、開発者に必要なアクションを実行するよう警告します。
指示:
- SSL.com アカウントにログインします。 「注文」タブをクリックしてから、 ダウンロード 証明書のリンクをクリックして詳細を表示します。 下にスクロールして、 資格情報への署名 セクションを開き、eSigner 証明書の資格情報を示す部分を見つけます。 というラジオボタンがオンになっていることを確認してください。 署名資格が有効 and マルウェアブロッカーが有効になっています 選ばれる。


- eSigner クラウド キー アダプターをインストールします。
- eSigner CodeSignTool をインストールします。 クリック こちら eSigner CodeSignTool をダウンロードします。
- 次のコマンドを使用して、CodeSignTool でコードをスキャンします。
scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME> - SignTool を使用して、次のコマンドを使用して 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 証明書の注文ページ。
コードに署名するためのコマンドを作成する
コマンドのコンポーネント
手動および自動コード署名の両方において、コマンド 含まれています。
- SignTool (ファイルにデジタル署名し、署名を検証するコマンドライン ツール) の場所を二重引用符で囲みます。例: “C:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ 10.0.22000.0 \ x86 \ signtool.exe”
注: SignTool の場所は、ダウンロードした SDK のバージョンと使用されているアーキテクチャによって異なります。 - その / fd sha256 ハッシュアルゴリズムを指定するオプション
- その / tr http://ts.ssl.com タイムスタンプサーバーアドレスを指定するオプション
- / td sha256 タイムスタンプダイジェストアルゴリズムを指定するオプション
- その / sha1 SignToolがキーストアから適切なコード署名証明書を見つけるために使用する拇印を指定するオプション
- 実際 証明書の拇印
- 署名するファイルのパス(二重引用符で囲みます): “SIGNABLE FILE PATH”
全体的なコマンドは次のようになります。
「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 証明書の拇印「署名可能なファイルパス」.
このエラーが発生した場合:
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をインストールします
コマンドラインから SignTool にアクセスする
思い出していただくと、コード署名のコマンドは次のようになります。
「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 証明書の拇印「署名可能なファイルパス」
コマンドを入力して押すと Enter、メッセージが表示されます 追加ストアの追加が完了。 次に、SSL.comアカウントのユーザー名とパスワードを入力するように求めるウィンドウがポップアップ表示されます。

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


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

次のような情報を読むことができます。 このデジタル署名はOKです。 クリックに進みます 証明書の表示

クリックした後 証明書の表示 ボタンをクリックすると、署名されたファイルに対して発行されたデジタル証明書が発行者からのものであり、発行後の変更から保護されていることを示す情報が表示されます。
自動コード署名
コマンド経由でSignToolにアクセスする
思い出していただくと、コード署名のコマンドは次のようになります。
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ファイルパス"
店は開いています コマンドプロンプト and コマンドを入力します。Enterキーを押すと、次のような通知が表示されます。 追加ストアの追加が完了.

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

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

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

EV コード署名証明書に関する情報が表示され、実行可能ファイルの作成者として検証され、ファイルが改ざんされないように保護されます。
eSigner CKA を使用した関連コード署名ガイド
- ハードウェア ラボ キット (HLK) ファイルの署名 – eSigner CKAを使用する HLKサインツール カーネルモードドライバをテストし、Microsoftへの提出準備を行います。MicrosoftのHLKプラットフォームとの統合にはHLKSigntoolが必要です。
- VBAマクロの署名 – プログラミングの専門知識を必要とせずに Office アプリケーション内のタスクを自動化する Microsoft Visual Basic for Applications (VBA) マクロに署名する方法を学習します。
- .app ファイルの署名 - サイン 。アプリ 完全な Microsoft アプリケーション ソリューションの ID を安全に定義および参照するためのファイルです。
- .vsix ファイルの署名 - サイン .vsix Visual Studio 拡張機能およびアドオンのインストーラー パッケージ。IDE コンポーネントの整合性と信頼性を保証します。


