ServicePointManager.SecurityProtocol Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit le protocole de sécurité utilisé par les ServicePoint objets gérés par l’objet ServicePointManager .
public:
static property System::Net::SecurityProtocolType SecurityProtocol { System::Net::SecurityProtocolType get(); void set(System::Net::SecurityProtocolType value); };
public static System.Net.SecurityProtocolType SecurityProtocol { get; set; }
static member SecurityProtocol : System.Net.SecurityProtocolType with get, set
Public Shared Property SecurityProtocol As SecurityProtocolType
Valeur de propriété
Une des valeurs définies dans l’énumération SecurityProtocolType .
Exceptions
La valeur spécifiée pour définir la propriété n’est pas une valeur d’énumération valide SecurityProtocolType .
Remarques
Cette propriété sélectionne la version du protocole SSL (Secure Sockets Layer) ou TLS (Transport Layer Security) à utiliser pour les nouvelles connexions ; les connexions existantes ne sont pas modifiées.
À compter de .NET Framework 4.7, la valeur par défaut de cette propriété est SecurityProtocolType.SystemDefault. Cela permet à .NET Framework networking API basées sur SslStream (par exemple FTP, HTTP et SMTP) d’hériter des protocoles de sécurité par défaut du système d’exploitation ou de toutes les configurations personnalisées effectuées par un administrateur système. Pour plus d’informations sur les protocoles SSL/TLS activés par défaut sur chaque version du système d’exploitation Windows, consultez Protocols dans TLS/SSL (SSP Schannel).
Pour les versions de .NET Framework via .NET Framework 4.6.2, aucune valeur par défaut n’est répertoriée pour cette propriété. Le paysage de la sécurité change constamment, et les protocoles et niveaux de protection par défaut sont modifiés au fil du temps afin d’éviter les faiblesses connues. Les valeurs par défaut varient selon la configuration de l’ordinateur, les logiciels installés et les correctifs appliqués.
Votre code ne doit jamais dépendre implicitement de l’utilisation d’un niveau de protection particulier ou de l’hypothèse qu’un niveau de sécurité donné est utilisé par défaut. Si votre application dépend de l’utilisation d’un niveau de sécurité particulier, vous devez spécifier explicitement ce niveau, puis vérifier qu’il est réellement utilisé sur la connexion établie. De plus, votre code doit être conçu pour être robuste face aux modifications apportées aux protocoles pris en charge, car ces modifications sont souvent apportées avec peu d’avance afin d’atténuer les menaces émergentes.
.NET Framework 4.6 inclut une fonctionnalité de sécurité qui bloque les algorithmes de chiffrement et de hachage non sécurisés pour les connexions. Les applications utilisant TLS/SSL via des API telles que HttpClient, HttpWebRequest, FTPClient, SmtpClient et SslStream et ciblant .NET Framework 4.6 obtiennent par défaut le comportement plus sécurisé.
Les développeurs peuvent refuser ce comportement afin de maintenir l’interopérabilité avec leurs services SSL3 existants OU TLS w/ RC4. Cet article explique comment modifier votre code afin que le nouveau comportement soit désactivé.
Note
Depuis .NET 9, cette propriété est mappée sur EnabledSslProtocolsSocketsHttpHandler.SslOptions.