Итак, что вы ищете:
Get-AuthenticodeSignature | %{
$_.SignerCertificate.SignatureAlgorithm.FriendlyName
}
Давайте рассмотрим, как мы туда попали.Сначала я нахожу файл с цифровой подписью.Я буду использовать PowerShell-6.1.2-win-x64.msi для этого примера.
Get-AuthenticodeSignature -FilePath C:\test\PowerShell-6.1.2-win-x64.msi | get-member
Мы видим, что есть объект для SignerCertificate
SignerCertificate Property System.Security.Cryptography.X509Certificates.X509Certificate2 SignerCertificate {get;}
Итак, давайте посмотрим, что это содержит
Get-AuthenticodeSignature -FilePath C:\test\PowerShell-6.1.2-win-x64.msi | %{
$_.SignerCertificate | get-member
}
Теперь мы видим, что SignatureAlgorithm свойство
SignatureAlgorithm Property System.Security.Cryptography.Oid SignatureAlgorithm {get;}
Теперь мы копаем еще одинdeep
Get-AuthenticodeSignature -FilePath C:\test\PowerShell-6.1.2-win-x64.msi | %{
$_.SignerCertificate.SignatureAlgorithm | get-member
}
Мы получаем:
FriendlyName Property string FriendlyName {get;set;}
Value Property string Value {get;set;}
Мы можем видеть там обе строки, поэтому мы проверяем, что лучше для нас ... получается его дружественное имя:
Get-AuthenticodeSignature -FilePath C:\test\PowerShell-6.1.2-win-x64.msi | %{
$_.SignerCertificate.SignatureAlgorithm.FriendlyName
}
Возвращает
sha256RSA