Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Exports keying material per the RFC 5705 standard. This function uses the TLS pseudorandom function to produce a byte buffer of keying material. It takes a reference to the master secret, the disambiguating ASCII label, client and server random values, and optionally the application context data.
Syntax
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
);
Parameters
-
hSslProvider [in]
-
The handle of the TLS protocol provider instance.
-
hMasterKey [in]
-
The handle of the master key object that will be used to create the keying material to br exported.
-
sLabel [in]
-
a NUL-terminated ASCII label string. Schannel will remove the terminating NUL character before passing it to the pseudorandom function.
-
pbRandoms [in]
-
A pointer to a buffer that contains a concatenation of the client_random and server_random values of the TLS connection.
-
cbRandoms [in]
-
The length, in bytes, of the pbRandoms buffer.
-
pbContextValue [in, optional]
-
A pointer to a buffer that contains the application context. If pbContextValue is NULL, cbContextValue must be zero.
-
cbContextValue [in]
-
The length, in bytes, of the pbContextValue buffer.
-
pbOutput [out]
-
The address of a buffer that receives the exported keying material. The cbOutput parameter contains the size of this buffer. This value cannot be NULL.
-
cbOutput [in]
-
The length, in bytes, of the pbOutput buffer. Must be greater than zero.
-
dwFlags [in]
-
Not used. Must be set to zero.
Return value
If the function succeeds, it returns zero.
If the function fails, it returns a nonzero error value.
Possible return codes include, but are not limited to, the following.
Return code/value | Description |
---|---|
|
One of the provided handles is not valid. |
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows 10 [desktop apps only] |
Minimum supported server |
Windows Server 2016 [desktop apps only] |
Header |
|
DLL |
|