Du er frakoblet, venter på at Internett skal koble til igjen

Kan ikke koble til en server ved hjelp av ServicePointManager eller SslStream APIs etter oppgradering til .NET Framework 4.6

VIKTIG: Denne artikkelen ble oversatt med maskinoversettelsesprogramvare fra Microsoft og muligens redigert av Microsoft Community via CTF-teknologi i stedet for av en oversetter. Microsoft tilbyr både menneskelig oversatte og maskinoversatte/Community-redigerte artikler, slik at du får tilgang til alle artiklene i vår Knowledge Base på ditt eget språk. En maskinoversatt eller Community-redigert artikkel er imidlertid ikke alltid perfekt. Den kan inneholde feil i vokabular, syntaks eller grammatikk, mye likt en fremmedspråklig som forsøker å snakke språket ditt. Microsoft har ikke ansvar for unøyaktige opplysninger, feil eller skade forårsaket av feilaktig oversettelse av innholdet eller kundenes bruk av informasjonen. Microsoft oppdaterer jevnlig maskinoversettelsesprogramvaren og -verktøyene for å forbedre redigering av maskinoversatte tekster.

Den engelske versjonen av denne artikkelen er den følgende: 3069494
Symptom
Anta at du har oppgradert til Microsoft .NET Framework 4.6 på datamaskinen. Når du bruker et program som bruker SSL 3.0, sammen med ServicePointManager eller SslStream APIer til å koble til en server, vil tilkoblingen mislykkes.
Årsak
Dette problemet oppstår fordi standardsettet med SSL/TLS-protokoller som brukes av ServicePointManager og SslStream ble endret.

Gammel verdi: Ssl 3.0 | TLS 1.0 | TLS 1.1

Ny verdi: Tls 1.0 | TLS 1.1 | TLS 1.2

Workaround
Du kan omgå dette problemet ved å oppdatere serveren til Tls 1.0, 1.1 Tls eller Tls 1.2 fordi SSL 3.0 har vist seg å være usikre og sårbare for angrep som deg.

Obs! Hvis du ikke kan oppdatere serveren, bruker du AppContext Klassen å delta på denne funksjonen. Hvis du vil gjøre dette, bruker du én av følgende metoder:
  • Programmatisk: Må være det første som programmet gjør fordi initialisererServicePointManagerbare én gang. Bruk følgende kodeeksempel i programmet:
    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching";        private const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto";        AppContext.SetSwitch(DisableCachingName, true);        AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);
  • Ved hjelp av AppConfig-filen for programmet: legge til følgende linje i filen Appconfig:
    <AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"></AppContextSwitchOverrides>


Hvis du vil ha mer informasjon om kjente problemer i .NET Framework 4.6, se Kjente problemer for .NET Framework 4.6.
Mer informasjon
Hvis du vil ha mer informasjon om produktendringer versjonskontroll og virkningsfulle i .NET Framework 4.6, se Programkompatibilitet i .NET Framework 4.6.

Notater
  • Den nye konfigurasjonen gjelder bare når programmet er rettet mot .NET Framework 4.6. .NET Framework 4.5.2 og tidligere versionswill bli ikke påvirket selv om de kjører i et miljø med .NET Framework 4.6.
  • En liste over berørte på øverste nivå APIer:
    • HttpClient, HttpWebRequest
    • FtpClient
    • SmtpClient
    • SslStream
  • SCH_USE_STRONG_CRYPTO Dette flagget skal brukes automatisk i .NET Framework 4.6 og påvirker virkemåten ved å fjerne usikre kryptografiske og hash algoritmer. For alle plattformer for operativsystemet fjernes tidligere enn Windows 10RC4 -algoritmen fra bruk. Følgende ekstra usikre algoritmer, fjernes fra Windows 10:DES, NULL, EKSPORTERE og MD5

Advarsel: Denne artikkelen er autooversatt

Egenskaper

Artikkel-ID: 3069494 – Forrige gjennomgang: 07/22/2015 18:16:00 – Revisjon: 1.0

Microsoft .NET Framework 4.6

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB3069494 KbMtno
Tilbakemelding