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.AppContext klasę, kad atsisakytumėte šios funkcijos. Norėdami tai padaryti, naudokite vieną iš toliau nurodytų būdų:
Pastaba. Jei negalite atnaujinti serverio, naudokite-
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"/ >
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