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 de CmcAddExtensions aos valores campo. 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.

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 que derivam da interfaceIX509Extensionou use o objeto IX509Extension diretamente para criar extensões personalizadas.
  2. Chame a propriedade X509Extensions no objetoIX509CertificateRequestCmcpara recuperar uma coleçãoIX509Extensions.
  3. Adicione as extensões criadas na etapa 1 à coleção IX509Extensions.
  4. Chame Registrar para executar automaticamente as seguintes ações:
    • Recupere um objeto ICryptAttributes do objetoIX509CertificateRequestCmc.
    • Crie e inicialize um objetoIX509AttributeExtensions usando a coleção IX509Extensions recuperada na etapa 2.
    • Crie uma coleçãoIX509Attributes e adicione o objetoIX509AttributeExtensions a ele.
    • Use a coleçãoIX509Attributes para inicializar um objetoICryptAttribute.
    • Adicione o objetoICryptAttribute à coleçãoICryptAttributes.

atributos

de arquitetura de atributo

de atributos do CMC

extensões