SignTool

SignTool (Signtool.exe) adalah alat CryptoAPI baris perintah yang menandatangani file secara digital, memverifikasi tanda tangan dalam file, dan file stempel waktu.

    SignTool [Operation] [Options] [FileName ...]

Daftar parsial operasi, opsi, dan argumen

Operasional

catdb
Mengonfigurasi SignTool untuk memperbarui database katalog. SignTool menambahkan file katalog ke database atau menghapus katalog dari database. Secara default, perintah catdb menambahkan file, yang namanya ditentukan oleh argumen FileName , ke database komponen sistem (driver).

Catatan

Database katalog digunakan untuk pencarian otomatis file katalog.

sign
Mengonfigurasi SignTool untuk menandatangani file secara digital yang namanya ditentukan oleh argumen FileName .

timestamp
Mengonfigurasi SignTool untuk memberi tanda waktu file yang namanya ditentukan oleh argumen FileName .

Memverifikasi
Mengonfigurasi SignTool untuk memverifikasi tanda tangan digital file yang namanya ditentukan oleh argumen FileName .

Opsi operasi Catdb

/D
Mengonfigurasi SignTool untuk memperbarui database katalog. Jika opsi /d atau /g tidak digunakan, SignTool memperbarui komponen sistem dan database driver.

/gGuid
Mengonfigurasi SignTool untuk memperbarui database katalog yang diidentifikasi oleh argumen GUID .

/R
Mengonfigurasi SignTool untuk menghapus setiap file katalog, yang namanya ditentukan oleh argumen FileName , dari database katalog. Jika opsi ini tidak ditentukan, SignTool menambahkan file katalog yang ditentukan ke database katalog.

/u
Mengonfigurasi SignTool untuk menghasilkan nama unik, jika perlu, untuk file katalog guna mencegah konflik dengan file katalog yang ada di database katalog. Jika opsi ini tidak ditentukan, SignTool menimpa katalog yang ada yang memiliki nama yang sama dengan katalog yang ditambahkan.

Opsi operasi tanda tangan

/J Mengonfigurasi SignTool untuk secara otomatis memilih sertifikat penandatanganan terbaik. Jika opsi ini tidak ada, SignTool hanya mengharapkan untuk menemukan satu sertifikat penandatanganan.

/acCrossCertFileName
Menentukan nama file lintas sertifikat yang digunakan dengan Sertifikat Penerbit Perangkat Lunak (SPC) yang bernama CertificateName dan diinstal di store sertifikat StoreName. Opsi ini hanya boleh digunakan jika sertifikat penandatanganan adalah SPC.

/cCertTemplateName
Menentukan Nama Templat Sertifikat (ekstensi Microsoft) untuk sertifikat penandatanganan.

/cspCSPName
Menentukan penyedia layanan kriptografi (CSP) yang berisi kontainer kunci privat.

/dDesc
Menentukan deskripsi konten yang ditandatangani.

/duURL
Menentukan URL untuk deskripsi konten yang ditandatangani yang diperluas.

/fSignCertFile
Menentukan sertifikat penandatanganan dalam file. Hanya format file Personal Information Exchange (PFX) yang didukung. Anda dapat menggunakan alat Pvk2Pfx untuk mengonversi file SPC dan PVK ke format PFX.

Jika file dalam format PFX dilindungi oleh kata sandi, gunakan opsi /p untuk menentukan kata sandi. Jika file tidak berisi kunci privat, gunakan opsi /csp dan /k untuk menentukan CSP dan nama kontainer kunci privat.

/Fd
Menentukan algoritma digest file yang akan digunakan untuk membuat tanda tangan file. Defaultnya adalah SHA1.

/iIssuerName
Menentukan nama penerbit sertifikat penandatanganan. Nilai ini dapat menjadi substring dari seluruh nama penerbit.

/jDLL
Menentukan nama DLL yang menyediakan atribut tanda tangan.

/jpParameterName
Menentukan parameter yang diteruskan ke DLL yang ditentukan oleh perintah /j .

/kcPrivKeyContainerName
Menentukan nama kontainer kunci dari kunci privat.

/nSubjectName
Menentukan nama subjek sertifikat penandatanganan. Nilai ini dapat menjadi substring dari seluruh nama subjek.

/nph
Jika didukung, menekan hash halaman untuk file executable. Default ditentukan oleh variabel lingkungan SIGNTOOL_PAGE_HASHES dan oleh versi wintrust.dll. Opsi ini diabaikan untuk file non-PE.

