Назад | Перейти на главную страницу

Как я могу получить OID для шаблона сертификата?

Я использую C # (или VBScript) для выдачи сертификата из Enterprise CA.

В соответствии с этот ответ, Мне нужно указать OID вместо имени сертификата и поместить его в неожиданную часть кода. (ИМХО, я должен разместить его там, где находится нулевая строка)

Я смотрю на диспетчер сертификатов, шаблоны и т. Д. И не могу найти 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

У меня возникли проблемы с поиском отличительного имени для шаблона сертификата, поэтому я нашел другой способ, чем другие, выполнив следующие действия:

  • Откройте MMC и добавьте оснастку «Шаблоны сертификатов» («Файл»> «Добавить / удалить оснастки»> «Шаблоны сертификатов» - вам может потребоваться запустить от имени администратора, чтобы эта оснастка была доступна).
  • Щелкните правой кнопкой мыши шаблон сертификата, для которого требуется OID.
  • Открыть Свойства
  • Открыть вкладку "Расширения"
  • Выберите информацию о шаблоне сертификата
  • OID будет виден в описании ниже после «Идентификатора объекта».

Я думаю, вам может понадобиться вся эта строка для 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