Partager via


SOCKET_SECURITY_SETTINGS_IPSEC structure (mstcpip.h)

La structure SOCKET_SECURITY_SETTINGS_IPSEC spécifie différents paramètres et exigences de sécurité spécifiques à IPsec.

Syntaxe

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;

Membres

SecurityProtocol

Type : SOCKET_SECURITY_PROTOCOL

Valeur SOCKET_SECURITY_PROTOCOL qui identifie le type de protocole de sécurité à utiliser sur le socket. Ce membre doit être défini sur SOCKET_SECURITY_PROTOCOL_IPSEC.

SecurityFlags

Type : ULONG

Ensemble d’indicateurs qui permettent aux applications de définir des exigences de sécurité spécifiques sur un socket. Les valeurs possibles sont définies dans le fichier d’en-tête Mstcpip.h .

Valeur Signification
SOCKET_SETTINGS_GUARANTEE_ENCRYPTION
0x00000001
Indique que le chiffrement garanti du trafic est requis. Cet indicateur doit être défini si la stratégie par défaut préfère les méthodes de protection qui n’utilisent pas le chiffrement. Si cet indicateur est défini et que le chiffrement n’est pas possible pour une raison quelconque, aucun paquet n’est envoyé et aucune connexion n’est établie.
SOCKET_SETTINGS_ALLOW_INSECURE
0x00000002
Indique que les connexions en texte clair sont autorisées. Si cet indicateur est défini, une partie ou la totalité des paquets envoyés sont envoyés en texte clair, en particulier si la sécurité avec l’homologue n’a pas pu être négociée.
Note Si cet indicateur n’est pas défini, il est garanti que les paquets ne seront jamais envoyés en texte clair, même si la négociation de sécurité échoue.
 

IpsecFlags

Type : ULONG

Indicateurs pour les paramètres de sécurité IPsec. Les valeurs possibles sont définies dans le fichier d’en-tête Mstcpip.h .

Valeur Signification
SOCKET_SETTINGS_IPSEC_SKIP_FILTER_INSTANTIATION
0x00000001
Lorsque cet indicateur est défini, l’instanciation du filtre IPsec est omise pour le socket. Cet indicateur doit être défini lorsqu’une application sait qu’il existe déjà des filtres et une stratégie IPsec pour son trafic. Les applications qui s’exécutent sur un domaine avec une stratégie IPsec en place peuvent également définir cet indicateur.

AuthipMMPolicyKey

Type : GUID

GUID de la clé de plateforme de filtrage Windows du contexte du fournisseur du mode main AuthIP. Si une application souhaite utiliser une stratégie de mode main personnalisée, elle doit d’abord utiliser la fonction FwpmProviderContextAdd0 pour ajouter le contexte de fournisseur correspondant et spécifier la clé retournée dans ce membre. Ce champ est ignoré pour un GUID égal à zéro.

AuthipQMPolicyKey

Type : GUID

Clé de plateforme de filtrage Windows du contexte du fournisseur de mode rapide AuthIp. Si une application souhaite utiliser une stratégie de mode rapide personnalisée, elle doit d’abord utiliser la fonction FwpmProviderContextAdd0 pour ajouter le contexte de fournisseur correspondant et spécifier la clé retournée dans ce champ. Ce champ est ignoré pour un GUID égal à zéro.

Reserved

Type : GUID

Réservé pour un usage futur.

Reserved2

Type : UINT64

Réservé pour un usage futur.

UserNameStringLen

Type : ULONG

Longueur, en octets, du nom d’utilisateur dans le membre AllStrings .

DomainNameStringLen

Type : ULONG

Longueur, en octets, du nom de domaine dans le membre AllStrings .

PasswordStringLen

Type : ULONG

Longueur, en octets, du mot de passe dans le membre AllStrings .

AllStrings[0]

Type : wchar_t[]

Chaîne qui contient le nom d’utilisateur, le nom de domaine et le mot de passe concaténés dans cet ordre.

Remarques

La structure SOCKET_SECURITY_SETTINGS_IPSEC est prise en charge sur Windows Vista et versions ultérieures.

La structure SOCKET_SECURITY_SETTINGS_IPSEC est destinée à être utilisée par une application avancée qui nécessite plus de flexibilité et souhaite personnaliser la stratégie IPSec pour son trafic. Le pointeur vers la structure SOCKET_SECURITY_SETTINGS_IPSEC doit être converti en type de structure SOCKET_SECURITY_SETTINGS lors de l’appel de la fonction WSASetSocketSecurity pour activer et appliquer la sécurité sur un socket.

Le membre SecurityProtocol de la structure SOCKET_SECURITY_SETTINGS_IPSEC doit être défini sur SOCKET_SECURITY_PROTOCOL_IPSEC, et non sur SOCKET_SECURITY_PROTOCOL_DEFAULT.

Pour simplifier le déploiement de la sécurité du protocole Internet (IPsec), Windows Vista et ultérieur prennent en charge une version améliorée du protocole IKE (Internet Key Exchange) appelée Protocole Internet authentifié (AuthIP). AuthIP offre une configuration et une maintenance de stratégie IPsec simplifiées dans de nombreuses configurations, ainsi qu’une flexibilité supplémentaire pour l’authentification de l’homologue IPsec.

Il est possible que certains paramètres IPsec spécifiés dans la structure SOCKET_SECURITY_SETTINGS_IPSEC finissent par être différents des paramètres réels appliqués au trafic réseau sur un socket. Par exemple, cela peut se produire lorsqu’une application spécifie un mode de main personnalisé ou une stratégie de mode rapide, mais qu’une stratégie différente avec une priorité plus élevée (une stratégie de domaine, par exemple) spécifie des paramètres en conflit pour le même trafic. Pour connaître ces conflits, une application peut utiliser l’API plateforme de filtrage Windows pour interroger la stratégie appliquée et s’abonner aux notifications.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête mstcpip.h

Voir aussi

À propos de la plateforme de filtrage Windows

FwpmProviderContextAdd0

SOCKET_SECURITY_PROTOCOL

SOCKET_SECURITY_SETTINGS

Utilisation d’extensions de socket sécurisé

WSASetSocketSecurity

Plateforme de filtrage Windows

Fonctions de l’API de plateforme de filtrage Windows

Winsock Secure Socket Extensions