64位Windows 7的廉价Windows驱动程序签名

64位Windows 7的廉价Windows驱动程序签名,windows,certificate,code-signing,device-driver,Windows,Certificate,Code Signing,Device Driver,我需要在Windows 7 64位计算机上安装驱动程序。这个驱动程序是开源的,所以没有数字签名,所以我想自己做这个,但我想知道这是否可以不用花很多钱。是否可以使用未经或签名的证书?可能是自签名还是使用 如果是,我该怎么做?根据a,我必须使用“交叉证书”(Microsoft列表上只有六个可用证书,其中大多数证书用于不再活动的CA) 我不在乎用户是否遇到警告消息。如果用户必须先安装特殊证书,我甚至可以接受。我只要求驱动程序在每次Windows启动时运行时不手动禁用签名检查。要允许加载到内核中,您必须

我需要在Windows 7 64位计算机上安装驱动程序。这个驱动程序是开源的,所以没有数字签名,所以我想自己做这个,但我想知道这是否可以不用花很多钱。是否可以使用未经或签名的证书?可能是自签名还是使用

如果是,我该怎么做?根据a,我必须使用“交叉证书”(Microsoft列表上只有六个可用证书,其中大多数证书用于不再活动的CA)


我不在乎用户是否遇到警告消息。如果用户必须先安装特殊证书,我甚至可以接受。我只要求驱动程序在每次Windows启动时运行时不手动禁用签名检查。

要允许加载到内核中,您必须使用这些CA签名并检查WHDL


唯一的选择是使用。(但是
libusb
不支持它——它已经讨论过了,但从未实现过)

不,驱动程序必须由其中一个特定证书交叉签名,因此驱动程序必须由其中一个CA签名。出于测试目的,您可以在机器上禁用驱动程序签名,但显然不希望在生产机器上这样做。抱歉,事情就是这样。

根据

它说:“1.2.0.0版支持Vista/7/2008/2008R2 64位,因为内核驱动程序libusb0.sys中嵌入了Microsoft KMCS接受的数字签名。”


因此,您唯一需要做的就是更新您的libusb_win32驱动程序。

您能解释一下“WHDL checked”是什么意思吗?驱动程序不需要通过WHQL加载到x64 Windows上,它们只需要签名。而且无法注入自定义CA证书,因此Windows接受由此自定义CA签名的驱动程序?不,驱动程序需要与Microsoft提供的证书之一进行交叉签名。您可以添加自己的CA证书,但如果没有匹配的交叉签名证书,它将不会帮助您;只有Microsoft可以生成交叉签名证书。Microsoft的根CA(您将证书与交叉证书连接到的根CA)深入内核;它与证书存储无关。虽然您可以通过在证书存储中安装根证书来解决SetupAPI的驱动程序信任排名问题,但这与KMCS无关。