如何获取证书模板的 OID?

Chr*_*ski 7 windows vbscript ssl-certificate certificate-authority ad-certificate-services

我正在使用 C#(或 VBScript)从企业 CA 颁发证书。

根据这个答案,我需要指定 OID 而不是证书名称,并将其放在代码的意外部分。(恕我直言,我应该把它放在空字符串所在的地方)

我正在查看证书管理器、模板等,但找不到我应该使用的 OID。有什么建议吗?

Rya*_*ies 7

证书模板存储在 Active Directory 的配置分区中。

例如,如果您的证书模板名为“Smartcard”,则其 DN 将是:

CN=Smartcard,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=Contoso,DC=Com
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)