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.