WinVerifyTrust很少失败

时间:2011-05-04 17:02:30

标签: winverifytrust

我使用winverifytrust验证签名。

我正在使用WINTRUST_ACTION_GENERIC_VERIFY_V2进行验证。但它很少回归“没有签名”。我无法模拟这个问题。

我收到一些用户发生这种情况的反馈。一个反馈有一个日志,表明第一次调用文件的WinVerifyTrust成功,第二次调用同一个文件失败。

我使用的代码正是

http://msdn.microsoft.com/en-us/library/aa382384%28v=VS.85%29.aspx

知道可能导致失败的原因。对同一文件的相同调用已成功一次,然后失败。

3 个答案:

答案 0 :(得分:1)

如果遇到TRUST_E_NOSIGNATURE,请查看您关联的MS示例,然后您需要检查GetLastError()是否还有TRUST_E_错误代码。

TRUST_E_NOSIGNATURE的逻辑还包括;

 else 
 {
   // The signature was not valid or there was an error 
   // opening the file.

因此,似乎IO错误也可能导致这种情况(锁定的文件可以解释间歇性)GetLastError()应该解释。

答案 1 :(得分:0)

http://winwiki.org/wiki/wikimeta.php?kw=Error+Trust_e_nosignature%280x800b0100%29

错误Trust_e_nosignature(0x800b0100)错误可能是由Windows系统文件损坏引起的。

本文包含的信息向您展示如何(手动)和(自动)修复错误Trust_e_nosignature(0x800b0100)。

答案 2 :(得分:0)

在Windows Server 2008上使用仅使用SHA-256签名的文件调用WinVerifyTrust时会发生这种情况,

默认情况下,在Server 2008上不支持,它需要使用SHA-1 的签名。