IX509Extension-Schnittstelle (certenroll.h)
Die IX509Extension Schnittstelle kann verwendet werden, um eine Erweiterung für eine Zertifikatanforderungzu definieren. Zertifikaterweiterungen enthalten Informationen über die Schlüsselverwendung, Zertifikatrichtlinien und Einschränkungen, alternative Namensformulare und vieles mehr. Eine Erweiterung besteht aus einem Objektbezeichner (OID), einem booleschen Wert, der angibt, ob die Erweiterung kritisch ist, und einem Bytearray, das den Erweiterungswert enthält, wie in der folgenden abstrakten Syntaxnotation One (ASN.1) Syntax gezeigt.
Extension ::= SEQUENCE
{
extnId OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTETSTRING
}
Die Zertifikatregistrierungs-API enthält die folgenden Schnittstellen, die von IX509Extensionabgeleitet werden, mit denen Sie die verschiedenen Erweiterungen erstellen können, die am häufigsten in einer Public Key-Infrastruktur (PKI) verwendet werden, die auf einem Windows -Zertifikatserverbasiert.
Schnittstelle | Beschreibung |
---|---|
IX509ExtensionAlternativeNames | Definiert eine AlternativeNames- Erweiterung, die mindestens ein alternatives Namensformular für den Betreff der Zertifikatanforderung enthält. |
IX509ExtensionAuthorityKeyIdentifier | Definiert eine AuthorityKeyIdentifier Erweiterung, die die Identifizierung der Zertifizierungsstelleöffentlichen Schlüssel ermöglicht, die der Zertifizierungsstelle privaten Schlüssel entspricht, die ein ausgestelltes Zertifikat signiert haben. Es wird von Zertifikatpfad-Erstellungssoftware auf einem Windows-Server verwendet, um das Zertifizierungsstellenzertifikat zu finden. |
IX509ExtensionBasicConstraints | Definiert eine BasicConstraints Erweiterung, die angibt, ob die Entität als Zertifizierungsstelle verwendet werden kann, und falls ja, die Anzahl der untergeordneten Zertifizierungsstellen, die darunter in der Zertifikatkette vorhanden sein können. |
IX509ExtensionCertificatePolicies | Definiert eine CertificatePolicies Erweiterung, die die Richtlinien identifiziert, unter denen das Zertifikat ausgestellt wurde, und die Zwecke, für die es verwendet werden kann. |
IX509ExtensionEnhancedKeyUsage | Definiert eine EnhancedKeyUsage Erweiterung, die eine oder mehrere Verwendungen des öffentlichen Schlüssels identifiziert, der im Zertifikat enthalten ist. |
IX509ExtensionKeyUsage | Definiert eine KeyUsage- Erweiterung, die die Vorgänge einschränkt, die vom öffentlichen Schlüssel im Zertifikat ausgeführt werden können. |
IX509ExtensionMSApplicationPolicies | Definiert eine MSApplicationPolicies Erweiterung, die von einer Anwendung zum Filtern von Zertifikaten anhand der zulässigen Verwendung verwendet werden kann. Zulässige Verwendungen werden durch Objektbezeichner (OIDs) identifiziert. |
IX509ExtensionSmimeCapabilities | Definiert eine SmimeCapabilities Erweiterung, die die Entschlüsselungsfunktionen eines E-Mail-Empfängers identifiziert, damit der Absender der E-Mail den sichersten Verschlüsselungsalgorithmus auswählen kann, der von beiden Parteien unterstützt wird. |
IX509ExtensionSubjectKeyIdentifier | Definiert eine SubjectKeyIdentifier Erweiterung, die zwischen mehreren öffentlichen Schlüsseln unterscheidet, die vom Zertifikatbesitzer gehalten werden. Der Erweiterungswert ist in der Regel ein SHA-1-Hash des Schlüssels. |
IX509ExtensionTemplate | Definiert eine Template Erweiterung, die die Version 2-Vorlage identifiziert, die beim Ausgeben oder Erneuern eines Zertifikats verwendet werden soll. |
IX509ExtensionTemplateName | Definiert eine TemplateName Erweiterung, die die Version 1-Vorlage identifiziert, die beim Ausgeben oder Erneuern eines Zertifikats verwendet werden soll. |
Die meisten Erweiterungen, die mithilfe der vorherigen Schnittstellen erstellt werden können, werden durch den X.509--Syntaxstandard der Version 3
Erweiterung/OID | Beschreibung |
---|---|
AuthorityInformationAccess-(XCN_OID_AUTHORITY_INFO_ACCESS) | Gibt an, wie auf Informationen und Dienste von Zertifizierungsstellen zugegriffen werden kann. Der Erweiterungswert enthält eine Abfolge von URIs. |
CrlDistributionPoints-(XCN_OID_CRL_DIST_POINTS) | Enthält den URI der Basis-Zertifikatsperrliste (CRL). |
FreshestCRL-(XCN_OID_FRESHEST_CRL) | Enthält den URI der Delta-CRL. Die gleiche ASN.1-Syntax wird für diese Erweiterung und die CrlDistributionPoints Erweiterung verwendet. |
NameConstraints(XCN_OID_NAME_CONSTRAINTS) | Gibt den Namespace an, in dem sich alle Antragstellernamen von Zertifikaten in einer Zertifikathierarchie befinden müssen. Die Erweiterung wird nur in einem Zertifizierungsstellenzertifikat verwendet. |
PolicyConstraints(XCN_OID_POLICY_CONSTRAINTS) | Schränkt die Pfadüberprüfung ein, indem die Richtlinienzuordnung untersagt wird oder dass jedes Zertifikat in der Hierarchie einen akzeptablen Richtlinienbezeichner enthält. |
PolicyMappings-(XCN_OID_POLICY_MAPPINGS) | Identifiziert die Richtlinien in einer untergeordneten Zertifizierungsstelle, die Richtlinien in der ausstellenden Zertifizierungsstelle entsprechen. Der Erweiterungswert enthält eine Sequenz von ausstellenden Zertifizierungsstellen und untergeordneten Richtlinienzuordnungen von Zertifizierungsstellen, die durch Objektbezeichner dargestellt werden. |
PrivateKeyUsagePeriod-(XCN_OID_PRIVATEKEY_USAGE_PERIOD) | Gibt einen anderen Gültigkeitszeitraum für den privaten Schlüssel als für das Zertifikat an, dem der Schlüssel zugeordnet ist. |
SubjectDirectoryAttributes(XCN_OID_SUBJECT_DIR_ATTRS) | Vermittelt Identifikationsattribute wie Die Staatsangehörigkeit des Zertifikatsbetreffs. Der Erweiterungswert ist eine Abfolge von OID-Wert-Paaren. |
Schließlich können Sie die IX509Extension Schnittstelle verwenden, um private Erweiterungen zu definieren, die Informationen enthalten, die für eine bestimmte Community eindeutig sind.
Erweiterungen werden der Attributes Struktur einer PKCS #10-Anforderung und der TaggedAttributes Struktur einer CMC-Anforderung hinzugefügt. Um Erweiterungen zu beiden Anforderungsformaten hinzuzufügen, müssen Sie sie zuerst zu einer IX509Extensions- Auflistung hinzufügen und die Auflistung verwenden, um eine IX509AttributeExtensions-Objekt zu initialisieren. Weitere Informationen finden Sie in den Themen PKCS #10 Extensions und in den themen CMC Extensions.
Erbschaft
Die IX509Extension Schnittstelle erbt von der IDispatch- Schnittstelle. IX509Extension hat auch folgende Typen von Mitgliedern:
Methodik
Die IX509Extension Schnittstelle hat diese Methoden.
IX509Extension::get_Critical Gibt einen booleschen Wert an und ruft diesen ab, der angibt, ob die Zertifikaterweiterung kritisch ist. (Abrufen) |
IX509Extension::get_ObjectId Ruft den Objektbezeichner (OID) für die Erweiterung ab. |
IX509Extension::get_RawData Ruft ein Bytearray ab, das den Erweiterungswert enthält. (IX509Extension.get_RawData) |
IX509Extension::Initialize Initialisiert ein IX509Extension -Objekt mithilfe eines Objektbezeichners (OID) und eines Bytearrays, das die codierte Erweiterung Distinguished Encoding Rules (DER) enthält. |
IX509Extension::p ut_Critical Gibt einen booleschen Wert an und ruft diesen ab, der angibt, ob die Zertifikaterweiterung kritisch ist. (Put) |
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2008 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | certenroll.h |