我有一些基本上LibUSB-Win32的驱动程序,带有一个新的.inf文件来描述描述我的硬件的产品/供应商ID和字符串。这适用于32位窗口,但64位版本有问题;即微软以他们的智慧要求所有司机都进行数字签名。
所以我的问题是:
答案 0 :(得分:2)
你可以尝试使用libusb-winusb版本的libusb,试图实现围绕winusb驱动程序的大部分现有功能(这是一个签名的MS二进制文件,所以你不需要这样做你自己)。但是,作为winusb的YMMV不会100%映射到libusb中所需的所有功能。
答案 1 :(得分:2)
手头有两个独立的问题:
如果您使用由另一个实体(无论是Microsoft的WinUSB还是libusb-win32)签名的现有驱动程序,那将满足KMCS。
关于驱动程序安装,您需要自己的代码签名证书来签署.cat文件,该文件验证您的.inf及其引用的文件(例如您的.sys文件)未被修改且真正来自您。这不是一个问题,因为不像KMCS(它阻止你的驱动程序加载),它不会阻止你的驱动程序安装,但只是向用户发出警告。
代码签名证书(确保它支持KMCS!)将花费您数百美元,具体取决于您选择的CA.有些人可能有计划允许您按签名活动付费,而不是每年全球付费。如果您不需要发布许多版本,这对您来说可能更便宜。
答案 2 :(得分:1)
您可以使用忽略未签名驱动程序的this tutorial。我不认为你想支付,因为它花费了400美元!
您也可以以管理员身份运行CMD并运行以下命令:
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON
答案 3 :(得分:0)
根据我的研究,设备驱动程序签名可能只需266美元。我的理解是,只有公司可以签署一个司机。他们不会为个人做这件事。