(wsdbase.h) WSD_SECURITY_CERT_VALIDATION 结构
表示用于将客户端证书与 HTTPS 服务器证书匹配的条件。
请勿在代码中直接使用 WSD_SECURITY_CERT_VALIDATION_V1 ;改为使用 WSD_SECURITY_CERT_VALIDATION 可确保基于 Windows 版本的正确版本。
语法
typedef struct _WSD_SECURITY_CERT_VALIDATION {
PCCERT_CONTEXT *certMatchArray;
DWORD dwCertMatchArrayCount;
HCERTSTORE hCertMatchStore;
HCERTSTORE hCertIssuerStore;
DWORD dwCertCheckOptions;
LPCWSTR pszCNGHashAlgId;
BYTE *pbCertHash;
DWORD dwCertHashSize;
} WSD_SECURITY_CERT_VALIDATION;
成员
certMatchArray
包含要与 HTTPS 服务器或客户端提供的证书匹配的 CERT_CONTEXT 结构的数组。 验证只需要一个匹配的证书。 此参数可以为 NULL。
dwCertMatchArrayCount
certMatchArray 中的证书计数。
hCertMatchStore
证书存储的句柄,该存储包含要与 HTTPS 服务器或客户端提供的证书匹配的证书。 验证只需要一个匹配的证书。 此参数可以为 NULL。
hCertIssuerStore
包含根证书的证书存储的句柄,HTTPS 服务器或客户端的证书应链接到该根证书。 只要证书链接到至少一个根证书,验证就成功。 此参数可以为 NULL。
dwCertCheckOptions
指定要忽略的证书检查的值的按位 OR 组合。
pszCNGHashAlgId
pbCertHash
dwCertHashSize
注解
此结构用于 WSD_CONFIG_PARAM 结构的 pConfigData 成员。
WSD_SECURITY_SSL_SERVER_CERT_VALIDATIONWSD_CONFIG_PARAM 的 configParamType 时,此结构可用于验证 SSL 服务器提供的 SSL 服务器证书。
WSD_SECURITY_SSL_CLIENT_CERT_VALIDATIONWSD_CONFIG_PARAM 的 configParamType 时,此结构可用于验证 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) |