签名证书的指纹

时间:2018-07-26 08:32:00

标签: c# .net powershell certificate signing

我需要提取一些二进制证书的指纹。 在PowerShell中,可以使用Get-AuthenticodeSignature从二进制文件获取指纹值,但是如果该文件是双重签名的,则它也仅显示一个指纹。 有任何Powershell / .NET实用程序可以检查多个指纹吗?

1 个答案:

答案 0 :(得分:0)

查看此brilliant article,了解默认情况下为什么无法实现的原因以及解决方法。

TL; DR:

Microsoft authenticode签名一次仅支持一个签名。其他签名作为嵌套签名完成。通过使用Get-AuthenticodeSignature并访问SignerCertificate属性可以轻松访问第一证书。您必须使用CryptoAPI来访问其他证书。

按照链接文章中的步骤操作后,您只需运行以下命令即可获取所需信息:

PS C:\> $sig = Get-AuthenticodeSignatureEx "C:\path\to\file.dll"
PS C:\> $sig | fl *