IX509AttributeExtensions-Schnittstelle (certenroll.h)
Die IX509AttributeExtensions-Schnittstelle definiert Methoden und Eigenschaften, die Zertifikaterweiterungen in einer Zertifikatanforderung initialisieren und abrufen. Beispielsweise enthält die CertificateRequestInfo-Struktur einer PKCS #10-Anforderung kein Feld für Erweiterungen der Version 3. Stattdessen müssen die Erweiterungen der Attributauflistung in der Anforderung hinzugefügt werden.
CertificationRequestInfo ::= SEQUENCE
{
version INTEGER { v1(0) } (v1,...),
subject Name,
subjectPKInfo SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
attributes [0] Attributes{{ CRIAttributes }}
}
Außerdem sind Erweiterungen in einer CMC-Anforderung enthalten, indem sie der TaggedAttributes-Struktur hinzugefügt werden, die im folgenden ASN.1-Syntaxbeispiel ( Abstract Syntax Notation One ) gezeigt wird. Weitere Informationen finden Sie unter Attribute und Erweiterungen.
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
Sie können eine oder mehrere Erweiterungen der Version 3 erstellen und sie auf folgende Weise in eine Zertifikatanforderung einschließen:
- Initialisieren Sie eines der folgenden IX509Extension-Objekte :
- IX509ExtensionAlternativeNames
- IX509ExtensionAuthorityKeyIdentifier
- IX509ExtensionBasicConstraints
- IX509ExtensionCertificatePolicies
- IX509ExtensionMSAnwendungPolicies
- IX509ExtensionEnhancedKeyUsage
- IX509ExtensionKeyUsage
- IX509ExtensionSmimeCapabilities
- IX509ExtensionSubjectKeyIdentifier
- IX509ExtensionTemplate
- IX509ExtensionTemplateName
- Fügen Sie die Erweiterungsobjekte einer IX509Extensions-Auflistung hinzu.
- Verwenden Sie die IX509Extensions-Auflistung , um ein IX509AttributeExtensions-Objekt zu initialisieren.
- Fügen Sie das IX509AttributeExtensions-Objekt einer IX509Attributes-Auflistung hinzu.
- Verwenden Sie die IX509Attributes-Auflistung , um ein ICryptAttribute-Objekt zu initialisieren.
- Initialisieren Sie ein CMC- oder PKCS #10-Anforderungsobjekt, und rufen Sie die ICryptAttributes-Auflistung ab.
- Fügen Sie das ICryptAttribute-Objekt der ICryptAttributes-Auflistung für die Anforderung hinzu.
Vererbung
Die IX509AttributeExtensions-Schnittstelle erbt von IX509Attribute. IX509AttributeExtensions verfügt auch über folgende Membertypen:
Methoden
Die IX509AttributeExtensions-Schnittstelle verfügt über diese Methoden.
IX509AttributeExtensions::get_X509Extensions Ruft die Zertifikaterweiterungen ab. |
IX509AttributeExtensions::InitializeDecode Initialisiert das -Objekt aus einem Distinguished Encoding Rules (DER)-codierten Bytearray, das den Attributwert enthält. (IX509AttributeExtensions.InitializeDecode) |
IX509AttributeExtensions::InitializeEncode Initialisiert das -Objekt aus einer IX509Extensions-Auflistung. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | certenroll.h |