Compartilhar via


Test-Signing um binário de driver por meio de uma assinatura inserida

Um arquivo de catálogo assinado é tudo o que você precisa para instalar e carregar corretamente a maioria dos pacotes de driver. No entanto, a assinatura inserida de alguns binários no pacote de driver também pode ser necessária para alguns cenários. Assinatura inserida refere-se à adição de uma assinatura digital ao próprio arquivo de imagem binária do driver, em vez de depender da assinatura digital em um arquivo de catálogo. Como resultado, a imagem binária do driver é modificada quando o driver é inserido.

A assinatura integrada de binários no modo kernel é necessária sempre que o driver é um driver de inicialização. Em versões de 64 bits do Windows Vista e versões posteriores do Windows, os requisitos de assinatura de código no modo kernel afirmam que um driver de inicialização deve ter uma assinatura inserida. Observe que isso é além do arquivo de catálogo do pacote de driver que precisa atender aos Requisitos de Assinatura de Instalação de Dispositivo PnP.

Assim como acontece com arquivos de catálogo, o SignTool é usado para inserir uma assinatura digital em arquivos binários no modo kernel usando um certificado de teste. A linha de comando a seguir mostra como executar o SignTool para fazer o seguinte:

  • Teste o sinal da versão de 64 bits do arquivo binário do exemplo toastpkg, toaster.sys. No diretório de instalação do WDK, esse arquivo está localizado no diretório src\general\toaster\toastpkg\toastcd\amd64 .

  • Use o certificado Contoso.com(Test) do PrivateCertStore para a assinatura de teste. Para obter mais informações sobre como esse certificado foi criado, consulte Criando certificados de teste.

  • Carimbo de data/hora da assinatura digital por meio de uma TSA (autoridade de carimbo de data/hora).

Para testar o sinal do arquivo toaster.sys , execute a seguinte linha de comando:

Signtool sign /v /fd sha256 /s PrivateCertStore /n Contoso.com(Test) /t http://timestamp.digicert.com amd64\toaster.sys

Em que:

  • O comando sign configura SignTool para assinar o arquivo de catálogo especificado, tstamd64.cat.

  • A opção /v habilita operações detalhadas, nas quais o SignTool exibe mensagens de aviso e execução bem-sucedidas.

  • A opção /fd especifica o algoritmo de resumo de arquivo a ser usado para criar assinaturas de arquivo. O padrão é SHA1.

  • A opção /s especifica o nome do repositório de certificados (PrivateCertStore) que contém o certificado de teste.

  • A opção /n especifica o nome do certificado (Contoso.com(Teste)) instalado no repositório de certificados especificado.

  • A opção /t especifica a URL da TSA (http://timestamp.digicert.com) que carimbará a assinatura digital.

Importante

A inclusão de um carimbo de data/hora fornece as informações necessárias para revogação de chave caso a chave privada de assinatura de código do signatário seja comprometida.

  • amd64\toaster.sys especifica o nome do arquivo binário do modo kernel que será assinado inserida.

Para obter mais informações sobre o SignTool e seus argumentos de linha de comando, consulte SignTool.

Para obter mais informações sobre como testar a assinatura de um driver usando uma assinatura inserida, consulte Test-Signing a Driver File.