Функция CryptVerifyMessageHash (wincrypt.h)
Функция CryptVerifyMessageHash проверяет хэш указанного содержимого.
Синтаксис
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
);
Параметры
[in] pHashPara
Указатель на структуру CRYPT_HASH_MESSAGE_PARA , содержащую хэш-параметры.
[in] pbHashedBlob
Указатель на буфер, содержащий исходное содержимое и его хэш.
[in] cbHashedBlob
Размер исходного хэш-буфера в байтах.
[out] pbToBeHashed
Указатель на буфер для получения исходного содержимого, которое было хэшировано.
Этот параметр может иметь значение NULL , если исходное содержимое не требуется для дополнительной обработки или для задания размера исходного содержимого для выделения памяти. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
[in, out] pcbToBeHashed
Указатель на DWORD , указывающий размер буфера pbToBeHashed в байтах . При возврате функции эта переменная содержит размер исходного содержимого, скопированного в pbToBeHashed, в байтах. Исходное содержимое не будет возвращено, если этот параметр имеет значение NULL.
[out, optional] pbComputedHash
Указатель на буфер для получения вычисляемого хэша. Этот параметр может иметь значение NULL , если созданный хэш не требуется для дополнительной обработки или для задания размера исходного содержимого для выделения памяти. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
[in, out, optional] pcbComputedHash
Указатель на DWORD , указывающий размер буфера pbComputedHash в байтах. При возврате функции эта переменная содержит размер созданного хэша в байтах. Хэш не возвращается, если этот параметр имеет значение NULL.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение не равно нулю (TRUE).
Если функция завершается ошибкой, возвращаемое значение равно нулю (FALSE).
Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.
Ниже перечислены коды ошибок, наиболее часто возвращаемые функцией GetLastError .
Код возврата | Описание |
---|---|
|
Не хэшированные криптографические сообщения. |
|
Недопустимый тип кодирования сообщений . В настоящее время поддерживается только PKCS_7_ASN_ENCODING. CbSize в *pHashPara является недопустимым. |
|
Если буфер, заданный параметром pbToBeHashed , недостаточно велик для хранения возвращаемых данных, функция задает код ERROR_MORE_DATA и сохраняет требуемый размер буфера в байтах в переменной, на которую указывает pcbToBeHashed. |
Если функция завершается сбоем, GetLastError может вернуть ошибку кодирования и декодирования абстрактной синтаксической нотации 1 (ASN.1). Сведения об этих ошибках см. в разделе Кодирование и декодирование возвращаемых значений ASN.1.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |