Função CryptVerifyDetachedMessageHash (wincrypt.h)
A função CryptVerifyDetachedMessageHash verifica um hash desanexado.
Sintaxe
BOOL CryptVerifyDetachedMessageHash(
[in] PCRYPT_HASH_MESSAGE_PARA pHashPara,
[in] BYTE *pbDetachedHashBlob,
[in] DWORD cbDetachedHashBlob,
[in] DWORD cToBeHashed,
[in] const BYTE * [] rgpbToBeHashed,
[in] DWORD [] rgcbToBeHashed,
[out] BYTE *pbComputedHash,
[in, out] DWORD *pcbComputedHash
);
Parâmetros
[in] pHashPara
Um ponteiro para uma estrutura CRYPT_HASH_MESSAGE_PARA que contém os parâmetros de hash.
[in] pbDetachedHashBlob
Um ponteiro para o hash codificado e desanexado.
[in] cbDetachedHashBlob
O tamanho, em bytes, do hash desanexado.
[in] cToBeHashed
Número de elementos nas matrizes rgpbToBeHashed e rgcbToBeHashed .
[in] rgpbToBeHashed
Matriz de ponteiros para buffers de conteúdo a serem hash.
[in] rgcbToBeHashed
Matriz de tamanhos, em bytes, para os buffers de conteúdo apontados pelos elementos da matriz rgcbToBeHashed .
[out] pbComputedHash
Um ponteiro para um buffer para receber o hash computado.
Esse parâmetro poderá ser NULL se o hash recém-criado não for necessário para processamento adicional ou para definir o tamanho do hash para fins de alocação de memória. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
[in, out] pcbComputedHash
Um ponteiro para um DWORD que especifica o tamanho, em bytes, do buffer pbComputedHash . Quando a função retorna, esse DWORD contém o tamanho, em bytes, do hash criado. O hash não será retornado se esse parâmetro for NULL.
Retornar valor
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 exemplo a seguir 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 com 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 pbComputedHash 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 pcbComputedHash. |
Se a função falhar, GetLastError poderá retornar um erro de codificação/decodificação ASN.1 ( Abstract Syntax Notation One ). Para obter informações sobre esses erros, consulte Valores retornados de codificação/decodificação asn.1.
Requisitos
Requisito | Valor |
---|---|
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 |