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

.NET framework เวอร์ชัน 2.0 Service Pack 2 (SP2) และเวอร์ชันก่อนหน้าได้เข้ารหัสการใช้ การรักษาความปลอดภัย Secure Sockets Layer (SSL) v3.0 และ Transport Layer Security (TLS) v1.0 ตามค่าเริ่มต้น เว้นแต่ว่าแอปพลิเคชัน .NET ระบุเวอร์ชันโพรโทคอลอื่น การอัปเดตนี้.NET Framework 2.0 SP2 บน Windows Vista SP2 และ Windows Server 2008 SP2 จะเพิ่มตัวเลือกเพื่อใช้ค่าเริ่มต้น SSL และ TLS ที่ให้มาโดยระบบปฏิบัติการ

หมายเหตุ เนื้อหานี้พร้อมใช้งานบนWindowsอัปเดตเนื้อหา หากต้องการรับเนื้อหา ให้สแกนWindowsอัปเดตเพื่อ.NET Frameworkอัปเดตล่าสุด ถ้าระบบของคุณอัปเดตเต็มรูปแบบผ่านทางWindowsอัปเดตของคุณ คุณไม่ต้จะต้องจัดการเพิ่มเติม 

การแก้ไข

ดาวน์โหลดข้อมูล

โปรแกรมแก้ไขด่วนที่สอดคล้องกับ KB3154517 ถูกแทนที่ด้วยโปรแกรมอัปเดตล่าสุดของ .NET Framework ซึ่งมีการแก้ไขทั้งหมดที่รวมอยู่ใน KB3154517 ก่อนหน้านี้ It is recommended to install the latest updates of .NET Framework.

