Freigeben über


WSD_SECURITY_CERT_VALIDATION-Struktur (wsdbase.h)

Stellt die Kriterien für den Abgleich von Clientzertifikaten mit denen eines HTTPS-Servers dar.

Verwenden Sie WSD_SECURITY_CERT_VALIDATION_V1 nicht direkt in Ihrem Code. Mithilfe von WSD_SECURITY_CERT_VALIDATION wird stattdessen sichergestellt, dass die richtige Version auf Der Windows-Version basiert.

Syntax

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;

Member

certMatchArray

Ein Array von CERT_CONTEXT Strukturen, die Zertifikate enthalten, die mit den vom HTTPS-Server oder -Client bereitgestellten Zertifikaten abgeglichen werden sollen. Für die Validierung ist nur ein übereinstimmende Zertifikat erforderlich. Dieser Parameter kann NULL sein.

dwCertMatchArrayCount

Die Anzahl der Zertifikate in certMatchArray.

hCertMatchStore

Ein Handle für einen Zertifikatspeicher, der Zertifikate enthält, die mit den vom HTTPS-Server oder -Client bereitgestellten Zertifikaten abgeglichen werden sollen. Für die Validierung ist nur ein übereinstimmende Zertifikat erforderlich. Dieser Parameter kann NULL sein.

hCertIssuerStore

Ein Handle für einen Zertifikatspeicher, der Stammzertifikate enthält, mit denen ein Zertifikat vom HTTPS-Server oder -Client verkettet werden soll. Die Überprüfung ist erfolgreich, solange das Zertifikat mit mindestens einem Stammzertifikat verkettet ist. Dieser Parameter kann NULL sein.

dwCertCheckOptions

Eine bitweise OR-Kombination von Werten, die angeben, welche Zertifikatüberprüfungen ignoriert werden sollen.

Wert Bedeutung
WSDAPI_SSL_CERT_DEFAULT_CHECKS
0x0
Behandeln sie alle widerrufenen Zertifikatfehler.
WSDAPI_SSL_CERT_IGNORE_REVOCATION
0x1
Fehler bei gesperrten Zertifikaten ignorieren.
WSDAPI_SSL_CERT_IGNORE_EXPIRY
0x2
Fehler bei abgelaufenen Zertifikaten ignorieren.
WSDAPI_SSL_CERT_IGNORE_WRONG_USAGE
0x4
Fehler bei der Zertifikatverwendung ignorieren.
WSDAPI_SSL_CERT_IGNORE_UNKNOWN_CA
0x8
Unbekannte Zertifizierungsstellenfehler ignorieren.
WSDAPI_SSL_CERT_IGNORE_INVALID_CN
0x10
Fehler beim Zertifikat für ungültige allgemeine Namen ignorieren.

pszCNGHashAlgId

pbCertHash

dwCertHashSize

Hinweise

Diese Struktur wird im pConfigData-Element der WSD_CONFIG_PARAM-Struktur verwendet.

Wenn configParamType von WSD_CONFIG_PARAMWSD_SECURITY_SSL_SERVER_CERT_VALIDATION ist, kann diese Struktur verwendet werden, um SSL-Serverzertifikate zu überprüfen, die von einem SSL-Server bereitgestellt werden.

Wenn configParamType von WSD_CONFIG_PARAMWSD_SECURITY_SSL_CLIENT_CERT_VALIDATION ist, kann diese Struktur verwendet werden, um SSL-Clientzertifikate zu überprüfen, die von einem SSL-Client bereitgestellt werden.

WSD_SECURITY_CERT_VALIDATION definiert drei Mechanismen für den Zertifikatabgleich. Um eine Übereinstimmung zu erhalten, muss mindestens ein solcher Mechanismus erfüllt sein.

Wenn die Anwendung mit dem Windows 8 SDK für Windows 8-Betriebssystem erstellt wird, wird WSD_SECURITY_CERT_VALIDATION in die neue Struktur aufgelöst. Infolgedessen kann die Anwendung jedoch nur auf Windows 8-Computern ausgeführt werden.

Wenn die Anwendung mit dem Windows 8 SDK für windows 7 erstellt wird, wird WSD_SECURITY_CERT_VALIDATION in die alte Struktur (WSD_SECURITY_CERT_VALIDATION_V1) aufgelöst. Es ist zwar selbstverständlich, dass die Anwendung für Windows 7 unterstützt wird, aber auch unter Windows 8, da wsdapi.dll unter Windows 8 sowohl die alte als auch die neuere Version dieser Struktur verarbeitet.

Eine Anwendung, die bereits mit dem Windows 7 SDK erstellt wurde, verwendet die alte Version dieser Struktur. Es wird unter Windows 8 einwandfrei ausgeführt, da wsdapi.dll unter Windows 8 beide Versionen verarbeiten kann.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile wsdbase.h (windows.h einschließen)