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