SslExportKeyingMaterial function
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
|
Minimum supported client |
Windows 10 [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2016 [desktop apps only] |
|
Header |
|
|
DLL |
|