Поделиться через


структура 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 сертификат должен соответствовать всем критериям. В логике ИЛИ сертификат должен соответствовать хотя бы одному из критериев. Следующие коды определяются для определения логики, используемой в совпадении. Дополнительные сведения о применении этой функции см. в разделе Примечания.

Значение Значение
USAGE_MATCH_TYPE_AND
Логика AND
USAGE_MATCH_TYPE_OR
Логика 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