Kata Sandi/p
Menentukan kata sandi yang akan digunakan saat membuka file PFX. File PFX dapat ditentukan dengan menggunakan opsi /f

Jalur /p7
Menentukan bahwa file Public Key Cryptography Standards (PKCS) #7 diproduksi untuk setiap file konten yang ditentukan. File PKCS #7 diberi nama path\filename.p7.

Nilai /p7ce
Menentukan opsi untuk konten PKCS #7 yang ditandatangani. Atur Nilai ke "Embedded" untuk menyematkan konten yang ditandatangani dalam file PKCS #7, atau ke "DetachedSignedData" untuk menghasilkan bagian data yang ditandatangani dari file PKCS #7 yang dicopot. Jika opsi /p7ce tidak digunakan, konten yang ditandatangani disematkan secara default.

/p7coOID
Menentukan pengidentifikasi objek (OID) yang mengidentifikasi konten PKCS #7 yang ditandatangani.

/Ph Jika didukung, menghasilkan hash halaman untuk file yang dapat dieksekusi.

/rRootSubjectName
Menentukan nama subjek sertifikat akar yang harus ditautkan oleh sertifikat penandatanganan. Nilai ini dapat berupa substring dari seluruh nama subjek sertifikat akar.

/sStoreName
Menentukan nama penyimpanan sertifikat yang akan dibuka saat mencari sertifikat yang akan digunakan untuk menandatangani file. Jika opsi ini tidak ditentukan, penyimpanan sertifikat Saya akan dibuka.

/sha1Hash
Menentukan hash SHA1 dari sertifikat penandatanganan.

/sm
Mengonfigurasi SignTool untuk menggunakan penyimpanan sertifikat komputer alih-alih penyimpanan sertifikat pengguna.

/tURL
Menentukan URL ke server tanda waktu. Jika opsi ini tidak disediakan, file yang ditandatangani tidak diberi tanda waktu. File katalog atau file driver harus diberi tanda waktu, karena jika kunci penanda tangan disusupi, tanda waktu menyediakan informasi yang diperlukan untuk mencabut kunci yang digunakan untuk menandatangani file.

/tdalg
Digunakan dengan opsi /tr untuk meminta algoritma hash yang digunakan oleh server stempel waktu RFC 3161.

URL /tr
Menentukan URL server stempel waktu RFC 3161. Jika opsi ini (atau /t) tidak ada, file yang ditandatangani tidak akan diberi stempel waktu. Peringatan dihasilkan jika pemberian stempel waktu gagal. Opsi ini tidak dapat digunakan dengan opsi /t .

/uPenggunaan
Menentukan penggunaan kunci yang ditingkatkan (EKU) yang harus ada dalam sertifikat penandatanganan. Nilai penggunaan dapat ditentukan oleh OID atau string. Penggunaan default adalah "Code Signing" (1.3.6.1.5.5.7.3.3).

/Uw Menentukan penggunaan "Verifikasi Komponen Sistem Windows" (1.3.6.1.4.1.311.10.3.6).

Opsi operasi tanda waktu

/p7 Stempel waktu file PKCS #7.

URL /t
Menentukan URL server tanda waktu. File yang diberi tanda waktu harus telah ditandatangani sebelumnya

/tdalg
Meminta algoritma hash yang digunakan oleh server stempel waktu RFC 3161. /td digunakan dengan opsi /tr .

/tpindex
Memberi stempel waktu tanda tangan pada indeks.

/tralg
Meminta algoritma hash yang digunakan oleh server stempel waktu RFC 3161. /td digunakan dengan opsi /tr .

Memverifikasi opsi operasi

/J
Menentukan apakah semua metode dapat digunakan untuk memverifikasi file. Pertama, database katalog dicari untuk menentukan apakah file ditandatangani di katalog. Jika file tidak masuk dalam katalog apa pun, SignTool mencoba memverifikasi tanda tangan yang disematkan file. Opsi ini direkomendasikan saat memverifikasi file yang mungkin atau mungkin tidak ditandatangani di katalog.

/Iklan
Menentukan bahwa hanya database katalog default yang dicari untuk katalog tempat file masuk.

/all
Memverifikasi semua tanda tangan dalam file yang menyertakan beberapa tanda tangan.

/Sebagai
Menentukan bahwa hanya database katalog komponen sistem (driver) yang dicari untuk katalog tempat file masuk.

/agCatDBGUID
Menentukan bahwa hanya database katalog, yang diidentifikasi melalui argumen CatDBGUID , yang dicari untuk katalog tempat file masuk.

