Nevar izveidot savienojumu ar serveri, izmantojot ServicePointManager vai SslStream API pēc jaunināšanas uz .NET Framework 4.6

Pazīmes

Pieņemsim, ka esat jauninājis Microsoft .NET Framework 4.6 jūsu datorā. Kad izmantojat lietojumprogrammu, kas izmanto SSL 3.0 ServicePointManager vai SslStream API, lai izveidotu savienojumu ar serveri, savienojuma izveide neizdodas.

Iemesls

Šī problēma rodas tāpēc, ka ir mainīta noklusējuma SSL/TLS protokolu kopa, ko izmanto ServicePointManager un SslStream .

Vecā vērtība: Ssl 3.0 | TLS 1.0 | TLS 1.1


Jaunās vērtības: Tls 1.0 | TLS 1.1 | TLS 1.2

Risinājums

Lai novērstu šo problēmu, atjaunināt servera Tls 1.0, Tls 1.1 vai Tls 1.2, jo SSL 3.0 ir izrādījusies droši un aizsargāti pret uzbrukumiem, piemēram, PŪDELIS.

Piezīme. Ja serveris nevar atjaunināt, izmantojiet AppContext klases atteikties no šī līdzekļa. Lai to izdarītu, izmantojiet kādu no šīm metodēm:

  • Programmiski: Jābūt ļoti vispirms lietojumprogramma nav, jo ServicePointManager būs inicializēt tikai vienu reizi. Izmantojiet programmu kodu piemērā:

    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";        private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";
    AppContext.SetSwitch(DisableCachingName, true);
    AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
  • Izmantojot programmu failu AppConfig: Appconfig failam pievienot šādu rindiņu:
    < AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/ >



Lai iegūtu papildinformāciju par zināmajām problēmām .NET Framework 4.6 skatiet zināmās problēmas saistībā ar .NET Framework 4.6.

Papildinformācija

Plašāku informāciju par produkta versijas izmaiņas un ietekme uz .NET Framework 4.6 skatiet .NET Framework 4.6 lietojumprogrammu saderību.

Piezīmes

  • Jauna konfigurācija attiecas tikai, kad lietojumprogramma ir mērķēta .NET Framework 4.6. .NET Framework 4.5.2 un vecākas versijas netiks ietekmēti, pat tad, ja tie tiek izpildīti .NET Framework 4.6 vidē.

  • Augstākā līmeņa attiecīgajā API sarakstu:

    • HttpClient HttpWebRequest

    • FtpClient

    • SmtpClient

    • SslStream

  • SCH_USE_STRONG_CRYPTO Šis karodziņš notiek automātiski izmantot .NET Framework 4.6 un darbība ietekmē novēršot nedrošu jaukšanas un šifrēšanas algoritmu. Visas operētājsistēmas platformas agrāka Windows 10 RC4 algoritma tiks noņemts no lietošanas. Windows 10 tiks noņemti šādi papildu nedrošu algoritmu: DES, NULL, EKSPORTĒŠANA un MD5


Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

×