Windows是否需要用户模式驱动程序签名?

3

我有一个用于设备用户模式驱动程序的inf文件。

Windows是否要求我对这个驱动程序进行签名? 不签名会有什么风险?

我知道内核模式驱动程序需要签名。


请查看有关Windows 8和10的更新答案 https://dev59.com/0V3Ua4cB1Zd3GeqP9RiA#44923893 - Tsagana Nokhaeva
3个回答

5
接受的答案对于Windows 7是正确的,但是从Windows 8开始,情况就不同了,现在是Windows 10。
用户模式驱动程序,例如打印机驱动程序,将安装并在基于x64的计算机上工作。在安装期间,将向用户显示对话框,要求批准安装驱动程序。从Windows 8和以后的Windows版本开始,除非这些驱动程序包也被签名,否则安装将无法继续进行。

https://learn.microsoft.com/en-us/windows-hardware/drivers/install/windows-driver-signing-tutorial


这是在讨论整个驱动程序“包”,而不是驱动程序二进制文件本身(而且可以相当轻松地通过测试签名来绕过)。虽然(在非常现实的意义上)这现在已经成为完整答案的一部分,因为OP绝对是在使用Windows 7,所以确保的问题是:为了让它们加载,你需要像签名*.sys*一样签名UMDF .dlls吗? - undefined

1

您需要对其进行签名,但是可以使用自签名证书与用户模式驱动程序。


仅供记录,实际上没有任何明确证明这一点的文档(事实上,即使在MSDN上也没有明确说明正常UMDF部署需要哪种签名)。但我找到了多个开发者的评论,他们表示任何廉价的Authenticode证书都可以用于向公众发布。因此,我推断验证必须发生在正常的证书存储之外,而这是您可以轻松操作的。 - undefined

1
简短的回答是不需要;在x86/x64上,Windows不需要用户模式驱动程序签名。
没有签名也没有风险,您也不必支付费用让微软签署驱动程序。

更新: 随着Soroush Falahati的回答,情况已经不再如此,请参考他的回答。


Windows 8怎么办?我认为甚至在Windows 8中的INF文件也需要签名,所以如果你的东西需要一个INF文件,那么你需要开始签名。 - David Grayson
看看关于Windows 8和10的更新答案。 - Tsagana Nokhaeva

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接