Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

Да предположим, че сте извършили надстройка до Microsoft .NET Framework 4.6 на вашия компютър. Когато използвате приложение, което използва SSL 3.0 ServicePointManager или SslStream интерфейси за свързване със сървъра, връзката не успее.

Причина

Този проблем възниква, защото по подразбиране набор от протоколи 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 среда.

  • Списък на засегнатите най-високо ниво API:

    • HttpClient, HttpWebRequest

    • FtpClient

    • SmtpClient

    • SslStream

  • SCH_USE_STRONG_CRYPTO Този флаг няма да бъдат използвани в .NET Framework 4.6 и засяга поведение чрез премахване на опасните хеширане и криптографски алгоритми. За всички платформи, операционната система ще бъдат премахнати от Windows 10, алгоритъма на RC4 от употреба. От 10 на Windows, ще бъдат премахнати следните допълнителни опасни алгоритми: DES, NULL, ЕКСПОРТИРАНЕ и MD5


Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×