Compartir a través de


Función SslComputeFinishedHash

La función SslComputeFinishedHash calcula el hash enviado en el mensaje finalizado del protocolo de enlace capa de sockets seguros (SSL).

Sintaxis

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]

Identificador de la instancia del proveedor de protocolo SSL.

hMasterKey [in]

Identificador del objeto de clave maestra .

hHandshakeHash [in]

Identificador del hash de los mensajes del protocolo de enlace.

pbOutput [out]

Puntero a un búfer que recibe el hash del mensaje de finalización.

cbOutput [in]

Longitud, en bytes, del búfer pbOutput .

dwFlags [in]

Una de las siguientes constantes.

Valor Significado
NCRYPT_SSL_CLIENT_FLAG
0x00000001
Especifica que se trata de una llamada de cliente.
NCRYPT_SSL_SERVER_FLAG
0x00000002
Especifica que se trata de una llamada de servidor.

Valor devuelto

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

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

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

Comentarios

La función SslComputeFinishedHash es una de las tres funciones que se usan para generar un hash que se usará durante el protocolo de enlace SSL.

  1. Se llama a la función SslCreateHandshakeHash para obtener un identificador hash.
  2. La función SslHashHandshake se denomina cualquier número de veces con el identificador hash para agregar datos al hash.
  3. Se llama a la función SslComputeFinishedHash con el identificador hash para obtener el resumen de los datos con hash.

El valor hash se calcula mediante el hash del secreto maestro con un hash de todos los mensajes de protocolo de enlace anteriores enviados o recibidos.

El valor de cbOutput determina la longitud de los datos hash. Cuando se usa el protocolo de seguridad de la capa de transporte (TLS) 1.0, siempre debe ser 12 (bytes). Para más información, consulte La versión 1.0 del protocolo TLS.

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