Bagikan melalui


Fungsi SslEnumCipherSuites

Fungsi SslEnumCipherSuites menghitung suite sandi yang didukung oleh penyedia protokol Secure Sockets Layer protocol (SSL).

Sintaks

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]

Handel instans penyedia protokol SSL.

hPrivateKey [in, opsional]

Handel kunci privat. Ketika kunci privat ditentukan, SslEnumCipherSuites menghitung suite sandi yang kompatibel dengan kunci privat. Misalnya, jika kunci privat adalah kunci DSS, maka hanya suite sandi DSS_DHE yang dikembalikan. Jika kunci privat adalah kunci RSA, tetapi tidak mendukung operasi dekripsi mentah, maka suite cipher SSL2 tidak dikembalikan.

Atur parameter ini ke NULL saat Anda tidak menentukan kunci privat.

Catatan

Handel hPrivateKey diperoleh dengan memanggil fungsi SslOpenPrivateKey . Handel yang diperoleh dari fungsi NCryptOpenKey tidak didukung.

ppCipherSuite [out]

Penunjuk ke struktur NCRYPT_SSL_CIPHER_SUITE untuk menerima alamat cipher suite berikutnya dalam daftar.

ppEnumState [in, out]

Penunjuk ke buffer yang menunjukkan posisi saat ini dalam daftar suite sandi.

Atur penunjuk ke NULL pada panggilan pertama ke SslEnumCipherSuites. Pada setiap panggilan berikutnya, teruskan nilai yang tidak dimodifikasi kembali ke SslEnumCipherSuites.

Ketika tidak ada lagi cipher suite yang tersedia, Anda harus membebaskan ppEnumState dengan memanggil fungsi SslFreeBuffer .

dwFlags [in]

Parameter ini dicadangkan untuk digunakan di masa mendatang.

Nilai kembali

Jika fungsi berhasil, fungsi akan mengembalikan nol.

Jika fungsi gagal, fungsi mengembalikan nilai kesalahan bukan nol.

Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.

Mengembalikan kode/nilai Deskripsi
NTE_NO_MEMORY
0x8009000EL
Memori tidak cukup tersedia untuk mengalokasikan buffer yang diperlukan.
NTE_INVALID_HANDLE
0x80090026L
Salah satu handel yang disediakan tidak valid.
NTE_NO_MORE_ITEMS
0x8009002AL
Tidak ada suite sandi tambahan yang didukung.

Keterangan

Untuk menghitung semua suite sandi yang didukung oleh penyedia SSL, panggil fungsi SslEnumCipherSuites dalam perulangan hingga NTE_NO_MORE_ITEMS dikembalikan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]
Header
Sslprovider.h
Pustaka
Ncrypt.lib
DLL
Ncrypt.dll