Функция CertVerifySubjectCertificateContext (wincrypt.h)
Функция CertVerifySubjectCertificateContext выполняет включенные проверки сертификата, проверяя действительность издателя сертификата. Вместо этой функции рекомендуется использовать новые функции проверки цепочки сертификатов .
Синтаксис
BOOL CertVerifySubjectCertificateContext(
[in] PCCERT_CONTEXT pSubject,
[in, optional] PCCERT_CONTEXT pIssuer,
[in, out] DWORD *pdwFlags
);
Параметры
[in] pSubject
Указатель на структуру CERT_CONTEXT , содержащую сертификат субъекта.
[in, optional] pIssuer
Указатель на CERT_CONTEXT , содержащий сертификат издателя. При проверке только CERT_STORE_TIME_VALIDITY_FLAG pIssuer может иметь значение NULL.
[in, out] pdwFlags
Указатель на значение DWORD содержит флаги проверки проверка. Чтобы включить проверки для сертификата субъекта, можно задать следующие флаги. Их можно объединить с помощью побитовой операции ИЛИ , чтобы включить несколько проверок.
Если включенная проверка проверка выполнена успешно, ее флаг устанавливается равным нулю. Если он завершается сбоем, его флаг устанавливается по возвращении.
Если CERT_STORE_REVOCATION_FLAG включен и у издателя нет списка отзыва сертификатов в хранилище, CERT_STORE_NO_CRL_FLAG устанавливается в дополнение к CERT_STORE_REVOCATION_FLAG.
Возвращаемое значение
Если функция выполнена успешно, возвращается значение TRUE.
Если функция завершается сбоем, возвращается значение FALSE.
Для сбоя проверка проверки по-прежнему возвращается значение TRUE. Значение FALSE возвращается только при передаче неверного параметра.
Для получения дополнительных сведений об ошибке вызовите Метод GetLastError. Ниже приведен один из возможных кодов ошибки.
Код возврата | Описание |
---|---|
|
Неподдерживаемый бит был задан в pdwFlags. Можно задать любое сочетание CERT_STORE_SIGNATURE_FLAG, CERT_STORE_TIME_VALIDITY_FLAG и CERT_STORE_REVOCATION_FLAG. Если pIssuer имеет значение NULL, можно задать только CERT_STORE_TIME_VALIDITY_FLAG. |
Комментарии
Шестнадцатеричное значение флагов можно объединить с помощью побитовых операций ИЛИ , чтобы включить несколько проверок. Например, чтобы включить как сигнатуру, так и срок действия, значение
CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG
помещается в значение DWORD pdwFlags в качестве входного параметра. Если проверка CERT_STORE_SIGNATURE_FLAG выполнена успешно, но CERT_STORE_TIME_VALIDITY_FLAG проверка завершается сбоем, при возврате функции для pdwFlags устанавливается значение CERT_STORE_TIME_VALIDITY_FLAG.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |