如何使用 Powershell 获取证书的安全哈希算法

How to get a security hash algorithm for a certificate using Powershell

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

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

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

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

我尝试使用 FriendlyName

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

但是以上返回空白作为 SignatureAlgorithm

的值

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

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

的属性

如果你使用一个计算出来的属性,你可以设计你自己的属性,其中的值是对象SignatureAlgorithm里面的属性FriendlyName- 属性。例如:

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

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