我需要获取具有特定哈希算法的所有证书的列表。
首先,我尝试按以下方式检索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}}
(
n
是name
的缩写(也可以使用l or label
),而e
是expression
的缩写)关于algorithm - 如何使用Powershell获得证书的安全哈希算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39373975/