Como posso obter um OID para um modelo de certificado?

3

Estou usando o C # (ou VBScript) para emitir um certificado de uma CA corporativa.

De acordo com esta resposta , preciso especificar o OID em vez do nome do certificado e colocá-lo de forma inesperada parte do código. (IMHO eu deveria colocá-lo onde a string nula é)

Estou analisando o gerenciador de certificados, modelos, et.al e não consigo localizar o OID que eu deveria estar usando. Tem alguma sugestão?

    
por random65537 03.07.2014 / 23:41

3 respostas

3

Modelos de certificado são armazenados na partição de configuração do Active Directory.

Por exemplo, se seu modelo de certificado é chamado de "Cartão inteligente", seu DN seria:

CN=Smartcard,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=Contoso,DC=Com

O atributo msPKI-Cert-Template-OID desse objeto contém o OID que você procura.

Edit: Aqui está um pouco do 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
    
por 03.07.2014 / 23:46
3

Tive problemas em encontrar o nome distinto de um modelo de certificado, por isso, encontrei uma maneira diferente das outras respostas seguindo estas etapas:

  • Abra o MMC e adicione o snap-in Modelos de certificado (File > Adicionar / Remover snap-ins > Modelos de certificado - talvez seja necessário executá-lo como administrador para ter esse snap-in disponível)
  • Clique com o botão direito do mouse no modelo de certificado desejado para o OID de
  • Abrir as propriedades
  • Abra a guia Extensões
  • Selecionar informações do modelo de certificado
  • O OID ficará visível na descrição abaixo após "Identificador de objeto"
por 25.09.2017 / 04:36
0

Acho que você pode precisar desta string inteira para o OID do seu domínio.

    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
    
por 03.03.2016 / 19:22