Partage via


Atténuation : Protocoles TLS

À partir de .NET Framework 4.6, les classes System.Net.ServicePointManager et System.Net.Security.SslStream sont autorisées à utiliser l’un des trois protocoles suivants : Tls 1.0, Tls 1.1 ou Tls 1.2. Le protocole SSL3.0 et le chiffrement RC4 ne sont pas pris en charge.

Répercussion

Cette modification affecte :

  • Toute application qui utilise SSL pour communiquer avec un serveur HTTPS ou un serveur de socket à l’aide de l’un des types suivants : HttpClient, , HttpWebRequest, FtpWebRequest, SmtpClientet SslStream.

  • Toute application côté serveur qui ne peut pas être mise à niveau pour prendre en charge Tls1.0, Tls1.1 ou Tls 1.2..

Atténuation

L’atténuation recommandée consiste à mettre à niveau l’application côté serveur vers Tls1.0, Tls1.1 ou Tls 1.2. Si cela n’est pas possible ou si les applications clientes sont rompues, la AppContext classe peut être utilisée pour désactiver cette fonctionnalité de deux façons :

  • Par programmation, à l’aide d’un extrait de code comme suit :

    const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";
    const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";
    AppContext.SetSwitch(DisableCachingName, true);
    AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
    
    Const DisableCachingName As String = "TestSwitch.LocalAppContext.DisableCaching"
    Const DontEnableSchUseStrongCryptoName As String = "Switch.System.Net.DontEnableSchUseStrongCrypto"
    AppContext.SetSwitch(DisableCachingName, True)
    AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, True)
    

    Étant donné que l’objet ServicePointManager n’est initialisé qu’une seule fois, la définition de ces paramètres de compatibilité doit être la première chose que l’application fait.

  • En ajoutant la ligne suivante à la <section runtime> de votre fichier app.config :

    <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/>  
    

Notez toutefois que la désactivation du comportement par défaut n’est pas recommandée, car elle rend l’application moins sécurisée.

Voir aussi