Freigeben über


ICspAlgorithm::GetAlgorithmOid-Methode (certenroll.h)

Die GetAlgorithmOid-Methode ruft den Algorithmusobjektbezeichner (OID) ab. Diese Methode ist webfähig.

Syntax

HRESULT GetAlgorithmOid(
  [in]  LONG           Length,
  [in]  AlgorithmFlags AlgFlags,
  [out] IObjectId      **ppValue
);

Die Parameter

[in] Length

Eine LONG-Variable , die die erforderliche Schlüsselgröße des symmetrischen Verschlüsselungsalgorithmus identifiziert. Verwenden Sie diesen Parameter, um einen bestimmten AES-Algorithmus aus einer Kryptografie-API abzurufen: CNG-Schlüsselspeicheranbieter (Next Generation, CNG). Ein KSP kann nur einen Algorithmus mit dem Namen AES auflisten, aber alle AES-Varianten in der folgenden Liste unterstützen:

  • szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2)
  • szOID_NIST_AES192_CBC (2.16.840.1.101.3.4.1.22)
  • szOID_NIST_AES256_CBC (2.16.840.1.101.3.4.1.42)
  • szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
  • szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
  • szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)

Wenn Sie für den Parameter "Length" und "AlgorithmFlagsNone " (0x00000000) für den Parameter "AlgFlags " null angeben, wird das dem Standardalgorithmus zugeordnete OID abgerufen. Für den Microsoft Software KSP und den Microsoft SmartCard KSP ist der AES-Standardalgorithmus szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2).

Anmerkung Dieser Parameter muss für einen anderen Algorithmus als einen symmetrischen Verschlüsselungsalgorithmus null sein.

 

[in] AlgFlags

Ein AlgorithmFlags-Enumerationswert , der angibt, ob nach einem Schlüsselumbruchalgorithmus gesucht werden soll. Dies kann einer der folgenden Werte sein:

  • AlgorithmFlagsNone
  • AlgorithmFlagsWrap

Die Angabe von AlgorithmFlagsWrap bewirkt, dass diese Methode nach Algorithmen sucht, nach denen der Anzeigename mit "wrap" endet. Dazu gehören die folgenden OIDs:

  • szOID_NIST_AES128_WRAP (2.16.840.1.101.3.4.1.5)
  • szOID_NIST_AES192_WRAP (2.16.840.1.101.3.4.1.25)
  • szOID_NIST_AES256_WRAP (2.16.840.1.101.3.4.1.45)
  • XCN_OID_RSA_SMIMEalgCMS3DESwrap (1.2.840.113549.1.9.16.3.6)
  • XCN_OID_RSA_SMIMEalgCMSRC2wrap (1.2.840.113549.1.9.16.3.7)

Wenn Sie für den Parameter "Length" und "AlgorithmFlagsNone " (0x00000000) für den Parameter "AlgFlags " null angeben, wird das dem Standardalgorithmus zugeordnete OID abgerufen. Für den Microsoft Software KSP und den Microsoft SmartCard KSP ist der AES-Standardalgorithmus szOID_NIST_AES128_CBC (2.16.840.1.101.3.4.1.2).

Anmerkung Dieser Parameter muss für einen anderen Algorithmus als einen symmetrischen Verschlüsselungsalgorithmus null sein.

 

[out] ppValue

Adresse einer Variablen, die einen Zeiger auf eine IObjectId-Schnittstelle empfängt, die den Algorithmus OID darstellt.

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
Der Algorithmus OID konnte nicht gefunden werden.
OLE_E_BLANK
Die CSP-Informationen wurden nicht initialisiert. Weitere Informationen finden Sie in der ICspInformation-Schnittstelle .

Bemerkungen

Sie müssen die InitializeFromName-Methode oder die InitializeFromType-Methode auf der ICspInformation-Schnittstelle aufrufen, bevor Sie GetAlgorithmOid 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

ICspAlgorithm