Požymiai

Tarkime, kad turite atnaujinti Microsoft .NET Framework 4.6 jūsų kompiuteryje. Kai naudojate programą, kuri naudoja SSL 3.0 kartu su ServicePointManager arba SslStream API, kad prisijungti prie serverio, ryšio užmegzti nepavyksta.

Priežastis

Ši problema kyla dėl to, kad pasikeitė numatytasis SSL/TLS protokolų rinkinys, kuris naudojamas ServicePointManager ir SslStream .

Seną vertę: Ssl 3.0 | TLS 1.0 | TLS 1.1

Nauja reikšmė: Tls 1.0 | TLS 1.1 | TLS 1.2

Sprendimas

Norėdami išspręsti šią problemą, atnaujinti serverį Tls 1.0, Tls 1.1 arba Tls 1.2, nes SSL 3.0 rodo, kad nesaugius ir gali juos įveikti, pvz., Pudelis.Pastaba. Jei negalite atnaujinti serverio, naudokite AppContext klasę, kad atsisakytumėte šios funkcijos. Norėdami tai padaryti, naudokite vieną iš toliau nurodytų būdų:

  • Programinis: Turi būti labai pirmiausia programos nėra, nesServicePointManagerbus inicijuoti tik vieną kartą. Naudokite toliau pateiktą kodo pavyzdį naudojant savo programą:

    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";        private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";        AppContext.SetSwitch(DisableCachingName, true);        AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
  • Naudojant AppConfig failą, kad programa: įtraukite šią eilutę į Appconfig failą:< AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/ >

Jei norite gauti daugiau informacijos apie žinomas ".NET Framework 4.6" problemas, žr. žinomos problemos, .NET Framework 4.6.

Daugiau informacijos

Jei norite gauti daugiau informacijos apie produkto versijos pakeitimus ir poveikis .NET Framework 4.6, peržiūrėkite Programos suderinamumą su .NET Framework 4.6.Pastabos

  • Nauja konfigūracija bus taikoma tik kai programa yra skirta .NET Framework 4.6. .NET Framework 4.5.2 ir ankstesnėse versijose neturės įtakos net jei jie paleisti .NET Framework 4.6 aplinkoje.

  • Įtakos aukščiausio lygio API sąrašas:

    • HttpClient, HttpWebRequest

    • FtpClient

    • SmtpClient

    • SslStream

  • SCH_USE_STRONG_CRYPTO Ši žymė bus automatiškai naudoti .NET Framework 4.6 ir veikia veikimo pašalinti nesaugų šifravimo ir maišos algoritmai. Visoms platformoms operacinės sistemos versiją nei Windows 10, RC4 algoritmas bus pašalintas iš naudojimo. Iš "Windows" 10, bus pašalinti šiuos papildomos nesaugių algoritmus: DES, NULL, eksportuoti ir MD5

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.