เราได้ปรับปรุงสิ่งต่อไปนี้ในพื้นที่นี้:

  • รีจิสทรีคีย์ต่อไปนี้สามารถตั้งค่าให้ใช้ค่าเริ่มต้นของระบบปฏิบัติการของ SSL และ TLS แทนค่าเริ่มต้นของ .NET Frameworkที่เข้ารหัสไว้ให้กับแอปพลิเคชันที่มีการจัดการที่เรียกใช้บนคอมพิวเตอร์

    • เกี่ยวกับระบบปฏิบัติการ 64 บิต:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

      [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

    • ระบบปฏิบัติการแบบ 32 บิต:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

    หมายเหตุ ถ้าแอปพลิเคชันได้ตั้งค่า ServicePointManager.SecureProtocol ในโค้ดหรือผ่านไฟล์ค่าที่ตั้งค่าเป็นค่าเฉพาะ หรือใช้ API ของ SslStream.AuthenticaterAs* เพื่อระบุ Enum SslProtocols เฉพาะ ลักษณะการกระทดดการของการตั้งค่ารีจิสทรีจะไม่เกิดขึ้น

  • นอกจากนี้ เราได้เพิ่มการแจงความแบบ SslProtocolsExtensions ที่คุณสามารถใช้เป็นตัวเลือกในการตั้งค่า TLS v1.2, TLS v1.1 และค่าเริ่มต้นของระบบปฏิบัติการของคุณสมบัติ ServicePointManager.SecurityProtocol เมื่อตั้งเป้าหมาย .NET framework เวอร์ชัน 2.0 SP2 (ดูที่ส่วน แนวทางสําหรับนักพัฒนา สําหรับข้อมูลเกี่ยวกับวิธีใช้ส่วนขยาย)

    หมายเหตุ Windows Vista SP2 และ Windows Server 2008 SP2 ไม่สนับสนุนโพรโทคอล Transport Layer Security (TLS) เวอร์ชันที่ใหม่กว่า 1.0 แอปพลิเคชัน .NET Framework 2.0 SP2 ที่มีการจัดการที่เรียกใช้บน Windows Vista SP2 หรือ Windows Server 2008 SP2 ไม่สามารถใช้ TLS 1.2 หรือ TLS 1.1 ได้ แม้ว่าโพรโทคอลเหล่านั้นจะถูกตั้งค่าในคุณสมบัติ ServicePointManager.SecurityProtocol


For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 วิธีการรับไฟล์สนับสนุนของ Microsoft จากบริการออนไลน์ที่ Microsoft สแกนไฟล์นี้เพื่อหาไวรัส Microsoft ใช้ซอฟต์แวร์ตรวจหาไวรัสล่าสุดที่พร้อมใช้งานในวันที่โพสต์ไฟล์ ไฟล์จะถูกจัดเก็บบนเซิร์ฟเวอร์ที่มีการปรับปรุงความปลอดภัย ซึ่งช่วยป้องกันการเปลี่ยนแปลงใดๆ ที่ไม่ได้รับอนุญาตในไฟล์

แนวทางสําหรับนักพัฒนา

ความหมายของส่วนขยายใหม่อยู่ในไฟล์ต่อไปนี้:
 

  • SecurityProtocolTypeExtensions.csnamespace System.Net
    {
    การใช้ System.Security.Authentication
    ความปลอดภัยระดับคงที่สาธารณะProtocolTypeExtensions
    {
    public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;
    public const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;
    public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0;
    }
    }

  • SslProtocolsExtensions.csnamespace System.Security.Authentication
    {
    คลาสสาธารณะแบบคงที่ SslProtocolsExtensions
    {
    public const SslProtocols Tls12 = (SslProtocols)0x00000C00;
    public const SslProtocols Tls11 = (SslProtocols)0x00000300;
    }
    }

เมื่อต้องการรวมการสนับสนุน TLS v1.2 ให้รวมไฟล์ต้นฉบับในโครงการของคุณ แล้วตั้งค่าเวอร์ชันของโพรโทคอลโดยใช้วิธีต่อไปนี้
 

  • แอปพลิเคชันที่ใช้ ServicePointManager API สามารถตั้งค่าโพรโทคอลได้โดยใช้สิ่งต่อไปนี้

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • แอปพลิเคชันที่ใช้การเกินข้อมูล SslStream AuthenticaterAsClient(String, x509CertificateCollection, SslProtocols, Boolean) สามารถตั้งค่า SslProtocols เป็น SslProtocolsExtensions.Tls12 ได้

ถ้าการตั้งค่ารีจิสทรีที่กล่าวถึงในย่อหน้าแรกถูกตั้งค่าไว้ และตั้งค่า SslProtocols ในแอปพลิเคชันเป็น SslProtocols.None ลักษณะการกระบงการเริ่มต้นของระบบที่เลือกจะขึ้นอยู่กับเวอร์ชัน Windows

นอกจากนี้ เมื่อคุณเปลี่ยนโค้ดแอปพลิเคชันเพื่อเปิดใช้งานการสนับสนุน TLS v1.2 กับ .NET Framework 3.5 SP1 คุณควรตรวจสอบให้แน่ใจว่าคุณได้จัดการข้อยกเว้นต่อไปนี้บนคอมพิวเตอร์ที่ไม่ได้ปรับใช้โปรแกรมแก้ไขนี้:
 

  1. ถ้าไม่ได้ติดตั้งโปรแกรมแก้ไขด่วนนี้ API ที่ใช้ ServicePointManager (HTTP, FTP, SMTP) จะทิ้ง "System.NotSupportedException: โพรโทคอลความปลอดภัยที่ร้องขอไม่ได้รับการสนับสนุน" เมื่อแอปพลิเคชันเรียกใช้ ServicePointManager.SecurityProtocol เพื่อตั้งค่าใหม่

  2. ถ้าไม่ได้ติดตั้งโปรแกรมแก้ไขด่วน API ที่ใช้ SslStream จะแสดงข้อผิดพลาดเมื่อเรียกใช้ API ของ AuthenticaterAs*

    System.ArgumentException: ค่าที่ระบุไม่ถูกต้องในการแจงแจง 'SslProtocolType'
    ชื่อพารามิเตอร์: sslProtocolType

หมายเหตุ For SslStream only, a combination of Tls12, Tls11 with any of the existing Tls, Ssl3, Ssl2 (for example: Tls12 | Tls11 | Tls) จะดาวน์เกรดเป็นโพรโทคอลที่มีอยู่ (ตัวอย่างเช่น Tls) บนระบบโดยไม่มีโปรแกรมแก้ไขโดยไม่แจ้งให้ทราบ It will connect to Tls without throwing the exception.
 

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

เมื่อต้องการเปิดใช้งาน TLS v1.1 หรือ v1.2 เป็นค่าเริ่มต้นของระบบปฏิบัติการ ให้ปฏิบัติตามคําแนะนําที่ https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12

หมายเหตุ TLS v1.1 และ v1.2 จะไม่พร้อมใช้งานใน Windows Vista หรือ Windows Server 2008

ถ้าคุณต้องปิดใช้งานค่าเริ่มต้นของระบบปฏิบัติการที่ตั้งค่าโดยรีจิสทรีคีย์ที่กล่าวถึงในส่วน "การแก้ไขปัญหา" ของแอปพลิเคชันที่เฉพาะเจาะจง คุณสามารถดําเนินการได้โดยการเพิ่มรีจิสทรีคีย์ต่อไปนี้:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions <<
เส้นทางแบบเต็มของ .exe ของไฟล์>> DWORD 0
C:\MyApp\MyApp.exe DWORD 0

For more information about TLS v1.2, see Introducing TLS v1.2.

หลังจากที่คุณเปิดใช้งานคีย์รีจิสทรี SystemDefaultTlsVersions .NET ลักษณะการWindowsที่แตกต่างกันจะเกิดขึ้น ดังที่แสดงในตารางต่อไปนี้
 

Windowsเวอร์ชันอื่น

ไคลเอ็นต์ SSL2

SSL2 Server

ไคลเอ็นต์ SSL3

SSL3 Server

ไคลเอ็นต์ TLS 1.0

TLS 1.0 Server

ไคลเอ็นต์ TLS 1.1

TLS 1.1 Server

TLS 1.2 Client

TLS 1.2 Server

Windows Vista SP2 และ Windows Server 2008 SP2

ปิด

เปิด

เปิด

เปิด

เปิด

เปิด

ไม่มี

ไม่มี

ไม่มี

ไม่มี

Windows 7 SP1 และ Windows Server 2008 R2 SP1

ปิด

เปิด

เปิด

เปิด

เปิด

เปิด

ปิด

ปิด

ปิด

ปิด

Windows Server 2012

ปิด

ปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

Windows 8.1 และ Windows Server 2012 R2

ปิด

ปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

Windows 10

ปิด

ปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

Windows 10 (1511)

ปิด

ปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

Windows 10 (1607) และ Windows Server 2016

ไม่มี

ไม่มี

ปิด

ปิด

เปิด

เปิด

เปิด

เปิด

เปิด

เปิด

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

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

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

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

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

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

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

×