[英]Get SSL Certificate 'Issued to'
我想知道如何获得Issued to
字段值的本地计算机 SSL 证书。 我使用此命令显示所有 SSL 证书信息,但它没有显示Issued To
字段
GET-CHILDITEM -Path 'Cert:\LocalMachine\' –RECURSE | FORMAT-LIST –PROPERTY *
这回答了你的问题了吗?
gci Cert:\LocalMachine\my| select -expandp dnsnamelist
享受-汤姆
使用主题属性。
Get-ChildItem -Path 'Cert:\LocalMachine\' -Recurse | Format-List -Property Subject
IssuedTo
字段似乎是由certmgr.msc
基于Subject
字段动态生成的。
根据我在我的机器上安装的证书,我得到的最接近的是这样的:
$CertsDetail = Get-ChildItem -Path 'Cert:\LocalMachine\' –Recurse
$CertsDetail | select @{n="IssuedTo";e={(($_.Subject -split ",") |? {$_ -like "CN=*"}) -replace "CN="}}
我所做的是使用计算属性在Subject
中找到第一个CN=
部分,然后删除该CN=
部分。 可以肯定的是,这并没有涵盖所有可能的场景,但您可以将其用作起点。
您可以尝试从Issuer
字段中解析它们:
Get-ChildItem -Path 'Cert:\LocalMachine\' -Recurse | #'# dummy comment to correct code-highlighting in SO
Where-Object { !$_.PsIsContainer } |
ForEach-Object {
# get at most two parts out of the $_.Issuer string
$issuer = '{0}, {1}' -f ([regex] 'O=([^,]+)').Match($_.Issuer).Groups[1].Value,
([regex] 'CN=([^,]+)').Match($_.Issuer).Groups[1].Value
[PSCustomObject]@{
FriendlyName = $_.FriendlyName
Issuer = $issuer.Trim(', "')
Subject = $_.Subject
}
} | Format-List
在我的机器上,它返回如下内容:
FriendlyName: Sectigo Issuer: The USERTRUST Network, USERTrust RSA Certification Authority Subject: CN=USERTrust RSA Certification Authority, O=The USERTRUST Network, L=Jersey City, S=New Jersey, C=US FriendlyName: Go Daddy Class 2 Certification Authority Issuer: The Go Daddy Group Subject: OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US FriendlyName: VeriSign Issuer: VeriSign Subject: OU=VeriSign Commercial Software Publishers CA, O="VeriSign, Inc.", L=Inte.net
我使用@Theo 的示例为要求使用该工具进行交叉检查的用户制作 certlm.msc UI 视图工具的近似值。
Get-ChildItem -Path 'Cert:\LocalMachine\' -Recurse |
Where-Object { !$_.PsIsContainer } |
ForEach-Object {
# use the same fields as certlm.msc
$issuer = '{0}' -f ([regex] 'CN=([^,]+)').Match($_.Issuer).Groups[1].Value
$subject = '{0}' -f ([regex] 'CN=([^,]+)').Match($_.Subject).Groups[1].Value
[PSCustomObject]@{
Store = $_.PSParentPath.SubString($_.PSParentPath.IndexOf("::")+2)
IssuedTo = $subject.Trim(', "') #$_.Subject
IssuedBy = $issuer.Trim(', "')
Expires = $_.NotAfter
PrivateKey = $_.HasPrivateKey
Exportable = $_.PrivateKey.CspKeyContainerInfo.Exportable
Thumb = $_.Thumbprint
}
} | Sort-Object -Property Store, IssuedTo | FT -AutoSize
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.