Función CryptHashCertificate (wincrypt.h)

Importante Esta API está en desuso. El software nuevo y existente debe empezar a usar las API cryptography Next Generation. Microsoft puede quitar esta API en futuras versiones.
 
La función CryptHashCertificateaplica un algoritmo hash al contenido codificado completo de un certificado , incluida su firma.

Sintaxis

BOOL CryptHashCertificate(
  [in]      HCRYPTPROV_LEGACY hCryptProv,
  [in]      ALG_ID            Algid,
  [in]      DWORD             dwFlags,
  [in]      const BYTE        *pbEncoded,
  [in]      DWORD             cbEncoded,
  [out]     BYTE              *pbComputedHash,
  [in, out] DWORD             *pcbComputedHash
);

Parámetros

[in] hCryptProv

Este parámetro no se usa y debe establecerse en NULL.

Windows Server 2003 y Windows XP: Identificador del proveedor de servicios criptográficos (CSP) que se va a usar para calcular el hash.

El tipo de datos de este parámetro es HCRYPTPROV.

A menos que haya una razón fuerte para pasar un CSP específico en hCryptProv, se pasa cero. Pasar cero hace que se adquiera el proveedor PREDETERMINADO RSA o Digital Signature Standard (DSS) antes de realizar operaciones de cifrado de hash, comprobación de firmas o destinatarios.

[in] Algid

Estructura ALG_ID que especifica el algoritmo hash que se va a usar. Si Algid es cero, se usa el algoritmo hash predeterminado SHA1.

[in] dwFlags

Valor que se va a pasar a la API hash. Para obtener más información, consulte CryptCreateHash.

[in] pbEncoded

Dirección del contenido codificado que se va a aplicar un algoritmo hash.

[in] cbEncoded

Tamaño, en bytes, del contenido codificado.

[out] pbComputedHash

Puntero a un búfer para recibir el hash calculado.

Para establecer el tamaño de esta información con fines de asignación de memoria, este parámetro puede ser NULL. Para obtener más información, vea Recuperación de datos de longitud desconocida.

[in, out] pcbComputedHash

Puntero a un DWORD que contiene el tamaño, en bytes, del búfer al que apunta el parámetro pbComputedHash . Cuando se devuelve la función, DWORD contiene el número de bytes almacenados en el búfer.

Nota Al procesar los datos devueltos en el búfer, las aplicaciones deben usar el tamaño real de los datos devueltos. El tamaño real puede ser ligeramente menor que el tamaño del búfer especificado en la entrada. En la entrada, los tamaños de búfer suelen especificarse lo suficientemente grandes como para asegurarse de que los datos de salida más grandes posibles caben en el búfer. En la salida, la variable a la que apunta este parámetro se actualiza para reflejar el tamaño real de los datos copiados en el búfer.
 

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero (TRUE).

Si se produce un error en la función, devuelve cero (FALSE). Para obtener información de error extendida, llame a GetLastError.

Nota Los errores de las funciones llamadas CryptCreateHash, CryptGetHashParam y CryptHashData podrían propagarse a esta función.
 

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CryptHashPublicKeyInfo

CryptHashToBeSigned

funciones de Administración de datos