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
指定这是服务器调用。
返回值
如果该函数成功,则返回零。
如果函数失败,它将返回非零错误值。
返回代码/值 | 说明 |
---|---|
|
提供的句柄之一无效。 |
备注
SslComputeFinishedHash 函数是用于生成在 SSL 握手期间使用的哈希的三个函数之一。
- 调用 SslCreateHandshakeHash 函数以获取哈希句柄。
- SslHashHandshake 函数使用哈希句柄调用任意次数,以将数据添加到哈希。
- 使用哈希句柄调用 SslComputeFinishedHash 函数以获取哈希数据的摘要。
哈希值是通过对主机密进行哈希处理来计算的,其中包含以前发送或接收的所有握手消息的哈希。
cbOutput 的值确定哈希数据的长度。 使用 传输层安全协议 (TLS) 1.0 协议时,) 应始终为 12 (字节。 有关详细信息,请参阅 TLS 协议版本 1.0。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |
标头 |
|
DLL |
|