WTHelperCertFindIssuerCertificate 函数

[ WTHelperCertFindIssuerCertificate 函数可用于“要求”部分中指定的操作系统。 在后续版本中,它可能已更改或不可用。]

WTHelperCertFindIssuerCertificate 函数从与指定使用者证书匹配的指定证书存储中查找颁发者证书。

注意

此函数没有关联的导入库。 必须使用 LoadLibraryGetProcAddress 函数动态链接到Wintrust.dll。

 

语法

PCCERT_CONTEXT WINAPI WTHelperCertFindIssuerCertificate(
  _In_      PCCERT_CONTEXT pChildContext,
  _In_      DWORD          chStores,
  _In_      HCERTSTORE     *pahStores,
  _In_      FILETIME       *psftVerifyAsOf,
  _In_      DWORD          dwEncoding,
  _Out_opt_ DWORD          *pdwConfidence,
  _Out_     DWORD          *dwError
);

parameters

pChildContext [in]

要查找其匹配的颁发者证书的使用者证书。

chStores [in]

pahStores 数组中的元素数。

pahStores [in]

要在其中搜索的证书存储的数组。

psftVerifyAsOf [in]

验证时间。

dwEncoding [in]

一个 DWORD 值,该值指定要检查的证书的编码类型。 有关可能的编码类型的信息,请参阅 证书和消息编码类型

pdwConfidence [out, optional]

此参数可以是以下置信度值的零个或多个按位组合。

含义
CERT_CONFIDENCE_SIG
0x10000000
证书的签名有效。
CERT_CONFIDENCE_TIME
0x01000000
证书颁发者的时间有效。
CERT_CONFIDENCE_TIMENEST
0x00100000
证书的时间有效。
CERT_CONFIDENCE_AUTHIDEXT
0x00010000
颁发机构 ID 扩展有效。
CERT_CONFIDENCE_HYGIENE
0x00001000
证书和颁发机构 ID 扩展的签名至少有效。
CERT_CONFIDENCE_HIGHEST
0x11111000
所有其他置信度值的组合。

 

dwError [out]

指向包含此证书的错误值的 DWORD 变量(如果适用)的指针。

返回值

pChildContext 参数指定的使用者证书匹配的颁发者证书。

备注

若要成功查找匹配的颁发者证书,必须满足以下要求:

  • 由 pChildContext 参数指定的使用者证书的签名必须有效。
  • pChildContext 参数的 pCertInfo 成员的 rgExtension 成员必须包含CERT_AUTHORITY_KEY_ID_INFO结构。 此结构的 CertIssuerCertSerialMember 成员与颁发者证书的相应成员非常匹配。
  • psftVerifyAsOf 参数的值必须在使用者证书的有效期内。
  • 使用者证书的有效期必须在颁发者证书的有效期内。

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
DLL
Wintrust.dll