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 |