SslComputeFinishedHash 関数
SslComputeFinishedHash 関数は、Secure Sockets Layer プロトコル (SSL) ハンドシェイクの完了メッセージで送信されたハッシュを計算します。
構文
SECURITY_STATUS WINAPI SslComputeFinishedHash(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_ NCRYPT_KEY_HANDLE hMasterKey,
_In_ NCRYPT_HASH_HANDLE hHandshakeHash,
_Out_ PBYTE pbOutput,
_In_ DWORD cbOutput,
_In_ DWORD dwFlags
);
パラメーター
-
hSslProvider [in]
-
SSL プロトコル プロバイダー インスタンスのハンドル。
-
hMasterKey [in]
-
マスター キー オブジェクトのハンドル。
-
hHandshakeHash [in]
-
ハンドシェイク メッセージのハッシュのハンドル。
-
pbOutput [out]
-
終了メッセージのハッシュを受け取るバッファーへのポインター。
-
cbOutput [in]
-
pbOutput バッファーの長さ (バイト単位)。
-
dwFlags [in]
-
次のいずれかの定数。
値 説明 - NCRYPT_SSL_CLIENT_FLAG
- 0x00000001
これがクライアント呼び出しであることを指定します。 - NCRYPT_SSL_SERVER_FLAG
- 0x00000002
これがサーバー呼び出しであることを指定します。
戻り値
関数が成功すると、0 が返されます。
関数が失敗すると、0 以外のエラー値が返されます。
リターン コード/値 | 説明 |
---|---|
|
指定されたハンドルの 1 つが無効です。 |
注釈
SslComputeFinishedHash 関数は、SSL ハンドシェイク中に使用するハッシュを生成するために使用される 3 つの関数のうちの 1 つです。
- SslCreateHandshakeHash 関数は、ハッシュ ハンドルを取得するために呼び出されます。
- SslHashHandshake 関数は、ハッシュ ハンドルを使用して任意の回数呼び出され、ハッシュにデータを追加します。
- SslComputeFinishedHash 関数はハッシュ ハンドルを使用して呼び出され、ハッシュされたデータのダイジェストを取得します。
ハッシュ値は、以前に送受信されたすべてのハンドシェイク メッセージのハッシュを使用してマスター シークレットをハッシュすることによって計算されます。
cbOutput の値によって、ハッシュ データの長さが決まります。 トランスポート層セキュリティ プロトコル (TLS) 1.0 プロトコルを使用する場合、これは常に 12 (バイト) である必要があります。 詳細については、「 TLS プロトコル バージョン 1.0」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2008 [デスクトップ アプリのみ] |
Header |
|
[DLL] |
|