Příznaky

Předpokládejme, že jste provedli upgrade na Microsoft rozhraní.NET Framework 4.6 ve vašem počítači. Při použití aplikace, která používá protokol SSL 3.0 Třída ServicePointManager nebo SslStream API pro připojení k serveru, připojení se nezdaří.

Příčina

K tomuto problému dochází, protože došlo ke změně výchozí sadu protokolů SSL/TLS, který používá Třída ServicePointManager a SslStream .

Původní hodnota: Ssl 3.0 | TLS 1.0 | Protokoly TLS 1.1


Nová hodnota: Tls 1.0 | Protokoly TLS 1.1 | TLS 1.2

Jak potíže obejít

Chcete-li tento problém vyřešit, aktualizujte server na Tls 1.0, Tls 1.1 a Tls 1.2, protože protokol SSL 3.0 ukázala být nezabezpečené a zranitelné vůči útokům, jako je například co.

Poznámka: Pokud nelze aktualizovat na serveru, použijte AppContext třída Odhlásit se od této funkce. Chcete-li to provést, použijte jednu z následujících metod:

  • Programově: Musí být úplně první věcí, kterou aplikace provede, protože Třída ServicePointManager bude inicializovat pouze jednou. Následující příklad kódu lze použijte v aplikaci:

    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";        private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";
    AppContext.SetSwitch(DisableCachingName, true);
    AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
  • Pomocí souboru AppConfig aplikace: Appconfig souboru přidejte následující řádek:
    < AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/ >



Další informace o známých problémech s 4.6 rozhraní.NET Framework naleznete v tématu Známé problémy pro 4.6 rozhraní.NET Framework.

Další informace

Další informace o změny verzí produktu a dopad 4.6 rozhraní.NET Framework naleznete v tématu Kompatibilita aplikací rozhraní.NET Framework 4.6.

Poznámky

  • Nová konfigurace bude použito pouze v případě, že je aplikací cílena rozhraní.NET Framework 4.6. Rozhraní.NET Framework 4.5.2 a dřívějších verzích nebudou ovlivněny, i když jejich spouštění v prostředí rozhraní.NET Framework 4.6.

  • Seznam ohrožených nejvyšší úrovně rozhraní API:

    • HttpClient HttpWebRequest

    • FtpClient

    • SmtpClient

    • SslStream

  • SCH_USE_STRONG_CRYPTO Tento příznak bude automaticky použita v 4.6 rozhraní.NET Framework a ovlivňuje chování odstraněním nebezpečných kryptografické algoritmy a algoritmy hash. U všech operačních systémů starších než Windows 10 algoritmus RC4 budou odebrány z používání. Z Windows 10 budou odebrány následující další bezpečné algoritmy: DES, NULL, EXPORT a MD5


Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti

Projít školení >

Získejte nové funkce jako první

Připojit se k programu Microsoft Insider >

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×