Функция CryptHashPublicKeyInfo (wincrypt.h)
Синтаксис
BOOL CryptHashPublicKeyInfo(
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] ALG_ID Algid,
[in] DWORD dwFlags,
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pInfo,
[out] BYTE *pbComputedHash,
[in, out] DWORD *pcbComputedHash
);
Параметры
[in] hCryptProv
Этот параметр не используется и должен иметь значение NULL.
Windows Server 2003 и Windows XP: Дескриптор поставщика служб шифрования (CSP) для вычисления хэша. Тип данных этого параметра — HCRYPTPROV.
Если нет веской причины для передачи определенного поставщика шифрования в hCryptProv, передается ноль. Передача нуля приводит к получению поставщика RSA или стандарта цифровой подписи (DSS) по умолчанию перед выполнением операций хэша, проверки подписи или шифрования получателей.
[in] Algid
Структура ALG_ID , указывающая используемый хэш-алгоритм CryptoAPI. Если значение Algid равно нулю, используется хэш-алгоритм по умолчанию MD5.
[in] dwFlags
Значения, передаваемые в CryptCreateHash.
[in] dwCertEncodingType
Указывает используемый тип кодирования. Всегда допустимо указывать типы кодированиясертификатов и сообщений, объединяя их с побитовой операцией ИЛИ, как показано в следующем примере:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
В настоящее время определены следующие типы кодирования:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pInfo
Указатель на структуру CERT_PUBLIC_KEY_INFO , содержащую данные открытого ключа для кодирования и хэширования.
[out] pbComputedHash
Указатель на буфер для получения вычисляемого хэша.
Чтобы задать размер этих сведений для целей выделения памяти, этот параметр может иметь значение NULL. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
[in, out] pcbComputedHash
Указатель на DWORD , содержащий размер (в байтах) буфера, на который указывает параметр pbComputedHash . При возврате функции DWORD содержит количество байтов, хранящихся в буфере.
Возвращаемое значение
Если функция выполняется успешно, функция возвращает ненулевое значение (TRUE).
Если функция завершается сбоем, она возвращает ноль (FALSE). Чтобы получить дополнительные сведения об ошибке, вызовите Метод GetLastError.
Код возврата | Описание |
---|---|
|
Если буфер, заданный параметром pbComputedHash , недостаточно велик для хранения возвращаемых данных, функция задает код ERROR_MORE_DATA и сохраняет требуемый размер буфера в байтах в переменной, на которую указывает pcbComputedHash. |
|
Недопустимый тип кодирования сертификата. В настоящее время поддерживается только X509_ASN_ENCODING. |
В случае сбоя функции GetLastError может вернуть ошибку кодирования и декодирования абстрактного синтаксиса (ASN.1). Сведения об этих ошибках см. в разделе Кодирование и декодирование возвращаемых значений ASN.1.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |