Причини
Припустімо, що оновлення для Microsoft .NET Framework 4.6 на вашому комп'ютері. Якщо використовується програма, яка використовує протокол SSL 3.0 ServicePointManager або SslStream API для підключення до сервера, підключення не вдається.
Причина
Ця проблема виникає в тому, що за промовчанням набір протоколів, SSL/TLS, які використовуються ServicePointManager і SslStream було змінено.
Старе значення: Ssl 3.0 | TLS 1.0 | TLS 1.1.
Нове значення: Tls 1.0 | TLS 1.1 | TLS 1.2
Виправлення помилок
Щоб тимчасово усунути цю проблему, Оновіть сервер Tls 1.0, Tls 1.1 або Tls 1.2 через те, що було показано незахищені і вразливим до атак, таких як ПУДЕЛЬ SSL 3.0.
Примітка. Якщо не вдається оновити сервер, використовуйте AppContext класу вимкнути цю функцію. Для цього скористайтеся одним із наведених нижче способів.
-
Програмним способом: Має бути саме перше, що застосунок чи в тому, що ServicePointManager буде ініціалізувати лише один раз. У вашому застосунку, скористайтеся таким кодом:
private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";
AppContext.SetSwitch(DisableCachingName, true);
AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true); -
За допомогою AppConfig файл застосунку: додайте такий рядок до файлу Appconfig:
< AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/ >
Щоб отримати додаткові відомості про відомі проблеми, в .NET Framework-4.6 див. відомі проблеми, що в .NET Framework 4.6.
Додаткові відомості
Щоб отримати додаткові відомості про продукт керування версіями змін а також вплив у .NET Framework-4.6 див. У .NET Framework-4.6 сумісність програм.
Примітки
-
Нова конфігурація застосовуються лише під час застосування орієнтація .NET Framework-4.6. .NET Framework 4.5.2, так і попередніх версій не вплине навіть якщо їх у середовищі .NET Framework 4.6.
-
Список впливу верхнього рівня інтерфейси:
-
HttpClient, HttpWebRequest
-
FtpClient
-
SmtpClient
-
SslStream
-
-
SCH_USE_STRONG_CRYPTO Прапора буде використовуватися в .NET Framework-4.6 автоматично і впливає на роботу, видалення небезпечних криптографії та хешування алгоритмів. Для всіх платформ операційної системи, раніших за Windows 10, алгоритму RC4 буде видалено з використання. Від 10 для Windows, буде видалено такі додаткові небезпечних алгоритмів: DES, NULL, ЕКСПОРТ та MD5