Winapi 如何验证PE文件的SHA-2签名?

Winapi 如何验证PE文件的SHA-2签名?,winapi,signature,sha2,winverifytrust,Winapi,Signature,Sha2,Winverifytrust,我想在Windows平台上验证PE文件的SHA-2 authenticode数字签名 我尝试使用WinVerifyTrustEx()验证SHA-2签名。 WinVerifyTrustEx在Windows 7上运行良好。但是WinVerifyTrustEx在Windows Vista上不起作用 我在Windows7和WindowsVista上使用了相同的代码 如何在Windows Vista上验证SHA-2签名 [更新] WinVerifyTrustEx在Windows Vista上返回TRUST

我想在Windows平台上验证PE文件的SHA-2 authenticode数字签名

我尝试使用
WinVerifyTrustEx()
验证SHA-2签名。
WinVerifyTrustEx
在Windows 7上运行良好。但是
WinVerifyTrustEx
在Windows Vista上不起作用

我在Windows7和WindowsVista上使用了相同的代码

如何在Windows Vista上验证SHA-2签名

[更新]

WinVerifyTrustEx
在Windows Vista上返回
TRUST\u E\u NOSIGNATURE(0x800B0100)

WinVerifyTrustEx
在Windows 7上返回
ERROR\u SUCCESS

我使用了相同的示例代码并验证了签名的相同可执行文件。 已签名的可执行文件具有SHA-256签名

区别仅在于操作系统(vista和7)


当我尝试验证另一个由SHA-1签名的可执行文件时,
WinVerifyTrustEx
在Vista和7上返回
ERROR\u SUCCESS

如何“不起作用”?也许代码中有缺陷。我们看不到。很可能Vista不支持SHA2,因此出现了问题。这种情况下需要外部库。您能告诉我在这种情况下可以使用哪个外部库吗?我们的SecureBackbox支持Authenticode中的SHA2签名。