eSigner CKA(クラウドキーアダプター) は、CNG インターフェイス (KSP キー サービス プロバイダー) を使用して、certutil.exe や signtool.exe などのツールが署名操作に eSigner CSC API を使用できるようにする Windows ベースのアプリケーションです。仮想 USB トークンのように動作し、コード署名証明書を証明書ストアに読み込みます。 この機能により、物理的な USB トークンでは存在しない CI/CD プロセスでの署名を自動化するオプションが提供され、eSigner 証明書の柔軟性が向上します。
このガイドでは、実稼働証明書またはテスト証明書を使用して、Windows SignTool で手動および自動のコード署名を実行する方法を説明します。
注: eSigner CKA を使用すると、物理的な USB トークンでは実現できない CI/CD プロセスでの署名を自動化する柔軟なオプションが実現します。CircleCI、GitHub Actions、Gitlab CI、Travis CI などの CI/CD ツールで自動コード署名を行うために eSigner CKA を使用する方法については、次のページをご覧ください。 自動化されたコード署名のために eSigner CKA を CI/CD ツールと統合する方法.
要件
- SSLcom が発行するコード署名証明書。
- コード署名証明書は現在 eSigner に登録されている必要があります。このガイドを参照してください: リモートドキュメントおよびコード署名用に eSigner に登録する
- eSigner CKA をコンピューターにインストールし、署名モード (手動または自動) と署名の種類 (本番またはテスト) を構成します。インストール手順については、この記事を参照してください。 SSL.com eSigner Cloud Key Adapter (CKA) のインストール方法。
オプションの手順: 署名前のマルウェアスキャンを使用する
マルウェア スキャンは、コード署名証明書で署名する前にソフトウェアにマルウェアが含まれていないことを確認する SSL.com の重要なサービスです。マルウェア スキャンを統合することで、開発者は強力なセキュリティ レイヤーを追加し、マルウェアが検出されると署名プロセスを自動的に停止し、開発者に必要なアクションを実行するよう警告します。
指示:
- SSL.com アカウントにログインします。 「注文」タブをクリックしてから、 ダウンロード 証明書のリンクをクリックして詳細を表示します。 下にスクロールして、 資格情報への署名 セクションを開き、eSigner 証明書の資格情報を示す部分を見つけます。 というラジオボタンがオンになっていることを確認してください。 署名資格が有効 と マルウェアブロッカーが有効になっています 選ばれる。
- 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 証明書の拇印「署名可能なファイルパス」
コマンドを入力して押すと 入力します、メッセージが表示されます 追加ストアの追加が完了。 次に、SSL.comアカウントのユーザー名とパスワードを入力するように求めるウィンドウがポップアップ表示されます。
ワンタイムパスワード(OTP)を入力してください
eSignerに登録されたEVコード署名証明書のワンタイムパスワード(OTP)が認証システムアプリに送信されます。 入力が成功すると、コマンドプロンプトはファイルが正常に署名されたことを示します。
成功しました。コードが署名されました。
ファイルのデジタル署名を確認してください
コード署名が正常に完了すると、ファイルのデジタル署名の詳細を確認できるようになります。 署名されたファイルを右クリックし、をクリックします プロパティ、続いて デジタル署名 タブ。 ここには、署名者の名前、使用されているダイジェストアルゴリズム、および署名のタイムスタンプが表示されます。 クリック 詳細 署名されたコードに関する詳細情報を取得するには、ボタンをクリックします。
次のような情報を読むことができます。 このデジタル署名は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ファイルパス"
Open コマンドプロンプト と コマンドを入力します。Enterキーを押すと、次のような通知が表示されます。 追加ストアの追加が完了.
数秒後、通知が表示されます 正常に署名されました。 これは、OTPを追加することなく、ファイルが自動化された方法で署名されていることを示しています。
ファイルのデジタル署名の存在を確認してください
署名したファイルのフォルダの場所を開きます。 それを右クリックしてからクリックします プロパティ。 タブをクリックします デジタル署名 ここでは、使用されているセキュアハッシュアルゴリズムが256ビットであることがわかります。 署名者の名前、ダイジェストアルゴリズム、およびタイムスタンプを表示しているすぐ近くのスペースをクリックします。 強調表示されたら、クリックします 詳細
ポップアップウィンドウに、ファイルのデジタル署名が有効であることが示され、署名された特定の時刻が示されます。 クリック 証明書の表示 ボタンをクリックすると、発行された EV Code Signing デジタル証明書の詳細が表示されます。
EV コード署名証明書に関する情報が表示され、実行可能ファイルの作成者として検証され、ファイルが改ざんされないように保護されます。
eSigner CKA を使用した関連コード署名ガイド
- eSigner CKA と HLKSigntool を使用してハードウェア ラボ キット (HLK) ファイルに署名する方法. ハードウェア ラボ キット (HLK) は、カーネル モード ドライバーをテストし、Microsoft に送信する準備をするために使用されます。Microsoft の HLK プラットフォームとの統合のために、eSigner CKA では HLKSigntool のインストールも必須です。
- eSigner CKA を使用して VBA マクロに署名する方法. Microsoft Visual Basic for Applications (VBA) を使用すると、プログラミングの専門知識がなくても、Office アプリケーション内で反復タスクを自動化するマクロを記録、作成、および変更できます。
- eSigner CKA を使用して .app ファイルに署名する方法. Microsoft_Application.app ファイルには、ソリューションを構成するすべての拡張機能が包括的に含まれており、このソリューションの ID を定義および参照するための効率的な方法が提供されます。
- eSigner CKA を使用して vsix ファイルに署名する方法. A
.vsix
ファイルは、Microsoft の統合開発環境 (IDE) である Visual Studio の拡張機能とアドオンのインストーラー パッケージです。