Requisitos de assinatura de código de driver

Seus drivers devem ser assinados com um certificado antes de serem enviados ao painel de hardware. Sua organização pode associar qualquer número de certificados à sua conta de painel, e cada um de seus envios deve ser assinado com qualquer um desses certificados. Não há restrição quanto ao número de certificados (EV (validação estendida) e Padrão) associados à sua organização.

Este artigo fornece informações gerais sobre os tipos de assinatura de código disponíveis para seus drivers, bem como os requisitos associados para esses drivers.

Para obter informações mais abrangentes sobre os requisitos de assinatura de driver, consulte as seguintes páginas:

Onde obter certificados de assinatura de código

Os certificados de assinatura de código podem ser adquiridos de uma das seguintes autoridades de certificação:

Drivers assinados com certificado EV

Sua conta de painel do Centro de Desenvolvimento de Hardware deve ter pelo menos um certificado EV associado a ela para enviar binários para assinatura por atestado, ou para enviar binários para certificação HLK. As seguintes regras se aplicam:

  • Seu certificado EV registrado deve ser válido no momento do envio.
  • Embora a Microsoft recomende enfaticamente que você assine envios individuais com um certificado EV, você pode assinar envios com um certificado de assinatura Authenticode que também esteja registrado em sua conta do Partner Center.
  • Todos os certificados devem ser SHA2 e assinados com a opção de linha de /fd sha256 comando SignTool.

Se você já tiver um certificado EV aprovado de uma autoridade de certificação, poderá usá-lo para estabelecer uma conta do Partner Center. Se você não tiver um certificado EV, escolha uma das autoridades de certificação e siga suas instruções de compra.

Depois que a autoridade de certificação tiver verificado suas informações de contato e sua compra de certificado for aprovada, siga suas instruções para recuperar o certificado.

Drivers testados por HLK e assinados pelo painel

Um driver assinado de painel que passou nos testes HLK funcionará no Windows Vista por meio do Windows 10, incluindo edições do Windows Server. O teste HLK é o método recomendado para a assinatura de driver, porque ele assinará um driver para todas as versões do sistema operacional. Além disso, os drivers testados pelo HLK demonstram que um fabricante testou rigorosamente seu hardware para atender a todos os requisitos da Microsoft em relação à confiabilidade, segurança, eficiência energética, facilidade de manutenção e desempenho, de modo a fornecer uma ótima experiência do Windows. Isso inclui a conformidade com os padrões do setor e a aderência às especificações da Microsoft para recursos específicos da tecnologia, ajudando a garantir a instalação, a implantação, a conectividade e a interoperabilidade corretas. Para saber como criar um driver testado por HLK para o envio do painel, consulte Introdução ao Windows HLK.

Drivers assinados por atestado do Windows 10 para cenários de teste

A instalação de dispositivos do Windows usa assinaturas digitais para verificar a integridade dos pacotes de driver e a identidade do editor de software que fornece os pacotes de driver.

Apenas para fins de teste, você pode enviar seus drivers para assinatura por atestado, que não requer teste HLK.

