Ana içeriğe geç

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

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

Hızlı Başlangıç

Aşağıda en temel imzalama komutu örneği verilmiştir; kopyalayıp yorumlara göre değiştirerek kullanabilirsiniz:

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

Yardımı Görüntüleme

Tam komut yardımını görüntülemek için -h veya --help parametresini kullanabilirsiniz.

./signtool sign -h

Çekirdek Parametre Analizi

ParametreKısaltmaZorunlu muAçıklama ve Örnek
--access-key-kEvetAPI erişim anahtarı. SIGNTOOL_ACCESS_KEY ortam değişkeniyle de ayarlanabilir.
--access-secret-sEvetAPI erişim anahtarı. SIGNTOOL_ACCESS_SECRET ortam değişkeniyle de ayarlanabilir.
--cert-code-cEvetUzaktan kod imzalama hizmetinin abonelik numarası; imza sertifikasını ve faturalandırmayı belirtmek için kullanılır.
--file-fEvetİmzalanacak dosyanın yolu. Örneğin: -f "app.dll".
--out-oHayırÇı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.
--overrideHayırİmzalanacak dosyanın yolunun üzerine yazılıp yazılmayacağı. Varsayılan false'tur.
--sha1-1HayırSHA1 algoritmasıyla imzalamayı etkinleştirir (eski sistem uyumluluğu için).
--sha2-2HayırSHA256 algoritmasıyla imzalamayı etkinleştirir (modern standart, etkinleştirilmesi önerilir).
--nestHayırİç içe imza atılıp atılmayacağı. Dosyada zaten bir imza varsa, --nest=true (varsayılan) mevcut imzayı korur ve yeni imza ekler; false ise eski imzayı temizler. Etki karşılaştırması aşağıdaki gibidir: nest
--timestampHayırSHA1 imzası için kullanılan zaman damgası sunucusu URL'si. Boş dize "" olarak ayarlanırsa devre dışı bırakılır.
--timestamp-rfc3161HayırSHA256 imzası için kullanılan RFC 3161 zaman damgası sunucusu URL'si. Boş dize "" olarak ayarlanırsa devre dışı bırakılır.
--desc-nHayırProgram açıklama bilgisi. Bu bilgi imzaya gömülür ve aşağıdaki gibi sistem güvenlik uyarısında görüntülenebilir: desc
--url-uHayırProgramın resmi bilgi bağlantısı.
--verifyHayırİmzalamadan hemen sonra dosya imzasının geçerli olup olmadığını doğrular.
--dry-runHayırDeneme modu. Bu modda imzalama akışını doğrulamak için kendinden imzalı bir sertifika kullanılır; ilgili erişim anahtarı ve abonelik numarası rastgele doldurulabilir.

Boolean Parametreler Hakkında

true/false değeri kabul eden parametreler için (ör. --sha1, --nest), parametre=değer biçimi kullanılmalıdır; boşlukla ayırma desteklenmez.

  • Doğru: --sha1=true --sha2=false
  • Yanlış: --sha1 true --sha2 false