这里有一个非常好的stackoverflow答案,它涵盖了创建自签名CA,然后使用获得的证书签署可执行文件的内容:如何在Windows上创建自签名证书进行代码签名?。
我已经阅读了很多关于驱动程序签名工作原理的讨论,并且答案似乎几乎毫无疑问,如果没有启用测试模式,则无法加载未签名或自签名的驱动程序。但是,我链接的答案,特别是Roger Lipscombe的一条评论,似乎提供了相反的观点:
“如果要用这个来签名驱动程序,您需要将CA证书导入机器存储区。我的示例将其导入用户存储区,对于大多数软件来说,这是可以接受的,用于测试/内部目的。”
对我来说,只要将CA证书导入机器存储区,我就能够安装带有自签名证书(由自签名CA签发)的驱动程序,而无需对系统进行任何其他更改(通过按F8禁用测试模式,在启动菜单中, messing with boot configuration flags such as TESTSIGNING or NOINTEGRITYCHECKS等)。我正确吗? 如果需要加载没有适当数字签名的驱动程序(例如旧打印机驱动程序等),为什么不更广泛地使用此方法,而是依赖测试模式或第三方软件(DSEO)来篡改系统文件来运行此类驱动程序?
这种方法的缺点是什么? 上述SO问题中描述的过程需要管理员权限,但是安装驱动程序应该需要这些权限。信任自签名CA可能存在安全风险-但是禁用所有签名检查是否会带来更大的安全风险?