SslImportMasterKey 函数
SslImportMasterKey 函数执行服务器端安全套接字层协议 (SSL) 密钥交换操作。
语法
SECURITY_STATUS WINAPI SslImportMasterKey(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_ NCRYPT_KEY_HANDLE hPrivateKey,
_Out_ NCRYPT_KEY_HANDLE *phMasterKey,
_In_ DWORD dwProtocol,
_In_ DWORD dwCipherSuite,
_In_ PNCryptBufferDesc pParameterList,
_In_ PBYTE pbEncryptedKey,
_In_ DWORD cbEncryptedKey,
_In_ DWORD dwFlags
);
参数
-
hSslProvider [in]
-
SSL 协议提供程序实例的句柄。
-
hPrivateKey [in]
-
交换中使用的 私钥 的句柄。
-
phMasterKey [out]
-
指向用于接收 主密钥的句柄的指针。
-
dwProtocol [in]
-
dwCipherSuite [in]
-
pParameterList [in]
-
指向 NCryptBuffer 缓冲区数组的指针,该缓冲区包含用作密钥交换操作一部分的信息。 精确的缓冲区集取决于使用的协议和密码套件。 列表至少包含包含客户端和服务器提供的随机值的缓冲区。
-
pbEncryptedKey [in]
-
指向缓冲区的指针,该缓冲区包含使用服务器的公钥加密的加密预主 密钥 。
-
cbEncryptedKey [in]
-
pbEncryptedKey 缓冲区的大小(以字节为单位)。
-
dwFlags [in]
-
将此参数设置为 NCRYPT_SSL_SERVER_FLAG 以指示这是服务器调用。
返回值
如果函数成功,则返回零。
如果函数失败,则返回非零错误值。
可能的返回代码包括但不限于以下内容。
返回代码/值 | 说明 |
---|---|
|
没有足够的内存可用于分配必要的缓冲区。 |
|
提供的句柄之一无效。 |
|
phMasterKey 参数为 NULL。 |
备注
此函数解密预主密钥,计算 SSL 主机密,并将此对象的句柄返回给调用方。 然后,可以使用此主密钥来派生 SSL 会话密钥并完成 SSL 握手。
注意
使用 RSA 密钥交换算法时使用此函数。 使用 DH 时,服务器代码将改为调用 SslGenerateMasterKey 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |
标头 |
|
DLL |
|