Функция CertIsStrongHashToSign (wincrypt.h)
Определяет, можно ли использовать указанный хэш-алгоритм и открытый ключ в сертификате подписи для выполнения строгой подписи.
Синтаксис
BOOL CertIsStrongHashToSign(
[in] PCCERT_STRONG_SIGN_PARA pStrongSignPara,
[in] LPCWSTR pwszCNGHashAlgid,
[in, optional] PCCERT_CONTEXT pSigningCert
);
Параметры
[in] pStrongSignPara
Указатель на структуру CERT_STRONG_SIGN_PARA , содержащую сведения о поддерживаемых алгоритмах подписывания и хэширования.
[in] pwszCNGHashAlgid
Указатель на строку Юникода, содержащую имя алгоритма хэширования. Поддерживаются следующие алгоритмы:
- L"MD5" (BCRYPT_MD5_ALGORITHM)
- L"SHA1" (BCRYPT_SHA1_ALGORITHM)
- L"SHA256" (BCRYPT_SHA256_ALGORITHM)
- L"SHA256" (BCRYPT_SHA256_ALGORITHM)
- L"SHA512" (BCRYPT_SHA512_ALGORITHM)
[in, optional] pSigningCert
Указатель на CERT_CONTEXT структуру, содержащую сертификат подписи. Алгоритм открытого ключа в сертификате подписи проверяется на прочность. Для подписывания используется алгоритм открытого ключа (асимметричный). Поддерживаются следующие алгоритмы подписи:
- L"RSA" (BCRYPT_RSA_ALGORITHM)
- L"DSA" (BCRYPT_DSA_ALGORITHM)
- L"ECDSA" (SSL_ECDSA_ALGORITHM)
Возвращаемое значение
Если функция выполняется успешно, функция возвращает значение TRUE.
Если функция завершается сбоем, она возвращает значение FALSE. Для получения дополнительных сведений об ошибке вызовите Метод GetLastError. Эта функция имеет следующие коды ошибок.
Код возврата | Описание |
---|---|
|
Один или несколько входных аргументов неверны. |
|
Указанный алгоритм не поддерживается. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |