Condividi tramite


Test-Signing un file binario del driver tramite una firma incorporata

Un file di catalogo firmato è tutto ciò che è necessario installare e caricare correttamente la maggior parte dei pacchetti driver. Tuttavia, la firma incorporata di alcuni file binari nel pacchetto driver potrebbe essere necessaria anche per alcuni scenari. La firma incorporata si riferisce all'aggiunta di una firma digitale al file di immagine binaria del driver stesso, anziché basarsi sulla firma digitale in un file di catalogo. Di conseguenza, l'immagine binaria del driver viene modificata quando il driver è firmato incorporato.

La firma incorporata dei file binari in modalità kernel è necessaria ogni volta che il driver è un driver di avvio. Nelle versioni a 64 bit di Windows Vista e versioni successive di Windows, i requisiti di firma del codice in modalità kernel dichiarano che un driver di avvio deve avere una firma incorporata. Si noti che questo è oltre al file di catalogo del pacchetto driver che deve soddisfare i requisiti di firma dell'installazione del dispositivo PnP.

Come per i file di catalogo, SignTool viene usato per incorporare una firma digitale all'interno di file binari in modalità kernel usando un certificato di test. La riga di comando seguente illustra come eseguire SignTool per eseguire le operazioni seguenti:

  • Firmare la versione a 64 bit del file binario dell'esempio Toastpkg toaster.sys. All'interno della directory di installazione di WDK, questo file si trova nella directory src\general\toastpkg\toastcd\amd64 .

  • Usare il certificato Contoso.com(Test) di PrivateCertStore per la firma di test. Per altre informazioni sulla creazione di questo certificato, vedere Creazione di certificati di test.

  • Timestamp della firma digitale tramite un'autorità di timestamp (TSA).

Per firmare il file ditoaster.sys , eseguire la riga di comando seguente:

Signtool sign /v /fd sha256 /s PrivateCertStore /n Contoso.com(Test) /t http://timestamp.digicert.com amd64\toaster.sys

Dove:

  • Il comando sign configura SignTool per firmare il file di catalogo specificato tstamd64.cat.

  • L'opzione /v abilita le operazioni dettagliate, in cui SignTool visualizza messaggi di esecuzione e avviso riusciti.

  • L'opzione /fd specifica l'algoritmo di digest del file da usare per la creazione di firme di file. Il valore predefinito è SHA1.

  • L'opzione /s specifica il nome dell'archivio certificati (PrivateCertStore) che contiene il certificato di test.

  • L'opzione /n specifica il nome del certificato (Contoso.com(Test)) installato nell'archivio certificati specificato.

  • L'opzione /t specifica l'URL del TSA (http://timestamp.digicert.com) che timestamperà la firma digitale.

Importante

L'inclusione di un timestamp fornisce le informazioni necessarie per la revoca delle chiavi nel caso in cui la chiave privata per la firma del codice del firmatario venga compromessa.

  • amd64\toaster.sys specifica il nome del file binario in modalità kernel che verrà firmato incorporato.

Per altre informazioni su SignTool e sui relativi argomenti della riga di comando, vedere SignTool.

Per altre informazioni su come testare la firma di un driver usando una firma incorporata, vedere Test-Signing a Driver File.For more information about how to test-sign-a driver by using an embedded signature, see Test-Signing a Driver File.