署名テンプレートに基づいて発行された証明書を検索する

署名テンプレートに基づいて発行された証明書を検索する

私は、署名テンプレートに基づいて CA から発行された証明書を照会する方法を探しています。私が使い始めたのは以下のとおりです (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'})

...ただし、クエリでは 'CustomTemplate' の一致が見つかりません。ワイルドカード ロジックを使用してもかまいません。

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

実行すると値がそこにあることがわかります。

Get-CertificateTemplate | Select Name, DisplayName, OID 

しかし、クエリでは「CustomTemplateName」に一致するものが見つかりません。発行された証明書テンプレートのこの「フレンドリ名」情報を実際に取得する方法はありますか?

答え1

カスタム テンプレートの場合、$row.CertificateTemplateプロパティには名前ではなくテンプレート オブジェクト識別子 (OID) が含まれます。名前は V1 テンプレート (組み込みおよび編集不可) に対してのみ返されます。

したがって、あなたの場合は、まず要求されたテンプレート OID を取得してから、フィルターを実行する必要があります。

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

関連情報