3

我使用 winverifytrust 来验证签名。

我正在使用 WINTRUST_ACTION_GENERIC_VERIFY_V2 进行验证。但它很少返回“NO SIGNATURE FOUND”。我无法模拟这个问题。

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

我使用的代码正是

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

任何想法可能导致失败。对同一个文件的相同调用成功了一次,然后又失败了。

4

3 回答 3

1

查看您链接的 MS 示例,如果您遇到TRUST_E_NOSIGNATURE,则需要检查GetLastError()进一步的TRUST_E_错误代码。

他们的逻辑TRUST_E_NOSIGNATURE还包括;

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

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

于 2011-05-04T17:16:41.937 回答
0

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

Server 2008 默认不支持,它需要使用 SHA-1 的签名

于 2017-12-13T00:15:36.433 回答
-3

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

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

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

于 2017-06-19T08:02:42.227 回答