Функция 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 , чтобы указать, что это вызов сервера.
Возвращаемое значение
Если функция выполняется успешно, она возвращает ноль.
Если функция завершается сбоем, она возвращает ненулевое значение ошибки.
Возможные коды возврата включают, помимо прочего, следующие.
Возвращаемый код или значение | Описание |
---|---|
|
Недостаточно памяти для выделения необходимых буферов. |
|
Один из предоставленных дескрипторов недопустим. |
|
Параметр phMasterKey имеет значение NULL. |
Комментарии
Эта функция расшифровывает секрет предварительного мастера, вычисляет секрет SSL-master и возвращает дескриптор этого объекта вызывающей. Затем этот master ключ можно использовать для получения ключа сеанса SSL и завершения подтверждения SSL.
Примечание
Эта функция используется при использовании алгоритма обмена ключами RSA . При использовании DH код сервера вызывает sslGenerateMasterKey .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista [только классические приложения] |
Минимальная версия сервера |
Windows Server 2008 [только классические приложения] |
Заголовок |
|
DLL |
|