次の方法で共有


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

HTTPS サーバーまたはクライアントによって提供されるものと照合される証明書を含む CERT_CONTEXT 構造体の配列。 検証には、一致する証明書が 1 つだけ必要です。 このパラメーターは、NULL でもかまいません。

dwCertMatchArrayCount

certMatchArray 内の証明書の数。

hCertMatchStore

HTTPS サーバーまたはクライアントによって提供されるものと照合される証明書を含む証明書ストアへのハンドル。 検証には、一致する証明書が 1 つだけ必要です。 このパラメーターは、NULL でもかまいません。

hCertIssuerStore

HTTPS サーバーまたはクライアントからの証明書のチェーン先となるルート証明書を含む証明書ストアへのハンドル。 証明書が少なくとも 1 つのルート証明書までチェーンされている限り、検証は成功します。 このパラメーターは、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_CONFIG_PARAMconfigParamTypeWSD_SECURITY_SSL_SERVER_CERT_VALIDATIONされている場合、この構造を使用して、SSL サーバーによって提示される SSL サーバー証明書を検証できます。

WSD_CONFIG_PARAMconfigParamTypeWSD_SECURITY_SSL_CLIENT_CERT_VALIDATION場合、この構造体を使用して、SSL クライアントによって提示される SSL クライアント証明書を検証できます。

WSD_SECURITY_CERT_VALIDATION では、3 つの証明書照合メカニズムを定義します。 一致を取得するには、そのようなメカニズムを少なくとも 1 つ満たす必要があります。

アプリケーションが 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 の wsdapi.dll では、この構造の古いバージョンと新しいバージョンの両方が処理されるため、Windows 8 でもサポートされます。

Windows 7 SDK を使用して既にビルドされているアプリケーションでは、この構造の古いバージョンが使用されます。 Windows 8 の wsdapi.dll は両方のバージョンを処理できるため、Windows 8 では正常に動作します。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
Header wsdbase.h (Windows.h を含む)