O Windows 10 x64 falha ao instalar drivers de dispositivos assinados, embora tudo esteja bem

0

No momento, estou lutando com a assinatura do driver de dispositivo do Windows 10; minha empresa desenvolveu alguns drivers para o Windows 10 x86 e x64, que eu tento assinar usando um certificado SHA1. Eu sei SHA1 não é a melhor opção, mas ainda deve funcionar tanto quanto eu entendo a documentação técnica da Microsoft.

O problema real é que os drivers são instalados corretamente e, mesmo que eu os verifique usando a opção de verificação da signtool, eles parecem estar bem. O Windows 10 também diz que eles estão instalando bem ao instalar o arquivo INF. Eu assinei todos os arquivos assináveis no pacote do driver, incluindo arquivos CAT, DLLs, arquivos SYS, etc.

O ponto em que os drivers realmente não funcionam é no gerenciador de dispositivos do Windows 10; aí, eu recebo um ícone de ponto de exclamação, junto com a seguinte descrição:

"Código 52 - O Windows não pode verificar a assinatura digital ..."

O fluxo de trabalho que uso é exatamente o seguinte, é claro, com outros dados reais, mas o restante é o mesmo.

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

"C:\Program Files (x86)\Windows Kits\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\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\*.*"

Isso é o que os relatórios "signtool verify" descrevem sobre os arquivos de driver criados dessa maneira:

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: *************************************************

Então, para mim, tudo parece bem, até o ponto em que se trata do gerenciador de dispositivos, que tem alguns problemas com uma das assinaturas, ou geralmente como os arquivos são assinados, mas na verdade não me dá uma dica o que está errado? Editar: se a Microsoft acha que o SHA-1 é insuficiente, por que não há nenhuma mensagem de erro informando esse fato?

    
por Erik 15.08.2017 / 06:01

1 resposta

1

I know SHA1 is not the best option, but should still work as far as I understand the technical documentation from Microsoft.

O problema é que a versão atual do Windows 10 não confia em certificados de assinatura de código SHA1. Se você quiser, pode anular esse comportamento adicionando toda a cadeia de certificados do seu certificado.

Com base no anúncio de alteração importante - depreciação do SHA-1 diretamente da Comodo, o Windows deixou de confiar nos certificados de assinatura de código SHA1 em janeiro de 2016.

January 1 2016 - Microsoft products, including Internet Explorer and Chrome, will cease to trust SHA-1 code signing certificates

A partir de maio de 2017, a Microsoft declarou:

Today, we intend to do more to warn consumers about the risk of downloading software that is signed using a SHA-1 certificate. Our goal is to develop a common, OS-level experience that all applications can use to warn users about weak cryptography like SHA-1. Long-term, Microsoft intends to distrust SHA-1 throughout Windows in all contexts. Microsoft is closely monitoring the latest research on the feasibility of SHA-1 attacks and will use this to determine complete deprecation timelines.

Windows Enforcement of SHA1 Certificates

Uma das respostas para Depreciação de certificados de assinatura de código SHA1 no Windows forneceu a tabela a seguir. A resposta em questão tem algum mitigações seguras para o uso de certificados SHA1.

enter image description here

    
por 15.08.2017 / 14:09