WSD_SECURITY_CERT_VALIDATION_V1 结构 (wsdbase.h)

表示用于将客户端证书与 HTTPS 服务器证书匹配的条件。

请勿在代码中直接使用 WSD_SECURITY_CERT_VALIDATION_V1 ;使用 WSD_SECURITY_CERT_VALIDATION 可确保基于 Windows 版本的正确版本。

语法

typedef struct _WSD_SECURITY_CERT_VALIDATION_V1 {
  PCCERT_CONTEXT *certMatchArray;
  DWORD          dwCertMatchArrayCount;
  HCERTSTORE     hCertMatchStore;
  HCERTSTORE     hCertIssuerStore;
  DWORD          dwCertCheckOptions;
} WSD_SECURITY_CERT_VALIDATION_V1;

成员

certMatchArray

CERT_CONTEXT结构的数组,这些结构包含要与 HTTPS 服务器或客户端提供的证书匹配的证书。 验证只需要一个匹配的证书。 此参数可以为 NULL。

dwCertMatchArrayCount

certMatchArray 中的证书计数。

hCertMatchStore

证书存储的句柄,其中包含要与 HTTPS 服务器或客户端提供的证书匹配的证书。 验证只需要一个匹配的证书。 此参数可以为 NULL。

hCertIssuerStore

包含 HTTPS 服务器或客户端的证书应链接到的根证书的证书存储的句柄。 只要证书链接到至少一个根证书,验证就成功。 此参数可以为 NULL。

dwCertCheckOptions

值的按位 OR 组合,用于指定要忽略的证书检查。

含义
WSDAPI_SSL_CERT_DEFAULT_CHECKS
0x0
处理任何吊销的证书错误。
WSDAPI_SSL_CERT_IGNORE_REVOCATION
0x1
忽略吊销的证书错误。
WSDAPI_SSL_CERT_IGNORE_EXPIRY
0x2
忽略过期的证书错误。
WSDAPI_SSL_CERT_IGNORE_WRONG_USAGE
0x4
忽略证书使用错误。
WSDAPI_SSL_CERT_IGNORE_UNKNOWN_CA
0x8
忽略未知证书颁发机构错误。
WSDAPI_SSL_CERT_IGNORE_INVALID_CN
0x10
忽略无效公用名证书错误。

注解

此结构在 WSD_CONFIG_PARAM 结构的 pConfigData 成员中使用。

WSD_SECURITY_SSL_SERVER_CERT_VALIDATIONWSD_CONFIG_PARAMconfigParamType 时,此结构可用于验证 SSL 服务器提供的 SSL 服务器证书。

WSD_SECURITY_SSL_CLIENT_CERT_VALIDATIONWSD_CONFIG_PARAMconfigParamType 时,此结构可用于验证 SSL 客户端提供的 SSL 客户端证书。

WSD_SECURITY_CERT_VALIDATION 定义了 3 种证书匹配机制。 若要获取匹配项,必须至少满足一种此类机制。

如果使用面向 Windows 8 OS 的 Windows 8 SDK 生成应用程序,WSD_SECURITY_CERT_VALIDATION解析为新结构。 但是,因此,应用程序只能在Windows 8计算机上运行。

如果使用面向 Windows 7 OS 的 Windows 8 SDK 生成应用程序,WSD_SECURITY_CERT_VALIDATION将解析为旧结构 (WSD_SECURITY_CERT_VALIDATION_V1) 。 虽然 Windows 7 支持应用程序,但它也Windows 8,因为 Windows 8 上的 wsdapi.dll 将处理此结构的旧版本和较新版本。

已使用 Windows 7 SDK 生成的应用程序将使用此结构的旧版本。 它在 Windows 8 上运行良好,因为 Windows 8 上的wsdapi.dll 可以处理这两个版本。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 wsdbase.h (包括 Windows.h)