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

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