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


Функция SslImportMasterKey

Функция SslImportMasterKey выполняет операцию обмена ключами SSL на стороне сервера.

Синтаксис

SECURITY_STATUS WINAPI SslImportMasterKey(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hPrivateKey,
  _Out_ NCRYPT_KEY_HANDLE  *phMasterKey,
  _In_  DWORD              dwProtocol,
  _In_  DWORD              dwCipherSuite,
  _In_  PNCryptBufferDesc  pParameterList,
  _In_  PBYTE              pbEncryptedKey,
  _In_  DWORD              cbEncryptedKey,
  _In_  DWORD              dwFlags
);

Параметры

hSslProvider [in]

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

hPrivateKey [in]

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

phMasterKey [out]

Указатель на дескриптор для получения ключа master.

dwProtocol [in]

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

dwCipherSuite [in]

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

pParameterList [in]

Указатель на массив буферов NCryptBuffer , содержащих сведения, используемые в рамках операции обмена ключами. Точный набор буферов зависит от используемого протокола и набора шифров. Как минимум, список будет содержать буферы, содержащие предоставленные клиентом и сервером случайные значения.

pbEncryptedKey [in]

Указатель на буфер, содержащий зашифрованный секретный ключ предварительного мастера, зашифрованный с помощью открытого ключа сервера.

cbEncryptedKey [in]

Размер буфера pbEncryptedKey (в байтах).

dwFlags [in]

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

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

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

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

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

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

Комментарии

Эта функция расшифровывает секрет предварительного мастера, вычисляет секрет SSL-master и возвращает дескриптор этого объекта вызывающей. Затем этот master ключ можно использовать для получения ключа сеанса SSL и завершения подтверждения SSL.

Примечание

Эта функция используется при использовании алгоритма обмена ключами RSA . При использовании DH код сервера вызывает sslGenerateMasterKey .

Требования

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