CERT_REVOCATION_PARA 结构 (wincrypt.h)

CERT_REVOCATION_PARA 结构在对 CertVerifyRevocation 函数的调用中传递,以帮助查找要验证的上下文的颁发者。 CERT_REVOCATION_PARA 结构是 CertVerifyRevocation 函数中的可选参数。

语法

typedef struct _CERT_REVOCATION_PARA {
  DWORD                       cbSize;
  PCCERT_CONTEXT              pIssuerCert;
  DWORD                       cCertStore;
  HCERTSTORE                  *rgCertStore;
  HCERTSTORE                  hCrlStore;
  LPFILETIME                  pftTimeToUse;
  DWORD                       dwUrlRetrievalTimeout;
  BOOL                        fCheckFreshnessTime;
  DWORD                       dwFreshnessTime;
  LPFILETIME                  pftCurrentTime;
  PCERT_REVOCATION_CRL_INFO   pCrlInfo;
  LPFILETIME                  pftCacheResync;
  PCERT_REVOCATION_CHAIN_PARA pChainPara;
} CERT_REVOCATION_PARA, *PCERT_REVOCATION_PARA;

成员

cbSize

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

pIssuerCert

指向CERT_CONTEXT结构的指针,该结构包含 CertVerifyRevocation 参数列表中的 rgpvContext 数组中指定的证书的颁发者证书。

cCertStore

设置后,包含 rgCertStore 数组中的元素数。 如果未在 rgCertStore 参数中提供存储句柄列表,则设置为零。

rgCertStore

证书存储句柄的数组。 指定搜索颁发者证书的一组存储。 如果未设置 rgCertStore ,则搜索默认存储。

hCrlStore

可选的存储句柄。 指定后,使用 证书吊销列表 (CRL) 的处理程序可以在此存储中搜索 CRL。

pftTimeToUse

指向 UTC 时间的 FILETIME 版本的指针。 指定后,处理程序必须尽可能确定相对于给定时间的吊销状态。 如果 NULL 或处理程序无法确定相对于 pftTimeToUse 值的状态,则可以独立于时间或相对于当前时间确定吊销状态。

dwUrlRetrievalTimeout

仅当定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 时才定义此成员。 吊销处理程序在尝试检索吊销信息时将等待的超时(以毫秒为单位)。 如果设置为零,则使用吊销处理程序的默认超时。 如果定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,则如果此成员未使用,则必须将其设置为零。

fCheckFreshnessTime

仅当定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 时才定义此成员。 如果 为 TRUE,则如果 CRL 的颁发日期小于或等于当前时间减去 dwFreshnessTime,则尝试检索新的 CRL。 如果未设置此标志,则使用 CRL 的 NextUpdate 时间。 如果定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,则必须将此成员设置为 FALSE (如果它未使用)。

dwFreshnessTime

仅当定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 时才定义此成员。 时间(以秒为单位)用于确定是否尝试检索新的 CRL。 如果定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,则如果此成员未使用,则必须将其设置为零。

pftCurrentTime

仅当定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 时才定义此成员。 指向在新鲜时间检查中使用的 FILETIME 结构的指针。 如果此指针的值为 null,则吊销处理程序使用当前时间。 如果定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,则如果此成员未使用,则必须将其设置为 null。

pCrlInfo

仅当定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 时才定义此成员。 此成员包含指向包含 CRL 上下文信息的PCERT_REVOCATION_CRL_INFO结构的指针。 CRL 信息仅适用于上次检查的 上下文 。 若要访问此 CRL 中的信息,请调用 cContext 设置为 1 的 CertVerifyRevocation 函数。 如果定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,则必须将成员设置为 null(如果成员未使用)。

pftCacheResync

仅当定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 时才定义此成员。 此成员包含指向 FILETIME 结构的指针,该结构指定缓存信息的使用。 在指定时间之前缓存的任何信息都被视为无效,并检索新信息。 如果定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,则如果此成员未使用,则必须将其设置为 null。

Windows Server 2003 和 Windows XP: 不使用此成员。

pChainPara

仅当定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS 时才定义此成员。 此成员包含指向 CERT_REVOCATION_CHAIN_PARA 结构的指针,该结构包含用于为独立 OCSP 签名者证书生成链的参数。 如果定义了 CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS ,则如果此成员未使用,则必须将其设置为 null。

Windows Vista、Windows Server 2003 和 Windows XP: 此成员不在列出的系统中使用。 该成员从 Windows Vista SP1 开始可用。

注解

CERT_REVOCATION_PARA 结构提供 CertVerifyRevocation 函数可用于确定上下文颁发者的其他信息。

如果应用程序必须检查 CRL 的新鲜度或重新同步 CRL 缓存,则可以提供额外的结构成员来帮助 CertVerifyRevocation 函数执行此操作。 若要包含其他结构成员,请在包含 Wincrypt.h 之前在应用程序中定义常量CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS

要求

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

另请参阅

CertVerifyRevocation