структура CERT_USAGE_MATCH (wincrypt.h)
Структура CERT_USAGE_MATCH предоставляет критерии для определения сертификатов издателя, которые будут использоваться для создания цепочки сертификатов.
Синтаксис
typedef struct _CERT_USAGE_MATCH {
DWORD dwType;
CERT_ENHKEY_USAGE Usage;
} CERT_USAGE_MATCH, *PCERT_USAGE_MATCH;
Члены
dwType
Определяет тип сопоставления издателя, который необходимо выполнить. В логике AND сертификат должен соответствовать всем критериям. В логике ИЛИ сертификат должен соответствовать хотя бы одному из критериев. Следующие коды определяются для определения логики, используемой в совпадении. Дополнительные сведения о применении этой функции см. в разделе Примечания.
Значение | Значение |
---|---|
|
Логика AND |
|
Логика OR |
Логика соответствия использования по умолчанию USAGE_MATCH_TYPE_AND.
Usage
CERT_ENHKEY_USAGE структуры (CERT_ENHKEY_USAGE — это альтернативное имя typedef для структуры CTL_USAGE ), которая включает массив идентификаторов объектов сертификата (OID), которым сертификат должен соответствовать, чтобы быть допустимым.
Комментарии
Если для элемента dwType задано значение USAGE_MATCH_TYPE_OR, элемент Usage не может быть пустым.
Если для элемента dwType задано значение USAGE_MATCH_TYPE_AND, пустой элемент Usage означает, что любое вложенное использование в цепочке будет работать.
Ниже описано поведение двух расширений расширенного использования ключей (EKU) EKU A и EKU B.
Логика AND
Если вызывающий объект указывает EKU A И EKU B, то целевой сертификат действителен, если EKU A и EKU B поддерживаются каждым сертификатом в пути (явным параметром EKU или отсутствующим расширением EKU в сертификатах ЦС).Логика OR
Если вызывающий объект указывает EKU A ИЛИ EKU B, то целевой сертификат действителен, если в пути поддерживается EKU A или EKU B.Помимо простого случая, когда сертификаты в пути содержат EKU A или EKU B, предложение OR имеет следующую специальную оценку.
Учитывая следующий путь, тест OR считается допустимым:
Хотя пересечение EKU в цепочке является пустым набором, использование сертификата EE допустимо для EKU A, так как запрос к API шифрования указывает, что сертификат действителен, если каждый сертификат пути поддерживает EKU A или EKU B.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | wincrypt.h |