Partilhar via


Função SslComputeClientAuthHash

A função SslComputeClientAuthHash calcula um hash a ser usado durante a autenticação do certificado .

Sintaxe

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

Parâmetros

hSslProvider [in]

O identificador da instância do provedor de protocolo SSL ( Secure Sockets Layer ).

hMasterKey [in]

O identificador do objeto de chave master.

hHandshakeHash [in]

O identificador do hash do handshake calculado até agora.

pszAlgId [in]

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que identifica o algoritmo criptográfico solicitado. Esse pode ser um dos Identificadores de Algoritmo CNG padrão ou o identificador de outro algoritmo registrado.

pbOutput [out]

O endereço de um buffer que recebe a chave BLOB. O parâmetro cbOutput contém o tamanho desse buffer. Se esse parâmetro for NULL, essa função colocará o tamanho necessário, em bytes, no DWORD apontado pelo parâmetro pcbResult .

cbOutput [in]

O comprimento, em bytes, do buffer pbOutput .

pcbResult [out]

Um ponteiro para um valor DWORD que especifica o comprimento, em bytes, do hash gravado no buffer pbOutput .

dwFlags [in]

Esse parâmetro é reservado para uso futuro.

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.

Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.

Retornar código/valor Descrição
NTE_INVALID_HANDLE
0x80090026L
Um dos identificadores fornecidos não é válido.

Comentários

A função SslComputeClientAuthHash calcula o hash enviado na mensagem de verificação de certificado do handshake SSL. O valor de hash é calculado criando um hash que contém o segredo master com um hash de todas as mensagens de handshake anteriores enviadas ou recebidas.

A maneira como o hash é calculado depende do protocolo e do conjunto de criptografias usados. Além disso, o hash depende do tipo de chave de autenticação do cliente usada; o parâmetro pszAlgId indica o tipo de chave usada para autenticação do cliente.

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