Nelze se připojit k serveru pomocí Třída ServicePointManager nebo SslStream API po upgradu na 4.6 rozhraní.NET Framework

DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.

Projděte si také anglickou verzi článku: 3069494
Příznaky
Předpokládejme, že jste provedli upgrade na Microsoft rozhraní.NET Framework 4.6 ve vašem počítači. Pokud používáte aplikaci, která používá protokol SSL 3.0 Třída ServicePointManager nebo SslStream rozhraní 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 protokoly SSL/TLS, který používá Třída ServicePointManager a SslStream .

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

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

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

Poznámka: Pokud nelze aktualizovat na serveru, použijte AppContext Odhlásit se od této funkce třídy. 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žeTřída ServicePointManagerspustí 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"></AppContextSwitchOverrides>


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í v 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 starší versionswill nesmí být ovlivněna i 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 se bude automaticky použita 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 algoritmusRC4 budou odebrány z použití. Od Windows 10 budou odebrány následující další bezpečné algoritmy:DES, NULL, EXPORT a MD5

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 3069494 - Poslední kontrola: 07/22/2015 19:59:00 - Revize: 1.0

Microsoft .NET Framework 4.6

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB3069494 KbMtcs
Váš názor