有没有办法在Powershell中以编程方式检查文件上的数字签名?

时间:2013-11-09 13:36:19

标签: powershell command-line authenticode

我有一个构建脚本,用于使用数字证书(Microsoft Authenticode)对文件进行签名。我想创建一个测试脚本,检查文件是否成功签名。用布尔表示文件上存在任何签名就足够了。

我可以在没有任何扩展的情况下使用PowerShell吗?如果没有,我需要什么?

3 个答案:

答案 0 :(得分:18)

尝试使用Get-AuthenticodeSignature - cmdlet

(Get-AuthenticodeSignature "C:\windows\explorer.exe").Status -eq 'Valid'

True

(Get-AuthenticodeSignature "D:\notes.txt").Status -eq 'Valid'

False

答案 1 :(得分:2)

您只需致电signtool.exe即可验证结果。

答案 2 :(得分:1)

您也可以使用sign-check util(需要npm)。

安装:npm install -g sign-check

用法:sign-check 'path/to/file'