C#(またはVBScript)を使用して、エンタープライズCAから証明書を発行しています。
この答え によると、証明書名の代わりにOIDを指定し、コードの予期しない部分に配置する必要があります。 null文字列は)
証明書マネージャ、テンプレートなどを探していますが、OID使用する必要があります。見つかりません。何か提案はありますか?
証明書テンプレートは、Active Directoryの構成パーティションに格納されます。
たとえば、証明書テンプレートの名前が「スマートカード」の場合、DNは次のようになります。
CN=Smartcard,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=Contoso,DC=Com
msPKI-Cert-Template-OID
そのオブジェクトの属性には、OID求めるものが含まれています。
編集:Powershellは次のとおりです。
PS C:\Users\Ryan> Get-ADObject 'CN=Smartcard,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=Contoso,DC=Com' -Properties msPKI-Cert-Template-OID
DistinguishedName : CN=Smartcard,CN=Certificate Templates,CN=Public Key
Services,CN=Services,CN=Configuration,DC=Contoso,DC=Com
msPKI-Cert-Template-OID : 1.3.6.1.4.1.311.21.8.13882702.11110958.1330334.1890290.2281445.541.2.14
Name : Smartcard
ObjectClass : pKICertificateTemplate
ObjectGUID : 1cd4698d-56fe-4d4b-8005-f89a76d24ae1
証明書テンプレートの識別名を見つけるのに問題があったため、次の手順に従って他の回答とは異なる方法を見つけました。
ドメインOIDにこの文字列全体が必要になる場合があると思います。
Get-ADObject ('CN=OID,CN=Public Key Services,CN=Services,'+(Get-ADRootDSE).configurationNamingContext) -Properties msPKI-Cert-Template-OID | Select-Object -ExpandProperty msPKI-Cert-Template-OID