/cCatalogFileName
Menentukan nama file katalog.

/D Menentukan bahwa Sign Tool harus mencetak deskripsi dan URL deskripsi.

Indeks /ds
Memverifikasi tanda tangan pada posisi tertentu.

/hash {SHA1|SHA256}
Menentukan algoritme hash opsional yang akan digunakan saat mencari file dalam katalog.

/Kp
Mengonfigurasi SignTool untuk memverifikasi bahwa tanda tangan digital dari setiap file yang ditentukan oleh argumen FileName mematuhi kebijakan penandatanganan kode mode kernel dan persyaratan penandatanganan penginstalan perangkat PnP Windows Vista dan versi Windows yang lebih baru. Jika opsi ini tidak ditentukan, SignTool hanya memverifikasi bahwa tanda tangan mematuhi persyaratan penandatanganan penginstalan perangkat PnP.

/Ms
Menggunakan beberapa semantik verifikasi. Ini adalah perilaku default panggilan fungsi WinVerifyTrust pada Windows 8 ke atas.

Versi /o
Memverifikasi file sesuai versi sistem operasi. Format untuk argumen Versi adalah PlatformID:VerMajor.VerMinor.BuildNumber

Penggunaan opsi /o disarankan. Jika /o tidak ditentukan, SignTool mungkin mengembalikan hasil yang tidak terduga. Misalnya, jika Anda tidak menyertakan opsi /o , katalog sistem yang memvalidasi dengan benar pada sistem operasi yang lebih lama mungkin tidak memvalidasi dengan benar pada sistem operasi yang lebih baru.

/p7
Memverifikasi file PKCS #7. Tidak ada kebijakan yang digunakan untuk validasi PKCS #7. Tanda tangan diperiksa dan rantai dibangun untuk sertifikat penandatanganan.

/Pa
Mengonfigurasi SignTool untuk memverifikasi bahwa tanda tangan digital dari setiap file yang ditentukan oleh argumen FileName mematuhi persyaratan penandatanganan penginstalan perangkat PnP.

Catatan

Opsi ini tidak dapat digunakan dengan opsi catdb .

/pgPolicyGUID
Menentukan kebijakan verifikasi oleh GUID. PolicyGUID sesuai dengan ActionID dari kebijakan verifikasi.

Catatan

Opsi ini tidak dapat digunakan dengan opsi catdb .

/Ph Menentukan bahwa Alat Tanda tangan harus mencetak dan memverifikasi nilai hash halaman.

/rRootSubjectName
Menentukan nama subjek sertifikat akar yang harus ditautkan oleh sertifikat penandatanganan. Nilai ini dapat berupa substring dari seluruh nama subjek sertifikat akar.

/Tw
Menentukan bahwa peringatan dihasilkan jika tanda tangan tidak diberi tanda waktu.

Opsi Umum

/q
Mengonfigurasi SignTool untuk menampilkan tidak ada output pada eksekusi yang berhasil dan output minimal untuk eksekusi yang gagal.

/v
Mengonfigurasi SignTool untuk menampilkan versi verbose operasi dan pesan peringatan.

/?
Mengonfigurasi SignTool untuk menampilkan informasi bantuan di jendela perintah.

Filename...
Menentukan daftar satu atau beberapa nama file. Bergantung pada perintah, SignTool akan menandatangani, tanda waktu, atau memverifikasi file yang ditentukan. Jika perintah catdb digunakan, SignTool akan menambahkan atau menghapus file yang ditentukan dari database katalog.

Untuk perintah tanda, tanda waktu, dan verifikasi , file dapat menjadi file katalog untuk paket driver atau file driver.

Untuk perintah catdb , file harus berupa file katalog untuk paket driver.

Keterangan

SignTool mendukung sejumlah besar opsi. Opsi yang dijelaskan dalam topik ini terbatas pada yang dapat Anda gunakan untuk menandatangani atau memverifikasi paket driver atau file driver.

Untuk daftar lengkap parameter SignTool, lihat situs web Microsoft SignTool .

Untuk informasi selengkapnya tentang penandatanganan file, lihat situs web Alat Kriptografi Microsoft.

SignTool versi 32-bit terletak di folder bin\i386 WDK. Alat versi 64-bit terletak di folder bin\amd64 dan bin\ia64 WDK.

Contoh

