使用自签名证书验证Authenticode

问题描述 投票:0回答:1

如果我的自签名证书不在计算机的受信任根证书存储中,如何验证 PE 文件是否使用该证书进行 Authenticode 签名,而不将该证书添加到受信任根存储中?

C# 是首选,但 C++ 的答案也可以。

StackOverflow 上已经有很多类似的问题,但到目前为止还没有一个可以接受的答案。它必须是Authenticode,而我不能将其添加到证书存储中。它也不能是购买的证书,因为它需要更长的有效期(不考虑时间戳)。

除了复制一大块Mono签名检查代码之外,我不知道Win32或.NET中有什么解决方案。

digital-signature code-signing self-signed authenticode
1个回答
0
投票

您可以从直接调用

Get-AuthenticodeSignature
PowerShell cmdlet 开始。如果您想要进程内解决方案,请考虑通过反射器检查相应的 dll 以获得 API 提示。

(gcm Get-AuthenticodeSignature).DLL
C:\Program Files\PowerShell\7\Microsoft.PowerShell.Security.dll
© www.soinside.com 2019 - 2024. All rights reserved.