Encuentre certificados emitidos basados ​​en plantillas de firma

Encuentre certificados emitidos basados ​​en plantillas de firma

Estoy buscando una manera de consultar los certificados emitidos por mi CA según su plantilla de firma. Esto es lo que empiezo a usar (basado en el módulo PSPKI 4.0.0);

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

...sin embargo, la consulta no encuentra las coincidencias de 'Plantilla personalizada'. Incluso intento utilizar la lógica de comodines;

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

Puedo ver que los valores están ahí cuando ejecuto;

Get-CertificateTemplate | Select Name, DisplayName, OID 

Pero la consulta no encuentra coincidencias para 'CustomTemplateName'. ¿Existe alguna manera de obtener esta información de "nombre descriptivo" para la plantilla de certificados emitidos?

Respuesta1

Para las plantillas personalizadas, $row.CertificateTemplatela propiedad contiene el identificador de objeto (OID) de la plantilla, no el nombre. El nombre se devuelve solo para las plantillas V1 (integradas y no editables).

Entonces, en su caso, primero debe obtener el OID de la plantilla solicitada y luego filtrar:

$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})

información relacionada