
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.CertificateTemplate
la 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})