我整晚都在研究这个问题,但没有找到解决方案。
我正在尝试验证驱动器文件夹 (C:\Windows\System32\drivers*.sys) 中文件的数字签名,选择您想要的任何一个。我知道代码是正确的,因为如果您将文件从该文件夹移动到 C:\,则测试有效。
WinVerifyTrust
给出错误 80092003
http://pastebin.com/nLR7rvZe
CryptQueryObject
给出错误 80092009
http://pastebin.com/45Ra6eL4
这是怎么回事?
最佳答案
0x80092003 = CRYPT_E_FILE_ERROR = 读取或写入文件时发生错误。
0x80092009 = CRYPT_E_NO_MATCH = 尝试查找对象时没有匹配项。
我猜你在 64 位机器上运行,WOW64 文件系统重定向将你重定向到空的 syswow64\drivers。您可以使用 Wow64DisableWow64FsRedirection() 禁用重定向.
关于c++ - 在 system32/drivers 文件夹中验证数字签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9339842/