我需要在Windows 7 64位机器上安装libusb-win32驱动程序。 这个驱动程序是开源的,所以它没有数字签名,所以我想自己做这个,但我不知道这是否可以付出很多钱。 是否可以使用未经Verisign或GlobalSign签名的证书? 也许自签名或通过使用StartSSL ?
如果是的话,我该怎么做呢? 根据一个关于x64内核驱动程序签名的实用真理 ,我必须使用“交叉证书”(微软列表中只有6个可用,大多数是不再活动的CA) 。
我不在乎用户是否面临警告信息。 我甚至可以接受,如果用户必须先安装一个特殊的CA证书。 我只要求驱动程序运行,而不必手动禁用每个Windows启动时的签名检查。
不,驾驶员必须由其中一个具体的证书交叉签字,因此驾驶员必须由其中一个CA签字。 您可以禁用机器上的驱动程序签名以进行测试,但显然您不希望在生产计算机上执行此操作。 对不起,这只是它的方式。
LibUSB_win32现在已经签名,根据http://sourceforge.net/apps/trac/libusb-win32/wiki
它说:“Vista / 7/2008 / 2008R2 64位受版本1.2.0.0支持,因为Microsoft KMCS接受的数字签名嵌入在内核驱动程序libusb0.sys中。”
所以你唯一需要做的就是更新你的libusb_win32驱动。
为了允许加载到内核中,您必须签署这些CA并检查WHDL。
唯一的选择是使用用户模式驱动程序框架 。 (但libusb
不支持它 – 已经讨论过,但从未实现过)