Функция SslExportKeyingMaterial

Экспорт материала ключа согласно стандарту RFC 5705. Эта функция использует псевдослучайную функцию TLS для создания буфера байтов материала ключа. Он принимает ссылку на секрет master, неоднозначную метку 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]

Дескриптор объекта ключа master, который будет использоваться для создания экспортированного материала ключа.

sLabel [in]

строка метки ASCII, оканчиваемая NUL. Schannel удалит завершающий символ NUL, прежде чем передать его в псевдослучайную функцию.

pbRandoms [in]

Указатель на буфер, содержащий объединение client_random и server_random значений TLS-соединения.

cbRandoms [in]

Длина буфера pbRandoms в байтах .

pbContextValue [in, необязательный]

Указатель на буфер, содержащий контекст приложения. Если значение pbContextValue равно NULL, cbContextValue должно быть равно нулю.

cbContextValue [in]

Длина буфера pbContextValue в байтах.

pbOutput [out]

Адрес буфера, который получает экспортированные материалы ключей. Параметр cbOutput содержит размер этого буфера. Это значение не может иметь значение NULL.

cbOutput [in]

Длина буфера pbOutput в байтах. Должен быть больше нуля.

dwFlags [in]

Не используется. Необходимо задать нулевое значение.

Возвращаемое значение

Если функция завершается успешно, она возвращает ноль.

Если функция завершается сбоем, она возвращает ненулевое значение ошибки.

Возможные коды возврата включают, помимо прочего, следующие.

Возвращаемый код/значение Описание
NTE_INVALID_HANDLE
0x80090026L
Один из предоставленных дескрипторов недопустим.

Требования

Требование Значение
Минимальная версия клиента
Windows 10 [только классические приложения]
Минимальная версия сервера
Windows Server 2016 [только классические приложения]
Заголовок
Sslprovider.h
DLL
Ncrypt.dll