Compartir vía


Firma de un controlador

Todos los controladores que se ejecutan en versiones de 64 bits de Windows deben estar firmados antes de que Windows los cargue. Sin embargo, la firma de controladores no es necesaria en versiones de 32 bits de Windows.

Para firmar un controlador, se requiere un certificado. Puede crear su propio certificado para firmar el controlador con durante el desarrollo y las pruebas. Sin embargo, para una versión pública, debe firmar el controlador con un certificado emitido por una entidad raíz de confianza.

Nota Un proyecto de paquete de controladores puede empaquetar la salida de otros proyectos. Si compila un proyecto de paquete de controladores, Microsoft Visual Studio compilará los demás proyectos en los que tiene dependencias. El proyecto de paquete de controladores tiene sus propias propiedades de firma de controladores que son independientes de cualquier otro proyecto dependiente, y sus propiedades de firma de controladores solo se aplican al catálogo (si existe) generado por el proyecto de paquete de controladores. Es decir, el proyecto de paquete de controladores no agregará automáticamente una firma incrustada a los archivos binarios de controladores generados por otros proyectos, ya que se puede usar un certificado diferente para firmar los otros proyectos de controlador, por ejemplo, un certificado de prueba y el resultado en este caso sería un paquete de controladores en el que los archivos binarios se firman involuntariamente con un certificado, mientras que el catálogo de paquetes está firmado con un certificado diferente. Esto puede dar lugar a una degradación del rendimiento. Por ejemplo, si una firma insertada del controlador de inicio de arranque no es válida, Windows no puede usar el certificado con el que se firmó para validar el binario. En su lugar, Windows debe validar el binario con la firma del catálogo, lo que aumentaría el tiempo de arranque.

En esta sección se describe cómo usar Visual Studio para firmar un paquete de controladores.