Поделиться через


Функция SslCreateEphemeralKey

Функция SslCreateEphemeralKey создает временный ключ для использования во время проверки подлинности, которая происходит во время подтверждения протокола SSL.

Синтаксис

SECURITY_STATUS WINAPI SslCreateEphemeralKey(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _Out_ NCRYPT_KEY_HANDLE  *phEphemeralKey,
  _In_  DWORD              dwProtocol,
  _In_  DWORD              dwCipherSuite,
  _In_  DWORD              dwKeyType,
  _In_  DWORD              dwKeyBitLen,
  _In_  PBYTE              pbParams,
  _In_  DWORD              cbParams,
  _In_  DWORD              dwFlags
);

Параметры

hSslProvider [in]

Дескриптор экземпляра поставщика протокола SSL.

phEphemeralKey [out]

Дескриптор эфемерного ключа.

dwProtocol [in]

Одно из значений идентификатора протокола поставщика SSL CNG .

dwCipherSuite [in]

Одно из значений идентификатора комплекта шифров поставщика SSL CNG .

dwKeyType [in]

Одно из значений идентификатора типа ключа поставщика SSL CNG . Задайте для этого параметра значение ноль для типов ключей, которые не являются криптографией на эллиптических кривых (ECC).

dwKeyBitLen [in]

Длина ключа в битах.

pbParams [in]

Указатель на буфер, содержащий параметры для создаваемого ключа. Если набор шифров diffie-Hellman (эфемерный) алгоритма обмена ключами (DHE) не используется, задайте для параметра pbParamsзначение NULL , а для параметра cbParams — нулевое значение.

cbParams [in]

Длина данных в байтах в буфере pbParams .

dwFlags [in]

Этот параметр зарезервирован для использования в будущем.

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

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

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

Возвращаемый код/значение Описание
NTE_NO_MEMORY
0x8009000EL
Недостаточно памяти для выделения буфера.
NTE_INVALID_HANDLE
0x80090026L
Недопустимый дескриптор hSslProvider .
NTE_INVALID_PARAMETER
0x80090027L
Один из предоставленных параметров недопустим.

Комментарии

При использовании набора шифров DHE внутренняя реализация SSL передает параметры сервера p и g в функцию SslCreateEphemeralKey в параметрах pbParams и cbParams .

Формат данных в буфере pbParams совпадает с форматом, используемым при задании свойства BCRYPT_DH_PARAMETERS , и начинается с BCRYPT_DH_PARAMETER_HEADER структуры.

Требования

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