Ana içeriğe geç

SignTool Komut Satırı Aracı Kullanım Kılavuzu

SignTool, sslTrus uzak kod imzalama hizmetinin komut satırı istemcisidir ve terminalde veya otomasyon betiklerinde kod imzalama işlemlerini gerçekleştirmek için kullanılır.

Hızlı Başlangıç​

Aşağıda, kopyalayıp yorumlara göre düzenleyerek kullanabileceğiniz en temel imzalama komutu örneği verilmiştir:

# 视情况而定,是否需要开启调试模式
#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

Komut Ayrıntıları​

Başlamadan önce aşağıdaki üç bilgiyi hazırlamanız gerekmektedir:

Yardımı Görüntüle​

-h veya --help parametresini kullanarak komutun tam yardımını görüntüleyebilirsiniz.

./signtool sign -h

Temel Parametrelerin Analizi​

ParametreKısaltmaZorunlu mu?Açıklama ve örnekler
--access-key-k是API erişim anahtarı. Ayrıca SIGNTOOL_ACCESS_KEY ortam değişkeni ile de ayarlanabilir.
--access-secret-s是API erişim anahtarı. Ayrıca SIGNTOOL_ACCESS_SECRET ortam değişkeni ile de ayarlanabilir.
--cert-code-c是Uzaktan kod imzalama hizmetinin abonelik numarası; imza sertifikasını ve faturalandırmayı belirtmek için kullanılır.
--file-f是İmzalanacak dosyanın yolu. Örn: -f “app.dll”.
--out-o否Çıktı dosyasının yolu. Varsayılan olarak orijinal dosya adının sonuna .signed eklenir. Önemli: Dosya zaten mevcutsa işlem başarısız olur.
--override否İmzalanacak dosyanın yolunun üzerine yazılıp yazılmayacağı. Varsayılan değer false.
--sha1-1否SHA1 algoritması ile imzalamayı etkinleştirir (eski sistemlerle uyumluluk için).
--sha2-2否SHA256 algoritması ile imzalamayı etkinleştirir (modern standart, etkinleştirilmesi önerilir).
--nest否İç içe imzalamanın yapılıp yapılmayacağı. Dosyada zaten bir imza varsa, --nest=true (varsayılan) mevcut imzayı korur ve yeni bir imza ekler; false ise eski imzayı siler. Etki karşılaştırması aşağıdaki gibidir: nest
--timestamp否SHA1 imzası için kullanılan zaman damgası sunucusu URL'si. Boş dize "" olarak ayarlanarak devre dışı bırakılabilir.
--timestamp-rfc3161否SHA256 imzası için kullanılan RFC 3161 zaman damgası sunucusu URL'si. Boş dize "" olarak ayarlanarak devre dışı bırakılabilir.
--desc-n否Program açıklama bilgisi. Bu bilgi imzaya gömülür ve aşağıdaki gibi sistem güvenlik uyarılarında görüntülenebilir: desc
--url-u否Programın resmi bilgi bağlantısı.
--verify否İmzalamadan hemen sonra dosya imzasının geçerli olup olmadığını doğrular.
--dry-run否Deneme modu. Bu modda imza süreci kendinden imzalı bir sertifika ile doğrulanır; ilgili erişim anahtarı ve abonelik numarası isteğe bağlı olarak doldurulabilir.

Boole Değer Parametreleri Hakkında​

true/false değeri kabul eden parametrelerde (örn. --sha1, --nest), parametre=değer biçimi kullanılmalıdır; boşlukla ayrılma desteklenmez.

  • 正确:--sha1=true --sha2=false
  • 错误:--sha1 true --sha2 false