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


Структура HTTPSPolicyCallbackData (wincrypt.h)

Структура SSL_EXTRA_CERT_CHAIN_POLICY_PARA , также определяемая именем HTTPSPolicyCallbackData, содержит сведения о политике, используемые при проверке цепочек сертификатов ssl-клиента и сервера.

Синтаксис

typedef struct _HTTPSPolicyCallbackData {
  union {
    DWORD cbStruct;
    DWORD cbSize;
  } DUMMYUNIONNAME;
  DWORD dwAuthType;
  DWORD fdwChecks;
  WCHAR *pwszServerName;
} HTTPSPolicyCallbackData, *PHTTPSPolicyCallbackData, SSL_EXTRA_CERT_CHAIN_POLICY_PARA, *PSSL_EXTRA_CERT_CHAIN_POLICY_PARA;

Члены

DUMMYUNIONNAME

DUMMYUNIONNAME.cbStruct

Значение DWORD, указывающее количество байтов в этой структуре.

DUMMYUNIONNAME.cbSize

Значение DWORD, указывающее размер этой структуры в байтах.

dwAuthType

Значение DWORD, указывающее тип проверки подлинности. Этот элемент может быть одним из следующих значений.

Значение Значение
AUTHTYPE_CLIENT
1
Клиент проходит проверку подлинности.
AUTHTYPE_SERVER
2
Сервер проходит проверку подлинности.

fdwChecks

Значение DWORD, указывающее ошибки сертификата, которые следует игнорировать. Это может быть побитовое сочетание следующих флагов.

Значение Значение
SECURITY_FLAG_IGNORE_REVOCATION
0x00000080
Игнорировать ошибки, связанные с отозванным сертификатом.
SECURITY_FLAG_IGNORE_UNKNOWN_CA
0x00000100
Игнорируйте ошибки, связанные с неизвестным центром сертификации.
SECURITY_FLAG_IGNORE_WRONG_USAGE
0x00000200
Игнорировать ошибки, связанные с использованием сертификата.
SECURITY_FLAG_IGNORE_CERT_CN_INVALID
0x00001000
Игнорируйте ошибки, связанные с сертификатом, который содержит недопустимое общее имя.
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID
0x00002000
Игнорируйте ошибки, связанные с сертификатом с истекшим сроком действия.

pwszServerName

Указатель на строку расширенных символов, завершающуюся null, которая содержит имя сервера. Этот элемент игнорируется, если значение элемента dwAuthTypeравно AUTHTYPE_CLIENT.

Если строка закодирована в Punycode, то имя сервера из сертификата (DNS-имя или общее имя) преобразуется в строку в кодировке Punycode. Затем выполняется сопоставление, метка по метке, если имя содержит подстановочные знаки, или точное совпадение без учета регистра в противном случае.

Если строка содержит символы Юникода за пределами набора символов ASCII, а имя субъекта (DNS-имя или общее имя) является строкой в кодировке Punycode, то перед сравнением она закодирована в Punycode.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть wincrypt.h