Compartir a través de


Test-Signing un archivo binario de controlador a través de una firma incrustada

Un archivo de catálogo firmado es todo lo que debe tener para instalar y cargar correctamente la mayoría de los paquetes de controladores. Sin embargo, la firma insertada de algunos archivos binarios en el paquete de controladores también puede ser necesaria para algunos escenarios. La firma incrustada hace referencia a agregar una firma digital al propio archivo de imagen binaria del controlador, en lugar de depender de la firma digital en un archivo de catálogo. Como resultado, la imagen binaria del controlador se modifica cuando el controlador está firmado.

La firma insertada de archivos binarios en modo kernel es necesaria siempre que el controlador sea un controlador de arranque. En versiones de 64 bits de Windows Vista y versiones posteriores de Windows, los requisitos de firma de código en modo kernel establecen que un controlador de arranque debe tener una firma insertada. Tenga en cuenta que esto se suma al archivo de catálogo del paquete de controladores que necesita cumplir los requisitos de firma de instalación de dispositivos PnP.

Al igual que con los archivos de catálogo, SignTool se usa para insertar una firma digital en archivos binarios en modo kernel mediante un certificado de prueba. En la siguiente línea de comandos se muestra cómo ejecutar SignTool para hacer lo siguiente:

  • Firma de prueba la versión de 64 bits del archivo binario del ejemplo Toastpkg, toaster.sys. Dentro del directorio de instalación de WDK, este archivo se encuentra en el directorio src\general\toastpkg\toastcd\amd64 .

  • Use el certificado Contoso.com(Test) de PrivateCertStore para la firma de prueba. Para obtener más información sobre cómo se creó este certificado, consulte Creación de certificados de prueba.

  • Marca de tiempo la firma digital a través de una entidad de marca de tiempo (TSA).

Para probar la firma del archivo toaster.sys , ejecute la siguiente línea de comandos:

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

Donde:

  • El comando sign configura SignTool para firmar el archivo de catálogo especificado, tstamd64.cat.

  • La opción /v habilita operaciones detalladas, en las que SignTool muestra mensajes de advertencia y ejecución correctos.

  • La opción /fd especifica el algoritmo de resumen de archivo que se va a usar para crear firmas de archivo. El valor predeterminado es SHA1.

  • La opción /s especifica el nombre del almacén de certificados (PrivateCertStore) que contiene el certificado de prueba.

  • La opción /n especifica el nombre del certificado (Contoso.com(Prueba)) que se instala en el almacén de certificados especificado.

  • La opción /t especifica la dirección URL del TSA (http://timestamp.digicert.com) que marcará la firma digital.

Importante

La inclusión de una marca de tiempo proporciona la información necesaria para la revocación de claves en caso de que la clave privada de firma de código del firmante esté en peligro.

  • amd64\toaster.sys especifica el nombre del archivo binario en modo kernel que se incrustará.

Para obtener más información sobre SignTool y sus argumentos de línea de comandos, vea SignTool.

Para obtener más información sobre cómo probar la firma de un controlador mediante una firma insertada, vea Probar firma de un archivo de controlador.