【问题标题】:Verify digital signature within system32/drivers folder验证 system32/drivers 文件夹中的数字签名
【发布时间】:2012-02-18 08:40:01
【问题描述】:

我整晚都在研究这个问题,但没有解决方案。

我正在尝试验证驱动器文件夹 (C:\Windows\System32\drivers*.sys) 中文件的数字签名,选择您想要的任何一个。我知道代码是正确的,因为如果您将文件从该文件夹移动到 C:\,则测试有效。

WinVerifyTrust 给出错误 80092003 http://pastebin.com/nLR7rvZe

CryptQueryObject 给出错误 80092009 http://pastebin.com/45Ra6eL4

怎么了?

【问题讨论】:

    标签: c++ winapi crypt winverifytrust


    【解决方案1】:

    0x80092003 = CRYPT_E_FILE_ERROR = 读取或写入文件时出错。

    0x80092009 = CRYPT_E_NO_MATCH = 尝试查找对象时不匹配。

    我猜你在 64 位机器上运行,WOW64 文件系统重定向将你重定向到 syswow64\drivers,它是空的。您可以使用Wow64DisableWow64FsRedirection() 禁用重定向。

    【讨论】:

    • 这似乎确实解决了问题——尽管我遇到了额外的困难。仍在调查此问题,但有些文件在一个文件中失败,但在另一个文件中成功。
    【解决方案2】:

    如果您右键单击并查看文件的属性,您可以看到数字签名吗?您的文件很可能是目录的一部分,您需要使用目录 API 从证书数据库中提取证书并进行验证。

    【讨论】:

      猜你喜欢
      • 2013-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      相关资源
      最近更新 更多