从Delphi以编程方式检查数字签名

时间:2016-05-09 14:10:58

标签: delphi

我对此代码有疑问

Checking digital signature programmatically from Delphi

CertCount始终为= 0

if(不是ImageEnumerateCertificates(hExe,CERT_SECTION_TYPE_ANY,CertCount,nil,0))或(CertCount<> 1)然后退出

我尝试使用" C:\ Program Files(x86)\ Windows Sidebar \ sidebar.exe"和" C:\ Windows \ SysWOW64 \ calc.exe"

1 个答案:

答案 0 :(得分:2)

这是可以预料的。这些系统可执行文件没有数字签名,至少不是此API可以枚举的形式。对于自己的可执行文件,Microsoft使用自己的私有机制来保护自己的身份。

您可以通过右键单击这些文件并从上下文菜单中选择属性操作来验证这一点。您会发现该对话框不包含列出数字签名的页面。

我相信,您链接的答案中提供的代码正确且按设计运行。