структура CERT_BASIC_CONSTRAINTS_INFO (wincrypt.h)

Структура CERT_BASIC_CONSTRAINTS_INFO содержит сведения, указывающие, может ли сертифицированный субъект выступать в качестве центра сертификации (ЦС), конечной сущности или и того, и другого. Если субъект может выступать в качестве ЦС, можно также указать ограничение длины пути сертификации, а также набор поддеревьев, которые должны содержать все имена субъектов последующих сертификатов в цепочке сертификации. Это расширение используется для проверки сертификатов, используемых для подписывания других сертификатов.

Функция CryptDecodeObject создает экземпляр этой структуры при выполнении с элементом Value структуры CERT_EXTENSION с элементом pszObjId структуры, для szOID_BASIC_CONSTRAINTS.

Синтаксис

typedef struct _CERT_BASIC_CONSTRAINTS_INFO {
  CRYPT_BIT_BLOB SubjectType;
  BOOL           fPathLenConstraint;
  DWORD          dwPathLenConstraint;
  DWORD          cSubtreesConstraint;
  CERT_NAME_BLOB *rgSubtreesConstraint;
} CERT_BASIC_CONSTRAINTS_INFO, *PCERT_BASIC_CONSTRAINTS_INFO;

Члены

SubjectType

Значение CRYPT_BIT_BLOB может содержать одно из следующих значений:

  • CERT_CA_SUBJECT_FLAG, указывающее, что субъект сертификата может выступать в качестве ЦС.
  • CERT_END_ENTITY_SUBJECT_FLAG, если этот параметр задан, указывает, что субъект сертификата может выступать в качестве конечной сущности.
  • Оба приведенных выше варианта в сочетании с использованием побитовой операции ИЛИ .

fPathLenConstraint

Логическое значение, указывающее, задает ли поле dwPathLenConstraint максимальную длину пути сертификации.

dwPathLenConstraint

Максимальное количество сертификатов ЦС, которые могут следовать за этим сертификатом в пути проверки сертификации. Нулевое значение указывает, что субъект этого сертификата может выдавать сертификаты только конечным сущностям, а не центрам сертификации.

cSubtreesConstraint

Количество элементов в массиве rgSubtreesConstraint .

rgSubtreesConstraint

Массив CERT_NAME_BLOB структур, устанавливающих ограничения поддеревьев.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть wincrypt.h

См. также раздел

CRYPT_BIT_BLOB

CRYPT_INTEGER_BLOB