Berikut ini adalah contoh cara menandatangani file katalog paket driver menggunakan Sertifikat Penerbit Perangkat Lunak (SPC) dan sertifikat silang yang sesuai. Contoh ini berlaku untuk menandatangani paket driver untuk Windows Vista versi 64-bit dan versi Windows yang lebih baru, yang memberlakukan kebijakan penandatanganan kode mode kernel. Contohnya menandatangani file katalog paket driver AbcCatFileName.cat. Untuk menandatangani file katalog, contohnya menggunakan sertifikat silang AbcCrossCertificate dan sertifikat AbcSPCCertificate. Sertifikat AbcSPCCertificate terletak di penyimpanan sertifikat AbcCertificateStore.

Contohnya juga menggunakan server tanda waktu yang tersedia untuk umum untuk menandatangani file katalog. Server tanda waktu disediakan oleh DigiCert dan URL-nya adalah http://timestamp.digicert.com.

SignTool sign /ac AbcCrossCertificate.cer /s AbcCertificateStore /n AbcSPCCertificate /t http://timestamp.digicert.com AbcCatFileName.cat

Berikut ini adalah contoh cara menyematkan tanda tangan dalam file driver menggunakan SPC dan sertifikat silang. Semua parameter sama seperti dalam contoh yang menandatangani file katalog, kecuali bahwa file yang ditandatangani AbcDriverFile.sys alih-alih file katalog AbcCatFileName.cat.

SignTool sign /ac AbcCrossCertificate.cer /s AbcCertificateStore /n AbcSPCCertificate /t http://timestamp.digicert.com AbcDriverFile.sys

Berikut ini adalah contoh cara menandatangani file katalog paket driver menggunakan sertifikat rilis komersial atau sertifikat pengujian komersial. Contoh ini berlaku untuk menandatangani paket driver untuk Windows Vista versi 32-bit dan Versi Windows yang lebih baru, yang tidak memberlakukan kebijakan penandatanganan kode mode kernel. Contohnya menandatangani file katalog paket driver CatalogFileName.cat. Contohnya menggunakan sertifikat uji AbcTestCertificate, yang terletak di penyimpanan sertifikat TestCertificateStore, untuk menandatangani file katalog.

Contohnya juga menggunakan server tanda waktu yang tersedia untuk umum untuk menandatangani file katalog. Server tanda waktu disediakan oleh DigiCert dan URL-nya adalah http://timestamp.digicert.com.

SignTool sign /s TestCertificateStore /n AbcTestCertificate /t http://timestamp.digicert.com CatalogFileName.cat

Memverifikasi Contoh

Berikut ini adalah contoh cara memverifikasi bahwa tanda tangan file katalog paket driver mematuhi kebijakan penandatanganan kode mode kernel dan persyaratan penandatanganan penginstalan perangkat PnP. Contoh memverifikasi tanda tangan file katalog AbcCatalogFile.cat.

SignTool verify /kp CatalogFileName.cat

Berikut ini adalah contoh cara memverifikasi bahwa tanda tangan file yang tercantum dalam file katalog paket driver mematuhi kebijakan penandatanganan kode mode kernel dan persyaratan penandatanganan penginstalan perangkat PnP. Contoh memverifikasi tanda tangan file AbcDriverPackage.inf, yang harus memiliki entri thumbprint dalam file katalog CatalogFileName.cat.

SignTool verify /kp /c CatalogFileName.cat AbcDriverPackage.inf

Berikut ini adalah contoh cara memverifikasi bahwa tanda tangan yang disematkan mematuhi kebijakan penandatanganan kode mode kernel pada Windows Vista dan versi Windows yang lebih baru. Contoh memverifikasi tanda tangan yang disematkan dalam file driver AbcDriverFile.sys.

SignTool verify /kp AbcDriverFile.sys

Berikut ini adalah contoh cara memverifikasi bahwa tanda tangan file katalog paket driver mematuhi persyaratan penandatanganan penginstalan perangkat PnP. Contoh memverifikasi tanda tangan file katalog CatalogFileName.cat.

SignTool verify /pa CatalogFileName.cat

Contoh Menambahkan File Katalog ke Database Komponen Sistem (Driver)

Berikut ini adalah contoh cara menggunakan SignTool untuk menambahkan file katalog CatalogFileName.cat ke database komponen sistem (driver). Opsi /v mengonfigurasi SignTool untuk beroperasi dalam mode verbose dan opsi /u mengonfigurasi SignTool untuk menghasilkan nama unik untuk file katalog yang ditambahkan, jika perlu, untuk mencegah penggantian file katalog yang sudah ada yang memiliki nama yang sama dengan CatalogFileName.cat.

SignTool catdb /v /u CatalogFileName.cat