SslExportKeyingMaterial 函数
根据 RFC 5705 标准导出密钥材料。 此函数使用 TLS 伪随机函数生成密钥材料的字节缓冲区。 它采用对主机密、消除 ASCII 标签、客户端和服务器随机值以及应用程序上下文数据的引用(可选)。
语法
SECURITY_STATUS WINAPI SslExportKeyingMaterial(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_ NCRYPT_KEY_HANDLE hMasterKey,
_In_ PCHAR sLabel,
_In_ PBYTE pbRandoms,
_In_ DWORD cbRandoms,
_In_opt_ PBYTE pbContextValue,
_In_ WORD cbContextValue,
_Out_ PBYTE pbOutput,
_In_ DWORD cbOutput,
_In_ DWORD dwFlags
);
参数
-
hSslProvider [in]
-
TLS 协议提供程序实例的句柄。
-
hMasterKey [in]
-
将用于创建要导出的密钥材料的主密钥对象的句柄。
-
sLabel [in]
-
以 NUL 结尾的 ASCII 标签字符串。 Schannel 将删除终止 NUL 字符,然后再将其传递给伪随机函数。
-
pbRandoms [in]
-
指向缓冲区的指针,该缓冲区包含 TLS 连接的 client_random 和 server_random 值的串联。
-
cbRandoms [in]
-
pbRandoms 缓冲区的长度(以字节为单位)。
-
pbContextValue [in, optional]
-
指向包含应用程序上下文的缓冲区的指针。 如果 pbContextValue 为 NULL, 则 cbContextValue 必须为零。
-
cbContextValue [in]
-
pbContextValue 缓冲区的长度(以字节为单位)。
-
pbOutput [out]
-
接收导出的密钥材料的缓冲区的地址。 cbOutput 参数包含此缓冲区的大小。 此值不能为 NULL。
-
cbOutput [in]
-
pbOutput 缓冲区的长度(以字节为单位)。 必须大于零。
-
dwFlags [in]
-
未使用。 必须设置为零。
返回值
如果该函数成功,则返回零。
如果函数失败,它将返回非零错误值。
可能的返回代码包括但不限于以下内容。
返回代码/值 | 说明 |
---|---|
|
提供的句柄之一无效。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 10 [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2016 [仅限桌面应用] |
标头 |
|
DLL |
|