Freigeben über


SslEnumCipherSuites-Funktion

Die SslEnumCipherSuites-Funktion listet die Verschlüsselungssammlungen auf, die von einem SSL-Protokollanbieter ( Secure Sockets Layer Protocol ) unterstützt werden.

Syntax

SECURITY_STATUS WINAPI SslEnumCipherSuites(
  _In_     NCRYPT_PROV_HANDLE      hSslProvider,
  _In_opt_ NCRYPT_KEY_HANDLE       hPrivateKey,
  _Out_    NCRYPT_SSL_CIPHER_SUITE **ppCipherSuite,
  _Inout_  PVOID                   *ppEnumState,
  _In_     DWORD                   dwFlags
);

Parameter

hSslProvider [in]

Das Handle des SSL-Protokollanbieters instance.

hPrivateKey [in, optional]

Das Handle eines privaten Schlüssels. Wenn ein privater Schlüssel angegeben wird, listet SslEnumCipherSuites die Verschlüsselungssammlungen auf, die mit dem privaten Schlüssel kompatibel sind. Wenn der private Schlüssel beispielsweise ein DSS-Schlüssel ist, werden nur die DSS_DHE Verschlüsselungssammlungen zurückgegeben. Wenn der private Schlüssel ein RSA-Schlüssel ist, aber keine rohen Entschlüsselungsvorgänge unterstützt, werden die SSL2-Verschlüsselungssammlungen nicht zurückgegeben.

Legen Sie diesen Parameter auf NULL fest, wenn Sie keinen privaten Schlüssel angeben.

Hinweis

Ein hPrivateKey-Handle wird abgerufen, indem die SslOpenPrivateKey-Funktion aufgerufen wird. Von der NCryptOpenKey-Funktion abgerufene Handles werden nicht unterstützt.

ppCipherSuite [out]

Ein Zeiger auf eine NCRYPT_SSL_CIPHER_SUITE Struktur, um die Adresse der nächsten Verschlüsselungssuite in der Liste zu empfangen.

ppEnumState [in, out]

Ein Zeiger auf einen Puffer, der die aktuelle Position in der Liste der Verschlüsselungssammlungen angibt.

Legen Sie den Zeiger beim ersten Aufruf von SslEnumCipherSuites auf NULL fest. Übergeben Sie bei jedem nachfolgenden Aufruf den unveränderten Wert zurück an SslEnumCipherSuites.

Wenn keine weiteren Verschlüsselungssammlungen verfügbar sind, sollten Sie ppEnumState durch Aufrufen der SslFreeBuffer-Funktion freigeben.

dwFlags [in]

Dieser Parameter ist für die zukünftige Verwendung reserviert.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie null zurück.

Wenn die Funktion fehlschlägt, gibt sie einen fehlerfreien Wert zurück.

Mögliche Rückgabecodes umfassen folgendes, sind aber nicht darauf beschränkt.

Rückgabecode/-wert Beschreibung
NTE_NO_MEMORY
0x8009000EL
Für die Zuweisung der erforderlichen Puffer steht nicht genügend Arbeitsspeicher zur Verfügung.
NTE_INVALID_HANDLE
0x80090026L
Eines der bereitgestellten Handles ist ungültig.
NTE_NO_MORE_ITEMS
0x8009002AL
Es werden keine zusätzlichen Verschlüsselungssammlungen unterstützt.

Bemerkungen

Um alle vom SSL-Anbieter unterstützten Verschlüsselungssammlungen aufzulisten, rufen Sie die SslEnumCipherSuites-Funktion in einer Schleife auf, bis NTE_NO_MORE_ITEMS zurückgegeben wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2008 [nur Desktop-Apps]
Header
Sslprovider.h
Bibliothek
Ncrypt.lib
DLL
Ncrypt.dll