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


Функция SslComputeClientAuthHash

Функция SslComputeClientAuthHash вычисляет хэш , используемый во время проверки подлинности сертификата .

Синтаксис

SECURITY_STATUS WINAPI SslComputeClientAuthHash(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hMasterKey,
  _In_  NCRYPT_HASH_HANDLE hHandshakeHash,
  _In_  LPCWSTR            pszAlgId,
  _Out_ PBYTE              pbOutput,
  _In_  DWORD              cbOutput,
  _Out_ DWORD              *pcbResult,
  _In_  DWORD              dwFlags
);

Параметры

hSslProvider [in]

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

hMasterKey [in]

Дескриптор объекта ключа master.

hHandshakeHash [in]

Дескриптор хэша подтверждения, вычисленного до сих пор.

pszAlgId [in]

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

pbOutput [out]

Адрес буфера, получающего blOB-объект ключа. Параметр cbOutput содержит размер этого буфера. Если этот параметр имеет значение NULL, эта функция поместит необходимый размер в байтах в DWORD , на который указывает параметр pcbResult .

cbOutput [in]

Длина буфера pbOutput (в байтах).

pcbResult [out]

Указатель на значение DWORD , указывающее длину (в байтах) хэша, записанного в буфер pbOutput .

dwFlags [in]

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

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

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

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

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

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

Комментарии

Функция SslComputeClientAuthHash вычисляет хэш, который отправляется в сообщении проверки сертификата подтверждения SSL. Хэш-значение вычисляется путем создания хэша, содержащего секрет master с хэшом всех предыдущих отправленных или полученных сообщений подтверждения.

Способ вычисления хэша зависит от используемого протокола и набора шифров. Кроме того, хэш зависит от типа используемого ключа проверки подлинности клиента; Параметр pszAlgId указывает тип ключа, используемого для проверки подлинности клиента.

Требования

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