CERT_BASIC_CONSTRAINTS_INFO 结构 (wincrypt.h)

CERT_BASIC_CONSTRAINTS_INFO结构包含的信息指示认证主体是否可以充当证书颁发机构 (CA) 、最终实体或两者。 如果使用者可以充当 CA,则还可以指定认证路径长度约束,以及一组必须包含认证链中后续证书的所有使用者名称的子树。 此扩展用于验证用于对其他证书进行签名的证书。

CryptDecodeObject 函数在CERT_EXTENSION结构的 Value 成员(其结构的 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,在设置时,指示证书的使用者可以充当 CA。
  • CERT_END_ENTITY_SUBJECT_FLAG,在设置时,指示证书的使用者可以充当最终实体。
  • 使用按位 OR 运算组合的上述两项。

fPathLenConstraint

一个布尔值,指示 dwPathLenConstraint 字段是否设置认证路径的最大长度。

dwPathLenConstraint

证书验证路径中可遵循此证书的最大 CA 证书数。 如果值为零,则表示此证书的使用者只能向最终实体颁发证书,而不能颁发给 CA。

cSubtreesConstraint

rgSubtreesConstraint 数组中的元素数。

rgSubtreesConstraint

建立子树约束 的CERT_NAME_BLOB 结构的数组。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 wincrypt.h

另请参阅

CRYPT_BIT_BLOB

CRYPT_INTEGER_BLOB