wincrypt.h) (CERT_CHAIN_PARA 结构

CERT_CHAIN_PARA 结构建立用于生成证书链的搜索和匹配条件。

语法

typedef struct _CERT_CHAIN_PARA {
  DWORD                   cbSize;
  CERT_USAGE_MATCH        RequestedUsage;
  CERT_USAGE_MATCH        RequestedIssuancePolicy;
  DWORD                   dwUrlRetrievalTimeout;
  BOOL                    fCheckRevocationFreshnessTime;
  DWORD                   dwRevocationFreshnessTime;
  LPFILETIME              pftCacheResync;
  PCCERT_STRONG_SIGN_PARA pStrongSignPara;
  DWORD                   dwStrongSignFlags;
} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;

成员

cbSize

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

RequestedUsage

结构,指示查找生成证书链的颁发者证书所需的匹配类型。 指向 的结构指示是否在匹配过程中使用 AND 或 OR 逻辑。 结构还包括要匹配的 OID 数组。

RequestedIssuancePolicy

可选结构,指示生成证书链时适用的颁发策略约束匹配类型。 指向 的结构指示是否在匹配过程中使用 AND 或 OR 逻辑。 结构还包括要匹配的 OID 数组。

注意 仅当 包含 Wincrypt.h 之前使用 #define 指令定义 CERT_CHAIN_PARA_HAS_EXTRA_FIELDS 时,才能使用此成员。 如果定义了此值,则应用程序必须将所有未使用的字段归零。
 

dwUrlRetrievalTimeout

吊销检查超时前的可选时间(以毫秒为单位)。此成员是可选的。

注意 仅当 包含 Wincrypt.h 之前使用 #define 指令定义 CERT_CHAIN_PARA_HAS_EXTRA_FIELDS 时,才能使用此成员。 如果定义了此值,则应用程序必须将所有未使用的字段归零。
 

fCheckRevocationFreshnessTime

可选成员。 当此标志为 TRUE 时,如果此更新大于或等于当前系统时间减去 dwRevocationFreshnessTime 值,则尝试检索新的 CRL。 如果未设置此标志,则使用 CRL 的下一次更新时间。

注意 仅当 包含 Wincrypt.h 之前使用 #define 指令定义 CERT_CHAIN_PARA_HAS_EXTRA_FIELDS 时,才能使用此成员。 如果定义了此值,则应用程序必须将所有未使用的字段归零。
 

dwRevocationFreshnessTime

当前时间(以秒为单位)减去已检查的所有元素的 CRL 的更新时间。

注意 仅当 包含 Wincrypt.h 之前使用 #define 指令定义 CERT_CHAIN_PARA_HAS_EXTRA_FIELDS 时,才能使用此成员。 如果定义了此值,则应用程序必须将所有未使用的字段归零。
 

pftCacheResync

可选成员。 设置为非 NULL 值时,在指定时间之前缓存的信息被视为无效,并执行缓存重新同步。

Windows Vista: 开始支持此成员。

注意 仅当 包含 Wincrypt.h 之前使用 #define 指令定义 CERT_CHAIN_PARA_HAS_EXTRA_FIELDS 时,才能使用此成员。 如果定义了此值,则应用程序必须将所有未使用的字段归零。
 

pStrongSignPara

可选。 指定指向 CERT_STRONG_SIGN_PARA 结构的指针以启用强签名检查。

Windows 8和Windows Server 2012:开始支持此成员。

注意 仅当 包含 Wincrypt.h 之前使用 #define 指令定义 CERT_CHAIN_PARA_HAS_EXTRA_FIELDS 时,才能使用此成员。 如果定义了此值,则应用程序必须将所有未使用的字段归零。
 

dwStrongSignFlags

用于修改链检索行为的可选标志。 这可以是零或以下值。

含义
CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG
0x00000001
如果链是强签名的,则将检查最终证书中的公钥,以验证它是否满足强签名的最小公钥长度要求。 可以指定 CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG 禁用默认检查。
 

Windows 8和Windows Server 2012:开始支持此属性。

注意 仅当 包含 Wincrypt.h 之前使用 #define 指令定义 CERT_CHAIN_PARA_HAS_EXTRA_FIELDS 时,才能使用此成员。 如果定义了此值,则应用程序必须将所有未使用的字段归零。
 

注解

检查强签名时,以下备注适用。

要求

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

另请参阅

CERT_USAGE_MATCH