Ausgestellte Zertifikate anhand von Signaturvorlagen finden

Ausgestellte Zertifikate anhand von Signaturvorlagen finden

Ich suche nach einer Möglichkeit, ausgestellte Zertifikate meiner Zertifizierungsstelle anhand ihrer Signaturvorlage abzufragen. Folgendes verwende ich zunächst (basierend auf dem PSPKI 4.0.0-Modul):

$AllCerts= Get-CertificationAuthority -name CA_Authority | Get-IssuedRequest -Property Email,CertificateTemplate, CertificateTemplateOID
$RelevantInfo = ($AllCerts | ?{$_.CertificateTemplate -eq 'WebServer' -Or $_.CertificateTemplate -eq 'CustomTemplate'})

...die Abfrage findet jedoch keine Übereinstimmungen für „CustomTemplate“. Ich versuche sogar, Platzhalterlogik zu verwenden.

$RelevantInfo = ($AllCerts | ?{$_.CertificateTemplate -eq 'WebServer' -Or $_.CertificateTemplate -like '*CustomTemplateName*'})

Ich kann sehen, dass die Werte da sind, wenn ich laufe;

Get-CertificateTemplate | Select Name, DisplayName, OID 

Die Abfrage findet jedoch keine Übereinstimmungen für „CustomTemplateName“. Gibt es eine Möglichkeit, diese „Benutzernamen“-Informationen für die ausgestellte Zertifikatsvorlage tatsächlich abzurufen?

Antwort1

Bei benutzerdefinierten Vorlagen $row.CertificateTemplateenthält die Eigenschaft den Objektbezeichner (OID) der Vorlage, nicht den Namen. Der Name wird nur für V1-Vorlagen zurückgegeben (integriert und nicht editierbar).

In Ihrem Fall müssen Sie also zuerst die angeforderte Vorlagen-OID abrufen und dann filtern:

$AllCerts= Get-CertificationAuthority -name CA_Authority | Get-IssuedRequest -Property Email,CertificateTemplate, CertificateTemplateOID
$OID = (Get-CertificateTemplate -Name 'CustomTemplate').Oid.Value
$RelevantInfo = ($AllCerts | ?{$_.CertificateTemplate -eq 'WebServer' -Or $_.CertificateTemplate -eq $OID})

verwandte Informationen