Função CryptVerifyMessageHash (wincrypt.h)
A função CryptVerifyMessageHash verifica o hash do conteúdo especificado.
Sintaxe
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
);
Parâmetros
[in] pHashPara
Um ponteiro para uma estrutura CRYPT_HASH_MESSAGE_PARA que contém parâmetros de hash.
[in] pbHashedBlob
Um ponteiro para um buffer que contém o conteúdo original e seu hash.
[in] cbHashedBlob
O tamanho, em bytes, do buffer de hash original.
[out] pbToBeHashed
Um ponteiro para um buffer para receber o conteúdo original que foi hash.
Esse parâmetro poderá ser NULL se o conteúdo original não for necessário para processamento adicional ou para definir o tamanho do conteúdo original para fins de alocação de memória. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
[in, out] pcbToBeHashed
Um ponteiro para um DWORD que especifica o tamanho, em bytes, do buffer pbToBeHashed . Quando a função retorna, essa variável contém o tamanho, em bytes, do conteúdo original copiado para pbToBeHashed. O conteúdo original não será retornado se esse parâmetro for NULL.
[out, optional] pbComputedHash
Um ponteiro para um buffer para receber o hash computado. Esse parâmetro poderá ser NULL se o hash criado não for necessário para processamento adicional ou para definir o tamanho do conteúdo original para fins de alocação de memória. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
[in, out, optional] pcbComputedHash
Um ponteiro para um DWORD que especifica o tamanho, em bytes, do buffer pbComputedHash . Quando a função retorna, essa variável contém o tamanho, em bytes, do hash criado. O hash não será retornado se esse parâmetro for NULL.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).
Se a função falhar, o valor retornado será zero (FALSE).
Para obter informações de erro estendidas, chame GetLastError.
O seguinte lista os códigos de erro mais comumente retornados pela função GetLastError .
Código de retorno | Descrição |
---|---|
|
Não é uma mensagem criptográfica hash. |
|
O tipo de codificação de mensagem não é válido. Atualmente, há suporte apenas para PKCS_7_ASN_ENCODING. O cbSize em *pHashPara não é válido. |
|
Se o buffer especificado pelo parâmetro pbToBeHashed não for grande o suficiente para manter os dados retornados, a função definirá o código ERROR_MORE_DATA e armazenará o tamanho do buffer necessário, em bytes, na variável apontada por pcbToBeHashed. |
Se a função falhar, GetLastError poderá retornar um erro de codificação/decodificação de ASN.1 (Abstract Syntax Notation One ). Para obter informações sobre esses erros, consulte Codificação/Decodificação de Valores Retornados do ASN.1.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Crypt32.lib |
DLL | Crypt32.dll |