A Transport Layer Security (TLS) ajánlott eljárásai a .NET-keretrendszer
Feljegyzés
Ez a lap .NET-keretrendszer TLS-információkat tartalmaz. Ha .NET TLS-információkat keres, tekintse meg a TLS/SSL ajánlott eljárásait
.NET-keretrendszer támogatja a Transport Layer Security (TLS) protokoll használatát a hálózati kommunikáció védelméhez.
Mi az a Transport Layer Security (TLS)?
Figyelmeztetés
A TLS 1.0 és 1.1 elavult a RFC8996. Ez a dokumentum csak a TLS 1.2-et és a TLS 1.3-at ismerteti.
A Transport Layer Security (TLS) protokoll a szabvány iparági legújabb verziója, amely az interneten keresztül kommunikáló információk adatvédelmi védelmének elősegítésére lett kialakítva. A TLS 1.3 egy szabvány, amely biztonsági fejlesztéseket biztosít a korábbi verziókhoz képest. Ez a cikk a TLS protokollt használó .NET-keretrendszer alkalmazások védelmére vonatkozó javaslatokat mutat be.
Ki használhatja ezt a dokumentumot?
- Közvetlenül az System.Net API-k használatával (például System.Net.Http.HttpClient és System.Net.Security.SslStream).
- WcF-ügyfelek és -szolgáltatások közvetlen használata a System.ServiceModel névtér használatával.
TLS-támogatás .NET-keretrendszer
Mivel a .NET-keretrendszer a Windowstól Schannel
függ, az operációs rendszertől függ, hogy mely verziók tárgyalhatók le, és melyik verziót fogja használni.
Íme egy frissített példatábla, amely az operációs rendszer különböző verzióinak és .NET-keretrendszer célverzióinak legmagasabb támogatott TLS-verzióját mutatja be:
.NET-keretrendszer célverzió | Windows 10 | Windows 11 |
---|---|---|
3,5 | TLS 1.2 | TLS 1.2 |
4.6.2 | TLS 1.2 | TLS 1.3 |
4.7 | TLS 1.2 | TLS 1.3 |
4.7.1 | TLS 1.2 | TLS 1.3 |
4.7.2 | TLS 1.2 | TLS 1.3 |
4.8 | TLS 1.2 | TLS 1.3 |
4.8.1 | TLS 1.2 | TLS 1.3 |
További információ: TLS protokollverzió támogatása a Schannelben.
Ajánlások
- TLS 1.3 esetén a cél .NET-keretrendszer 4.8 vagy újabb. Ellenőrizze, hogyan ellenőrizheti a kódszakaszt.
target framework
- Ne adja meg explicit módon a TLS-verziót, azaz ne használja azoknak a metódusoknak a túlterhelését
SslStream
, amelyek explicitSslProtocols
paramétert vesznek igénybe.- Így a kód lehetővé teszi, hogy az operációs rendszer döntsön a TLS-verzióról.
- Ha be kell állítania ServicePointManager.SecurityProtocol, állítsa be a következőre SecurityProtocolType.SystemDefault: . Ez az operációs rendszer alapértelmezett beállítását is használja.
- Ha az explicit paramétert használó
SslProtocols
metódustSslStream
kell használnia, akkor adja megSslProtocols.SystemDefault
argumentumként. Ez az operációs rendszer alapértelmezett beállítását is használja.
- Végezzen alapos kódvizsgálatot annak ellenőrzéséhez, hogy nem ad-e meg kifejezetten TLS- vagy SSL-verziót.
Figyelmeztetés
Ne használja SslProtocols.Default
, mert a TLS-verziót SSL3-ra és elavult TLS 1.0-ra állítja be.
Ha az alkalmazás lehetővé teszi az operációs rendszer számára a TLS-verzió kiválasztását:
- Automatikusan kihasználja a jövőben hozzáadott új TLS-protokollokat.
- Az operációs rendszer blokkolja a nem biztonságosnak talált protokollokat (pl. SSL3 és TLS 1.0).
Ez a cikk bemutatja, hogyan engedélyezheti az alkalmazás által használt és futtatott .NET-keretrendszer verziójához elérhető legerősebb biztonságot. Ha egy alkalmazás kifejezetten beállít egy biztonsági protokollt és -verziót, az minden más alternatívát kizár, és kikapcsolja a .NET-keretrendszer és az operációs rendszer alapértelmezett viselkedését. Ha azt szeretné, hogy az alkalmazás tárgyalni tudjon egy TLS 1.3-kapcsolatról, az alacsonyabb TLS-verzióra való explicit beállítás megakadályozza a TLS 1.3-kapcsolatot.
Ha nem tudja elkerülni a protokollverzió explicit megadását, határozottan javasoljuk, hogy adja meg a TLS 1.2-es vagy a TLS 1.3-at (azaz).currently considered secure
A TLS 1.0-függőségek azonosításával és eltávolításával kapcsolatos útmutatásért töltse le a TLS 1.0 probléma megoldásáról szóló tanulmányt.
A WCF a TLS 1.2-t támogatja alapértelmezettként a .NET-keretrendszer 4.7-ben. A 4.7.1-es .NET-keretrendszer kezdve a WCF alapértelmezés szerint az operációs rendszer által konfigurált verzióra lesz beállítva. Ha egy alkalmazás kifejezetten konfigurálva SslProtocols.None
van, a WCF az operációs rendszer alapértelmezett beállítását használja a NetTcp-átvitel használatakor.
A dokumentummal kapcsolatos kérdéseket a GitHub transport Layer Security (TLS) ajánlott eljárásaiban teheti fel a .NET-keretrendszer.
Kód naplózása és kódmódosítások végrehajtása
Az ASP.NET alkalmazások esetében vizsgálja meg a <system.web><httpRuntime targetFramework>
web.config elemét, és ellenőrizze, hogy a .NET-keretrendszer célként megadott verzióját használja-e.
Windows Forms és egyéb alkalmazások esetén lásd: A .NET-keretrendszer egy verziójának megcélzása.
Az alábbi szakaszokban ellenőrizheti, hogy nem egy adott TLS- vagy SSL-verziót használ-e.
Ha explicit módon kell beállítania egy biztonsági protokollt
Ha explicit módon kell beállítania egy biztonsági protokollt ahelyett, hogy engedélyezi a .NET vagy az operációs rendszer számára a biztonsági protokoll kiválasztását, válassza az alábbi protokollokat:
- A .NET-keretrendszer 3.5 esetén: TLS 1.2
- .NET-keretrendszer 4.6.2 vagy újabb verzió esetén: TLS 1.3
Ha nem találja a megadott protokollokat az enumerálásban, bővítményfájlként is hozzáadhatja őket. Lásd alább:
SslProtocolExtensions.cs
namespace System.Security.Authentication
{
public static class SslProtocolsExtensions
{
// For .NET Framework 3.5
public const SslProtocols Tls12 = (SslProtocols)3072;
// For .NET Framework 4.6.2 and later
public const SslProtocols Tls13 = (SslProtocols)12288;
}
}
SecurityProtocolExtensions.cs
using System.Security.Authentication;
namespace System.Net
{
public static class SecurityProtocolTypeExtensions
{
// For .NET Framework 3.5
public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;
// For .NET Framework 4.6.2 and later
public const SecurityProtocolType Tls13 = (SecurityProtocolType)SslProtocolsExtensions.Tls13;
}
}
További információ: A TLS rendszer alapértelmezett verzióinak támogatása a Windows 8.1 és Windows Server 2012 R2 .NET-keretrendszer 3.5-ös verziójában.
System.Net API-khoz (HttpClient, SslStream)
Ha az alkalmazás a 4.7-.NET-keretrendszer vagy újabb verziót célozza
Az alábbi szakaszok bemutatják, hogyan konfigurálhatja az alkalmazást a TLS használatára currently considered secure versions
. (TLS 1.2, TLS 1.3)
HttpClient és HttpWebRequest esetén
ServicePointManager.NET-keretrendszer 4.7-ben és újabb verziókban az operációs rendszerben konfigurált alapértelmezett biztonsági protokollt fogja használni. Ha lehetséges, ne állítson be értéket a ServicePointManager.SecurityProtocol tulajdonsághoz, amely alapértelmezés szerint SecurityProtocolType.SystemDefaulta következő.
Mivel a SecurityProtocolType.SystemDefault beállítás miatt az ServicePointManager operációs rendszer által konfigurált alapértelmezett biztonsági protokollt használja, előfordulhat, hogy az alkalmazás a futtatott operációs rendszer alapján eltérően fut. A Windows 10 például TLS 1.2-t, míg a Windows 11 TLS 1.3-at használ.
SslStream esetén
SslStreama .NET-keretrendszer 4.7-es és újabb verzióival az operációs rendszer alapértelmezés szerint a legjobb biztonsági protokollt és verziót választja. Ha lehetséges, ne használja az operációs rendszer alapértelmezett túlterheléseit SslStream , ha lehetséges, ne használjon explicit SslProtocols paramétert. Ellenkező esetben adja át a elemet SslProtocols.None. Javasoljuk, hogy ne használja Default; a beállítás SslProtocols.Default
kényszeríti az SSL 3.0 /TLS 1.0 használatát, és megakadályozza a TLS 1.2 használatát.
Ne állítson be értéket a SecurityProtocol tulajdonsághoz (HTTP-hálózatkezeléshez).
Ne használja azoknak a metódusoknak a túlterhelését SslStream , amelyek explicit SslProtocols paramétert használnak (a TCP-szoftvercsatornák hálózatkezeléséhez). Amikor újratározza az alkalmazást a 4.7-.NET-keretrendszer vagy újabb verziókra, az ajánlott eljárásokat fogja követni.
WCF-alkalmazásokhoz
Ha az alkalmazás a 4.7-.NET-keretrendszer vagy újabb verziót célozza
Az alábbi szakaszok bemutatják, hogyan konfigurálhatja az alkalmazást a TLS használatára currently considered secure versions
. (TLS 1.2, TLS 1.3)
TCP-átvitel használata átviteli biztonsággal a tanúsítvány hitelesítő adataival
A WCF ugyanazt a hálózati vermet használja, mint a többi .NET-keretrendszer.
Ha a 4.7.1-et célozza, a WCF úgy van konfigurálva, hogy az operációs rendszer alapértelmezés szerint a legjobb biztonsági protokollt válassza, kivéve, ha explicit módon van konfigurálva:
- Az alkalmazáskonfigurációs fájlban.
- Vagy az alkalmazásban a forráskódban.
Alapértelmezés szerint a .NET-keretrendszer 4.7-s és újabb verziói a TLS 1.2 használatára vannak konfigurálva, és engedélyezik a kapcsolatokat a TLS 1.1 vagy a TLS 1.0 használatával. Konfigurálja a WCF-et, hogy az operációs rendszer a legjobb biztonsági protokollt válassza a kötés használatára SslProtocols.Nonekonfigurálva. Ez be van kapcsolva SslProtocols. SslProtocols.None
innen érhető el Transport. NetTcpSecurity.Transport
innen érhető el Security.
Ha egyéni kötést használ:
- Konfigurálja a WCF-et úgy, hogy az operációs rendszer a legjobb biztonsági protokollt válassza a használat SslProtocols.NonebeállításávalSslProtocols.
- Vagy konfigurálja a konfigurációs útvonallal
system.serviceModel/bindings/customBinding/binding/sslStreamSecurity:sslProtocols
használt protokollt.
Ha nem egyéni kötést használ, és a WCF-kötést konfigurációval állítja be, állítsa be a konfigurációs útvonalhoz system.serviceModel/bindings/netTcpBinding/binding/security/transport:sslProtocols
használt protokollt.
Az Üzenetbiztonság használata tanúsítvány hitelesítő adataival
.NET-keretrendszer 4.7-s és újabb verziók alapértelmezés szerint a tulajdonságban megadott protokollt SecurityProtocol használják. Az AppContextSwitch Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols
beállításakor true
a WCF a legjobb protokollt választja a TLS 1.0-ig.
Ha az alkalmazás 4.7-nél korábbi .NET-keretrendszer-verziót céloz meg
Az alábbi szakaszok bemutatják, hogyan konfigurálhatja az alkalmazást a TLS használatára currently considered secure versions
. (TLS 1.2, TLS 1.3)
A 4.6.2-.NET-keretrendszer használata TCP átviteli biztonság használatával tanúsítvány hitelesítő adataival
A WCF-keretrendszer automatikusan kiválasztja a TLS 1.2-ig elérhető legmagasabb protokollt, kivéve, ha kifejezetten konfigurál egy protokollverziót. További információ: A WCF TCP-átvitel átvitele átviteli biztonsággal és tanúsítvány hitelesítő adatokkal.
A 3.5-ös .NET-keretrendszer használata a TCP-átvitel biztonságával tanúsítvány hitelesítő adataival
A WCF-keretrendszer ezen verziói kifejezetten az SSL 3.0 és a TLS 1.0 értékek használatára vannak megadva. Ezek az értékek nem módosíthatók. A TLS 1.2 használatához frissítenie kell a NET Framework 4.6.2-s vagy újabb verzióit, és újra kell újrakontegrálást végeznie.
Biztonság konfigurálása AppContext kapcsolókkal (.NET-keretrendszer 4.6.2-s vagy újabb verziókhoz)
Az ebben a szakaszban ismertetett AppContext-kapcsolók akkor relevánsak, ha az alkalmazás a 4.6.2-es vagy újabb verziót .NET-keretrendszer célozza vagy futtatja. Akár alapértelmezés szerint, akár explicit módon, a kapcsolóknak lehetőség szerint kell lenniük false
. Ha egy vagy mindkét kapcsolóval szeretné konfigurálni a biztonságot, ne adjon meg biztonsági protokollértéket a kódban; ezzel felülbírálná a kapcsoló(ok)t.
System.Net API-khoz (HttpClient, SslStream)
A kapcsolók ugyanazt a hatást érik el, függetlenül attól, hogy HTTP-hálózatkezelést (ServicePointManager) vagy TCP-szoftvercsatornákat (SslStream) használ.
Switch.System.Net.DontEnableSchUseStrongCrypto
Ez az false
Switch.System.Net.DontEnableSchUseStrongCrypto
érték azt eredményezi, hogy az alkalmazás erős titkosítást használ. A biztonságosabb hálózati protokollok (TLS 1.2 és TLS 1.1) és a nem biztonságos protokollok blokkolásának értéke false
DontEnableSchUseStrongCrypto
. További információ: A SCH_USE_STRONG_CRYPTO jelző. Egy érték letiltja az true
alkalmazás erős titkosítását. Ez a kapcsoló csak az alkalmazás ügyfélkapcsolatait (kimenő) érinti.
Ha az alkalmazás .NET-keretrendszer 4.6.2-s vagy újabb verziót céloz meg, ez a kapcsoló alapértelmezés szerint erre váltfalse
. Ez egy biztonságos alapértelmezett beállítás, amelyet javasoljuk. Ha az alkalmazás a .NET-keretrendszer 4.6.2-es verzióján fut, de egy korábbi verziót céloz meg, a kapcsoló alapértelmezés szerint a következőre true
vált. Ebben az esetben explicit módon állítsa be a következőre false
: .
DontEnableSchUseStrongCrypto
csak akkor legyen érték true
, ha olyan örökölt szolgáltatásokhoz kell csatlakoznia, amelyek nem támogatják az erős titkosítást, és nem frissíthetők.
Switch.System.Net.DontEnableSystemDefaultTlsVersions
Ennek az false
Switch.System.Net.DontEnableSystemDefaultTlsVersions
az értéke, hogy az alkalmazás lehetővé teszi az operációs rendszer számára a protokoll kiválasztását. Egy érték azt true
eredményezi, hogy az alkalmazás a .NET-keretrendszer által kiválasztott protokollokat használja.
Ha az alkalmazás a 4.7-.NET-keretrendszer vagy újabb verziót célozza meg, ez a kapcsoló alapértelmezés szerint erre váltfalse
. Ez egy biztonságos alapértelmezett beállítás, amelyet javasoljuk. Ha az alkalmazás .NET-keretrendszer 4.7-es vagy újabb verziókon fut, de egy korábbi verziót céloz meg, a kapcsoló alapértelmezés szerint a következőre true
vált. Ebben az esetben explicit módon állítsa be a következőre false
: .
WCF-alkalmazásokhoz
Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols
Ennek értéke false
Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols
miatt az alkalmazás a tanúsítvány hitelesítő adataival használja az üzenetbiztonsághoz megadott ServicePointManager.SecurityProtocols
értéket. A legmagasabb rendelkezésre álló protokollt használó érték true
, legfeljebb TLS1.0
A .NET-keretrendszer 4.7-.NET-keretrendszer és újabb verziót megcélzó alkalmazások esetében ez az érték alapértelmezés szerint a következő.false
A 4.6.2-.NET-keretrendszer vagy korábbi verziót megcélzó alkalmazások esetében ez az érték alapértelmezés szerint a következőtrue
.
Switch.System.ServiceModel.DontEnableSystemDefaultTlsVersions
Az alapértelmezett konfiguráció értéke false
Switch.System.ServiceModel.DontEnableSystemDefaultTlsVersions
, amely lehetővé teszi az operációs rendszer számára a protokoll kiválasztását. Egy érték az alapértelmezett értéket a legmagasabb rendelkezésre álló protokollra állítja true
, legfeljebb TLS1.2 értékre.
A .NET-keretrendszer 4.7.1-.NET-keretrendszer és újabb verzióit megcélzó alkalmazások esetében ez az érték alapértelmezés szerint a következőfalse
. A 4.7-.NET-keretrendszer vagy korábbi verziót célzó alkalmazások esetében ez az érték alapértelmezés szerint a következő.true
A TLS-protokollokkal kapcsolatos további információkért lásd : Kárenyhítés: TLS-protokollok. A kapcsolókkal kapcsolatos AppContext
további információkért lásd: <AppContextSwitchOverrides> Element
.
Biztonság konfigurálása a Windows-beállításjegyzéken keresztül
Figyelmeztetés
A beállításkulcsok beállítása a rendszer összes alkalmazására hatással van. Ezt a beállítást csak akkor használja, ha teljes mértékben felügyeli a gépet, és szabályozhatja a beállításjegyzék módosításait.
Ha az egyik vagy mindkét AppContext
kapcsoló beállítása nem lehetőség, az alkalmazás által használt biztonsági protokollokat az ebben a szakaszban ismertetett Windows beállításkulcsokkal szabályozhatja. Előfordulhat, hogy nem tudja használni az AppContext
egyik vagy mindkét kapcsolót, ha az alkalmazás a .NET-keretrendszer 3.5-ös verzión fut, vagy ha nem tudja szerkeszteni a konfigurációs fájlt. Ha a biztonságot a beállításjegyzékkel szeretné konfigurálni, ne adjon meg biztonsági protokollértéket a kódban; Ezzel felülbírálja a beállításjegyzék-beállítást.
A beállításkulcsok neve hasonló a megfelelő AppContext
kapcsolók nevéhez, de a DontEnable
névhez nem fűzött előtagot. A kapcsoló DontEnableSchUseStrongCrypto
például AppContext
a SchUseStrongCrypto nevű beállításkulcs.
Ezek a kulcsok minden .NET-keretrendszer verzióban elérhetők.
Az alábbiakban ismertetett összes beállításkulcsnak ugyanaz a hatása, függetlenül attól, hogy HTTP-hálózatkezelést (ServicePointManager) vagy TCP-szoftvercsatornákat (SslStream) használ.
SchUseStrongCrypto
A HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\<VERSION>: SchUseStrongCrypto
beállításjegyzék-bejegyzésnek DWORD típusú értéke van. Az 1 érték miatt az alkalmazás erős titkosítást használ. Az erős titkosítás biztonságosabb hálózati protokollokat (TLS 1.2 és TLS 1.1) használ, és blokkolja a nem biztonságos protokollokat. A 0 érték letiltja az erős titkosítást. További információ: The SCH_USE_STRONG_CRYPTO flag. Ez a beállításjegyzék-beállítás csak az alkalmazás ügyfélkapcsolatait (kimenő) érinti.
Ha az alkalmazás .NET-keretrendszer 4.6-os vagy újabb verziót céloz meg, ez a kulcs alapértelmezett értéke 1. Ez egy biztonságos alapértelmezett beállítás, amelyet javasoljuk. Ha az alkalmazás a 4.5.2-.NET-keretrendszer vagy korábbi verziót célozza meg, a kulcs alapértelmezés szerint 0 lesz. Ebben az esetben explicit módon 1 értékre kell állítania az értékét.
Ennek a kulcsnak csak 0 értékűnek kell lennie, ha olyan örökölt szolgáltatásokhoz kell csatlakoznia, amelyek nem támogatják az erős titkosítást, és nem frissíthetők.
SystemDefaultTlsVersions
A HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\<VERSION>: SystemDefaultTlsVersions
beállításjegyzék-bejegyzésnek DWORD típusú értéke van. Az 1 érték azt eredményezi, hogy az alkalmazás engedélyezi az operációs rendszer számára a protokoll kiválasztását. A 0 érték miatt az alkalmazás a .NET-keretrendszer által kiválasztott protokollokat használja.
<VERSION>
V4.0.30319-nek (4..NET-keretrendszer vagy újabb esetén) vagy 2.0.50727-nek kell lennie (.NET-keretrendszer 3.5 esetén).
Ha az alkalmazás a 4.7-.NET-keretrendszer vagy újabb verziót célozza meg, ez a kulcs alapértelmezés szerint 1 értékű. Ez egy biztonságos alapértelmezett beállítás, amelyet javasoljuk. Ha az alkalmazás a 4.6.1-.NET-keretrendszer vagy korábbi verziót célozza meg, a kulcs alapértelmezés szerint 0 lesz. Ebben az esetben explicit módon 1 értékre kell állítania az értékét.
További információ: Kumulatív frissítés a Windows 10 1511-es és a Windows Server 2016 Technical Preview 4-es verziójához: 2016. május 10.
A .NET-keretrendszer 3.5.1-ről további információt a Windows 7 SP1 és a Server 2008 R2 SP1 .NET-keretrendszer 3.5.1-ben található alapértelmezett TLS-rendszerek támogatása című témakörben talál.
A következő . A REG-fájl a beállításjegyzék bejegyzéseit és változatait a legbiztonságosabb értékekre állítja:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001
Schannel-protokollok konfigurálása a Windows-beállításjegyzékben
A beállításjegyzék használatával részletesen szabályozhatja az ügyfél és/vagy kiszolgálóalkalmazás által egyeztetett protokollokat. Az alkalmazás hálózatkezelése a Schannelen keresztül megy keresztül (ez a Biztonságos csatorna másik neve). Konfigurálásával Schannel
konfigurálhatja az alkalmazás viselkedését.
Kezdje a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
beállításkulcsgal. A kulcs alatt létrehozhatja a készlet TLS 1.2
bármely alkulcsát. TLS 1.3
Mindegyik alkulcs alatt létrehozhat alkulcsokat Client
és/vagy Server
. Alatta és alatta Client
létrehozhat DWORD-értékeket DisabledByDefault
(0 vagy 1) és Enabled
(0 vagy Server
1).
További információ: TLS beállításjegyzék-beállítások – Schannel
A SCH_USE_STRONG_CRYPTO jelző
Ha engedélyezve van (alapértelmezés szerint egy kapcsoló vagy a Windows beállításjegyzéke), .NET-keretrendszer akkor használja a SCH_USE_STRONG_CRYPTO
jelölőt, amikor az alkalmazás TLS-kapcsolatot kezdeményez egy kiszolgálóval.AppContext
.NET-keretrendszer átadja a jelzőt, hogy Schannel
utasítsa, hogy tiltsa le az ismert gyenge titkosítási algoritmusokat, titkosítási csomagokat és TLS/SSL protokollverziókat, amelyek egyébként engedélyezve lehetnek a jobb együttműködés érdekében. További információk:
A SCH_USE_STRONG_CRYPTO
jelölőt az ügyfél -(kimenő) kapcsolatokhoz is átadja Schannel
a rendszer, ha explicit módon használja a vagy az Tls11
Tls12
enumerált értékeket SecurityProtocolType SslProtocols. A SCH_USE_STRONG_CRYPTO
jelző csak olyan kapcsolatokhoz használható, ahol az alkalmazás az ügyfél szerepét tölti be. Letilthatja a gyenge protokollokat és algoritmusokat, ha az alkalmazások a kiszolgáló szerepét töltik be a gépszintű Schannel
beállításjegyzék beállításainak konfigurálásával.