eSignerCodeSignToolコマンドガイド

コード署名ツール は、MicrosoftAuthenticodeおよびJavaコードオブジェクトにリモートで署名するための安全なプライバシー指向のマルチプラットフォームJavaコマンドラインユーティリティです。 電子署名者 EVコード署名証明書。 ファイルのハッシュはに送信されます SSL.com コード自体が送信されないように署名するため。 これは、機密ファイルに署名する必要があるが、署名のためにネットワーク経由で送信しない場合に理想的です。 CodeSignToolは、大量の署名や既存のCI / CDパイプラインワークフローへの統合のための自動バッチプロセスにも最適です。

デモアカウントと証明書を使用してCodeSignToolを試してみたい場合は、以下をお読みください。 eSignerデモのクレデンシャルと証明書 資格情報と構成情報。

CodeSignTool が署名できるすべてのファイルの種類を知るには、この記事を参照してください。 eSignerがサポートするファイルタイプ

方法の説明については signtool.exeまたはcertutil.exeを使用してEVコード署名を自動化する レビューしてください このハウツー.

代わりにesignerを使用してドキュメントに署名する場合は、 このDocSignToolガイドを参照してください.

CodeSignToolのインストール

CodeSignToolの現在のバージョンをインストールするには、OSに適したファイルをダウンロードして解凍するだけです。

Windows のダウンロードには Java ランタイムが含まれていますが、Linux/macOS バージョンでは Java ランタイムがコンピューターにインストールされている必要があることに注意してください。 コマンドの Windows バージョンはバッチ ファイル (CodeSignTool.bat)およびLinux / macOSバージョンはシェルスクリプトです(CodeSignTool.sh).

CodeSignToolの使用法の概要

使用法: CodeSignTool [-hV] [COMMAND] [PARAMETERS]

オプション:

  • -h, --help:ヘルプメッセージを表示して終了します。
  • -V, --version:バージョン情報を表示して終了します。

コマンド:

  • get_credential_ids: 特定のユーザーに関連付けられている eSigner クレデンシャル ID のリストを出力します。
  • credential_info: クレデンシャル ID に関連するキーと証明書の情報を出力します。
  • sign: 署名およびタイムスタンプ コード オブジェクト。
  • batch_sign: XNUMX つの OTP で複数のコード オブジェクトに署名し、タイムスタンプを付けます。
  • hash: 後で使用するためにハッシュを事前に計算します batch_hash_sign
  • batch_sign_hash: 事前に計算されたハッシュに署名します hash

パラメーター:

  • -access_token=<TOKEN>:OAuth アクセストークン.
  • -credential_id=<CREDENTIAL_ID>: 証明書に署名するための資格 ID。
  • -input_dir_path=<PATH>: 署名するコード オブジェクトの入力ディレクトリ、ハッシュを計算するか、署名されていないファイルと対応するハッシュを選択して署名します。
  • -input_file_path=<PATH>: 署名されるコード オブジェクトのパス。
  • -otp=<OTP>: 認証アプリからの OAuth OTP 値。
  • -output_dir_path=<PATH>: 署名されたコード オブジェクトが書き込まれるディレクトリ。
  • -password=<PASSWORD>: SSL.com アカウントのパスワード。
  • -program_name=<PROGRAM_NAME>: プログラムの名前 (MSI インストーラーのみ)。
  • -totp_secret=<TOTP_SECRET>:OAuth TOTPシークレット
  • -username=<USERNAME>: SSL.comアカウントのユーザー名
  • -override="true": 署名されたファイルを上書きします
パスワードに特殊文字が含まれている場合は、引用符で囲みます(例: -password="P!@^^ssword12").

CodeSignToolコマンド

get_credential_ids

特定のユーザーに関連付けられている eSigner クレデンシャル ID のリストを出力します。 パラメーター -username-password 必要とされます。

使用法: CodeSignTool [-hV] get_credential_ids -username=<USERNAME> -password=<PASSWORD>

例:

CodeSignTool get_credential_ids -username=john.doe@example.com -password="P0z9@lxo41"
Credential ID(s):
- fe537ace-e132-52a9-c2e7-egcd2ac3f1e6

入力します CodeSignTool get_credential_ids 必要なパラメーターがないと、コマンドの使用法情報が表示されます。

資格情報

クレデンシャル ID に関連するキーと証明書の情報を出力します。 パラメーター -credential_id, -username, -password 必要とされます。

使用法: CodeSignTool [-hV] credential_info -credential_id=<CREDENTIAL_ID> -username=<USERNAME> -password=<PASSWORD>

例:

CodeSignTool credential_info -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" EVCS 証明書サブジェクト情報: - サブジェクト DN: OID.1.3.6.1.4.1.311.60.2.1.3。 .1.3.6.1.4.1.311.60.2.1.2=米国、OID.2.5.4.15=ネバダ、OID.20081614243=民間組織、CN=SSL Corp、SERIALNUMBER=NV26、O=SSL Corp、L=ヒューストン、 ST=テキサス、C=US - 証明書の有効期限: 21 年 21 月 37 日月曜日 2024:3:XNUMX EST - 発行者 DN: CN=SSL.com EV コード署名中間 CA RSA RXNUMX、O=SSL Corp、L=ヒューストン、ST=テキサス、C=米国

