A .NET-keretrendszer 3.5-ös és korábbi verziói nem támogatták a TLS rendszer alapértelmezett verzióit titkosítási protokollként használható alkalmazások számára. Ez a frissítés lehetővé teszi a TLS 1.2-es verzió használatát a .NET-keretrendszer 3.5-ös verzióban.

MegjegyzésEz  a tartalom az Windows frissítésben érhető el. A tartalom beszerzéséhez olvassa el a Windows a legújabb .NET-keretrendszer frissítéseket. Ha a rendszer teljes mértékben naprakész a Windows frissítéssel, nem kell további lépéseket tennie.

Megoldás

Letöltési információ

A KB3154519-nek megfelelő gyorsjavítást az .NET-keretrendszer legújabb frissítései feleslegesen telepítették, amelyek a KORÁBBAN KB3154519-ben szereplő összes javítást tartalmazzák. Javasoljuk, hogy telepítse a .NET-keretrendszer.Ezen a területen az alábbi fejlesztéseket javítottunk:

  • Az alábbi beállításkulcsok az SSL és a TLS operációs rendszer alapértelmezett beállítását használhatja a .NET-keretrendszer felügyelt alkalmazások alapértelmezett beállítása helyett.

    • 64 bites operációs rendszerek esetében:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001

    • 32 bites operációs rendszerek esetében:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001

    Megjegyzés: Ha az alkalmazás a ServicePointManager.SecureProtocolt kódban vagy konfigurációs fájlokon keresztül adott értékre beállította, vagy az SslStream.AuthenticateAs* API-k használatával adott SslProtocols enumot ad meg, a beállításjegyzék beállítása nem működik.

  • Ezenkívül hozzáadtunk egy SslProtocolsExtensions felsorolást is, amely a TLS 1.2-es és TLS 1.1-es verziójának beállítására, valamint a ServicePointManager.SecurityProtocol tulajdonság alapértelmezett rendszerbeállításaiként használható a .NET-keretrendszer 2.0 SP2-es verziójának célközönségeként. (A bővítmények használatával kapcsolatos információkért lásd a Fejlesztői útmutatót.) Megjegyzés Windows Vista SP2 és Windows Server 2008 SP2 nem támogatja a TLS protokoll 1.0-snál újabb verzióit. A Windows Vista SP2 vagy Windows Server 2008 SP2 rendszeren futó felügyelt .NET-keretrendszer 2.0 SP2-alkalmazások nem használhatnak TLS 1.2-es vagy TLS 1.1-es et még akkor sem, ha ezek a protokollok a ServicePointManager.SecurityProtocol tulajdonságban vannak beállítva.

A Microsoft Tudásbázis következő számú cikkében bővebben olvashat a Microsoft által kiadott támogatási fájlok letöltéséről, a cikk megnyitásához kattintson a sorszámra:

119591 Hogyan szerezhet be Microsoft-támogatási fájlokat az online szolgáltatásokból: A Microsoft ellenőrizte, hogy nem tartalmaz-e vírusokat a fájl. Ennek során a Microsoft a fájl közzétételének napján elérhető legfrissebb vírusvédelmi szoftvert használta. A fájlt fokozott biztonságú kiszolgálók tárolják, amelyek meggátolják a fájl bármilyen jogosulatlan módosítását.

Fejlesztői útmutató

Az új bővítmények definíciója az alábbi fájlokban található:  

  • SecurityProtocolTypeExtensions.csnamespace System.Net { a System.Security.Authentication használatával; public static class SecurityProtocolTypeExtensions { public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12; public const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11; public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0; } }

  • SslProtocolsExtensions.csnamespace System.Security.Authentication { public static class SslProtocolsExtensions { public const SslProtocols Tls12 = (SslProtocols)0x00000C00; public const SslProtocols Tls11 = (SslProtocols)0x00000300; } }

A TLS 1.2-es verziójának támogatásához foglalja bele a forrásfájlokat a projektbe, majd állítsa be a protokoll verzióját az alábbi módokon:  

  • A ServicePointManager-alapú API-kat használó alkalmazások az alábbiak szerint állíthatják be a protokollt: System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Az SslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean) túlterhelést használó alkalmazások az SslProtocols értéket SslProtocolsExtensions.Tls12 értékre állíthatják.

