Release-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 (ad esempio, driver e file di .dll associati) è necessaria ogni volta che:
Il file binario del 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. Questa operazione è necessaria indipendentemente dal fatto che il pacchetto driver del driver disponga di un file di catalogo con firma digitale.
Il file binario del driver viene installato tramite un metodo che non implica un pacchetto driver e un file di catalogo.
Come per i file di catalogo, lo strumento 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 un certificato SPC (Software Publisher Certificate) emesso da un'autorità di certificazione commerciale (CA).
Usare un certificato incrociato compatibile per SPC.
Assegnare un timestamp alla firma digitale tramite un'autorità TSA (TimeStamp Authority).
Per firmare il file ditoaster.sys , eseguire la riga di comando seguente:
Signtool sign /v /fd sha256 /ac MSCV-VSClass3.cer /s MyPersonalStore /n contoso.com /t http://timestamp.digicert.com amd64\toaster.sys
Dove:
Il comando sign configura SignTool per firmare il file binario in modalità kernel specificato ,amd64\toaster.sys.
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 /ac specifica il nome del file che contiene il certificato incrociato (MSCV-VSClass3.cer) ottenuto dalla CA. Usare il nome del percorso completo se il certificato incrociato non si trova nella directory corrente.
L'opzione /s specifica il nome dell'archivio certificati personale (MyPersonalStore) che contiene il SPC.
L'opzione /n specifica il nome del certificato (Contoso.com) 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 sulla firma del rilascio di un driver tramite una firma incorporata, vedere Release-Signing Driver Packages and Release-Signing a Driver File.For more information about release-signing a driver through an embedded signature, see Release-Signing Driver Packages and Release-Signing a Driver File.