CERT_CHAIN_CONTEXT 结构 (wincrypt.h)

CERT_CHAIN_CONTEXT结构包含一个简单证书链数组和一个信任状态结构,该结构指示所有连接的简单链上的摘要有效性数据。

语法

typedef struct _CERT_CHAIN_CONTEXT {
  DWORD                cbSize;
  CERT_TRUST_STATUS    TrustStatus;
  DWORD                cChain;
  PCERT_SIMPLE_CHAIN   *rgpChain;
  DWORD                cLowerQualityChainContext;
  PCCERT_CHAIN_CONTEXT *rgpLowerQualityChainContext;
  BOOL                 fHasRevocationFreshnessTime;
  DWORD                dwRevocationFreshnessTime;
  DWORD                dwCreateFlags;
  GUID                 ChainId;
} CERT_CHAIN_CONTEXT, *PCERT_CHAIN_CONTEXT;

成员

cbSize

此结构的大小(以字节为单位)。

TrustStatus

一个 结构,指示简单链数组的组合信任状态。 结构包括错误状态代码和信息状态代码。 有关状态代码值的信息,请参阅 CERT_TRUST_STATUS

cChain

数组中简单链的数目。

rgpChain

指向简单链结构的指针数组。 rgpChain[0] 是最终证书简单链, rgpChain[cChain–1] 是最终链。 如果要将最终证书视为有效,则最终链必须以根存储中包含的证书或其他受信任的自签名证书开头。 如果原始链以受信任的证书开头,则数组中只有一个简单链。

cLowerQualityChainContext

rgpLowerQualityChainContext 数组中的链数。

rgpLowerQualityChainContext

指向CERT_CHAIN_CONTEXT结构的指针数组。 在 dwFlags 中设置CERT_CHAIN_RETURN_LOWER_QUALITY_CONTEXTS时返回。

fHasRevocationFreshnessTime

如果 dwRevocationFreshnessTime 可用,则设置为 TRUE 的布尔值。

dwRevocationFreshnessTime

最大的 CurrentTime(以秒为单位)减去 证书吊销列表 ( CRL 的所有已检查元素的 ThisUpdate) 。

dwCreateFlags

ChainId

注解

生成 CERT_CHAIN_CONTEXT 时,第一个简单链以结束证书开头,以自签名证书结束。 如果该自签名证书不是 证书或其他受信任的证书,则尝试生成新链。 CTL 用于创建新链,从原始链中的自签名证书作为新链的结束证书开始。 此过程将继续生成其他简单链,直到第一个自签名证书是受信任的证书,或直到无法生成其他简单链。

要求

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

另请参阅

CERT_SIMPLE_CHAIN

CERT_TRUST_STATUS

CertGetCertificateChain