Sì, avrai bisogno di una firma del codice o di un certificato Authenticode. (Sembra che non tutti i fornitori di CA chiamino un certificato Authenticode, ad esempio GoDaddy lo chiama semplicemente un certificato di firma del driver.)
Per quanto ne so, con una delle principali eccezioni (vedi sotto), c'è poca differenza tra i fornitori di CA, e in genere raccomanderei semplicemente di usare chi è più economico. Il nostro certificato Authenticode è tramite Verisign / Symantec; Non ho esperienza con gli altri venditori. Dal mio shopping in giro per i certificati SSL regolari (non la firma del codice), sembrava che aziende come Verisign pagassero un premio solo perché erano più conosciute. (È possibile che abbiano una sicurezza migliore o eseguano più verifiche sui loro clienti o simili, ma l'intera infrastruttura CA è davvero tanto strong quanto il suo anello più debole, quindi non offre molti vantaggi anche se è vero.)
Aggiornamento: L'unica eccezione importante, come sottolinea Brian , è che in particolare è richiesto un certificato di Symantec / VeriSign per funzionalità come Segnalazione errori di Windows e Certificazione hardware di Windows, quindi se si desidera utilizzare tali funzioni, è possibile acquistare anche VeriSign. (Questo argomento è ulteriormente discusso in Stack Overflow .)
Una volta ottenuto il certificato:
- Se necessario, esegui
inf2cat
per creare o aggiornare il tuo file .cat
dal file .inf
del tuo driver.
- Esegui
signtool signwizard
(per la modalità GUI) o signtool
con gli argomenti della riga di comando appropriati per firmare il file .cat
.
inf2cat
fa parte di Windows Driver Kit (WDK). signtool
viene fornito con Platform SDK e WDK.
I seguenti siti Web mi sono stati utili quando stavo lavorando alla firma dei driver: