SslCreateHandshakeHash 函数

SslCreateHandshakeHash 函数获取用于对握手消息进行哈希处理的哈希句柄。

语法

SECURITY_STATUS WINAPI SslCreateHandshakeHash(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _Out_ NCRYPT_HASH_HANDLE *phHandshakeHash,
  _In_  DWORD              dwProtocol,
  _In_  DWORD              dwCipherSuite,
  _In_  DWORD              dwFlags
);

参数

hSslProvider [in]

安全套接字层协议 (SSL) 协议提供程序实例的句柄。

phHandshakeHash [out]

可传递给其他 SSL 提供程序函数的哈希句柄。

dwProtocol [in]

CNG SSL 提供程序协议标识符值之一。

注意

此函数不与 SSL 2.0 协议一起使用。

dwCipherSuite [in]

CNG SSL 提供程序密码套件标识符值之一。

dwFlags [in]

此参数留待将来使用。

返回值

如果该函数成功,则返回零。

如果函数失败,它将返回非零错误值。

可能的返回代码包括但不限于以下内容。

返回代码/值 说明
NTE_NO_MEMORY
0x8009000EL
内存不足,无法分配哈希缓冲区。
NTE_INVALID_HANDLE
0x80090026L
hSslProvider 句柄无效。
NTE_INVALID_PARAMETER
0x80090027L
phHandshakeHash 为 null。

备注

SslCreateHandshakeHash 函数是用于生成在 SSL 握手期间使用的哈希的三个函数之一。

  1. 调用 SslCreateHandshakeHash 函数以获取哈希句柄。
  2. SslHashHandshake 函数使用哈希句柄调用任意次数,以将数据添加到哈希。
  3. 使用哈希句柄调用 SslComputeFinishedHash 函数以获取哈希数据的摘要。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]
标头
Sslprovider.h
DLL
Ncrypt.dll