Freigeben über


IX509CertificateRequestPkcs10-Schnittstelle (certenroll.h)

Die IX509CertificateRequestPkcs10-Schnittstelle stellt eine PKCS #10-Zertifikatanforderung dar. Der Public Key Cryptography Standard (PKCS) #10 definiert das Format von Nachrichten, die an eine Zertifizierungs- oder Registrierungsstelle gesendet werden, um ein Zertifikat für öffentliche Schlüssel anzufordern.

Ein PKCS #10 ASN.1-Anforderungsobjekt enthält einen Versionsbezeichner, den Antragstellernamen, einen öffentlichen Schlüssel und eine Reihe von Attributen, wie im folgenden Syntaxbeispiel gezeigt.


--------------------------------------------------------------------
-- Certificate request.
--------------------------------------------------------------------
CertificationRequestInfo ::= SEQUENCE 
{
   version                 CertificationRequestInfoVersion,
   subject                 Name,
   subjectPublicKeyInfo    SubjectPublicKeyInfo,
   attributes              [0] IMPLICIT Attributes
}

-------------------------------------------------------
-- Version number.
-------------------------------------------------------
CertificationRequestInfoVersion ::= INTEGER

-------------------------------------------------------
-- Subject distinguished name (DN).
-------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeTypeValue

AttributeTypeValue ::= SEQUENCE 
{
   type               EncodedObjectID,
   value              ANY 
}

-------------------------------------------------------
-- Public key information.
-------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE 
{
   algorithm           AlgorithmIdentifier,
   subjectPublicKey    BITSTRING
}

-------------------------------------------------------
-- Attributes.
-------------------------------------------------------
Attributes ::= SET OF Attribute

Attribute ::= SEQUENCE 
{
   type               EncodedObjectID,
   values             AttributeSetValue
}

Das CertificationRequestInfo ASN.1-Objekt wird in ein CertificationRequest-Objekt umschlossen, wie die folgende Syntax zeigt. Das CertificationRequest-Objekt enthält auch die Signatur und den Signaturalgorithmus. Eine PKCS #10-Anforderung muss vom zugeordneten privaten Schlüssel signiert oder nullsigniert sein, wenn es sich um eine zertifizierungsübergreifende Anforderung handelt. Sie können die RawData-Eigenschaft aufrufen, um das signierte CertificationRequest-Objekt abzurufen, und Sie können die RawDataToBeSigned-Eigenschaft aufrufen, um das nicht signierte CertificationRequestInfo-Objekt abzurufen.


--------------------------------------------------------------------
-- Certificate request.
--------------------------------------------------------------------
CertificationRequest ::= SEQUENCE 
{
   certificationRequestInfo   CertificationRequestInfo,
   signatureAlgorithm         AlgorithmIdentifier,
   signature                  BIT STRING
}

--------------------------------------------
--  Algorithm Identifier
--------------------------------------------
AlgorithmIdentifier ::= SEQUENCE 
{
   algorithm           EncodedObjectID,
   parameters          ANY OPTIONAL
}

Die folgenden Eigenschaften können vor dem Aufrufen der Encode-Methode festgelegt werden:

Außerdem werden die Eigenschaften Silent, ParentWindow und UIContextMessage in der Regel aufgerufen, bevor eine Initialisierungsmethode aufgerufen wird.

Die folgenden Eigenschaften müssen festgelegt werden, falls überhaupt, bevor die Codieren-Methode aufgerufen wird:

Vererbung

Die IX509CertificateRequestPkcs10-Schnittstelle erbt von IX509CertificateRequest. IX509CertificateRequestPkcs10 verfügt auch über folgende Membertypen:

Methoden

Die IX509CertificateRequestPkcs10-Schnittstelle verfügt über diese Methoden.

 
IX509CertificateRequestPkcs10::CheckSignature

Überprüft, ob die Zertifikatanforderung signiert wurde und ob die Signatur gültig ist. (IX509CertificateRequestPkcs10.CheckSignature)
IX509CertificateRequestPkcs10::get_CriticalExtensions

Ruft eine IObjectIds-Auflistung ab, die die als kritisch gekennzeichneten Zertifikaterweiterungen der Version 3 identifiziert. (IX509CertificateRequestPkcs10.get_CriticalExtensions)
IX509CertificateRequestPkcs10::get_CryptAttributes

Ruft eine ICryptAttributes-Auflistung optionaler Zertifikatattribute ab. (IX509CertificateRequestPkcs10.get_CryptAttributes)
IX509CertificateRequestPkcs10::get_CspStatuses

Ruft eine Auflistung von ICspStatus-Objekten ab, die der beabsichtigten Verwendung des privaten Schlüssels entspricht, der der Zertifikatanforderung zugeordnet ist.
IX509CertificateRequestPkcs10::get_KeyContainerNamePrefix

Gibt ein Präfix an, das zum Erstellen des Containernamens für einen neuen privaten Schlüssel verwendet wird, oder ruft es ab. (Abrufen)
IX509CertificateRequestPkcs10::get_NullSigned

