Funzione CryptVerifyMessageHash (wincrypt.h)
La funzione CryptVerifyMessageHash verifica l'hash del contenuto specificato.
Sintassi
BOOL CryptVerifyMessageHash(
[in] PCRYPT_HASH_MESSAGE_PARA pHashPara,
[in] BYTE *pbHashedBlob,
[in] DWORD cbHashedBlob,
[out] BYTE *pbToBeHashed,
[in, out] DWORD *pcbToBeHashed,
[out, optional] BYTE *pbComputedHash,
[in, out, optional] DWORD *pcbComputedHash
);
Parametri
[in] pHashPara
Puntatore a una struttura CRYPT_HASH_MESSAGE_PARA contenente parametri hash.
[in] pbHashedBlob
Puntatore a un buffer contenente contenuto originale e il relativo hash.
[in] cbHashedBlob
Dimensioni, in byte, del buffer hash originale.
[out] pbToBeHashed
Puntatore a un buffer per ricevere il contenuto originale con hash.
Questo parametro può essere NULL se il contenuto originale non è necessario per l'elaborazione aggiuntiva o per impostare le dimensioni del contenuto originale per scopi di allocazione della memoria. Per altre informazioni, vedere Recupero dei dati di lunghezza sconosciuta.
[in, out] pcbToBeHashed
Puntatore a un DWORD che specifica le dimensioni, in byte, del buffer pbToBeHashed . Quando la funzione restituisce, questa variabile contiene le dimensioni, in byte, del contenuto originale copiato in pbToBeHashed. Il contenuto originale non verrà restituito se questo parametro è NULL.
[out, optional] pbComputedHash
Puntatore a un buffer per ricevere l'hash calcolato. Questo parametro può essere NULL se l'hash creato non è necessario per l'elaborazione aggiuntiva o per impostare le dimensioni del contenuto originale per scopi di allocazione della memoria. Per altre informazioni, vedere Recupero dei dati di lunghezza sconosciuta.
[in, out, optional] pcbComputedHash
Puntatore a un DWORD che specifica le dimensioni, in byte, del buffer pbComputedHash . Quando la funzione restituisce, questa variabile contiene le dimensioni, in byte, dell'hash creato. L'hash non viene restituito se questo parametro è NULL.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).
Se la funzione ha esito negativo, il valore restituito è zero (FALSE).
Per informazioni sull'errore estese, chiamare GetLastError.
Di seguito sono elencati i codici di errore più comunemente restituiti dalla funzione GetLastError .
Codice restituito | Descrizione |
---|---|
|
Non un messaggio crittografico hash. |
|
Il tipo di codifica del messaggio non è valido. Attualmente è supportato solo PKCS_7_ASN_ENCODING. CbSize in *pHashPara non è valido. |
|
Se il buffer specificato dal parametro pbToBeHashed non è sufficiente per contenere i dati restituiti, la funzione imposta il codice ERROR_MORE_DATA e archivia le dimensioni del buffer necessarie, in byte, nella variabile puntata da pcbToBeHashed. |
Se la funzione ha esito negativo, GetLastError potrebbe restituire un errore di codifica astratta Notation One (ASN.1). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.
Requisiti
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |