Função SslComputeFinishedHash

A função SslComputeFinishedHash calcula o hash enviado na mensagem concluída do handshake do protocolo SSL.

Sintaxe

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
);

Parâmetros

hSslProvider [in]

O identificador da instância do provedor de protocolo SSL.

hMasterKey [in]

O identificador do objeto de chave master.

hHandshakeHash [in]

O identificador do hash das mensagens de handshake.

pbOutput [out]

Um ponteiro para um buffer que recebe o hash para a mensagem de término.

cbOutput [in]

O comprimento, em bytes, do buffer pbOutput .

dwFlags [in]

Uma das seguintes constantes.

Valor Significado
NCRYPT_SSL_CLIENT_FLAG
0x00000001
Especifica que essa é uma chamada de cliente.
NCRYPT_SSL_SERVER_FLAG
0x00000002
Especifica que essa é uma chamada de servidor.

Valor retornado

Se a função for bem-sucedida, ela retornará zero.

Se a função falhar, ela retornará um valor de erro diferente de zero.

Código/valor de retorno Descrição
NTE_INVALID_HANDLE
2148073510 (0x80090026)
Um dos identificadores fornecidos não é válido.

Comentários

A função SslComputeFinishedHash é uma das três funções usadas para gerar um hash a ser usado durante o handshake SSL.

  1. A função SslCreateHandshakeHash é chamada para obter um identificador de hash.
  2. A função SslHashHandshake é chamada várias vezes com o identificador de hash para adicionar dados ao hash.
  3. A função SslComputeFinishedHash é chamada com o identificador de hash para obter o resumo dos dados com hash.

O valor de hash é calculado com o hash do segredo master com um hash de todas as mensagens de handshake anteriores enviadas ou recebidas.

O valor de cbOutput determina o comprimento dos dados de hash. Quando o protocolo TLS 1.0 é usado, deve ser sempre 12 (bytes). Para obter mais informações, consulte O protocolo TLS versão 1.0.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho
Sslprovider.h
DLL
Ncrypt.dll