Windows 10 x64 non riesce a installare i driver di dispositivo firmati, anche se tutto sembra essere a posto


0

Attualmente sto lottando con la firma del driver del dispositivo Windows 10, la mia azienda ha sviluppato alcuni driver per Windows 10 x86 e x64, che provo a firmare usando un certificato SHA1. So che SHA1 non è l'opzione migliore, ma dovrebbe comunque funzionare per quanto ho capito la documentazione tecnica di Microsoft.

Il vero problema è che i driver si installano correttamente e anche se li controllo usando l'opzione di verifica di signtool, sembrano essere a posto. Windows 10 dice anche che stanno installando bene durante l'installazione del file INF. Ho firmato tutti i file firmabili nel pacchetto driver, inclusi file CAT, DLL, file SYS, ecc.

Il punto in cui i driver in realtà non funzionano è in Gestione dispositivi di Windows 10, lì, ottengo un'icona del punto esclamativo, insieme alla seguente descrizione:

"Codice 52 - Windows non può verificare la firma digitale ..."

Il flusso di lavoro che utilizzo è esattamente il seguente, ovviamente con altri dati effettivi, ma il resto è lo stesso.

"C:\Program Files (x86)\Windows Kits\10\bin\x86\stampinf.exe" -f "P:\MyDriver\mydriver.inf" -d 08/11/2017 -v 1.0.0.1

"C:\Program Files (x86)\Windows Kits\10\bin\x86\Inf2Cat.exe" /driver:"P:\MyDriver" /os:10_X86,10_X64,7_X86,7_X64,8_X86,8_X64,XP_X86,XP_X64

"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" sign /f 
"C:\Users\me\Documents\MyCert\MyCert.pfx" /p myVerySecretPassw0rd /d "My Drivers" /du "http://www.myveryverycompaniesurl.com" /t "http://timestamp.verisign.com/scripts/timestamp.dll" /v /ph "P:\MyDrivers\*.*"

Questo è ciò che "signtool verifica" riporta sui file del driver creati in questo modo:

Verifying: P:\MyDrivers\OneOfMyDLLs.dll

Signature Index: 0 (Primary Signature)
Hash of file (sha1): *************************************************

Signing Certificate Chain:
Issued to: COMODO RSA Certification Authority

Issued by: COMODO RSA Certification Authority

Expires:   Tue Jan 19 01:59:59 2038

SHA1 hash: *************************************************


    Issued to: COMODO RSA Code Signing CA

    Issued by: COMODO RSA Certification Authority

    Expires:   Tue May 09 01:59:59 2028

    SHA1 hash: *************************************************


        Issued to: My Company

        Issued by: COMODO RSA Code Signing CA

        Expires:   Tue Sep 18 01:59:59 2018

        SHA1 hash: *************************************************

Quindi per me, tutto sembra a posto, fino al punto in cui si tratta di Gestione dispositivi, che ha alcuni problemi con una delle firme, o in generale con come sono firmati i file, ma in realtà non mi dà un suggerimento su cosa sta succedendo sbagliato. Modifica: se Microsoft ritiene che SHA-1 sia insufficiente, perché non ci sono messaggi di errore che lo affermino?


Il problema è il certificato SHA1. Windows non si fida più dei certificati SHA1 per le firme digitali come driver firmati e applicazioni firmate. Questo è un fatto ben documentato
Ramhound,

Grazie per la risposta, puoi collegarti a una fonte per quel fatto documentato (come dici tu)? Mi piacerebbe leggerlo. Un'altra domanda rimasta è perché Windows installa i driver, ma poi non riesce in Gestione dispositivi, durante l'installazione e la verifica, dice che tutto va bene, il che è fonte di confusione
Erik

1
Non potrei dirti quando leggo l'annuncio che Windows smetterebbe di fidarsi dei certificati SHA1, solo che l'annuncio diceva che sarebbe successo, e sulla base di ciò che descrivi sembra già accaduto. Vado avanti e raccolgo quello che posso trovare.
Ramhound,

Risposte:


1

So che SHA1 non è l'opzione migliore, ma dovrebbe comunque funzionare per quanto ho capito la documentazione tecnica di Microsoft.

Il problema è che l'attuale build di Windows 10 non si fida dei certificati di firma del codice SHA1. Se lo desideri, puoi ignorare questo comportamento aggiungendo l'intera catena di certificati per il tuo certificato.

Sulla base dell'annuncio di modifica importante - deprecazione di SHA-1 direttamente da Comodo, Windows smette di fidarsi dei certificati di firma del codice SHA1 a gennaio 2016.

1 gennaio 2016 - I prodotti Microsoft, inclusi Internet Explorer e Chrome, cesseranno di fidarsi dei certificati di firma del codice SHA-1

Microsoft a partire da maggio 2017 ha dichiarato:

Oggi, intendiamo fare di più per avvertire i consumatori del rischio di scaricare software firmato con un certificato SHA-1. Il nostro obiettivo è quello di sviluppare un'esperienza comune a livello di sistema operativo che tutte le applicazioni possano utilizzare per avvisare gli utenti della crittografia debole come SHA-1. A lungo termine, Microsoft intende diffidare di SHA-1 su Windows in tutti i contesti. Microsoft sta monitorando attentamente le ultime ricerche sulla fattibilità degli attacchi SHA-1 e lo utilizzerà per determinare i tempi di ammortamento completi.

Applicazione Windows dei certificati SHA1

Una delle risposte alla deprecazione dei certificati di firma del codice SHA1 su Windows ha fornito la seguente tabella. La risposta in questione presenta alcune mitigazioni sicure dell'uso dei certificati SHA1.

inserisci qui la descrizione dell'immagine


Mentre ci sono risposte a quella domanda che indicano che i piani SHA1 di Microsoft sono cambiati, le informazioni sulla data del 1 gennaio 2016 non sono state effettivamente modificate. Se hai un certificato che scade a settembre 2018, significa che è stato firmato dopo il 1 gennaio 2016. Alla fine Comodo non supporta più nemmeno i certificati SHA1.
Ramhound,

Ora sono passato a un certificato SHA-256 e ho anche creato un'impronta digitale e un timestamp SHA 256. Tuttavia, quel codice di errore 52 in Gestione dispositivi con i driver appena firmati è sempre lo stesso, quindi suppongo che non sia più un problema SHA-1. Hai ancora qualche idea?
Erik,

Un'altra cosa che mi viene in mente: è possibile che il mio certificato, che in realtà è un certificato di firma del codice, non sia sufficiente? Qual è la differenza tra la firma del codice e la firma del driver, sono diversi tipi di certificati?
Erik,

1
@Erik Sì, sono diversi ma solo nel processo di convalida quando lo acquisti
Ramhound,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.