Ha az első bekezdésben említett beállításjegyzékbeli beállítás, és az SslProtocols értéke SslProtocols.None, a rendszer alapértelmezett viselkedése a választott Windows-verziótól függ.Ha módosítja az alkalmazáskódot úgy, hogy az .NET-keretrendszer 3.5 SP1-es TLS 1.2-es vLS támogatását engedélyezze, az alábbi kivételeket is meg kell tennie minden olyan számítógépen, amelyen nincs telepítve a javítás:  

  1. Ha nincs telepítve a gyorsjavítás, a ServicePointManager-alapú API-k (HTTP, FTP, SMTP) a "System.NotSupportedException: A kért biztonsági protokoll nem támogatott" értéket adja vissza, amikor az alkalmazás hívja a ServicePointManager.SecurityProtocol értéket az új érték beállításához.

  2. Ha nincs telepítve a gyorsjavítás, az SslStream-alapú API-k kivételeket fognak tenni, amikor a AuthenticateAs* API-k valamelyikét hívják:

    System.ArgumentException: A megadott érték nem érvényes az SslProtocolType felsorolásában.Paraméter neve: sslProtocolType

Megjegyzés: Csak az SslStream esetén, a Tls12 és a Tls11 kombinációja a meglévő Tls, Ssl3 és Ssl2 bármelyik meglévővel (például: Tls12 | Tls11 | A Tls csendesen visszalépést fog a meglévő protokollokra (például: Tls) egy javítás nélküli rendszeren. Anélkül csatlakozik a Tls-hez, hogy kivételt képeznek.  

További információ

A TLS 1.1-es vagy 1.2-es alapértelmezett operációs rendszerként való engedélyezéséhez kövesse a https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Megjegyzés: A TLS 1.1-es és 1.2-es verziójához nem érhető el Windows Vista vagy Windows Server 2008.Ha le kell tiltania az egyes alkalmazások "Megoldás" szakaszában említett beállításkulcs által beállított alapértelmezett operációs rendszereket, ezt a következő beállításkulcs hozzáadásával tudja megtenni:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions <<A .exe teljes elérési útvonala a fájlhoz>> DWORD 0 C:\MyApp\MyApp.exe DWORD 0

A TLS 1.2-esről további információt A TLS 1.2-es vLsz.A SystemDefaultTlsVersions .NET beállításkulcs engedélyezése után az Windows minden verziójában más viselkedés történik, az alábbi táblázatban látható módon.  

Windows verzió

SSL2-ügyfél

SSL2-kiszolgáló

SSL3-ügyfél

SSL3-kiszolgáló

TLS 1.0-ügyfél

TLS 1.0-kiszolgáló

TLS 1.1 ügyfél

TLS 1.1-kiszolgáló

TLS 1.2 ügyfél

TLS 1.2-kiszolgáló

Windows Vista SP2 és Windows Server 2008 SP2

Kikapcsolva

Be

Be

Be

Be

Be

Windows 7 SP1 és Windows Server 2008 R2 SP1

Kikapcsolva

Be

Be

Be

Be

Be

Kikapcsolva

Kikapcsolva

Kikapcsolva

Kikapcsolva

Windows Server 2012

Kikapcsolva

Kikapcsolva

Be

Be

Be

Be

Be

Be

Be

Be

Windows 8.1 és Windows Server 2012 R2

Kikapcsolva

Kikapcsolva

Be

Be

Be

Be

Be

Be

Be

Be

Windows 10

Kikapcsolva

Kikapcsolva

Be

Be

Be

Be

Be

Be

Be

Be

Windows 10 (1511)

Kikapcsolva

Kikapcsolva

Be

Be

Be

Be

Be

Be

Be

Be

Windows 10 (1607) és Windows Server 2016

Kikapcsolva

Kikapcsolva

Be

Be

Be

Be

Be

Be

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.