ไดเรกทอรีบทความ
  1. 1. แนวทางแก้ไขที่หนึ่ง:
  2. 2. โซลูชันที่ 2
    1. 2.1. อัพเดตแพตช์
    2. 2.2. ตั้งค่าเริ่มต้น
    3. 2.3. ระบบตรวจสอบ
  3. 3. แนวทางที่สาม
  4. 4. เนื้อหาอ้างอิงอื่น ๆ

คำอธิบาย: คำขอถูกยกเลิก: ไม่สามารถสร้างช่องทางที่ปลอดภัย SSL/TLS ไม่สามารถสร้างช่องทางที่ปลอดภัย SSL/TLS

สร้างแพลตฟอร์ม: Windows Server 2012, Windows 7 Service Pack 1 (SP1) และ Windows Server 2008 R2 SP1

แนวทางแก้ไขที่หนึ่ง:

ตั้งรหัสก่อน HttpWebRequest

ServicePointManager.Expect100Continue = true;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

โซลูชันที่ 2

  • หากวิธีการข้างต้นไม่ได้ผล แสดงว่าเป็นปัญหาระดับระบบ อัปเดตแพตช์ระบบตามระบบที่คุณใช้อยู่

การอัปเดตเพื่อเปิดใช้งาน TLS 1.1 และ TLS 1.2 เป็นโปรโตคอลความปลอดภัยเริ่มต้นใน WinHTTP ใน Windows การอัปเดตนี้ให้การสนับสนุน Transport Layer Security (TLS) ใน Windows Server 2012, Windows 7 Service Pack 1 (SP1) และ Windows Server 2008 R2 SP1 1.1 และการสนับสนุน TLS 1.2 โปรดดูเอกสารอย่างเป็นทางการhttps://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

อัพเดตแพตช์

ตั้งค่าเริ่มต้น

  • เปิดใช้งาน TLS 1.1 และ 1.2 บน Windows 7 ที่ระดับส่วนประกอบ SChannel (ใช้หนึ่งในการอัปเดต 2.1 หรือ 2.2 ด้านล่าง)

2.1 Microsoft ติดตั้งและอัปเดตรีจิสทรี:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi

2.2 อัปเดตรีจิสทรีด้วยตนเอง คัดลอกรหัสรีจิสทรีต่อไปนี้และนำเข้าลงในรีจิสทรี สร้าง txt ใหม่ เปลี่ยนส่วนต่อท้าย txt เป็น reg (คีย์รีจิสทรี) และนำเข้า (สำรองข้อมูลก่อนนำเข้า)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

ระบบตรวจสอบ

  • ตรวจสอบว่าระบบรองรับ TLS1.2, TLS1.3 หรือไม่

PowerShell เปิด:

Net.ServicePointManager::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

แนวทางที่สาม

  • สองวิธีก่อนหน้านี้จะไม่ทำงาน คุณสามารถใช้วิธีขั้นสูงสุดเพื่ออัปเกรดระบบเป็น Windows 10 เท่านั้น

เนื้อหาอ้างอิงอื่น ๆ

https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/

มีวิธีแก้ไขปัญหาอยู่ แต่ขึ้นอยู่กับเวอร์ชันของเฟรมเวิร์ก:

.NET 4.6 ขึ้นไป คุณไม่จำเป็นต้องทำงานเพิ่มเติมใดๆ เพื่อรองรับ TLS 1.2 เนื่องจากได้รับการรองรับเป็นค่าเริ่มต้น

.NET4.5. รองรับ TLS 1.2 แต่ไม่ใช่โปรโตคอลเริ่มต้น คุณต้องเลือกใช้มัน รหัสต่อไปนี้จะตั้งค่า TLS 1.2 เป็นค่าเริ่มต้น ตรวจสอบให้แน่ใจว่าได้ดำเนินการก่อนที่จะเชื่อมต่อกับทรัพยากรที่ปลอดภัย:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET4.0. ไม่รองรับ TLS 1.2 แต่หากติดตั้ง .NET 4.5 (หรือสูงกว่า) บนระบบของคุณ คุณยังคงมีตัวเลือกในการใช้ TLS 1.2 แม้ว่ากรอบงานแอปพลิเคชันของคุณจะไม่รองรับ TLS 1.2 ก็ตาม ปัญหาเดียวคือ SecurityProtocolType ใน .NET 4.0 ไม่มีรายการสำหรับ TLS1.2 ดังนั้นเราจึงต้องใช้การแสดงตัวเลขของค่าแจงนับนี้:
ServicePointManager.SecurityProtocol = (SecurityProtocolType) 3072;

.NET 3.5 หรือต่ำกว่า ไม่รองรับ TLS 1.2(*) และไม่มีวิธีแก้ปัญหาเฉพาะหน้า อัปเกรดแอปพลิเคชันของคุณเป็นเวอร์ชันล่าสุดของเฟรมเวิร์ก

PS สำหรับสถานการณ์ที่ 3 ยังมีการแฮ็กรีจิสทรีที่จะบังคับให้ 4.5 ใช้ TLS 1.2 เป็นค่าเริ่มต้นโดยไม่ต้องบังคับโดยทางโปรแกรม
PPS ตามที่ Christian Pop ของ Microsoft กล่าวถึงด้านล่าง มีแพตช์ล่าสุดสำหรับ .NET 3.5 ซึ่งเปิดใช้งานการรองรับ TLS1.2
ดู:
KB3154518 – ค่าสะสมความน่าเชื่อถือ HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – ค่าสะสมความน่าเชื่อถือ HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – ค่าสะสมความน่าเชื่อถือ HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

ไดเรกทอรีบทความ
  1. 1. แนวทางแก้ไขที่หนึ่ง:
  2. 2. โซลูชันที่ 2
    1. 2.1. อัพเดตแพตช์
    2. 2.2. ตั้งค่าเริ่มต้น
    3. 2.3. ระบบตรวจสอบ
  3. 3. แนวทางที่สาม
  4. 4. เนื้อหาอ้างอิงอื่น ๆ