Función SslComputeClientAuthHash

La función SslComputeClientAuthHash calcula un hash que se usará durante la autenticación de certificados .

Sintaxis

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]

Identificador de la instancia del proveedor del protocolo Capa de sockets seguros (SSL).

hMasterKey [in]

Identificador del objeto de clave maestra .

hHandshakeHash [in]

Identificador del hash del protocolo de enlace calculado hasta ahora.

pszAlgId [in]

Puntero a una cadena Unicode terminada en null que identifica el algoritmo criptográfico solicitado. Puede ser uno de los identificadores de algoritmo de CNG estándar o el identificador de otro algoritmo registrado.

pbOutput [out]

Dirección de un búfer que recibe la clave BLOB. El parámetro cbOutput contiene el tamaño de este búfer. Si este parámetro es NULL, esta función colocará el tamaño necesario, en bytes, en el DWORD al que apunta el parámetro pcbResult .

cbOutput [in]

Longitud, en bytes, del búfer pbOutput .

pcbResult [out]

Puntero a un valor DWORD que especifica la longitud, en bytes, del hash escrito en el búfer pbOutput .

dwFlags [in]

Este parámetro se reserva para uso futuro.

Valor devuelto

Si la función se ejecuta correctamente, devuelve cero.

Si se produce un error en la función, devuelve un valor de error distinto de cero.

Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes.

Código o valor devuelto Descripción
NTE_INVALID_HANDLE
0x80090026L
Uno de los identificadores proporcionados no es válido.

Comentarios

La función SslComputeClientAuthHash calcula el hash que se envía en el mensaje de comprobación del certificado del protocolo de enlace SSL. El valor hash se calcula mediante la creación de un hash que contiene el secreto maestro con un hash de todos los mensajes de protocolo de enlace anteriores enviados o recibidos.

La manera en que se calcula el hash depende del protocolo y del conjunto de cifrado utilizado. Además, el hash depende del tipo de clave de autenticación de cliente utilizada; El parámetro pszAlgId indica el tipo de clave usada para la autenticación de cliente.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 [solo aplicaciones de escritorio]
Encabezado
Sslprovider.h
Archivo DLL
Ncrypt.dll