Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die InitializeDecode-Methode decodiert eine vorhandene signierte oder nicht signierte PKCS #10-Zertifikatanforderung und verwendet sie zum Initialisieren des neuen PKCS #10-Anforderungsobjekts. Die vorhandene Anforderung ist in einem Bytearray enthalten, das mithilfe von Distinguished Encoding Rules (DER) codiert wurde, wie durch den Standard " Abstrakte Syntax Notation One (ASN.1)" definiert. Das Bytearray wird durch eine Zeichenfolge dargestellt, die entweder eine reine binäre Sequenz ist oder Unicode-codiert ist.
Syntax
HRESULT InitializeDecode(
[in] BSTR strEncodedData,
[in] EncodingType Encoding
);
Die 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ö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 |
|---|---|
|
Das Zertifikatanforderungsobjekt wurde bereits initialisiert. |
Bemerkungen
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-Sammlung .
- Eine leere IObjectIds-Auflistung für Attribut- und Erweiterungs-OIDs, die von der neuen Anforderung unterdrückt werden sollen.
Die Methode gilt auch:
- Fügt der IX509Extensions-Auflistung die decodierten Erweiterungen hinzu.
- Fügt der ICryptAttributes-Auflistung die decodierten Attribute 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 decodierende Zertifikatanforderung für einen Endbenutzer gilt. Ab Windows 8 und Windows Server 2012 können Sie dieses Standardverhalten ändern. Rufen Sie nach dem Erstellen einer Instanz der IX509CertificateRequestPkcs10-SchnittstelleInitializeDecode auf, indem Sie den Encoding-Parameter auf XCN_CRYPT_STRING_BINARY und den strEncodedData-Parameter auf einen der folgenden Werte festlegen:
| Wert | Description |
|---|---|
| L"ContextMachine" | Die codierte Zertifikatanforderung ist für einen Computer vorgesehen. |
| L"ContextUser" | Die codierte Zertifikatanforderung ist für einen Endbenutzer vorgesehen. |
| L"ContextAdministratorForceMachine" | Das codierte Zertifikat wird von einem Administrator angefordert, der im Namen eines Computers fungiert. |
Rufen Sie dann die InitializeDecode-Methode erneut mit dem codierten Zertifikatsatz im Argument strEncodedData auf.
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 |