Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Objawy

Założono, że przeprowadzono aktualizację do programu Microsoft.NET Framework 4.6 na komputerze. Korzystając z aplikacji, która używa protokołu SSL 3.0 wraz z ServicePointManager lub SslStream API, aby połączyć się z serwerem, nie można nawiązać połączenia.

Przyczyna

Ten problem występuje, ponieważ zmieniono domyślny zestaw protokołów SSL/TLS używanego przez ServicePointManager i SslStream .

Stara wartość: Ssl 3.0 | Protokół TLS 1.0 | TLS 1.1


Nowa wartość: protokół Tls 1.0 | TLS 1.1 | TLS 1.2

Obejście problemu

Aby obejść ten problem, należy zaktualizować serwer Tls 1.0, Tls 1.1 lub Tls 1.2 ponieważ SSL 3.0 wykazano być podatny na ataki, takie jak PUDEL i bez zabezpieczeń.

Uwaga Jeśli serwer nie może zaktualizować, użyj AppContext klasa zrezygnować z tej funkcji. Aby to zrobić, użyj jednej z następujących metod:

  • Programowo: Musi być pierwszą rzeczą, jaką aplikacja nie zainicjowany ServicePointManager tylko raz. Użyć następującego kodu w aplikacji:

    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";        private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";
    AppContext.SetSwitch(DisableCachingName, true);
    AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
  • Przy użyciu pliku AppConfig aplikacji: Dodaj następujący wiersz do pliku Appconfig:
    < AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/ >



Aby uzyskać więcej informacji o znanych problemach 4.6.NET Framework Zobacz znane problemy 4.6.NET Framework.

Więcej informacji

Aby uzyskać więcej informacji na temat zmiany wersji produktu i wpływu 4.6.NET Framework Zobacz Zgodność aplikacji.NET Framework 4.6.

Uwagi

  • Nowa konfiguracja ma zastosowanie tylko w przypadku, gdy aplikacja jest platformą.NET Framework 4.6. .NET Framework 4.5.2 i wcześniejszych wersjach pozostaną nienaruszone, nawet jeśli są uruchamiane w środowisku.NET Framework 4.6.

  • Listę interfejsów API, którego dotyczy najwyższego poziomu:

    • HttpClient, HttpWebRequest

    • FtpClient

    • SmtpClient

    • SslStream

  • SCH_USE_STRONG_CRYPTO Ta flaga jest będzie automatycznie używany w 4.6.NET Framework i wpływa na zachowanie przez usunięcie niebezpiecznych algorytmy kryptograficzne i mieszania. Dla wszystkich platform systemu operacyjnego wcześniejszych niż Windows 10 algorytm RC4 zostaną usunięte z użycia. Od 10 systemu Windows zostaną usunięte następujące dodatkowe algorytmy niebezpieczny: DES, NULL, EKSPORTOWANIE i MD5


Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×