Supporto per TLS predefinito le versioni del sistema incluso in.NET Framework 2.0 SP2 su Windows Vista SP2 e Server 2008 SP2

La versione di .NET framework 2.0 Service Pack 2 (SP2) e precedenti versioni hardcoded l'utilizzo di Secure Sockets Layer (SSL) 3.0 e Transport Layer Security (TLS) 1.0 da predefinito a meno che non è stata specificata una versione di protocollo diverso dall'applicazione .NET. Questo aggiornamento per.NET Framework 2.0 SP2 su Windows Vista SP2 e Windows Server 2008 SP2 aggiunge la possibilità di utilizzare le impostazioni SSL e TLS predefinite fornite dal sistema operativo.

Nota il contenuto è stato reso disponibile in Windows Update. Per ottenere il contenuto, analizzare Windows Update per gli ultimi aggiornamenti di.NET Framework. Se il sistema è completamente aggiornato tramite Windows Update, non è necessario eseguire un'ulteriore azione. 

Risoluzione

Informazioni sul download

I seguenti file sono disponibili per il download da Microsoft Download Center:Download Download del pacchetto basate su x86.Download Download del pacchetto basate su x64.Download Download del pacchetto basato su IA64. In questa area abbiamo apportato i miglioramenti seguenti:

  • La seguente chiave di registro chiavi possono essere impostate per utilizzare il sistema operativo predefinito per SSL e TLS anziché il codice di.NET Framework predefinite per un'applicazione gestita in esecuzione sul computer.

    • Per i sistemi operativi a 64 bit:[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

    • Per i sistemi operativi a 32 bit:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    Nota Se l'applicazione ha impostato la ServicePointManager.SecureProtocol nel codice o tramite file di configurazione su un valore specifico o utilizza l'API SslStream.AuthenticateAs* per specificare un'enumerazione SslProtocols specifica, l'impostazione del Registro di sistema non si verifica.

  • Inoltre, sono stati aggiunti l'enumerazione SslProtocolsExtensions che è possibile utilizzare l'opzione per l'impostazione TLS 1.1, v 1.2 TLS, nonché le impostazioni predefinite del sistema operativo per la proprietà ServicePointManager.SecurityProtocol per .NET Framework versione 2.0 SP2. (Vedere la sezione Istruzioni per gli sviluppatori per informazioni su come utilizzare le estensioni). Nota: Windows Vista SP2 e Windows Server 2008 SP2 non supportano le versioni di protocollo Transport Layer Security (TLS) più recente di 1.0. Applicazioni gestite di.NET Framework 2.0 SP2 in esecuzione su Windows Vista SP2 o Windows Server 2008 SP2 non possono utilizzare TLS 1.2 o TLS 1.1, anche se tali protocolli sono impostati nella proprietà ServicePointManager.SecurityProtocol .

Per ulteriori informazioni sul download dei file di supporto Microsoft, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:

119591 Come ottenere file di supporto Microsoft dai servizi online Il file è stato controllato e non contiene virus. Microsoft ha utilizzato il software antivirus più recente disponibile al momento della data di pubblicazione del file. Il file viene salvato su server con un livello di sicurezza avanzata che impedisce modifiche del file non autorizzate.

Istruzioni per gli sviluppatori

La definizione di nuove estensioni sono i seguenti file:

  • SecurityProtocolTypeExtensions.csnamespace System.Net{using System.Security.Authentication;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;}}

Per includere il supporto per TLS 1.2, includere i file di origine nel progetto e quindi impostare la versione del protocollo, utilizzando i metodi seguenti:

  • Le applicazioni che utilizzano API basate su ServicePointManager possono impostare il protocollo tramite il following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Applicazioni che stanno utilizzando l'overload di SslStream AuthenticateAsClient (String, Boolean X509CertificateCollection, SslProtocols,) è possono impostare il valore di SslProtocols come SslProtocolsExtensions.Tls12.

Se l'impostazione del Registro di sistema menzionato nel primo paragrafo è impostata e il valore SslProtocols è impostato nell'applicazione come SslProtocols.None, il comportamento predefinito del sistema scelto dipenderà dalla versione di Windows. Inoltre, quando si modifica il codice dell'applicazione per abilitare il supporto per TLS 1.2 con.NET Framework 3.5 SP1, verificare che si affrontano le eccezioni seguenti nei computer in cui non è distribuita questa patch:

  1. Se non è installato l'hotfix, ServicePointManager-API basata su (HTTP, FTP, SMTP) genererà "System. NotSupportedException: il protocollo di protezione richiesto non supportato" quando l'applicazione chiama ServicePointManager.SecurityProtocol per impostare il nuovo valore.

  2. Se non è installato l'hotfix, SslStream-API di base genererà eccezioni quando si chiama una delle API AuthenticateAs *:

    System. ArgumentException: Il valore specificato non è valido nell'enumerazione 'SslProtocolType'. Nome parametro: sslProtocolType

Nota Per SslStream , solo una combinazione di Tls12, Tls11 con il Tls, Ssl3, esistente Ssl2 (ad esempio: Tls12 | Tls11 | TLS) verrà downgrade ai protocolli esistenti (ad esempio: Tls) su un sistema senza la patch. Si dovrà connettere Tls senza che venga generata l'eccezione.

Ulteriori informazioni

Per abilitare TLS 1.1 o 1.2 come impostazioni predefinite del sistema operativo, seguire le istruzioni in https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Nota TLS 1.1 e 1.2 non sono disponibili in Windows Vista o Windows Server 2008.If è necessario disattivare le impostazioni predefinite del sistema operativo che sono impostate per la chiave del Registro di sistema menzionato nella sezione "Risoluzione" per applicazioni specifiche, tale scopo, è possibile aggiungere il chiave del Registro di sistema seguente:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions<<Full path of the .exe for the file>> DWORD 0C:\MyApp\MyApp.exe DWORD 0

Per ulteriori informazioni su TLS 1.2, vedere Introduzione TLS 1.2. Dopo aver attivato la chiave di registro SystemDefaultTlsVersions .NET, si verifica un comportamento diverso per ogni versione di Windows, come illustrato nella tabella riportata di seguito.

Versione di Windows

Client SSL2

Server SSL2

Client SSL3

Server SSL3

TLS 1.0 Client

TLS 1.0 Server

TLS 1.1 Client

TLS 1.1 Server

TLS 1.2 Client

TLS 1.2 Server

Windows Vista SP2 e Windows Server 2008 SP2

Disattivo

Attivo

Attivo

Attivo

Attivo

Attivo

N/A

N/A

N/A

N/A

Windows 7 SP1 e Windows Server 2008 R2 SP1

Disattivo

Attivo

Attivo

Attivo

Attivo

Attivo

Disattivo

Disattivo

Disattivo

Disattivo

Windows Server 2012

Disattivo

Disattivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Windows 8.1 e Windows Server 2012 R2

Disattivo

Disattivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Windows 10

Disattivo

Disattivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Windows 10 (1511)

Disattivo

Disattivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Windows 10 (1607) e Windows Server 2016

N/A

N/A

Disattivo

Disattivo

Attivo

Attivo

Attivo

Attivo

Attivo

Attivo

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×