Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
A partire da .NET Framework 4.6, le System.Net.ServicePointManager classi e System.Net.Security.SslStream possono usare uno dei tre protocolli seguenti: Tls1.0, Tls1.1 o Tls 1.2. Il protocollo SSL 3.0 e la crittografia RC4 non sono supportati.
Impatto
Questa modifica influisce su:
Qualsiasi app che usa SSL per comunicare con un server HTTPS o un server socket usando uno dei tipi seguenti: HttpClient, HttpWebRequestFtpWebRequest, SmtpClient, e SslStream.
Qualsiasi app lato server che non può essere aggiornata per supportare Tls1.0, Tls1.1 o Tls 1.2..
Mitigazione
La mitigazione consigliata consiste nell'aggiornare l'app lato server a Tls1.0, Tls1.1 o Tls 1.2. Se ciò non è fattibile o se le app client non funzionano, è possibile usare la classe AppContext per rifiutare esplicitamente questa funzionalità in uno dei due modi seguenti:
A livello di codice, usando un frammento di codice simile al seguente:
const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; const string DontEnableSchUseStrongCryptoName = @"Switch.System.Net.DontEnableSchUseStrongCrypto"; AppContext.SetSwitch(DisableCachingName, true); AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, true);Const DisableCachingName As String = "TestSwitch.LocalAppContext.DisableCaching" Const DontEnableSchUseStrongCryptoName As String = "Switch.System.Net.DontEnableSchUseStrongCrypto" AppContext.SetSwitch(DisableCachingName, True) AppContext.SetSwitch(DontEnableSchUseStrongCryptoName, True)Poiché l'oggetto ServicePointManager viene inizializzato una sola volta, la definizione di queste impostazioni di compatibilità deve essere la prima operazione eseguita dall'applicazione.
Aggiungendo la riga seguente alla <sezione runtime> del file app.config:
<AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchUseStrongCrypto=true"/>
Si noti, tuttavia, che rifiutare esplicitamente il comportamento predefinito non è consigliato, poiché rende l'applicazione meno sicura.