Extensiones de CMC
Las extensiones se incluyen en una solicitud de CMC agregándolas a la estructura TaggedAttributes que se muestra en el siguiente ejemplo de sintaxis de ASN.1. Para obtener más información, vea el tema 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 estructura de la colección TaggedAttributes contiene un identificador entero, un identificador de objeto ASN.1 (OID) y un conjunto de valores. Las extensiones se incorporan a una solicitud agregando una estructura CmcAddExtensions al campo de valores . La sintaxis de la estructura ASN.1 se muestra en el ejemplo siguiente. El identificador de objeto es 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
}
En el procedimiento siguiente se describe cómo usar la API de inscripción de certificados para agregar extensiones a una solicitud de certificado de CMC.
Para usar la API de inscripción de certificados para agregar extensiones a una solicitud de certificado de CMC
- Cree una extensión mediante cualquiera de las interfaces disponibles que derivan de la interfaz IX509Extension o use el objeto IX509Extension directamente para crear extensiones personalizadas.
- Llame a la propiedad X509Extensions en el objeto IX509CertificateRequestCmc para recuperar una colección IX509Extensions .
- Agregue las extensiones creadas en el paso 1 a la colección IX509Extensions .
- Llame a Inscribir para realizar automáticamente las siguientes acciones:
- Recupere un objeto ICryptAttributes del objeto IX509CertificateRequestCmc .
- Cree e inicialice un objeto IX509AttributeExtensions mediante la colección IX509Extensions recuperada en el paso 2.
- Cree una colección IX509Attributes y agregue el objeto IX509AttributeExtensions a él.
- Utilice la colección IX509Attributes para inicializar un objeto ICryptAttribute .
- Agregue el objeto ICryptAttribute a la colección ICryptAttributes .
Temas relacionados