Freigeben über


CMC-Erweiterungen

Erweiterungen sind in einer CMC-Anforderung enthalten, indem sie der TaggedAttributes Struktur hinzugefügt werden, die im folgenden ASN.1-Syntaxbeispiel gezeigt wird. Weitere Informationen finden Sie im Thema Attribute.

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

Jede Struktur in der TaggedAttributes Auflistung enthält eine ganzzahlige ID, einen ASN.1-Objektbezeichner (OID) und einen Satz von Werten. Erweiterungen werden in eine Anforderung integriert, indem ein CmcAddExtensions- Struktur zu den Werten Feld hinzugefügt wird. Die Struktursyntax ASN.1 ist im folgenden Beispiel dargestellt. Der Objektbezeichner ist 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
}

Im folgenden Verfahren wird erläutert, wie Sie die Zertifikatregistrierungs-API verwenden, um Erweiterungen zu einer CMC-Zertifikatanforderung hinzuzufügen.

So verwenden Sie die Zertifikatregistrierungs-API zum Hinzufügen von Erweiterungen zu einer CMC-Zertifikatanforderung

  1. Erstellen Sie eine Erweiterung mithilfe einer der verfügbaren Schnittstellen, die von der IX509Extension Schnittstelle abgeleitet werden, oder verwenden Sie die IX509Extension Objekt direkt, um benutzerdefinierte Erweiterungen zu erstellen.
  2. Rufen Sie die X509Extensions--Eigenschaft für das IX509CertificateRequestCmc--Objekt auf, um eine IX509Extensions--Auflistung abzurufen.
  3. Fügen Sie die in Schritt 1 erstellten Erweiterungen zur IX509Extensions Auflistung hinzu.
  4. Rufen Sie Registrieren auf, um die folgenden Aktionen automatisch auszuführen:

Attribute

Attributarchitektur

CMC-Attribute

Erweiterungen