ຄໍາອະທິບາຍ: ການຮ້ອງຂໍຖືກຍົກເລີກ: ບໍ່ສໍາເລັດໃນການສ້າງຊ່ອງຄວາມປອດໄພ SSL / TLS. ບໍ່ສາມາດສ້າງຊ່ອງທີ່ປອດໄພ SSL/TLS ໄດ້. ສ້າງແພລດຟອມ: Windows Server 2012, Windows 7 Service Pack 1 (SP1), ແລະ Windows Server 2008 R2 SP1
[ຕອນ] ເວັບໄຊທ໌ດາວໂຫລດ ມັນເປັນເຄື່ອງມືການດາວໂຫຼດທັງຫມົດໃນເວັບໄຊໄດ້ໃສ່ URL ເພື່ອດາວໂຫລດໄດ້ດ້ວຍການຄລິກຫນຶ່ງແມ່ນງ່າຍດາຍແລະງ່າຍທີ່ຈະນໍາໃຊ້ແລະມີວຽກງານຫຼາຍກະທູ້.
ຕັ້ງລະຫັດກ່ອນ HttpWebRequest
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
ຖ້າວິທີການຂ້າງເທິງນີ້ບໍ່ໄດ້ຜົນ, ມັນເປັນບັນຫາລະດັບລະບົບການປັບປຸງ 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
ຄັດລອກລະຫັດການລົງທະບຽນຕໍ່ໄປນີ້ແລະນໍາເຂົ້າມັນເຂົ້າໄປໃນທະບຽນ. ສ້າງ txt ໃຫມ່, ປ່ຽນ suffix txt ເປັນ reg (registry key), ແລະນໍາເຂົ້າ (ເຮັດການສໍາຮອງຂໍ້ມູນກ່ອນທີ່ຈະນໍາເຂົ້າ)
[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
[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
PowerShell ເປີດ:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
ແຖວທຳອິດຂອງລະຫັດຈະກວດສອບເວີຊັນ TLS ທີ່ຮອງຮັບ.
ທັງສອງວິທີການທີ່ຜ່ານມາຈະບໍ່ເຮັດວຽກ, ດັ່ງນັ້ນທ່ານພຽງແຕ່ສາມາດນໍາໃຊ້ວິທີການສຸດທ້າຍ:
ຫມາຍເຫດ: ສໍາລັບສະເພາະ 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.
ເບິ່ງ:
ບາງທີຄວາມຍາວຂອງລະຫັດໃບຢັ້ງຢືນທີ່ສະຫນອງໃຫ້ໂດຍເວັບໄຊທ໌ແມ່ນ 512 bits, ແລະອີງຕາມມາດຕະຖານອຸດສາຫະກໍາໃນປະຈຸບັນ, ມັນຄວນຈະມີລະຫັດສາທາລະນະທີ່ບໍ່ຫນ້ອຍກວ່າ 2048 bits. ການປັບປຸງຄວາມປອດໄພໃນເດືອນກັນຍາ 2016 ຂອງ Microsoft ໄດ້ຕອບສະໜອງຕໍ່ບັນຫານີ້ໂດຍລະບຸວ່າ ຖ້າຄວາມຍາວຂອງກະແຈສາທາລະນະມີໜ້ອຍກວ່າ 2048 bytes (ເຊັ່ນ: RSA 512),Windows ສາມາດຍົກເລີກການເຊື່ອມຕໍ່ HTTPS
2012 R2 and Windows 8
2008 R2 and Windows 7
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 |
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 ແມ່ນນີ້:
ດັດແກ້ການລົງທະບຽນພາຍໃຕ້ .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
ບົດຄວາມນີ້ຂຽນໂດຍເວັບໄຊທ໌ດາວໂຫລດເກັບກໍາແລະຈັດລຽງ, ເນື້ອໃນແມ່ນມາຈາກອິນເຕີເນັດ, ກະລຸນາຊີ້ບອກແຫຼ່ງໃນເວລາທີ່ພິມໃຫມ່, ຂອບໃຈ.