共用方式為


SslComputeFinishedHash 函式

SslComputeFinishedHash函式會計算安全通訊端層通訊協定已完成訊息中所傳送的雜湊, (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
指定這是伺服器呼叫。

傳回值

如果函式成功,則會傳回零。

如果函式失敗,它會傳回非零的錯誤值。

傳回碼/值 Description
NTE_INVALID_HANDLE
2148073510 (0x80090026)
其中一個提供的控制碼無效。

備註

SslComputeFinishedHash函式是三個函式之一,用來產生 SSL 交握期間要使用的雜湊。

  1. 會呼叫 SslCreateHandshakeHash函式來取得雜湊控制碼。
  2. SslHashHandshake函式會使用雜湊控制碼呼叫任意次數,以將資料新增至雜湊。
  3. 使用雜湊控制碼呼叫 SslComputeFinishedHash 函式,以取得雜湊資料的摘要。

雜湊值是藉由雜湊主要密碼與所有先前傳送或接收的交握訊息雜湊來計算。

cbOutput的值會決定雜湊資料的長度。 使用 傳輸層安全性通訊協定 (TLS) 1.0 通訊協定時,這應該一律為 12 (個位元組) 。 如需詳細資訊,請參閱 TLS 通訊協定 1.0 版

規格需求

需求
最低支援的用戶端
Windows Vista [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 [僅限傳統型應用程式]
標頭
Sslprovider.h
DLL
Ncrypt.dll