титульна сторінкаПідручник з програмного забезпеченняПричини та рішення для "Запит перервано: не вдалося створити захищений канал SSL/TLS"
Причини та рішення для "Запит перервано: не вдалося створити захищений канал SSL/TLS"

Опис: запит скасовано: не вдалося створити безпечний канал SSL/TLS. Не вдалося створити безпечний канал SSL/TLS. Платформи збірки: Windows Server 2012, Windows 7 Service Pack 1 (SP1) і Windows Server 2008 R2 SP1

[епізод] завантаження веб-сайту Це інструмент для завантаження всього сайту. Він простий і легкий у використанні та має багатопотокові завдання.

Рішення 1: рівень коду

Встановіть код перед 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, це оновлення забезпечує підтримку безпеки транспортного рівня (TLS) у Windows Server 2012, Windows 7 з пакетом оновлень 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 на рівні компонента SChannel (з будь-яким оновленням нижче)

Спосіб 1. Використовуйте інсталяційний пакет оновлення Microsoft для оновлення MicrosoftEasyFix51044.msi
Спосіб 2: оновіть реєстр вручну

Скопіюйте наведений нижче код реєстру та імпортуйте його до реєстру. Створіть новий текстовий файл, змініть суфікс txt на reg (ключ реєстру) та імпортуйте (зробіть резервну копію перед імпортом)

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, другий рядок коду змінює підтримку 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 також існує хак реєстру, який змусить 4.5 використовувати TLS 1.2 за замовчуванням без програмного примусу. PPS Як зазначає нижче Крістіан Поп від Microsoft, доступний останній патч для .NET 3.5, який підтримує TLS1.2.

Побачити:

  • KB3154518 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
  • KB3154519 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
  • KB3154520 – Reliability 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 біт, і відповідно до чинних галузевих стандартів він повинен містити відкритий ключ не менше 2048 біт. В оновленні системи безпеки Microsoft від вересня 2016 р. у відповідь на цю проблему зазначено, що якщо довжина відкритого ключа менше 2048 байт (наприклад, 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.Ssl3 .net 4.6/4.7 значення за замовчуванням: 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; //Додати підтримку для 1.1 і 1.2

Висновок TLS1.2 такий:

  • Для встановлення .Net3.5.1 потрібен патч, а потім додавання переліку TLS1.2
  • Для встановлення .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

додаткові матеріали

Ця стаття написаназавантаження веб-сайтуЗібрано та впорядковано, вміст походить з Інтернету, під час передруку вказуйте джерело, дякую.

Програмне забезпечення: розробка і дизайн веб-сайту; Примітка: це програмне забезпечення не є хакерською програмою і не може завантажувати фонові дані!
Відмова від відповідальності: послуга призначена для особистого вивчення, дослідження чи оцінки, а також для інших некомерційних чи некомерційних цілей, але водночас вона має відповідати положенням закону про авторське право та інших відповідних законів і не порушувати законні права цього веб-сайту та власників відповідних прав. Ризики, пов’язані з використанням інструментів на цьому сайті, не мають нічого спільного з цим програмним забезпеченням.
Copyright © 2019-2024 Rabbit Software. Усі права захищено Гуандун ICP № 19111427-2
Інформація про підручник Посібник користувача Теми сайту