验证system32 / drivers文件夹中的数字签名

时间:2012-02-18 08:40:01

标签: c++ winapi crypt winverifytrust

我花了一整夜的时间研究这个没有解决方案。

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

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

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

这是什么交易?

2 个答案:

答案 0 :(得分:6)

0x80092003 = CRYPT_E_FILE_ERROR =读取或写入文件时发生错误。

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

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

答案 1 :(得分:3)

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