共用方式為


WSD_SECURITY_CERT_VALIDATION結構 (wsdbase.h)

表示比對用戶端憑證與 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

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
忽略不正確一般名稱憑證錯誤。

pszCNGHashAlgId

pbCertHash

dwCertHashSize

備註

此結構用於WSD_CONFIG_PARAM結構的pConfigData成員中。

WSD_SECURITY_SSL_SERVER_CERT_VALIDATION WSD_CONFIG_PARAMconfigParamType時,此結構可用來驗證 SSL 伺服器所呈現的 SSL 伺服器憑證。

WSD_SECURITY_SSL_CLIENT_CERT_VALIDATION WSD_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)