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 は古い署名をクリアします。効果の比較は以下の通り:![]() | |
| --timestamp | いいえ | SHA1署名で使用するタイムスタンプサーバーURL。空文字列""を設定すると無効化できます。 | |
| --timestamp-rfc3161 | いいえ | SHA256署名で使用するRFC 3161タイムスタンプサーバーURL。空文字列""を設定すると無効化できます。 | |
| --desc | -n | いいえ | プログラムの説明情報。この情報は署名に埋め込まれ、以下のようなシステムセキュリティ警告に表示される場合があります:![]() |
| --url | -u | いいえ | プログラムの公式情報リンク。 |
| --verify | いいえ | 署名後、すぐにファイル署名が有効かどうかを検証します。 | |
| --dry-run | いいえ | 試用モード。このモードでは自己署名証明書を使用して署名フローを検証します。対応するアクセスキーとサブスクリプション番号は任意に入力できます。 |
ブール値パラメータについて
true/false 値を受け入れるパラメータ(--sha1、--nest など)は、パラメータ=値 の形式を使用する必要があり、スペース区切りはサポートされません。
- 正しい:--sha1=true --sha2=false
- 誤り:--sha1 true --sha2 false

