Freigeben über


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.

Hinweis Verwenden Sie nicht die IX509Extension Basisschnittstelle, um jede Erweiterung darzustellen, die durch eine der folgenden Schnittstellen dargestellt werden kann. Das Registrierungsverhalten ist nicht definiert, wenn die entsprechende Schnittstelle nicht verwendet wird.

 
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 X.509 definiert. Zum Erstellen der Versions 3-Erweiterungen, für die Microsoft kein benutzerdefiniertes Objekt bereitstellt, können Sie die IX509Extension Schnittstelle verwenden. Diese Erweiterungen werden in der folgenden Tabelle identifiziert.

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

Siehe auch

Zertifikatregistrierungs-API

ICryptAttribute-

IDispatch-

IX509AttributeExtensions

IX509Extensions