Freigeben über


IX509Enrollment::CreateRequest-Methode (certenroll.h)

Die CreateRequest-Methode ruft eine codierte Zertifikatanforderung ab. Die Zertifikatanforderung ist in einem Bytearray enthalten, das mithilfe von Distinguished Encoding Rules (DER) codiert wird, wie durch den Standard " Abstrakte Syntax Notation One (ASN.1)" definiert. Das DER-codierte Bytearray wird durch eine Zeichenfolge dargestellt, die entweder eine reine binäre Sequenz oder Unicode-codiert ist. Diese Methode ist webfähig.

Syntax

HRESULT CreateRequest(
  [in]  EncodingType Encoding,
  [out] BSTR         *pValue
);

Die Parameter

[in] Encoding

Ein EncodingType-Enumerationswert , der den Typ der Unicode-Codierung angibt, die auf die DER-codierte Anforderung angewendet wird. Der Standardwert ist XCN_CRYPT_STRING_BASE64.

[out] pValue

Zeiger auf eine BSTR-Variable , die die DER-codierte Anforderung enthält.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion S_OK zurück.

Wenn die Funktion fehlschlägt, wird ein HRESULT-Wert zurückgegeben, der den Fehler angibt. Mögliche Werte sind die Werte in der folgenden Tabelle, sind jedoch nicht beschränkt. Eine Liste allgemeiner Fehlercodes finden Sie unter "Allgemeine HRESULT-Werte".

Zurückgeben von Code/Wert Description
CERTSRV_E_PROPERTY_EMPTY
Die Zertifikatanforderung kann nicht gefunden werden.
OLE_E_BLANK
Das Registrierungsobjekt wurde nicht initialisiert.

Bemerkungen

Die CreateRequest-Methode ruft bei Bedarf die Encode-Methode auf, um die Rohdaten aus dem zugeordneten Anforderungsobjekt zu codieren.

Diese Methode verwendet die während der Initialisierung bereitgestellten Informationen und andere eigenschaften, die angegeben wurden, erstellt ein Dummyzertifikat und platziert sie im Anforderungsspeicher. Die Methode erstellt bei Bedarf auch ein Schlüsselpaar. Je nachdem, wie Sie das Registrierungsobjekt initialisieren und welche Eigenschaften Sie festlegen, muss möglicherweise kein Schlüsselpaar erstellt werden. Wenn Sie beispielsweise ein Zertifikat mithilfe eines vorhandenen Schlüssels verlängern oder das ix509PrivateKey-Objekt , das der Zertifikatanforderung zugeordnet ist, einen vorhandenen Schlüssel darstellt, erstellt diese Methode kein neues Schlüsselpaar.

Wenn eine Smartcard beteiligt ist, codiert diese Methode externe Eigenschaften als Erweiterungen, schließt sie in das Dummyzertifikat ein und schreibt das Dummy-Zertifikat in den Smartcardschlüsselcontainer. Smartcard-Anmeldezertifikate werden im Anforderungsspeicher und nicht im persönlichen Speicher codiert.

Bevor Sie die CreateRequest-Methode aufrufen, müssen Sie das IX509Enrollment-Objekt initialisieren, indem Sie eine der folgenden Methoden aufrufen.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows Vista [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 [Nur Desktop-Apps]
Zielplattform Fenster
Header certenroll.h
DLL CertEnroll.dll

Siehe auch

IX509CertificateRequest

IX509Enrollment