ໜ້າການສອນຊອບແວເຫດຜົນ ແລະວິທີແກ້ໄຂສຳລັບ "ການຮ້ອງຂໍຖືກຍົກເລີກ: ລົ້ມເຫລວໃນການສ້າງຊ່ອງທີ່ປອດໄພ SSL/TLS"
ເຫດຜົນ ແລະວິທີແກ້ໄຂສຳລັບ "ການຮ້ອງຂໍຖືກຍົກເລີກ: ລົ້ມເຫລວໃນການສ້າງຊ່ອງທີ່ປອດໄພ SSL/TLS"

ຄໍາ​ອະ​ທິ​ບາຍ​: ການ​ຮ້ອງ​ຂໍ​ຖືກ​ຍົກ​ເລີກ​: ບໍ່​ສໍາ​ເລັດ​ໃນ​ການ​ສ້າງ​ຊ່ອງ​ຄວາມ​ປອດ​ໄພ SSL / TLS​. ບໍ່ສາມາດສ້າງຊ່ອງທີ່ປອດໄພ SSL/TLS ໄດ້. ສ້າງແພລດຟອມ: Windows Server 2012, Windows 7 Service Pack 1 (SP1), ແລະ Windows Server 2008 R2 SP1

[ຕອນ] ເວັບໄຊທ໌ດາວໂຫລດ ມັນ​ເປັນ​ເຄື່ອງ​ມື​ການ​ດາວ​ໂຫຼດ​ທັງ​ຫມົດ​ໃນ​ເວັບ​ໄຊ​ໄດ້​ໃສ່ URL ເພື່ອ​ດາວ​ໂຫລດ​ໄດ້​ດ້ວຍ​ການ​ຄລິກ​ຫນຶ່ງ​ແມ່ນ​ງ່າຍ​ດາຍ​ແລະ​ງ່າຍ​ທີ່​ຈະ​ນໍາ​ໃຊ້​ແລະ​ມີ​ວຽກ​ງານ​ຫຼາຍ​ກະ​ທູ້​.

ການແກ້ໄຂ 1: ລະດັບລະຫັດ

ຕັ້ງລະຫັດກ່ອນ HttpWebRequest

ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

ການແກ້ໄຂ 2: ລະດັບລະບົບ

ຖ້າວິທີການຂ້າງເທິງນີ້ບໍ່ໄດ້ຜົນ, ມັນເປັນບັນຫາລະດັບລະບົບການປັບປຸງ patch ຂອງລະບົບຕາມລະບົບທີ່ທ່ານກໍາລັງໃຊ້.