入力します CodeSignTool credential_info 必要なパラメーターがないと、コマンドの使用法情報が表示されます。

スキャンコード

署名前のマルウェア スキャンを有効にします。 これにより、コードの侵害を避けるために、ファイルをスキャンしてマルウェアの可能性がないか確認します。 マルウェアが検出された場合、コードの署名を防ぎます。

使用法: CodeSignTool scan_code [-hV] -credential_id=<credentialId> -input_file_path=<inputFilePath> -password=<password> [-program_name=<programName>] -username=<username>

SSL.com のマルウェア スキャン サービスのセキュリティ上の利点の詳細については、次の Web サイトをご覧ください。 専用のページ.

符号

署名およびタイムスタンプ コード オブジェクト。 パラメーター -username, -password, -input_file_path 必要とされます。 -credential_id 複数のeSignerコード署名証明書を持つユーザーにのみ必要です。 -output_dir_path, -program_name, -totp_secret オプションです。

使用法: CodeSignTool sign [-hV] [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_file_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]

オプションのパラメータ:

  • If -credential_id が省略され、ユーザーが持っているeSignerコード署名証明書はXNUMXつだけである場合、CodeSignToolはデフォルトでそれを使用します。 ユーザーが複数のコード署名証明書を持っている場合、このパラメーターは必須です。
  • If -output_dir_path で指定されたファイルは省略されます -input_file_path 署名されたファイルで上書きされます。 CodeSignToolは、ファイルを上書きする前にユーザーにプロンプ​​トを表示します。
  • If -program_name MSIインストーラーに署名するときにが存在する場合、値はプログラム名として確認ダイアログに表示されます。
  • If -totp_secret が存在する場合、CodeSignToolは署名用の時間ベースのOTPを計算し、ツールの自動使用を可能にします。 このパラメータが存在しない場合、ユーザーは手動でOTPを入力するように求められます。
EVコード署名証明書をeSignerに登録し、XNUMX要素認証を設定する方法については、以下をお読みください。 eSignerによるリモートEVコード署名。 TOTPシークレット値については、以下を参照してください。 eSignerEVコード署名の自動化.

例:

手動OTP入力:

CodeSignTool sign -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -output_dir_path=signed -input_file_path=test.exe OTP を入力 - Enter キーを押して続行: 884646 コードが正常に署名されました: C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe

自動OTP生成:

CodeSignTool sign -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -totp_secret=ii5gVvZ9G+WkxB3FauAnoL/z14AXSMistcE0jZMWWNSjQDlql2kt2D6Z+l8= -output_dir_path=signed -input_file_path=test.exe
Code signed successfully: C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe

入力します CodeSignTool sign 必要なパラメーターがないと、コマンドの使用法情報が表示されます。

エラーメッセージが表示された場合は、 Error: invalid otp ファイルに署名しようとすると、次のXNUMXつ以上の問題が原因である可能性があります。

  • 認証アプリにスキャンしたQRコードが、コマンドのユーザー名、パスワード、クレデンシャルIDと一致しません。 これは、次の場合に発生する可能性があります。
    • デバイスに2FA用に構成された複数のアカウントがあり、間違ったアカウントを選択しました。
    • ログインクレデンシャルを次の目的で使用しようとしています 共有証明書、ただし、チームメートが共有するQRコードをアカウントからスキャンしました。
  • 入力したOTPはすでに期限切れになっています。
  • コマンドに無効なTOTPシークレットが含まれています。
一部の eSigner ユーザーは、Microsoft Visual Studio でビルドされた MSI インストーラーに署名するときに無効な署名に関する問題を報告しています。 回避策として、MSI ファイルを次でビルドすることをお勧めします。 WiX ツールセット. Visual Studio ユーザーの便宜のために、 WiX ツールセット VS 拡張機能 の新しいガイドができました。

バッチサイン

注:100は、バッチごとに署名できるコードファイルの最大数です。

100 つの OTP で最大 XNUMX 個のコード ファイルに署名してタイムスタンプを付けます。 パラメーター -username, -password, -input_dir_path 必要とされます。 -credential_id 複数のeSignerコード署名証明書を持つユーザーにのみ必要です。 -output_dir_path, -program_name, -totp_secret オプションです。

使用法: CodeSignTool [-hV] batch_sign [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_dir_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]

ユーザーがマルウェア チェックを伴うバッチ署名を実行したい場合は、まずバッチ内の各コード オブジェクトを scan_code コマンドとその後、 batch_sign コマンドを実行できます。

