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 der SSL-Protokollanbieterinstanz.

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 unformatierten 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 durch Aufrufen der SslOpenPrivateKey-Funktion abgerufen. Handles, die von der NCryptOpenKey-Funktion abgerufen werden, werden nicht unterstützt.

ppCipherSuite [ out]

Ein Zeiger auf eine NCRYPT _ SSL _ CIPHER _ SUITE-Struktur, um die Adresse der nächsten Verschlüsselungssammlung 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 freigeben, indem Sie die SslFreeBuffer-Funktion aufrufen.

dwFlags [ In]

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

Rückgabewert

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

Wenn die Funktion fehlschlägt, wird ein Fehlerwert ungleich 0 (null) zurückgegeben.

Mögliche Rückgabecodes sind u. a. folgende.

Rückgabecode/-wert Beschreibung
NTE _ NO _ MEMORY
0x8009000EL
Es ist nicht genügend Arbeitsspeicher verfügbar, um die erforderlichen Puffer zuzuordnen.
NTE _ UNGÜLTIGES _ HANDLE
0x80090026L
Einer 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 aufzuzählen, rufen Sie die SslEnumCipherSuites-Funktion in einer Schleife auf, bis NTE _ NO MORE _ _ ITEMS zurückgegeben wird.

Requirements (Anforderungen)

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

Weitere Informationen

NCRYPT _ SSL _ CIPHER _ SUITE