Функция SslComputeFinishedHash

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

Синтаксис

SECURITY_STATUS WINAPI SslComputeFinishedHash(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _In_  NCRYPT_KEY_HANDLE  hMasterKey,
  _In_  NCRYPT_HASH_HANDLE hHandshakeHash,
  _Out_ PBYTE              pbOutput,
  _In_  DWORD              cbOutput,
  _In_  DWORD              dwFlags
);

Параметры

hSslProvider [in]

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

hMasterKey [in]

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

hHandshakeHash [in]

Дескриптор хэша сообщений подтверждения.

pbOutput [out]

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

cbOutput [in]

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

dwFlags [in]

Одна из следующих констант.

Значение Значение
NCRYPT_SSL_CLIENT_FLAG
0x00000001
Указывает, что это вызов клиента.
NCRYPT_SSL_SERVER_FLAG
0x00000002
Указывает, что это вызов сервера.

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

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

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

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

Комментарии

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

  1. Для получения хэш-дескриптора вызывается функция SslCreateHandshakeHash .
  2. Функция SslHashHandshake вызывается любое количество раз с хэш-дескриптором для добавления данных в хэш.
  3. Функция SslComputeFinishedHash вызывается с хэш-дескриптором для получения хэшированных данных.

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

Значение cbOutput определяет длину хэш-данных. Если используется протокол TLS 1.0, он всегда должен быть равен 12 (байтам). Дополнительные сведения см. в разделе Протокол TLS версии 1.0.

Требования

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