2010-04-29 10 views
5

Ho alcuni driver che sono fondamentalmente LibUSB-Win32 con un nuovo file inf per descrivere ID prodotto/fornitore e stringhe che descrivono il mio hardware. Funziona bene per Windows a 32 bit, ma le versioni a 64 bit hanno problemi; vale a dire che Microsoft nella loro saggezza richiede che tutti i conducenti siano firmati digitalmente.Cosa devo fare e quanto costa ottenere un driver di dispositivo per Windows Vista/7 (32 e 64 bit) firmato?

Quindi le mie domande sono quindi:

  1. Esiste una versione dei driver LibUSB-Win32 che sono già firmato potrei usare?
  2. Se non ce ne sono ancora alcuni firmati, posso canibalizzare, cosa devo fare per far firmare i miei autisti.
  3. Ho bisogno di ottenere versioni a 64 e 32 bit firmate separatamente e questo costa di più?
  4. È this un'alternativa gratuita per farli firmare?
  5. Ci sono altre opzioni che dovrei considerare oltre a richiedere ai miei clienti boot into test mode ogni volta che avviano le loro macchine (non un'opzione che prenderei in considerazione).
  6. Esistono altre opzioni per la firma del codice oltre a Verisign? Ovviamente un'iniziativa gratuita/open source come OpenID sarebbe fantastica ;-)

risposta

2

È possibile utilizzare this tutorial che ignora i driver non firmati. Non penso che tu voglia pagare perché costa qualcosa come $ 400 USD!

Here is an other tutorial

È possibile anche eseguire CMD come amministratore ed eseguire il seguente:

bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS 
bcdedit.exe -set TESTSIGNING ON 
+5

mi piacerebbe sicuramente rifuggire da richiedere ai clienti di avviare il sistema in modalità di test o di firma disabilitare. Innanzitutto, inserirà il tag "Modalità test" sul desktop che potrebbe creare confusione. Secondo, li stai mettendo in una posizione in cui il codice del kernel non firmato e potenzialmente non attendibile potrebbe essere caricato sul loro sistema. – Michael

+0

@Micheal: concordo –

+3

Vale la pena sottolineare che il 'bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS' non funziona post Vista RTM. – tyranid

2

Potreste essere in grado di farla franca con il tentativo della versione libusb-winusb di libusb che cerca di attuare la maggior parte del già esistente funzionalità attorno al driver winusb (che è un file binario firmato MS, quindi non è necessario farlo da soli). Tuttavia YMMV come winusb non mappa al 100% tutte le funzionalità richieste in libusb.

2

Ci sono due questioni separate a portata di mano:

  1. firma il file immagine (cioè il file driver.sys) per soddisfare codice in modalità kernel Signing (KMCS)
  2. La firma del pacchetto di driver per soddisfare l'installazione del driver (cioè il file driver.cat).

Se si prende un driver esistente firmato da un'altra entità (sia WinUSB di Microsoft o libusb-win32), soddisferà KMCS.

Per quanto riguarda l'installazione dei driver, avresti bisogno il proprio certificato di firma codice per firmare un file .cat, che verifica che il tuo inf ei file a cui fa riferimento (ad esempio il file sys) non sono stati modificati e davvero provenire da te È un po 'meno un problema, dal momento che a differenza di KMCS (che impedisce il caricamento del driver), non impedirà l'installazione del driver, ma presenta semplicemente un avviso all'utente.

Un certificato di firma del codice (assicurarsi che supporti KMCS!) costerà centinaia di USD, dipende dalla CA selezionata. Alcuni potrebbero avere piani che ti consentono di pagare per evento di firma piuttosto che a livello globale all'anno.Se non hai bisogno di rilasciare molte versioni, questo potrebbe essere più economico per te.

+2

A partire da Windows 8, penso che i file INF debbano essere firmati. Prima di Windows 8, eri corretto; è stato possibile rilasciare driver non firmati che utilizzano WinUSB o usbser.sys con un semplice avvertimento che non è stato possibile verificare l'editore. –

+2

@DavidGrayson, il file INF deve essere firmato anche su Windows 7, ma non necessariamente con un certificato Authenticode da una nota CA. Questa politica è cambiata? Puoi indicarmi un documento o un blog MSDN? – Ilya

+0

Siamo spiacenti, non ho un documento MSDN a cui indirizzarvi, ma ho l'esperienza di consegnare con successo driver totalmente non firmati a migliaia di clienti che stavano usando XP/Vista/7. L'esistenza di questa finestra di dialogo in Windows Vista/7 dovrebbe anche essere abbastanza convincente per te: http://a.pololu-files.com/picture/0J1348.600.png?717531f0f7c9a7c090f22a2939a61e70 –

0

Secondo la mia ricerca, potrebbe costare un minimo di $ 266 a un autista di dispositivo firmato. La mia comprensione è che solo un'azienda può far firmare un autista. Non lo faranno per le persone.

Ref .: CERTUM Code Signing Certificates

Problemi correlati