CERT_TRUST_STATUS 结构 (wincrypt.h)
CERT_TRUST_STATUS结构包含有关证书链中证书的信任信息、有关简单证书链的摘要信任信息或有关简单链数组的摘要信息。
语法
typedef struct _CERT_TRUST_STATUS {
DWORD dwErrorStatus;
DWORD dwInfoStatus;
} CERT_TRUST_STATUS, *PCERT_TRUST_STATUS;
成员
dwErrorStatus
dwErrorStatus 是为证书和链定义的以下错误代码的位掩码。
值 | 含义 |
---|---|
|
找不到此证书或链的错误。 |
|
此证书或证书链中的某个证书在时间上无效。 |
|
已吊销此证书或证书链中某个证书的信任。 |
|
证书链中的证书或其中一个证书没有有效的签名。 |
|
证书或证书链对于其建议的用法无效。 |
|
证书或证书链基于不受信任的根。 |
|
该证书或证书链中的某个证书的吊销状态未知。 |
|
链中的一个证书是由原始证书已认证的 证书颁发机构 颁发的。 |
|
其中一个证书的扩展名无效。 |
|
证书或证书链中的某个证书具有策略约束扩展,其中一个颁发的证书具有不允许的策略映射扩展,或者没有所需的颁发策略扩展。 |
|
证书或证书链中的某个证书具有基本约束扩展,该证书不能用于颁发其他证书,或者已超出链路径长度。 |
|
证书链中的证书或其中一个证书具有无效的名称约束扩展。 |
|
证书链中的证书或其中一个证书具有包含不受支持的字段的名称约束扩展。 不支持最小和最大字段。 因此,最小值必须始终为零,最大值必须始终不存在。 其他名称仅支持 UPN。 不支持以下备用名称选项:
|
|
证书链中的证书或其中一个证书具有名称约束扩展名,并且尾证书中的某个名称选项缺少名称约束。 |
|
证书链中的证书或其中一个证书具有名称约束扩展名,并且最终证书中的某个名称选项没有允许的名称约束。 |
|
证书链中的证书或证书链中的某个证书具有名称约束扩展,并且显式排除了最终证书中的一个名称选项。 |
|
证书或证书链中某个证书的吊销状态为脱机或过时。 |
|
最终证书没有任何生成的颁发策略,并且其中一 个证书颁发机构证书 具有需要它的策略约束扩展。 |
|
该证书显式不受信任。
Windows Vista 和 Windows Server 2008: 开始支持此标志。 |
|
证书不支持关键扩展。
Windows Vista 和 Windows Server 2008: 开始支持此标志。 |
|
证书尚未进行强签名。 这通常表示使用了 MD2 或 MD5 哈希算法来创建证书的哈希。
Windows 8和Windows Server 2012:开始支持此标志。 |
以下代码仅为链定义。
值 | 含义 |
---|---|
|
证书链不完整。 |
|
用于创建此链 (CTL) 证书信任列表 的时间无效。 |
|
用于创建此链的 CTL 没有有效的签名。 |
|
用于创建此链的 CTL 对于此用法无效。 |
dwInfoStatus
定义了以下信息状态代码。
值 | 含义 |
---|---|
|
已找到此证书的完全匹配颁发者证书。 此状态代码仅适用于证书。 |
|
已找到此证书的密钥匹配颁发者证书。 此状态代码仅适用于证书。 |
|
已找到此证书的名称匹配颁发者证书。 此状态代码仅适用于证书。 |
|
此证书是自签名证书。 此状态代码仅适用于证书。 |
|
证书或链具有首选颁发者。 此状态代码适用于证书和链。 |
|
存在颁发链策略。 此状态代码适用于证书和链。 |
|
所有命名空间(包括 UPN)的有效名称约束。 此状态代码适用于证书和链。 |
|
此证书是对等信任证书。 此状态代码仅适用于证书。
Windows Vista 和 Windows Server 2008: 开始支持此标志。 |
|
此证书的 证书吊销列表 (CRL) 有效期已延长。 此状态代码仅适用于证书。
Windows Vista 和 Windows Server 2008: 开始支持此标志。 |
|
证书是在 CERT_CHAIN_ENGINE_CONFIG结构的 hExclusiveRoot 或 hExclusiveTrustedPeople 成员指向的存储中找到 的 。
Windows 7 和 Windows Server 2008 R2: 开始支持此标志。 |
|
创建的证书链是一个复杂的链。 此状态代码仅适用于链。 |
|
在 CERT_CHAIN_ENGINE_CONFIG 结构的 hExclusiveRoot 成员指向的存储中发现了非自签名中间 CA 证书。 CA 证书被视为证书链的信任定位点。 仅当 在 CERT_CHAIN_ENGINE_CONFIG 结构的 dwExclusiveFlags 成员中设置了CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG值时,才会设置 此标志 。
如果设置了此标志,则不会设置 CERT_TRUST_IS_SELF_SIGNED 和 CERT_TRUST_IS_PARTIAL_CHAINdwErrorStatus 标志。 Windows 8和Windows Server 2012:开始支持此标志。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | wincrypt.h |