Поделиться через


Функция CryptHashCertificate (wincrypt.h)

Важно Этот API не рекомендуется использовать. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках.
 
Функция CryptHashCertificateхэширует все закодированное содержимое сертификата , включая его подпись.

Синтаксис

BOOL CryptHashCertificate(
  [in]      HCRYPTPROV_LEGACY hCryptProv,
  [in]      ALG_ID            Algid,
  [in]      DWORD             dwFlags,
  [in]      const BYTE        *pbEncoded,
  [in]      DWORD             cbEncoded,
  [out]     BYTE              *pbComputedHash,
  [in, out] DWORD             *pcbComputedHash
);

Параметры

[in] hCryptProv

Этот параметр не используется и должен иметь значение NULL.

Windows Server 2003 и Windows XP: Дескриптор поставщика служб шифрования (CSP) для вычисления хэша.

Тип данных этого параметра — HCRYPTPROV.

Если нет веской причины для передачи определенного CSP в hCryptProv, передается ноль. Передача нуля приводит к получению поставщика RSA или стандарта цифровой подписи (DSS) по умолчанию перед выполнением операций хэша, проверки подписи или шифрования получателей.

[in] Algid

Структура ALG_ID , указывающая используемый хэш-алгоритм . Если значение Algid равно нулю, используется хэш-алгоритм по умолчанию SHA1.

[in] dwFlags

Значение, передаваемое в API хэша. Дополнительные сведения см. в разделе CryptCreateHash.

[in] pbEncoded

Адрес закодированного содержимого для хэширования.

[in] cbEncoded

Размер закодированного содержимого (в байтах).

[out] pbComputedHash

Указатель на буфер для получения вычисляемого хэша.

Чтобы задать размер этих сведений для целей выделения памяти, этот параметр может иметь значение NULL. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.

[in, out] pcbComputedHash

Указатель на DWORD , содержащий размер (в байтах) буфера, на который указывает параметр pbComputedHash . При возврате функции DWORD содержит количество байтов, хранящихся в буфере.

Примечание При обработке данных, возвращаемых в буфере, приложения должны использовать фактический размер возвращаемых данных. Фактический размер может быть немного меньше размера буфера, указанного во входных данных. На входных данных размеры буфера обычно указываются достаточно большими, чтобы обеспечить максимально возможное количество выходных данных в буфере. В выходных данных переменная, на которую указывает этот параметр, обновляется с учетом фактического размера данных, скопированных в буфер.
 

Возвращаемое значение

Если функция выполняется успешно, функция возвращает ненулевое значение (TRUE).

Если функция завершается сбоем, она возвращает ноль (FALSE). Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError.

Примечание Ошибки из вызываемых функций CryptCreateHash, CryptGetHashParam и CryptHashData могут быть распространены на эту функцию.
 

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header wincrypt.h
Библиотека Crypt32.lib
DLL Crypt32.dll

См. также раздел

CryptHashPublicKeyInfo

CryptHashToBeSigned

Функции Управление данными