A assinatura do atestado tem as seguintes restrições e requisitos:

  • Os drivers assinados por atestado não podem ser publicados no Windows Update para públicos de varejo. Para publicar um driver no Windows Update para o público de varejo, você deve enviar seu driver por meio do WHCP (Programa de Compatibilidade de Hardware do Windows). A publicação de drivers assinados por atestado no Windows Update para fins de teste é suportada selecionando as opções CoDev ou chave do Registro de testes / Surface SSRK.

  • A assinatura do atestado só funciona na Área de Trabalho do Windows 10 e em versões posteriores do Windows. Um driver assinado por atestado não funcionará para outras versões do Windows, como Windows Server 2016, Windows 8 ou Windows 7.

  • A assinatura por atestado oferece suporte ao modo kernel da Área de Trabalho do Windows 10 e aos drivers de modo de usuário. Embora os drivers de modo de usuário não precisem ser assinados pela Microsoft para Windows 10, o mesmo processo de atestado pode ser usado para drivers de modo de usuário e kernel. Para drivers que precisam ser executados em versões anteriores do Windows, você deve enviar logs de teste HLK/HCK para certificação do Windows.

  • A assinatura por atestado não retornará o Nível PE adequado para binários PE ELAM ou Windows Hello. Eles devem ser testados e enviados como pacotes .hlkx para receber os atributos de assinatura adicionais.

  • A assinatura por atestado requer o uso de um Certificado de EV (validação estendida) para enviar o driver ao Partner Center (Painel do Centro de Desenvolvimento de Hardware).

  • A assinatura por atestado requer que os nomes das pastas do driver não contenham caracteres especiais, não tenham caminhos de compartilhamento de arquivos UNC e tenham menos de 40 caracteres.

  • Quando um driver recebe uma assinatura por atestado, ele não é certificado pelo Windows. Uma assinatura por atestado da Microsoft indica que o driver pode ser confiável pelo Windows, mas como o driver não foi testado no HLK Studio, não há garantias feitas sobre compatibilidade, funcionalidade e assim por diante. Um driver que recebe assinatura por atestado não pode ser publicado para o público de varejo por meio do Windows Update. Se você quiser publicar seu driver para o público de varejo, você deve enviar seu driver por meio do WHCP (Programa de Compatibilidade de Hardware do Windows).

  • DUA (Driver Update Acceptable) não suporta drivers assinados usando atestado.

  • Os seguintes níveis e binários PE podem ser processados por meio de atestado:

    • PeTrust
    • DrmLevel
    • HAL
    • .exe
    • .cab
    • .dll
    • .ocx
    • .msi
    • .xpi
    • .xap

Para obter informações sobre como criar um driver assinado por atestado para drivers do Windows 10 em diante, consulte Drivers assinados por atestado do Windows 10 em diante.

Drivers assinados pelo Windows Server

  • O Windows Server 2016 e versões posteriores não aceitarão envios de assinatura por atestado de driver de filtros e dispositivos.
  • O painel só assinará drivers de dispositivos e filtros que passaram com êxito nos testes HLK.
  • O Windows Server 2016 e versões posteriores carregarão apenas drivers assinados pelo painel que passaram com êxito nos testes HLK.

Controle de Aplicativos do Windows Defender

As empresas podem implementar uma política para modificar os requisitos de assinatura de driver usando o Windows 10 Enterprise Edition. O WDAC (Controle de Aplicativo do Windows Defender) fornece uma diretiva de integridade de código definida pela empresa, que pode ser configurada para exigir pelo menos um driver assinado por atestado. Para obter mais informações sobre o WDAC, consulte Planejamento e introdução ao processo de implantação do Controle de Aplicativo do Windows Defender.

Requisitos de assinatura de driver do Windows

A tabela abaixo resume os requisitos de assinatura de driver para Windows:

Versão Painel de atestado assinado Painel de controle aprovado no teste HLK assinado Assinatura cruzada usando um certificado SHA-1 emitido antes de 29 de julho de 2015
Windows Vista Não Sim Sim
Windows 7 Não Sim Sim
Windows 8 / 8.1 Não Sim Sim
Windows 10 Sim Sim Não (a partir do Windows 10 1809)
Windows 10 - Habilitado para DG *Dependente de configuração *Dependente de configuração *Dependente de configuração
Windows Server 2008 R2 Não Sim Sim
Windows Server 2012 R2 Não Sim Sim
Windows Server >= 2016 Não Sim Sim
Windows Server >= 2016 – Habilitado para DG *Dependente de configuração *Dependente de configuração *Dependente de configuração
Windows IoT Enterprise Sim Sim Sim
Windows IoT Enterprise- Habilitado para DG *Dependente de configuração *Dependente de configuração *Dependente de configuração
Windows IoT Core(1) Sim (não obrigatório) Sim (não obrigatório) Sim (a assinatura cruzada também funcionará para certificados emitidos após 29 de julho de 2015)

*Dependente de configuração – Com o Windows 10 Enterprise Edition, as organizações podem usar o WDAC (Controle de Aplicativos do Windows Defender) para definir requisitos de assinatura personalizados. Para obter mais informações sobre o WDAC, consulte Planejamento e introdução ao processo de implantação do Controle de Aplicativo do Windows Defender.

(1) A assinatura de drivers é necessária para fabricantes que desenvolvem produtos de varejo (ou seja, para fins não relacionados ao desenvolvimento) com o IoT Core. Para obter uma lista de CAs (Autoridades de Certificação) aprovadas, consulte Certificados cruzados para assinatura de código no modo kernel. Se a Inicialização Segura UEFI estiver habilitada, os drivers deverão ser assinados.