次の方法で共有


SslEnumCipherSuites 関数

SslEnumCipherSuites 関数は、Secure Sockets Layer プロトコル (SSL) プロトコル プロバイダーでサポートされている暗号スイートを列挙します。

構文

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
);

パラメーター

hSslProvider [in]

SSL プロトコル プロバイダー インスタンスのハンドル。

hPrivateKey [in, optional]

秘密キーのハンドル。 秘密キーを指定すると、 SslEnumCipherSuites は秘密キーと互換性のある暗号スイートを列挙します。 たとえば、秘密キーが DSS キーの場合、DSS_DHE暗号スイートのみが返されます。 秘密キーが RSA キーであり、生の暗号化解除操作をサポートしていない場合、SSL2 暗号スイートは返されません。

秘密キーを指定しない場合は、このパラメーターを NULL に 設定します。

注意

hPrivateKey ハンドルは、SslOpenPrivateKey 関数を呼び出すことによって取得されます。 NCryptOpenKey 関数から取得したハンドルはサポートされていません。

ppCipherSuite [out]

リスト 内の 次の暗号スイートのアドレスを受け取るNCRYPT_SSL_CIPHER_SUITE構造体へのポインター。

ppEnumState [in, out]

暗号スイートの一覧内の現在の位置を示すバッファーへのポインター。

SslEnumCipherSuites の最初の呼び出しで、ポインターを NULL に設定します。 以降の各呼び出しで、変更されていない値を SslEnumCipherSuites に渡します。

使用可能な暗号スイートがなくなった場合は、SslFreeBuffer 関数を呼び出して ppEnumState を解放する必要があります。

dwFlags [in]

このパラメーターは将来使用するために予約されています。

戻り値

関数が成功すると、0 が返されます。

関数が失敗した場合は、0 以外のエラー値を返します。

可能なリターン コードには、次のものが含まれますが、これらに限定されません。

リターン コード/値 説明
NTE_NO_MEMORY
0x8009000EL
必要なバッファーを割り当てるために十分なメモリがありません。
NTE_INVALID_HANDLE
0x80090026L
指定されたハンドルの 1 つが無効です。
NTE_NO_MORE_ITEMS
0x8009002AL
追加の暗号スイートはサポートされていません。

注釈

SSL プロバイダーでサポートされているすべての暗号スイートを列挙するには、NTE_NO_MORE_ITEMSが返されるまでループで SslEnumCipherSuites 関数を呼び出します。

要件

要件
サポートされている最小のクライアント
Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 [デスクトップ アプリのみ]
Header
Sslprovider.h
ライブラリ
Ncrypt.lib
[DLL]
Ncrypt.dll