メインコンテンツまでスキップ

SignTool コマンドラインツール使用ガイド

SignTool は sslTrus リモートコード署名サービスのコマンドラインクライアントであり、ターミナルまたは自動化スクリプトでコード署名操作を実行するために使用されます。

クイックスタート

以下は最も基本的な署名コマンドの例です。コピーしてコメントに従って修正した後に使用できます:

# 视情况而定,是否需要开启调试模式
#export DEBUG=1

# 使用环境变量配置 AK、SK 以及证书订阅号
export SIGNTOOL_ACCESS_KEY='' SIGNTOOL_ACCESS_SECRET='' SIGNTOOL_CERT_CODE=''

# 签名
./signtool sign \
--dry-run \
--access-key=$SIGNTOOL_ACCESS_KEY \
--access-secret=$SIGNTOOL_ACCESS_SECRET \
--cert-code=$SIGNTOOL_CERT_CODE \
--file=app-unsigned.exe \
--out=app.exe \
--sha1=false \
--sha2=true \
--timestamp-rfc3161 http://timestamp.acs.microsoft.com

コマンドの詳細説明

開始する前に、以下の3つの情報を準備する必要があります。

ヘルプの表示

-h または --help パラメータを使用すると、コマンドの完全なヘルプを表示できます。

./signtool sign -h

主要パラメーターの解説

パラメーター省略形必須かどうか説明と例
--access-key-kはいAPIアクセスキー。SIGNTOOL_ACCESS_KEY 環境変数で設定することもできます。
--access-secret-sはいAPIアクセスシークレット。SIGNTOOL_ACCESS_SECRET 環境変数で設定することもできます。
--cert-code-cはいリモートコード署名サービスのサブスクリプション番号で、署名証明書の指定と課金に使用されます。
--file-fはい署名対象ファイルのパス。例:-f “app.dll”。
--out-oいいえ出力ファイルのパス。デフォルトでは元のファイル名の末尾に .signed が追加されます。重要:ファイルが既に存在する場合、操作は失敗します。
--overrideいいえ署名対象ファイルのパスを上書きするかどうか。デフォルトは false です。
--sha1-1いいえSHA1アルゴリズムによる署名を有効にします(旧システムとの互換性用)。
--sha2-2いいえSHA256アルゴリズムによる署名を有効にします(現代の標準、有効化を推奨)。
--nestいいえネスト署名を行うかどうか。ファイルに既に署名が存在する場合、--nest=true(デフォルト)では元の署名を保持したまま新しい署名を追加します。false の場合は古い署名を削除します。効果の比較は以下の通りです:nest
--timestampいいえSHA1署名で使用するタイムスタンプサーバーのURL。空文字列""を設定すると無効にできます。
--timestamp-rfc3161いいえSHA256署名で使用するRFC 3161タイムスタンプサーバーのURL。空文字列""を設定すると無効にできます。
--desc-nいいえプログラムの説明情報。この情報は署名に埋め込まれ、以下のようなシステムセキュリティプロンプトに表示される場合があります:desc
--url-uいいえプログラムの公式情報リンク。
--verifyいいえ署名直後にファイルの署名が有効かどうかを検証します。
--dry-runいいえお試しモード。このモードでは自己署名証明書を使用して署名フローを検証します。対応するアクセスキーとサブスクリプション番号は任意の値を入力できます。

ブール値パラメーターについて

true/false の値を受け入れるパラメーター(--sha1、--nest など)は、パラメーター=値 の形式で指定する必要があり、スペース区切りはサポートされていません。

  • 正しい形式:--sha1=true --sha2=false
  • 誤った形式:--sha1 true --sha2 false