我需要获取具有特定哈希算法的所有证书的列表。

首先,我尝试按以下方式检索SignatureAlgorithm:

Get-ChildItem -Recurse | select thumbprint, subject, SignatureAlgorithm

这给了我System.Security.Cryptography.Oid作为SignatureAlgorithm列的值

我尝试使用FriendlyName
Get-ChildItem -Recurse | select thumbprint, subject, SignatureAlgorithm.FriendlyName

但是上面返回的空白为SignatureAlgorithm的值

如何检索SignatureAlgorithm的可读值?还有如何使用SHA1选择所有Powershell证书?

最佳答案

Select-Object期望显示的属性名称(由于未指定参数,因此您使用的是第一个位置-Property)。没有名为SignatureAlgorithm.FriendlyName的属性。

如果使用计算所得的属性,则可以设计自己的属性,其中值是对象的FriendlyName -property中的SignatureAlgorithm属性。例如:

Get-ChildItem -Recurse | select thumbprint, subject, @{n="SignatureAlgorithm";e={$_.SignatureAlgorithm.FriendlyName}}

(nname的缩写(也可以使用l or label),而eexpression的缩写)

关于algorithm - 如何使用Powershell获得证书的安全哈希算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39373975/

10-11 16:49