Ruft einen booleschen Wert ab, der angibt, ob die Zertifikatanforderung NULL-signiert ist.
IX509CertificateRequestPkcs10::get_OldCertificate

Ruft das Zertifikat ab, das an die InitializeFromCertificate-Methode übergeben wurde.
IX509CertificateRequestPkcs10::get_PrivateKey

Ruft ein IX509PrivateKey-Objekt ab, das den privaten Schlüssel enthält, der zum Signieren der Zertifikatanforderung verwendet wird.
IX509CertificateRequestPkcs10::get_PublicKey

Ruft das IX509PublicKey-Objekt ab, das den öffentlichen Schlüssel enthält, der in der Zertifikatanforderung enthalten ist.
IX509CertificateRequestPkcs10::get_RawDataToBeSigned

Ruft die nicht signierte Zertifikatanforderung ab, die von der Encode-Methode erstellt wurde.
IX509CertificateRequestPkcs10::get_ReuseKey

Ruft einen booleschen Wert ab, der angibt, ob ein vorhandener privater Schlüssel zum Signieren der Anforderung verwendet wurde.
IX509CertificateRequestPkcs10::get_Signature

Ruft die Anforderungssignatur ab, die von der Encode-Methode erstellt wurde.
IX509CertificateRequestPkcs10::get_SignatureInformation

Ruft das IX509SignatureInformation-Objekt ab, das Informationen zur Zertifikatanforderungssignatur enthält.
IX509CertificateRequestPkcs10::get_SmimeCapabilities

Gibt einen booleschen Wert an, der der Codierungsmethode mitteilt, ob eine IX509ExtensionSmimeCapabilities-Auflistung erstellt werden soll, die die vom Computer unterstützten Verschlüsselungsfunktionen identifiziert. (Abrufen)
IX509CertificateRequestPkcs10::get_Subject

Gibt den distinguished X.500-Namen der Entität an, die das Zertifikat anfordert, oder ruft sie ab. (Abrufen)
IX509CertificateRequestPkcs10::get_SuppressOids

Ruft eine Auflistung der Standarderweiterungs- und Attributobjektbezeichner (OIDs) ab, die der Anforderung beim Codieren der Anforderung nicht hinzugefügt wurden.
IX509CertificateRequestPkcs10::get_TemplateObjectId

Ruft den Objektbezeichner (Object Identifier, OID) der Vorlage ab, die zum Erstellen der Zertifikatanforderung verwendet wird. (IX509CertificateRequestPkcs10.get_TemplateObjectId)
IX509CertificateRequestPkcs10::get_X509Extensions

Ruft eine Auflistung der Erweiterungen ab, die in der Zertifikatanforderung enthalten sind. (IX509CertificateRequestPkcs10.get_X509Extensions)
IX509CertificateRequestPkcs10::GetCspStatuses

Ruft eine ICspStatuses-Auflistung ab, die alle Anbieter-Algorithmus-Paare enthält, die mit der beabsichtigten Verwendung des privaten Schlüssels übereinstimmen, wie vom Aufrufer angegeben.
IX509CertificateRequestPkcs10::InitializeDecode

Decodiert eine vorhandene signierte oder nicht signierte PKCS (IX509CertificateRequestPkcs10.InitializeDecode)
IX509CertificateRequestPkcs10::InitializeFromCertificate

Initialisiert die Zertifikatanforderung mithilfe eines vorhandenen Zertifikats. (IX509CertificateRequestPkcs10.InitializeFromCertificate)
IX509CertificateRequestPkcs10::InitializeFromPrivateKey

Initialisiert die Zertifikatanforderung mithilfe eines IX509PrivateKey-Objekts und optional einer Vorlage.
IX509CertificateRequestPkcs10::InitializeFromPublicKey

Initialisiert eine Zertifikatanforderung mit NULL-Sign mithilfe eines IX509PublicKey-Objekts und optional einer Vorlage.
IX509CertificateRequestPkcs10::InitializeFromTemplateName

. (IX509CertificateRequestPkcs10.InitializeFromTemplateName)
IX509CertificateRequestPkcs10::IsSmartCard

Ruft einen booleschen Wert ab, der angibt, ob einer der kryptografischen Anbieter, die dem Anforderungsobjekt zugeordnet sind, ein Intelligenter Karte-Anbieter ist.
IX509CertificateRequestPkcs10::p ut_KeyContainerNamePrefix

Gibt ein Präfix an, das zum Erstellen des Containernamens für einen neuen privaten Schlüssel verwendet wird, oder ruft es ab. (Put)
IX509CertificateRequestPkcs10::p ut_SmimeCapabilities

Gibt einen booleschen Wert an, der der Codierungsmethode mitteilt, ob eine IX509ExtensionSmimeCapabilities-Auflistung erstellt werden soll, die die vom Computer unterstützten Verschlüsselungsfunktionen identifiziert. (Put)
IX509CertificateRequestPkcs10::p ut_Subject

Gibt den distinguished X.500-Namen der Entität an, die das Zertifikat anfordert, oder ruft sie ab. (Put)

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

Weitere Informationen

CertEnroll-Schnittstellen

IX509CertificateRequest