O driver não foi instalado com o erro 0xE000024B

0

Temos um driver que é construído e assinado internamente. Recentemente, temos tido problemas para instalar isso no windows 7. Inicialmente, faltavam certificados e isso foi resolvido com a instalação dos certificados raiz e intermediário. Cheques Signtool são todos bem sucedidos. Mas agora recebo este erro durante a instalação:

Failed to verify file 'WdfCoInstaller01009.dll' against catalog. Catalog = avp3ioc2.cat, Error = 0xE000024B
!!!  sto:                          Catalog did not contain file hash. File is likely corrupt or a victim of tampering.

Eu verifiquei o arquivo do catálogo e verifiquei a impressão digital em relação à do WdfCoInstaller01009.dll. Tudo combina.

O que pode causar isso? Eu poderia resolver isso sem assinar novamente os drivers (é um processo longo)? Qualquer ajuda seria muito apreciada.

P.S. A partição do Windows tem o EWF ativado. O driver é instalado via DiInstallDriver.

    
por Gayan 18.01.2017 / 03:20

1 resposta

0

O arquivo .cat contém uma soma de verificação de todos os arquivos do driver. Se vocês só assina o .cat, então só cobre o arquivo original (como um arquivo .sys). Você não pode copiar e usar um novo, a menos que assine esse também.

Existem duas verificações de assinatura diferentes. Um é o tempo de instalação check, que se aplica apenas aos pacotes de driver PnP. Esta verificação é feita em todos os sistemas, 32 e 64 bits. Nesse caso, o .cat é importante. Se o arquivo .cat for assinado pelo WHQL, a instalação será silenciosa. Se .cat for assinado por você, você receberá um aviso ("você confia nisso ...)". Se o seu arquivo .cat não estiver assinado ou faltando, você receberá o aviso "driver não assinado". O usuário pode ignorar qualquer um deles e permitir que o driver seja instalado.

O outro é a assinatura do código no modo kernel, que é feito cada um e toda vez que o driver é carregado, mas exclusivamente em sistemas de 64 bits. Por esta verificar, você pode assinar os arquivos de driver .sys, ou se você tiver um pacote de driver, você pode assinar os arquivos .cat. Para esta verificação, você deve usar uma classe 3 certificado de assinatura de código e você deve usar o apropriado certificado cruzado da Microsoft para entrar em seu certificado domínio. Você pode verificar se você fez isso corretamente usando "signtool verify / kp / v". Se você não vir o "Microsoft Code Verification Root ", então você provavelmente não usou um certificado cruzado. Isso é uma grande dor, eu sei.

Agora que isso está esclarecido, a resposta para sua pergunta é SIM, você precisará assinar novamente o driver.

    
por 18.01.2017 / 10:08