Is there any way to check for digital signature on a file programmatically in Powershell?

I've a build script which signs a file with a digital certificate (Microsoft Authenticode). I want to create a test script which checks that the file is successfully signed. It's sufficient with a boolean indicating the existence of any signature on the file.

I've a build script which signs a file with a digital certificate (Microsoft Authenticode). I want to create a test script which checks that the file is successfully signed. It's sufficient with a boolean indicating the existence of any signature on the file.

Can I do that with PowerShell without any extensions? If not, what do I need?

3 Answers

Try the Get-AuthenticodeSignature-cmdlet

(Get-AuthenticodeSignature "C:\windows\explorer.exe").Status -eq 'Valid' True (Get-AuthenticodeSignature "D:\notes.txt").Status -eq 'Valid' False 
0

You could simply call signtool.exe to verify the result.

2

Also you can use sign-check util (npm required).

Install: npm install -g sign-check

Usage: sign-check 'path/to/file'

1

ncG1vNJzZmirpJawrLvVnqmfpJ%2Bse6S7zGiorp2jqbawutJoaHJwZ2uCeYWOoqpmrJiav6Z5wKewZq%2BRrnq1u4ycn56bm2KzsL6MnaCgoaSWuW6%2FyKClmqylp7Juu81mmGaemaGybrzRqJ6rmZ2irrW1wpqjpbFdnrtuvM4%3D

 Share!