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 im ASN.1-Standard (Abstract Syntax Notation One) definiert. Das DER-codierte Bytearray wird durch eine Zeichenfolge dargestellt, die entweder eine reine Binärsequenz oder Unicode-codiert ist. Diese Methode ist webfähig.

Syntax

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

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, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

Rückgabecode/-wert BESCHREIBUNG
CERTSRV_E_PROPERTY_EMPTY
Die Zertifikatanforderung wurde nicht gefunden.
OLE_E_BLANK
Das Registrierungsobjekt wurde nicht initialisiert.

Hinweise

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 es im Anforderungsspeicher. Die Methode erstellt bei Bedarf auch ein Schlüsselpaar. Je nachdem, wie Sie das Registrierungsobjekt initialisieren und welche Eigenschaften Sie festlegen, ist es möglicherweise nicht erforderlich, ein Schlüsselpaar zu erstellen. Wenn Sie beispielsweise ein Zertifikat mithilfe eines vorhandenen Schlüssels verlängern oder das der Zertifikatanforderung zugeordnete IX509PrivateKey-Objekt 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 Dummyzertifikat in den Smartcardschlüsselcontainer. Smartcard-Anmeldezertifikate werden im Anforderungsspeicher, 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
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certenroll.h
DLL CertEnroll.dll

Weitere Informationen

IX509CertificateRequest

IX509Registrierung