Получить SSL-сертификат, выданный - PullRequest
1 голос
/ 28 мая 2019

Я хочу знать, как я могу получить SSL-сертификаты локального компьютера Issued to значения полей. Я использовал эту команду, чтобы показать всю информацию о сертификатах SSL, но она не показала мне Issued To поле

GET-CHILDITEM -Path 'Cert:\LocalMachine\' –RECURSE | FORMAT-LIST –PROPERTY *

Ответы [ 4 ]

0 голосов
/ 28 мая 2019

Вы можете попытаться проанализировать их из поля 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=Internet
0 голосов
/ 28 мая 2019

Используйте свойство Тема .

Get-ChildItem -Path 'Cert:\LocalMachine\' -Recurse | Format-List -Property Subject
0 голосов
/ 28 мая 2019
Поле

IssuedTo создается динамически с помощью certmgr.msc на основе поля Subject.

Ближайшее, что я получил на основании сертификатов, установленных на моей машине, было примерно таким:

$CertsDetail = Get-ChildItem -Path 'Cert:\LocalMachine\' –Recurse
$CertsDetail | select @{n="IssuedTo";e={(($_.Subject -split ",") |? {$_ -like "CN=*"}) -replace "CN="}}

Я использовал вычисляемое свойство, чтобы сначала найти CN= деталь в Subject, а затем удалить эту CN= деталь.Конечно, это не охватывает все возможные сценарии, но вы можете использовать его в качестве отправной точки.

0 голосов
/ 28 мая 2019

Это отвечает на ваш вопрос?

gci Cert:\LocalMachine\my| select -expandp dnsnamelist

Наслаждайтесь -tom

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...