Función CryptHashPublicKeyInfo (wincrypt.h)
Sintaxis
BOOL CryptHashPublicKeyInfo(
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] ALG_ID Algid,
[in] DWORD dwFlags,
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pInfo,
[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 un motivo seguro para pasar un proveedor criptográfico 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 cryptoAPI que se va a usar. Si Algid es cero, se usa el algoritmo hash predeterminado, MD5.
[in] dwFlags
Valores que se van a pasar a CryptCreateHash.
[in] dwCertEncodingType
Especifica el tipo de codificación utilizado. Siempre es aceptable especificar los tipos de codificación de certificados y mensajes mediante su combinación con una operación OR bit a bit, como se muestra en el ejemplo siguiente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Los tipos de codificación definidos actualmente son:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pInfo
Puntero a una estructura de CERT_PUBLIC_KEY_INFO que contiene la información de clave pública que se va a codificar y aplicar un algoritmo hash.
[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.
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.
Código devuelto | Descripción |
---|---|
|
Si el búfer especificado por el parámetro pbComputedHash no es lo suficientemente grande como para contener los datos devueltos, la función establece el código ERROR_MORE_DATA y almacena el tamaño de búfer necesario, en bytes, en la variable a la que apunta pcbComputedHash. |
|
Tipo de codificación de certificado no válido. Actualmente solo se admiten X509_ASN_ENCODING. |
Si se produce un error en la función, GetLastError puede devolver un error de codificación y descodificación de sintaxis abstracta uno (ASN.1). Para obtener información sobre estos errores, vea Valores devueltos de codificación y descodificación de ASN.1.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Crypt32.lib |
Archivo DLL | Crypt32.dll |