CMC-Erweiterungen
Erweiterungen werden in einer CMC-Anforderung eingeschlossen, 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 dem Feld werte eine CmcAddExtensions-Struktur hinzugefügt wird. Die ASN.1-Struktursyntax wird im folgenden Beispiel gezeigt. 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 mit der Zertifikatregistrierungs-API Erweiterungen zu einer CMC-Zertifikatanforderung hinzufügen.
So verwenden Sie die Zertifikatregistrierungs-API zum Hinzufügen von Erweiterungen zu einer CMC-Zertifikatanforderung
- Erstellen Sie eine Erweiterung, indem Sie eine der verfügbaren Schnittstellen verwenden, die von der IX509Extension-Schnittstelle abgeleitet sind, oder verwenden Sie das IX509Extension-Objekt direkt, um benutzerdefinierte Erweiterungen zu erstellen.
- Rufen Sie die X509Extensions-Eigenschaft für das IX509CertificateRequestCmc-Objekt auf, um eine IX509Extensions-Auflistung abzurufen.
- Fügen Sie die in Schritt 1 erstellten Erweiterungen der IX509Extensions-Auflistung hinzu.
- Rufen Sie Registrieren auf , um die folgenden Aktionen automatisch auszuführen:
- Rufen Sie ein ICryptAttributes-Objekt aus dem IX509CertificateRequestCmc-Objekt ab.
- Erstellen und initialisieren Sie ein IX509AttributeExtensions-Objekt mithilfe der IX509Extensions-Auflistung , die in Schritt 2 abgerufen wurde.
- Erstellen Sie eine IX509Attributes-Auflistung , und fügen Sie ihr das IX509AttributeExtensions-Objekt hinzu.
- Verwenden Sie die IX509Attributes-Auflistung , um ein ICryptAttribute-Objekt zu initialisieren.
- Fügen Sie das ICryptAttribute-Objekt der ICryptAttributes-Auflistung hinzu.
Zugehörige Themen