Bagikan melalui


Mitigasi: Protokol TLS

Dimulai dengan .NET Framework 4.6, System.Net.ServicePointManager kelas dan System.Net.Security.SslStream diizinkan untuk menggunakan salah satu dari tiga protokol berikut: Tls1.0, Tls1.1, atau Tls 1.2. Protokol SSL3.0 dan cipher RC4 tidak didukung.

Dampak

Perubahan ini memengaruhi:

  • Aplikasi apa pun yang menggunakan SSL untuk berbicara dengan server HTTPS atau server soket menggunakan salah satu jenis berikut: HttpClient, , HttpWebRequest, FtpWebRequestSmtpClient, dan SslStream.

  • Aplikasi sisi server apa pun yang tidak dapat ditingkatkan untuk mendukung Tls1.0, Tls1.1, atau Tls 1.2..

Mitigasi

Mitigasi yang direkomendasikan adalah meningkatkan aplikasi sisi sever ke Tls1.0, Tls1.1, atau Tls 1.2. Jika tindakan ini tidak memungkinkan, atau jika aplikasi klien rusak, maka kelas AppContext dapat digunakan untuk menolak fitur ini dengan melakukan salah satu dari dua cara berikut:

  • Secara terprogram, dengan menggunakan cuplikan kode seperti berikut:

    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)
    

    ServicePointManager Karena objek hanya diinisialisasi sekali, menentukan pengaturan kompatibilitas ini harus menjadi hal pertama yang dilakukan aplikasi.

  • Dengan menambahkan baris berikut ke bagian <runtime> file app.config Anda:

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

Perhatikan, bagaimanapun, bahwa memilih keluar dari perilaku default tidak disarankan, karena membuat aplikasi kurang aman.

Lihat juga