структура SOCKET_SECURITY_SETTINGS_IPSEC (mstcpip.h)

Структура SOCKET_SECURITY_SETTINGS_IPSEC определяет различные требования и параметры безопасности, относящиеся к IPsec.

Синтаксис

typedef struct _SOCKET_SECURITY_SETTINGS_IPSEC {
  SOCKET_SECURITY_PROTOCOL SecurityProtocol;
  ULONG                    SecurityFlags;
  ULONG                    IpsecFlags;
  GUID                     AuthipMMPolicyKey;
  GUID                     AuthipQMPolicyKey;
  GUID                     Reserved;
  UINT64                   Reserved2;
  ULONG                    UserNameStringLen;
  ULONG                    DomainNameStringLen;
  ULONG                    PasswordStringLen;
  wchar_t                  AllStrings[0];
} SOCKET_SECURITY_SETTINGS_IPSEC;

Члены

SecurityProtocol

Тип: SOCKET_SECURITY_PROTOCOL

Значение SOCKET_SECURITY_PROTOCOL , определяющее тип протокола безопасности, используемого в сокете. Для этого элемента должно быть задано значение SOCKET_SECURITY_PROTOCOL_IPSEC.

SecurityFlags

Тип: ULONG

Набор флагов, позволяющих приложениям устанавливать определенные требования к безопасности в сокете. Возможные значения определяются в файле заголовка Mstcpip.h .

Значение Значение
SOCKET_SETTINGS_GUARANTEE_ENCRYPTION
0x00000001
Указывает, что требуется гарантированное шифрование трафика. Этот флаг следует установить, если политика по умолчанию предпочитает методы защиты, которые не используют шифрование. Если этот флаг установлен и шифрование по какой-либо причине невозможно, пакеты не будут отправляться и подключение не будет установлено.
SOCKET_SETTINGS_ALLOW_INSECURE
0x00000002
Указывает, что соединения с прозрачным текстом разрешены. Если этот флаг установлен, некоторые или все отправленные пакеты будут отправляться в виде чистого текста, особенно если не удалось согласовать безопасность с одноранговым элементом.
Примечание Если этот флаг не установлен, гарантируется, что пакеты никогда не будут отправляться в виде ясного текста, даже если согласование безопасности завершается сбоем.
 

IpsecFlags

Тип: ULONG

Флаги для параметров безопасности IPsec. Возможные значения определяются в файле заголовка Mstcpip.h .

Значение Значение
SOCKET_SETTINGS_IPSEC_SKIP_FILTER_INSTANTIATION
0x00000001
Если этот флаг установлен, экземпляр фильтра IPsec пропускается для сокета. Этот флаг следует установить, когда приложению известно, что фильтры и политика IPsec уже существуют для его трафика. Приложения, работающие в домене с установленной политикой IPsec, также могут установить этот флаг.

AuthipMMPolicyKey

Тип: GUID

GUID для ключа платформы фильтрации Windows контекста поставщика режима main AuthIP. Если приложение хочет использовать настраиваемую политику режима main, сначала следует использовать функцию FwpmProviderContextAdd0, чтобы добавить соответствующий контекст поставщика и указать возвращенный ключ в этом элементе. Это поле игнорируется для GUID с нулевым значением.

AuthipQMPolicyKey

Тип: GUID

Ключ платформы фильтрации Windows контекста поставщика быстрого режима AuthIp. Если приложение хочет использовать настраиваемую политику быстрого режима, сначала следует использовать функцию FwpmProviderContextAdd0 , чтобы добавить соответствующий контекст поставщика и указать возвращаемый ключ в этом поле. Это поле игнорируется для GUID с нулевым значением.

Reserved

Тип: GUID

Зарезервировано для последующего использования.

Reserved2

Тип: UINT64

Зарезервировано для последующего использования.

UserNameStringLen

Тип: ULONG

Длина (в байтах) имени пользователя в элементе AllStrings .

DomainNameStringLen

Тип: ULONG

Длина (в байтах) доменного имени в элементе AllStrings .

PasswordStringLen

Тип: ULONG

Длина (в байтах) пароля в элементе AllStrings .

AllStrings[0]

Тип: wchar_t[]

Строка, содержащая имя пользователя, доменное имя и пароль, объединенные в этом порядке.

Комментарии

Структура SOCKET_SECURITY_SETTINGS_IPSEC поддерживается в Windows Vista и более поздних версиях.

Структура SOCKET_SECURITY_SETTINGS_IPSEC предназначена для использования расширенным приложением, которое требует большей гибкости и хочет настроить политику IPSec для трафика. Указатель на структуру SOCKET_SECURITY_SETTINGS_IPSEC должен привести к типу структуры SOCKET_SECURITY_SETTINGS при вызове функции WSASetSocketSecurity для включения и применения безопасности к сокету.

Элемент SecurityProtocol структуры SOCKET_SECURITY_SETTINGS_IPSEC должен иметь значение SOCKET_SECURITY_PROTOCOL_IPSEC, а не SOCKET_SECURITY_PROTOCOL_DEFAULT.

Чтобы упростить развертывание протокола IPsec, Windows Vista и более поздних версий поддерживают расширенную версию протокола IKE, известного как протокол AuthIP. AuthIP предоставляет упрощенную конфигурацию и обслуживание политики IPsec во многих конфигурациях, а также дополнительную гибкость для одноранговой проверки подлинности IPsec.

Существует вероятность того, что некоторые параметры IPsec, указанные в структуре SOCKET_SECURITY_SETTINGS_IPSEC , могут в конечном итоге отличаться от фактических параметров, применяемых к сетевому трафику в сокете. Например, это может произойти, когда приложение задает пользовательский режим main или политику быстрого режима, но другая политика с более высоким приоритетом (например, политика домена) указывает конфликтующие параметры для того же трафика. Чтобы помнить о таких конфликтах, приложение может использовать API платформы фильтрации Windows для запроса применяемой политики и подписки на уведомления.

Требования

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

См. также раздел

Сведения о платформе фильтрации Windows

FwpmProviderContextAdd0

SOCKET_SECURITY_PROTOCOL

SOCKET_SECURITY_SETTINGS

Использование расширений безопасных сокетов

WSASetSocketSecurity

Платформа фильтрации Windows

Функции API платформы фильтрации Windows

Расширения Winsock Secure Socket