IX509CertificateRequestPkcs10::InitializeDecode-Methode (certenroll.h)
Die InitializeDecode-Methode decodiert eine vorhandene signierte oder nicht signierte PKCS #10-Zertifikatanforderung und verwendet sie, um das neue PKCS #10-Anforderungsobjekt zu initialisieren. Die vorhandene Anforderung ist in einem Bytearray enthalten, das mithilfe von Distinguished Encoding Rules (DER) codiert wurde, wie im ASN.1-Standard (Abstract Syntax Notation One) definiert. Das Bytearray wird durch eine Zeichenfolge dargestellt, die entweder eine reine binärsequenz ist oder Unicode-codiert ist.
Syntax
HRESULT InitializeDecode(
[in] BSTR strEncodedData,
[in] EncodingType Encoding
);
Parameter
[in] strEncodedData
Eine BSTR-Variable , die die DER-codierte Anforderung enthält. Weitere Informationen finden Sie in den Hinweisen.
[in] Encoding
Ein EncodingType-Enumerationswert , der den Typ der Unicode-Codierung angibt, die auf die Eingabezeichenfolge angewendet wird, die die DER-codierte Anforderung enthält. Der Standardwert ist XCN_CRYPT_STRING_BASE64.
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ö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 |
---|---|
|
Das Zertifikatanforderungsobjekt wurde bereits initialisiert. |
Hinweise
Die InitializeDecode-Methode decodiert die vorhandene PKCS #10-Anforderung und verwendet die abgerufenen Informationen, um die folgenden Auflistungen für das neue Anforderungsobjekt zu initialisieren:
- Eine leere ICryptAttributes-Auflistung .
- Eine leere IX509Extensions-Auflistung .
- Eine leere IObjectIds-Auflistung für Attribut- und Erweiterungs-OIDs, die aus der neuen Anforderung unterdrückt werden sollen.
Die -Methode hat außerdem Folgendes:
- Fügt die decodierten Erweiterungen der IX509Extensions-Auflistung hinzu.
- Fügt die decodierten Attribute der ICryptAttributes-Auflistung hinzu.
- Legt die CriticalExtensions-Eigenschaft mit den decodierten kritischen Erweiterungen fest.
- Legt die ClientId-Eigenschaft fest.
- Legt die TemplateObjectId-Eigenschaft fest.
Standardmäßig geht die InitializeDecode-Methode davon aus, dass die zu decodierte Zertifikatanforderung für einen Endbenutzer gilt. Ab Windows 8 und Windows Server 2012 können Sie dieses Standardverhalten ändern. Nachdem Sie eine instance der IX509CertificateRequestPkcs10-Schnittstelle erstellt haben, rufen Sie InitializeDecode auf, indem Sie den Encoding-Parameter auf XCN_CRYPT_STRING_BINARY und den strEncodedData-Parameter auf einen der folgenden Werte festlegen:
Wert | BESCHREIBUNG |
---|---|
L"ContextMachine" | Die anforderung des codierten Zertifikats gilt für einen Computer. |
L"ContextUser" | Die anforderung des codierten Zertifikats richtet sich an einen Endbenutzer. |
L"ContextAdministratorForceMachine" | Das codierte Zertifikat wird von einem Administrator angefordert, der im Namen eines Computers handelt. |
Rufen Sie dann die InitializeDecode-Methode erneut auf, wobei das codierte Zertifikat im Argument strEncodedData festgelegt ist.
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 |