SslCreateEphemeralKey 関数

SslCreateEphemeralKey 関数は、Secure Sockets Layer プロトコル (SSL) ハンドシェイク中に発生する認証中に使用するエフェメラル キーを作成します。

構文

SECURITY_STATUS WINAPI SslCreateEphemeralKey(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _Out_ NCRYPT_KEY_HANDLE  *phEphemeralKey,
  _In_  DWORD              dwProtocol,
  _In_  DWORD              dwCipherSuite,
  _In_  DWORD              dwKeyType,
  _In_  DWORD              dwKeyBitLen,
  _In_  PBYTE              pbParams,
  _In_  DWORD              cbParams,
  _In_  DWORD              dwFlags
);

パラメーター

hSslProvider [in]

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

phEphemeralKey [out]

エフェメラル キーのハンドル。

dwProtocol [in]

CNG SSL プロバイダー プロトコル識別子の値の 1 つ。

dwCipherSuite [in]

CNG SSL プロバイダー暗号スイート識別子の値の 1 つ。

dwKeyType [in]

CNG SSL プロバイダーのキー型識別子の値の 1 つ。 楕円曲線暗号 (ECC) ではないキー型の場合は、このパラメーターを 0 に設定します。

dwKeyBitLen [in]

キーの長さ (ビット数)。

pbParams [in]

作成するキーのパラメーターを格納するバッファーへのポインター。 Diffie-Hellman (エフェメラル) キー交換アルゴリズム (DHE) 暗号スイートが使用されていない場合は、pbParams パラメーターを NULL に設定し、cbParams パラメーターを 0 に設定します。

cbParams [in]

pbParams バッファー内のデータの長さ (バイト単位)。

dwFlags [in]

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

戻り値

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

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

リターン コード/値 説明
NTE_NO_MEMORY
0x8009000EL
バッファーを割り当てるのに十分なメモリがありません。
NTE_INVALID_HANDLE
0x80090026L
hSslProvider ハンドルが無効です。
NTE_INVALID_PARAMETER
0x80090027L
指定されたパラメーターの 1 つが無効です。

注釈

DHE 暗号スイートを使用する場合、内部 SSL 実装では、pbParams パラメーターと cbParams パラメーターの SslCreateEphemeralKey 関数にサーバー p パラメーターと g パラメーターが渡されます。

pbParams バッファー内のデータの形式は、BCRYPT_DH_PARAMETERS プロパティの設定時に使用した形式と同じであり、BCRYPT_DH_PARAMETER_HEADER構造体から始まります。

要件

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