Tidak dapat menyambung ke server dengan menggunakan ServicePointManager atau SslStream api setelah upgrade ke .NET Framework 4.6

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 3069494
Gejala
Mengasumsikan bahwa Anda telah meng-upgrade ke Microsoft .NET Framework 4.6 di komputer Anda. Ketika Anda menggunakan aplikasi yang menggunakan SSL 3.0 bersama-sama dengan ServicePointManager atau SslStream api untuk menyambung ke server, koneksi gagal.
Penyebab
Masalah ini terjadi karena pengaturan default SSL/TLS protokol yang digunakan oleh ServicePointManager dan SslStream telah diubah.

Nilai lama: Ssl 3.0 | TLS 1.0 | TLS 1.1

Nilai baru: Tls 1.0 | TLS 1.1 | TLS 1.2

Teknik pemecahan masalah
Untuk mengatasi masalah ini, memperbarui server Tls 1.0, Tls 1.1, atau Tls 1.2 karena SSL 3.0 telah ditunjukkan untuk menjadi tidak aman dan rentan terhadap serangan seperti PUDEL.

Catatan Jika Anda tidak dapat memutakhirkan server, gunakan AppContext kelas untuk menonaktifkan fitur ini. Untuk melakukannya, gunakan salah satu dari metode berikut ini:
  • Pemrograman: Harus hal pertama aplikasi Apakah karenaServicePointManagerakan menginisialisasi sekali saja. Menggunakan kode contoh berikut di aplikasi Anda:
    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";        private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";        AppContext.SetSwitch(DisableCachingName, true);        AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
  • Dengan menggunakan berkas AppConfig untuk aplikasi Anda: Tambahkan baris berikut ke berkas Appconfig:
    <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"></AppContextSwitchOverrides>


Untuk informasi selengkapnya tentang masalah yang diketahui dalam .NET Framework 4.6, lihat Masalah yang diketahui untuk .NET Framework 4.6.
Informasi lebih lanjut
Untuk informasi lebih lanjut tentang perubahan versi produk dan dampak dalam .NET Framework 4.6, lihat kompatibilitas mundur aplikasi di .NET Framework 4.6.

Catatan
  • Konfigurasi baru hanya akan berlaku saat aplikasi menargetkan .NET Framework 4.6. .NET Framework 4.5.2 dan versionswill sebelumnya tidak akan terpengaruh meskipun berjalan di lingkungan .NET Framework 4.6.
  • Daftar dipengaruhi tingkat atas api:
    • HttpClient, HttpWebRequest
    • FtpClient
    • SmtpClient
    • SslStream
  • SCH_USE_STRONG_CRYPTO Bendera ini akan secara otomatis digunakan dalam .NET Framework 4.6 dan mempengaruhi perilaku dengan menghapus algoritma kriptografi dan hashing yang tidak aman. Untuk semua platform sistem operasi sebelumnya dari Windows 10, algoritmaRC4 akan dihapus dari penggunaan. Dari Windows 10, algoritma tidak aman tambahan berikut ini akan dihapus:DES, NULL, ekspor , dan MD5

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 3069494 - Tinjauan Terakhir: 07/22/2015 18:18:00 - Revisi: 1.0

Microsoft .NET Framework 4.6

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB3069494 KbMtid
Tanggapan