Compartilhar via


Extensões do CMC

As extensões são incluídas em uma solicitação CMC adicionando-as à estrutura TaggedAttributes mostrada no exemplo de sintaxe ASN.1 a seguir. Para obter mais informações, consulte o tópico Atributos .

CmcData ::= SEQUENCE 
{
   controlSequence         ControlSequence,
   reqSequence             ReqSequence,
   cmsSequence             CmsSequence,
   otherMsgSequence        OtherMsgSequence
}


ControlSequence  ::=    SEQUENCE OF TaggedAttribute

TaggedAttribute ::= SEQUENCE 
{
   bodyPartID              BodyPartID,
   type                    EncodedObjectID,
   values                  AttributeSetValue
}

BodyPartID ::= INTEGER (0..4294967295)
EncodedObjectID ::= OBJECT IDENTIFIER
AttributeSetValue ::= SET OF ANY

Cada estrutura na coleção TaggedAttributes contém uma ID de inteiro, um OID (identificador de objeto ASN.1) e um conjunto de valores. As extensões são incorporadas a uma solicitação adicionando uma estrutura CmcAddExtensions ao campo valores . A sintaxe da estrutura ASN.1 é mostrada no exemplo a seguir. O identificador de objeto é XCN_OID_CMC_ADD_EXTENSIONS (1.3.6.1.5.5.7.7.8).

CmcAddExtensions ::= SEQUENCE 
{
   pkiDataReference        BodyPartID,
   certReferences          BodyPartIDSequence,
   extensions              Extensions
}

Extensions ::= SEQUENCE OF Extension

Extension ::= SEQUENCE 
{
   extnId              EncodedObjectID,
   critical            BOOLEAN DEFAULT FALSE,
   extnValue           OCTETSTRING
}

O procedimento a seguir discute como usar a API de Registro de Certificado para adicionar extensões a uma solicitação de certificado CMC.

Para usar a API de Registro de Certificado para adicionar extensões a uma solicitação de certificado CMC

  1. Crie uma extensão usando qualquer uma das interfaces disponíveis derivadas da interface IX509Extension ou use o objeto IX509Extension diretamente para criar extensões personalizadas.
  2. Chame a propriedade X509Extensions no objeto IX509CertificateRequestCmc para recuperar uma coleção IX509Extensions .
  3. Adicione as extensões criadas na etapa 1 à coleção IX509Extensions .
  4. Chame Registrar para executar automaticamente as seguintes ações:

Atributos

Arquitetura de atributo

Atributos CMC

Extensões