2010-05-17 23 views
13

Necesito instalar el controlador libusb-win32 en Windows 7 máquinas de 64 bits. Este controlador es de código abierto, por lo que no está firmado digitalmente, así que quiero hacerlo yo mismo, pero me pregunto si esto se puede hacer SIN pagar mucho dinero. ¿Es posible usar un certificado que NO esté firmado por Verisign o GlobalSign? ¿Tal vez autofirmado o usando StartSSL en su lugar?Windows barato firma de controlador para 64 bits Windows 7

Y si es así, ¿cómo lo hago? De acuerdo con how-to, The Practical Truth About x64 Kernel Driver Signing, tengo que usar un "certificado cruzado" (y solo hay seis disponibles en la lista de Microsoft y la mayoría de ellos son para CA que ya no están activos).

No me importa si el usuario se enfrenta a un mensaje de advertencia. Incluso puedo aceptar si el usuario tiene que instalar primero un certificado especial CA. Solo exijo que el controlador se ejecute sin desactivar manualmente la comprobación de firma en cada inicio de Windows.

Respuesta

8

No, el controlador debe estar firmado por uno de esos certificados específicos y, por lo tanto, el controlador debe estar firmado por una de esas CA. Puede deshabilitar la firma del controlador en la máquina con fines de prueba, pero obviamente no desea hacer esto en las máquinas de producción. Lo siento, así son las cosas.

+1

¿Y no hay forma de inyectar un certificado de CA personalizado para que Windows acepte los controladores firmados por esta CA personalizada? – kayahr

+1

No, el controlador debe tener una firma cruzada con uno de los certificados que proporciona Microsoft. Puede agregar su propio certificado de CA, pero sin un certificado de firma cruzada correspondiente no lo ayudará; solo Microsoft puede generar certificados de firma cruzada. – Luke

+2

La raíz de CA de Microsoft (a la que conecta su certificado con un certificado cruzado) está profundamente integrada en el kernel; no está relacionado con la tienda de certificados. Si bien puede trabajar alrededor de la clasificación de confianza del controlador de SetupAPI mediante la instalación de un certificado raíz en el almacén de certificados, es irrelevante para KMCS. – Ilya

-5

Para permitir la carga en kernel, debe firmar con esas CA y tener WHDL marcado.

La única alternativa sería usar el user mode driver framework. (pero libusb no lo admite; se discutió, pero nunca se implementó)

+1

¿Puede explicar qué significa "WHDL checked"? – kayahr

+8

Los controladores no necesitan pasar por WHQL para cargarse en x64 Windows, solo necesitan estar firmados. – BCran

5

LibUSB_win32 está ya firmado, según http://sourceforge.net/apps/trac/libusb-win32/wiki

Dice: "Vista/7/2008/2008R2 64 bits son compatibles desde la versión 1.2.0.0 desde un Microsoft KMCS aceptó firma digital está integrado en el controlador del núcleo libusb0.sys ".

Por lo tanto, lo único que debe hacer es actualizar su controlador libusb_win32.

Cuestiones relacionadas