ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

อาการ

สมมติว่า คุณได้ปรับรุ่นเป็น Microsoft .NET Framework 4.6 บนคอมพิวเตอร์ของคุณ เมื่อคุณใช้โปรแกรมประยุกต์ที่ใช้ SSL 3.0 ร่วมกับServicePointManagerหรือSslStream Api ที่สามารถเชื่อมต่อไปยังเซิร์ฟเวอร์ การเชื่อมต่อล้มเหลว

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากมีการเปลี่ยนแปลงการตั้งค่าเริ่มต้นของโพรโทคอล SSL/TLS ที่ถูกใช้ โดยServicePointManagerและSslStream

ค่าเก่า: Ssl 3.0 | Tls 1.0 | Tls 1.1


ค่าใหม่: Tls 1.0 | Tls 1.1 | Tls 1.2

วิธีแก้ปัญหา

เมื่อต้องการหลีกเลี่ยงปัญหานี้ ปรับปรุงเซิร์ฟเวอร์ การ Tls 1.0, Tls 1.1, Tls 1.2 เนื่องจาก SSL 3.0 ได้ถูกแสดงเป็นความเสี่ยงต่อการโจมตีเช่นเปิดกรุกระโปรง และไม่ปลอดภัย

หมายเหตุ  ถ้าคุณไม่สามารถปรับปรุงเซิร์ฟเวอร์ ใช้คลาสAppContextเพื่อเข้าร่วมออกจากคุณลักษณะนี้ เมื่อต้องการทำเช่นนี้ ใช้หนึ่งในวิธีต่อไปนี้:

  • โดยการเขียนโปรแกรม: ต้องเป็นสิ่งแรกที่แอพลิเคชันไม่ได้เนื่องจากServicePointManagerจะเตรียมใช้งานเพียงครั้งเดียว ใช้ตัวอย่างรหัสต่อไปนี้ในโปรแกรมประยุกต์ของคุณ:

    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";        private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";
    AppContext.SetSwitch(DisableCachingName, true);
    AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
  • โดยใช้แฟ้ม AppConfig สำหรับโปรแกรมประยุกต์ของคุณ: ให้เพิ่มบรรทัดต่อไปนี้ไปยังแฟ้ม Appconfig:
    < AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/ >



สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหาที่ทราบใน 4.6 กรอบงาน.NET ดูการตัดสินค้าจากคลังสำหรับ 4.6 กรอบงาน.NET รู้จักกันในชื่อ

ข้อมูลเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงการกำหนดรุ่นผลิตภัณฑ์และผลกระทบใน 4.6 กรอบงาน.NET ดูความเข้ากันได้ของโปรแกรมประยุกต์ใน 4.6 กรอบงาน.NET

หมายเหตุ

  • การตั้งค่าคอนฟิกใหม่จะใช้ได้เฉพาะเมื่อแอพลิเคชันจะกำหนดเป้าหมาย 4.6 กรอบงาน.NET .NET Framework 4.5.2 และรุ่นก่อนหน้านี้จะไม่มีผลแม้ว่าจะทำงานในสภาพแวดล้อมของ.NET Framework 4.6

  • รายการของ APIs ระดับสูงสุดที่ได้รับผลกระทบ:

    • HttpClient, HttpWebRequest

    • FtpClient

    • SmtpClient

    • SslStream

  • SCH_USE_STRONG_CRYPTO ค่าสถานะนี้จะถูกใช้โดยอัตโนมัติใน 4.6 กรอบงาน.NET และมีผลต่อลักษณะการทำงาน โดยการเอาออกไม่ปลอดภัยเข้ารหัสลับ และการแปลงแป้นพิมพ์อัลกอริทึม สำหรับแพลตฟอร์มระบบปฏิบัติการทั้งหมด เร็วกว่า Windows 10 อัลกอริทึมแบบ RC4จะถูกเอาออกจากการใช้งาน จาก Windows 10 อัลไม่ปลอดภัยเพิ่มเติมต่อไปนี้จะถูกเอาออก: DES, NULLส่งออกและmd 5


ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพภาษาเพียงใด
สิ่งที่ส่งผลต่อประสบการณ์ใช้งานของคุณ
เมื่อกดส่ง คำติชมของคุณจะถูกใช้เพื่อปรับปรุงผลิตภัณฑ์และบริการของ Microsoft ผู้ดูแลระบบ IT ของคุณจะสามารถรวบรวมข้อมูลนี้ได้ นโยบายความเป็นส่วนตัว

ขอบคุณสำหรับคำติชมของคุณ!

×