структура CERT_CHAIN_PARA (wincrypt.h)
Структура CERT_CHAIN_PARA определяет критерии поиска и сопоставления, которые будут использоваться при построении цепочки сертификатов.
Синтаксис
typedef struct _CERT_CHAIN_PARA {
DWORD cbSize;
CERT_USAGE_MATCH RequestedUsage;
CERT_USAGE_MATCH RequestedIssuancePolicy;
DWORD dwUrlRetrievalTimeout;
BOOL fCheckRevocationFreshnessTime;
DWORD dwRevocationFreshnessTime;
LPFILETIME pftCacheResync;
PCCERT_STRONG_SIGN_PARA pStrongSignPara;
DWORD dwStrongSignFlags;
} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;
Члены
cbSize
Размер данной структуры (в байтах).
RequestedUsage
Структура, указывающая тип сопоставления, необходимый для поиска сертификатов издателя для построения цепочки сертификатов. Структура, на которую указывает, следует ли использовать логику AND или ИЛИ в процессе сопоставления. Структура также включает массив OID для сопоставления.
RequestedIssuancePolicy
Необязательная структура, указывающая тип сопоставления ограничений политики выдачи, которые применяются при построении цепочки сертификатов. Структура, на которую указывает, следует ли использовать логику AND или ИЛИ в процессе сопоставления. Структура также включает массив OID для сопоставления.
dwUrlRetrievalTimeout
Необязательное время (в миллисекундах) до истечения времени ожидания проверки отзыва. Этот член является необязательным.
fCheckRevocationFreshnessTime
Необязательный член. Если этот флаг имеет значение TRUE, предпринимается попытка получить новый список отзыва сертификатов, если это обновление больше или равно текущему системное время за вычетом значения dwRevocationFreshnessTime . Если этот флаг не установлен, используется время следующего обновления списка отзыва сертификатов.
dwRevocationFreshnessTime
Текущее время в секундах за вычетом времени обновления списка отзыва сертификатов для всех элементов.
pftCacheResync
Необязательный член. Если задано значение, отличное от NULL , сведения, кэшированные до указанного времени, считаются недопустимыми и выполняется повторная синхронизация кэша.
Windows Vista: Поддержка этого члена начинается.
pStrongSignPara
Необязательный элемент. Укажите указатель на структуру CERT_STRONG_SIGN_PARA , чтобы включить проверку строгой сигнатуры.
Windows 8 и Windows Server 2012: начинается поддержка этого члена.
dwStrongSignFlags
Необязательные флаги, которые изменяют поведение получения цепочки. Это может быть ноль или следующее значение.
Windows 8 и Windows Server 2012: начинается поддержка этого свойства.
Комментарии
При проверке наличия надежных подписей применяются следующие замечания.
- При использовании функции CertGetCertificateChain или CertSelectCertificateChains задайте для элемента pStrongSignPara проверка для надежных подписей.
- Если в цепочке найден сертификат без строгой сигнатуры, ошибки CERT_TRUST_HAS_WEAK_SIGNATURE и CERT_TRUST_IS_NOT_SIGNATURE_VALID задаются в поле dwErrorStatus структуры CERT_TRUST_STATUS . Параметр ppChainContext функции CertGetCertificateChain и параметр pprgpSelection функции CertSelectCertificateChains указывают на CERT_CHAIN_CONTEXT структуру, которая, в свою очередь, указывает на структуру CERT_TRUST_STATUS .
- Если цепочка строго подписана, открытый ключ в конечном сертификате проверяется, соответствует ли он требованиям к минимальной длине открытого ключа для строгой подписи. Если условие не выполнено, ошибки CERT_TRUST_HAS_WEAK_SIGNATURE и CERT_TRUST_IS_NOT_SIGNATURE_VALID задаются в поле dwErrorStatus структуры CERT_TRUST_STATUS . Задайте значение CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG в элементе dwStrongSignFlags, чтобы отключить эту проверка.
- Если флаги CERT_STRONG_SIGN_ENABLE_CRL_CHECK или CERT_STRONG_SIGN_ENABLE_OCSP_CHECK заданы в структуре CERT_STRONG_SIGN_SERIALIZED_INFO , на которую ссылается структура CERT_STRONG_SIGN_PARA , на которую указывает член pStrongSignPara , а ответ CRL или OCSP найден без строгой сигнатуры, ответ CRL или OCSP будет рассматриваться как автономный. То есть ошибки CERT_TRUST_IS_OFFLINE_REVOCATION и CERT_TRUST_REVOCATION_STATUS_UNKNOWN задаются в поле dwErrorStatus структуры CERT_TRUST_STATUS . Кроме того, член dwRevocationResult структуры CERT_REVOCATION_INFO имеет значение NTE_BAD_ALGID.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | wincrypt.h |