Поделиться через


структура 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

Побитовое или сочетание значений, указывающее, какие проверки сертификатов следует игнорировать.

Значение Значение
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

Комментарии

Эта структура используется в элементе pConfigDataструктуры WSD_CONFIG_PARAM .

Если значение configParamTypeWSD_CONFIG_PARAMWSD_SECURITY_SSL_SERVER_CERT_VALIDATION, эту структуру можно использовать для проверки сертификатов SSL-сервера, представленных SSL-сервером.

Если значение configParamTypeWSD_CONFIG_PARAMWSD_SECURITY_SSL_CLIENT_CERT_VALIDATION, эту структуру можно использовать для проверки сертификатов SSL-клиента, представленных SSL-клиентом.

WSD_SECURITY_CERT_VALIDATION определяет 3 механизма сопоставления сертификатов. Чтобы получить совпадение, должен быть выполнен хотя бы один такой механизм.

Если приложение создано с помощью пакета SDK для Windows 8, предназначенного для ОС Windows 8, WSD_SECURITY_CERT_VALIDATION разрешается в новую структуру. Однако в результате приложение может выполняться только на компьютерах с Windows 8.

Если приложение создано с помощью пакета SDK для Windows 8, предназначенного для ОС Windows 7, WSD_SECURITY_CERT_VALIDATION будет разрешаться в старую структуру (WSD_SECURITY_CERT_VALIDATION_V1). Хотя приложение будет поддерживаться для Windows 7, оно также и в Windows 8, так как wsdapi.dll в Windows 8 будет обрабатывать как старую, так и более новую версии этой структуры.

Приложение, уже созданное с помощью пакета SDK для Windows 7, будет использовать старую версию этой структуры. Он будет работать нормально в Windows 8, так как wsdapi.dll в Windows 8 может обрабатывать обе версии.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Верхняя часть wsdbase.h (включая Windows.h)