オプションのパラメータ:

  • If -credential_id が省略され、ユーザーが持っているeSignerコード署名証明書はXNUMXつだけである場合、CodeSignToolはデフォルトでそれを使用します。 ユーザーが複数のコード署名証明書を持っている場合、このパラメーターは必須です。
  • If -output_dir_path を省略すると、で指定されたファイル -input_dir_path 署名されたファイルで上書きされます。 CodeSignTool は、ファイルを上書きする前にユーザーにプロンプ​​トを表示します。
  • If -program_name MSIインストーラーに署名するときにが存在する場合、値はプログラム名として確認ダイアログに表示されます。
  • If -totp_secret が存在する場合、CodeSignToolは署名用の時間ベースのOTPを計算し、ツールの自動使用を可能にします。 このパラメータが存在しない場合、ユーザーは手動でOTPを入力するように求められます。

例:

CodeSignTool batch_sign -username=john.doe@example.com -password="P0z9@lxo41" -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=output OTP を入力 - 455145 EnterXNUMX を押して続行しますXNUMX:バッチ署名コマンドが正常に実行されました。 署名されたファイルの出力ディレクトリ: output

入力します CodeSignTool batch_sign 必要なパラメーターがないと、コマンドの使用法情報が表示されます。

ハッシュ

後で使用するためにハッシュを事前に計算します batch_hash_sign コマンド。 パラメータ -input_dir_path 必要とされている。 -program_name オプションです

使用法: CodeSignTool [-hV] hash -input_dir_path=<PATH> [-program_name=<PROGRAM_NAME>]

オプションのパラメータ:

  • If -program_name MSIインストーラーに署名するときにが存在する場合、値はプログラム名として確認ダイアログに表示されます。

例:

CodeSignTool hash -input_dir_path=input ハッシュ コマンドが正常に実行されました。 ハッシュ ファイルは次の場所で作成されます。

入力します CodeSignTool hash 必要なパラメーターがないと、コマンドの使用法情報が表示されます。

バッチ署名ハッシュ

で事前計算された署名ハッシュ hash コマンド。 パラメーター -access_token, input_dir_path, -otp, output_dir_path 必要とされます。 -credential_id 複数のeSignerコード署名証明書を持つユーザーにのみ必要です。

使用法: CodeSignTool [-hV] batch_sign_hash -access_token=<ACCESS_TOKEN> [-credential_id=<CREDENTIAL_ID>] -input_dir_path=<PATH> -output_dir_path=<PATH> -otp=<OTP>

オプションのパラメータ:

  • If -credential_id が省略され、ユーザーが持っているeSignerコード署名証明書はXNUMXつだけである場合、CodeSignToolはデフォルトでそれを使用します。 ユーザーが複数のコード署名証明書を持っている場合、このパラメーターは必須です。

例:

CodeSignTool batch_sign_hash -access_token=eyJraWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0IiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJTU
0wuY29tIEF1dGhlbnRpY2F0aW9uIFNlcnZpY2UiLCJleHAiOjE2MTQ4OTcxNDIsImlhdCI6MTYxNDg5MzU0MiwianRpIjoiZmI2OTZlNDUtMTIzOS00ZGE4LW
I1MmYtODNkZDE2MTY3ZTM3IiwidXNlciI6eyJ1c2VyX2lkIjoxMzIyODU4LCJ1c2VyX2VtYWlsIjoiYWFyb24uZS5ydXNzZWxsQGdtYWlsLmNvbSIsInNzbF9
hY2NvdW50X2lkIjo0NzQzMDJ9LCJjbGllbnQiOnsiaWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0In19.fCKDs1igjsI
UDG2sUN_2OTb90Jw1nKNPHcD1MyEUR6sHCv_aJmcvcaFRne_eKLHzeQ9WtT5y3Fb2ppc50kMnjPG6JgX5gnFMptMn-ySsI277CtKbkSn3u-WSDSovn51jPm82
4wTeJmuXEzdv9clRjTwp6VoM9eqHCIaDAd3MP2xpMaa35cZbDaaAFKQ7jxWo9dUuTZY7DsKK0p1LloUEnmNxtNimQ3GDwkj_M600WB1zYrhDL9_3oZKaXcUx9
qzHcBCLzGgeaZ0xdpZtADxmXDUCcmkZi20yQ53bxqVL2w00sJ73efKB7JGeGWVehO-ZlGs3PUQwooox1JgEgcsA -credential_id=fe537ace-e132-52a9
-c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=output -otp=142392
Batch sign hash command executed successfully. Output directory for signed files: output

入力します CodeSignTool batch_sign_hash 必要なパラメーターがないと、コマンドの使用法情報が表示されます。

ビデオ:eSignerとCodeSignToolを使用したクラウドEVコード署名

https://youtu.be/Br25mZIlKdU
SSL.comをご利用いただきありがとうございます。 ご不明な点がございましたら、メールでお問い合わせください。 Support@SSL.com電話する 1-877-SSL-SECURE、またはこのページの右下にあるチャットリンクをクリックしてください。 また、サポートに関する多くの一般的な質問への回答も、 知識ベース.
Twitter
Facebook
LinkedIn
Reddit
メール

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

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

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

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