在开发我们的64位驱动程序时,我们了解到每个驱动程序都需要经过正确的数字签名才能安装(在“测试模式”下除外)。

最近,我们偶然发现了一个驱动程序(用于USB摄像头),该驱动程序似乎缺少有效的签名。在安装过程中,我们会看到有关未签名驱动程序的红色警告屏幕,但是使用该驱动程序设备可以正常工作。

我拍了照片。
对不起,我怕错过一个重要的观点,因为我显然不明白这里发生了什么。

Devive Manager

驱动程序属性

驱动程序详细信息

来自%system32%\DriverStore\FileRepository的驱动程序文件

证书详细信息

为此,“测试模式”已关闭(并且我们自己的驱动程序正确加载失败)。

他们是怎么做到的? Windows为什么要加载此驱动程序?我会很高兴收到说明此行为的文档中的某些链接。

编辑:

使用注释中建议的冗长的CodeIntegrity日志,我发现一切都没有。日志显示一行



该文件存在于%system32%\catroot\some-guid中,并且与上面的屏幕快照所示的cat文件相同;包括过期的证书。
signtool verify /v /c .\mvBlueFOX_amd64.cat .\mvBlueFOX2.sys

Verifying: .\mvBlueFOX2.sys
File is signed in catalog: .\mvBlueFOX_amd64.cat
Hash of file (sha1): 19E6125B9C5F31E21EDA5DBAA5F77798F8E394C4

Signing Certificate Chain:
    Issued to: Class 3 Public Primary Certification Authority
    Issued by: Class 3 Public Primary Certification Authority
    Expires:   Thu Aug 03 00:59:59 2028
    SHA1 hash: A1DB6393916F17E4185509400415C70240B0AE6B

        Issued to: VeriSign Class 3 Code Signing 2009-2 CA
        Issued by: Class 3 Public Primary Certification Authority
        Expires:   Tue May 21 00:59:59 2019
        SHA1 hash: 12D4872BC3EF019E7E0B6F132480AE29DB5B1CA3

            Issued to: MATRIX VISION GmbH
            Issued by: VeriSign Class 3 Code Signing 2009-2 CA
            Expires:   Tue May 07 00:59:59 2013
            SHA1 hash: 75859F3121E3852E2894E1A7B388CB9E68EBC237

File is not timestamped.

SignTool Error: A certificate chain processed, but terminated in a root
        certificate which is not trusted by the trust provider.

Number of files successfully Verified: 0
Number of warnings: 0
Number of errors: 1

最佳答案

您可以按以下方式禁用“驱动程序签名检查”强制实现。
以管理员身份打开命令提示符,然后键入:

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS

bcdedit -set TESTSIGNING ON

请参阅安全风险警告。
如果由于某种原因它不起作用,您可以使用bcedit删除loadoptions并关闭testsigning。
bcdedit /deletevalue loadoptions

bcdedit -set TESTSIGNING OFF

祝你好运!

关于windows - 如何在Windows 7 64位上安装此未签名的驱动程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20569189/

10-11 22:51
查看更多