ອັບເດດເພື່ອເປີດໃຊ້ TLS 1.1 ແລະ TLS 1.2 ເປັນໂປຣໂຕຄໍຄວາມປອດໄພເລີ່ມຕົ້ນໃນ WinHTTP ໃນ Windows, ການປັບປຸງນີ້ສະຫນອງການສະຫນັບສະຫນູນການຂົນສົ່ງຊັ້ນຄວາມປອດໄພ (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

ອັບເດດແພັດ KB3140245

ເປີດໃຊ້ TLS 1.1 ແລະ 1.2 ໃນ Windows 7 ໃນລະດັບອົງປະກອບ SC Channel (ມີການປັບປຸງຂ້າງລຸ່ມນີ້)

ວິທີທີ 1: ໃຊ້ຊຸດການຕິດຕັ້ງອັບເດດ Microsoft ເພື່ອອັບເດດ MicrosoftEasyFix51044.msi
ວິທີທີ່ 2: ປັບປຸງການລົງທະບຽນດ້ວຍຕົນເອງ

ຄັດລອກລະຫັດການລົງທະບຽນຕໍ່ໄປນີ້ແລະນໍາເຂົ້າມັນເຂົ້າໄປໃນທະບຽນ. ສ້າງ txt ໃຫມ່, ປ່ຽນ suffix txt ເປັນ reg (registry key), ແລະນໍາເຂົ້າ (ເຮັດການສໍາຮອງຂໍ້ມູນກ່ອນທີ່ຈະນໍາເຂົ້າ)

WIN7 64
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80
Windows Server
[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.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

ແຖວທຳອິດຂອງລະຫັດຈະກວດສອບເວີຊັນ TLS ທີ່ຮອງຮັບ.

ການແກ້ໄຂ 3: ຍົກລະດັບລະບົບ

ທັງສອງວິທີການທີ່ຜ່ານມາຈະບໍ່ເຮັດວຽກ, ດັ່ງນັ້ນທ່ານພຽງແຕ່ສາມາດນໍາໃຊ້ວິທີການສຸດທ້າຍ:

  • ອັບເກຣດລະບົບເປັນ Windows 10 ແລະ Windows Server 2019 (ຮອງຮັບ TLS1.2);
  • ອັບເກຣດລະບົບເປັນ Windows 11 ແລະ Windows Server 2022 (ຮອງຮັບ TLS1.3).

ຫມາຍ​ເຫດ​: ສໍາ​ລັບ​ສະ​ເພາະ TSL ສະ​ຫນັບ​ສະ​ຫນູນ​ໂດຍ​ແຕ່​ລະ​ສະ​ບັບ Windows​, ກະ​ລຸ​ນາ​ເບິ່ງ​ຂໍ້​ມູນ​ເພີ່ມ​ເຕີມ​ໃນ​ບົດ​ຄວາມ​ນີ້​.


ເນື້ອຫາອ້າງອີງອື່ນໆ

ເນື້ອຫາອ້າງອີງອື່ນໆ

ການແກ້ໄຂມີຢູ່, ແຕ່ພວກມັນຂຶ້ນກັບສະບັບກອບ:

.NET 4.6 ແລະສູງກວ່າ. ທ່ານບໍ່ຈໍາເປັນຕ້ອງເຮັດວຽກເພີ່ມເຕີມເພື່ອສະຫນັບສະຫນູນ TLS 1.2, ມັນສະຫນັບສະຫນູນໂດຍຄ່າເລີ່ມຕົ້ນ.

.NET 4.5. ຮອງຮັບ TLS 1.2, ແຕ່ມັນບໍ່ແມ່ນໂປຣໂຕຄໍເລີ່ມຕົ້ນ. ທ່ານຈໍາເປັນຕ້ອງເລືອກໃຊ້ມັນ. ລະຫັດຕໍ່ໄປນີ້ກໍານົດ TLS 1.2 ເປັນຄ່າເລີ່ມຕົ້ນ, ໃຫ້ແນ່ໃຈວ່າໄດ້ປະຕິບັດມັນກ່ອນທີ່ຈະເຊື່ອມຕໍ່ກັບຊັບພະຍາກອນທີ່ປອດໄພ:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0. TLS 1.2 ບໍ່ຮອງຮັບ, ແຕ່ຖ້າ .NET 4.5 (ຫຼືສູງກວ່າ) ຖືກຕິດຕັ້ງຢູ່ໃນລະບົບຂອງເຈົ້າ, ເຈົ້າຍັງມີທາງເລືອກທີ່ຈະໃຊ້ TLS 1.2 ເຖິງແມ່ນວ່າກອບແອັບພລິເຄຊັນຂອງເຈົ້າບໍ່ຮອງຮັບ TLS 1.2. ບັນຫາພຽງແຕ່ວ່າ SecurityProtocolType ໃນ .NET 4.0 ບໍ່ມີການເຂົ້າສໍາລັບ TLS1.2, ດັ່ງນັ້ນພວກເຮົາຕ້ອງໃຊ້ການເປັນຕົວແທນຕົວເລກຂອງມູນຄ່າ enum ນີ້:

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

.NET 3.5 ຫຼືຕ່ຳກວ່າ. ບໍ່ຮອງຮັບ TLS 1.2(*) ແລະບໍ່ມີການແກ້ໄຂບັນຫາ. ອັບເກຣດແອັບພລິເຄຊັນຂອງທ່ານໄປເປັນເວີຊັນຫຼ້າສຸດຂອງກອບ.

PS ສໍາລັບສະຖານະການ 3, ຍັງມີການ hack ລີຈິດຊີທີ່ຈະບັງຄັບໃຫ້ 4.5 ໃຊ້ TLS 1.2 ໂດຍຄ່າເລີ່ມຕົ້ນໂດຍບໍ່ຈໍາເປັນຕ້ອງບັງຄັບມັນດ້ວຍໂປຣແກຣມ. PPS ດັ່ງທີ່ Christian Pop ຂອງ Microsoft ກ່າວຢູ່ລຸ່ມນີ້, ມີແພັດໃໝ່ຫຼ້າສຸດທີ່ມີໃຫ້ສຳລັບ .NET 3.5 ເຊິ່ງຊ່ວຍໃຫ້ຮອງຮັບ TLS1.2.

ເບິ່ງ:

  • KB3154518 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
  • KB3154519 – ຄວາມໜ້າເຊື່ອຖື Rollup HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
  • KB3154520 – ຄວາມໜ້າເຊື່ອຖື Rollup HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
  • KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

ເນື້ອໃນອ້າງອີງອື່ນໆ 2

ບາງທີຄວາມຍາວຂອງລະຫັດໃບຢັ້ງຢືນທີ່ສະຫນອງໃຫ້ໂດຍເວັບໄຊທ໌ແມ່ນ 512 bits, ແລະອີງຕາມມາດຕະຖານອຸດສາຫະກໍາໃນປະຈຸບັນ, ມັນຄວນຈະມີລະຫັດສາທາລະນະທີ່ບໍ່ຫນ້ອຍກວ່າ 2048 bits. ການປັບປຸງຄວາມປອດໄພໃນເດືອນກັນຍາ 2016 ຂອງ Microsoft ໄດ້ຕອບສະໜອງຕໍ່ບັນຫານີ້ໂດຍລະບຸວ່າ ຖ້າຄວາມຍາວຂອງກະແຈສາທາລະນະມີໜ້ອຍກວ່າ 2048 bytes (ເຊັ່ນ: RSA 512),Windows ສາມາດຍົກເລີກການເຊື່ອມຕໍ່ HTTPS

ການປັບປຸງທີ່ຕິດຕັ້ງແມ່ນ

2012 R2 and Windows 8

  • KB3185331
  • KB3188743
  • KB3174644

2008 R2 and Windows 7

  • KB3185278
  • KB3185330
  • KB3192391
  • KB3175024
  • KB3172605

ເນື້ອໃນອ້າງອີງອື່ນໆສາມ

SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
.net 4.0/4.5 ຄ່າເລີ່ມຕົ້ນ: SecurityProtocolType.Tls |. SecurityProtocolType.Ssl3 .net 4.6/4.7 ຄ່າເລີ່ມຕົ້ນ: SecurityProtocolType.Tls | SecurityProtocolType.Tls11 |

https://support.microsoft.com/en-us/help/3069494/cannot-connect-to-a-server-by-using-the-servicepointmanager-or-sslstre

SCH_USE_STRONG_CRYPTO ທຸງນີ້ຈະຖືກໃຊ້ໂດຍອັດຕະໂນມັດໃນ .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework ໃນ Win7Sp1 ແລະ .Net 3.5.1, TLS1.2 ຖືກຮອງຮັບ

ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Close ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 | (SecurityProtocolType)0xc00 1.1 ແລະ

ການສະຫລຸບຂອງ TLS1.2 ແມ່ນນີ້:

  • ການຕິດຕັ້ງ .Net3.5.1 ຕ້ອງການ patch ແລະຫຼັງຈາກນັ້ນເພີ່ມ TLS1.2 enumeration
  • ການ​ຕິດ​ຕັ້ງ .Net 4.0 ຮຽກ​ຮ້ອງ​ໃຫ້​ມີ​ການ​ປັບ​ປຸງ​ການ​ຈົດ​ທະ​ບຽນ​ແລະ​ຫຼັງ​ຈາກ​ນັ້ນ​ເພີ່ມ​ການ​ນັບ​ຕັ້ງ TLS1.2
  • ຫຼັງ​ຈາກ​ການ​ຕິດ​ຕັ້ງ .Net4.5​, ທ່ານ​ຍັງ​ຈໍາ​ເປັນ​ຕ້ອງ​ໄດ້​ເພີ່ມ​ການ​ນັບ TLS1.2​
  • ຫຼັງຈາກການຕິດຕັ້ງ .Net4.6.1, TLS1.2 ຖືກຮອງຮັບໂດຍຄ່າເລີ່ມຕົ້ນ.

ດັດແກ້ການລົງທະບຽນພາຍໃຕ້ .net4

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001

ວັດສະດຸເພີ່ມເຕີມ

ບົດຄວາມນີ້ຂຽນໂດຍເວັບໄຊທ໌ດາວໂຫລດເກັບກໍາແລະຈັດລຽງ, ເນື້ອໃນແມ່ນມາຈາກອິນເຕີເນັດ, ກະລຸນາຊີ້ບອກແຫຼ່ງໃນເວລາທີ່ພິມໃຫມ່, ຂອບໃຈ.

ຄໍາຮ້ອງສະຫມັກຊອບແວ: ການດາວໂຫຼດແມ່ແບບດ້ານຫນ້າ; ໝາຍເຫດ: ຊອບແວນີ້ບໍ່ແມ່ນໂປຣແກຣມແຮກເກີ ແລະບໍ່ສາມາດດາວໂຫຼດຂໍ້ມູນພື້ນຫຼັງໄດ້!
ການປະຕິເສດຄວາມຮັບຜິດຊອບ: ການບໍລິການແມ່ນສໍາລັບການສຶກສາສ່ວນບຸກຄົນ, ການຄົ້ນຄວ້າຫຼືການຍົກຍ້ອງ, ເຊັ່ນດຽວກັນກັບຈຸດປະສົງອື່ນໆທີ່ບໍ່ແມ່ນການຄ້າຫຼືບໍ່ຫວັງຜົນກໍາໄລ, ແຕ່ໃນເວລາດຽວກັນມັນຄວນຈະປະຕິບັດຕາມຂໍ້ກໍານົດຂອງກົດຫມາຍລິຂະສິດແລະກົດຫມາຍທີ່ກ່ຽວຂ້ອງອື່ນໆ, ແລະຕ້ອງບໍ່ລະເມີດລິຂະສິດ. ສິດທິທາງດ້ານກົດຫມາຍຂອງເວັບໄຊທ໌ນີ້ແລະຜູ້ຖືສິດທິທີ່ກ່ຽວຂ້ອງຄວາມສ່ຽງທີ່ກ່ຽວຂ້ອງກັບການນໍາໃຊ້ເຄື່ອງມືຢູ່ໃນເວັບໄຊທ໌ນີ້ບໍ່ມີຫຍັງກ່ຽວຂ້ອງກັບຊອບແວນີ້.
ສະຫງວນລິຂະສິດ © 2019-2024 Rabbit Software All Rights Reserved Guangdong ICP No. 19111427-2
ຂໍ້ມູນການສອນ ຄູ່​ມື​ຜູ້​ໃຊ້ ຫົວຂໍ້ເວັບໄຊທ໌