Accedi a Microsoft
Accedi o crea un account.
Salve,
Select a different account.
Hai più account
Scegli l'account con cui vuoi accedere.

.NET Framework versione 2.0 Service Pack 2 (SP2) e versioni precedenti hanno codificato l'uso di Secure Sockets Layer (SSL) v3.0 e Transport Layer Security (TLS) v1.0 per impostazione predefinita, a meno che non sia stata specificata una versione di protocollo diversa dall'applicazione .NET. Questo aggiornamento per .NET Framework 2.0 SP2 in Windows Vista SP2 e Windows Server 2008 SP2 aggiunge l'opzione per usare le impostazioni predefinite SSL e TLS fornite dal sistema operativo.

Nota : questo contenuto è stato reso disponibile in Windows Update. Per ottenere il contenuto, eseguire Windows update per trovare gli aggiornamenti .NET Framework più recenti. Se il sistema è completamente aggiornato tramite Windows, non è necessario eseguire altre azioni. 

Risoluzione

Scaricare le informazioni

L'aggiornamento rapido corrispondente a KB3154517 è stato sostituito con gli aggiornamenti più recenti di .NET Framework, che contengono tutte le correzioni incluse in precedenza in KB3154517. È consigliabile installare gli aggiornamenti più recenti di .NET Framework.

In questo settore sono stati apportati i miglioramenti seguenti:

  • Le chiavi del Registro di sistema seguenti possono essere impostate in modo da usare le impostazioni predefinite del sistema operativo per SSL e TLS invece delle impostazioni predefinite .NET Framework hardcoded per un'applicazione gestita in esecuzione nel 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 ServicePointManager.SecureProtocol nel codice o tramite file di configurazione su un valore specifico o usa le API SslStream.AuthenticateAs* per specificare un'enumerazione SslProtocols specifica, il comportamento dell'impostazione del Registro di sistema non si verifica.

  • Inoltre, è stata aggiunta l'enumerazione SslProtocolsExtensions che è possibile usare come opzione per l'impostazione di TLS v1.2, TLS v1.1 e impostazioni predefinite del sistema operativo per la proprietà ServicePointManager.SecurityProtocol per la destinazione di .NET Framework versione 2.0 SP2. Per informazioni su come usare le estensioni, vedere la sezione Indicazioni per gli sviluppatori.

    Nota Windows Vista SP2 e Windows Server 2008 SP2 non supportano le versioni del protocollo TLS (Transport Layer Security) più recenti rispetto alla 1.0. Le applicazioni .NET Framework 2.0 SP2 gestite in esecuzione in Windows Vista SP2 o Windows Server 2008 SP2 non possono usare TLS 1.2 o TLS 1.1, anche se questi protocolli sono impostati nella proprietà ServicePointManager.SecurityProtocol.


Per altre informazioni su come scaricare i file di supporto Microsoft, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

119591 Come ottenere i file di supporto Microsoft dai servizi online Microsoft ha analizzato questo file alla ricerca di 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.

Guida per gli sviluppatori

La definizione delle nuove estensioni è nei file seguenti:
 

  • SecurityProtocolTypeExtensions.csnamespace System.Net
    {
    utilizzo di System.Security.Authentication;
    classe statica pubblica 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
    {
    Classe statica pubblica SslProtocolsExtensions
    {
    public const SslProtocols Tls12 = (SslProtocols)0x00000C00;
    public const SslProtocols Tls11 = (SslProtocols)0x00000300;
    }
    }

Per includere il supporto per TLS v1.2, includere i file di origine nel progetto e quindi impostare la versione del protocollo usando i metodi seguenti:
 

  • Le applicazioni che usano API basate su ServicePointManager possono impostare il protocollo usando quanto segue:

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Le applicazioni che usano l'overload SslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean) possono impostare il valore SslProtocols come SslProtocolsExtensions.Tls12.

Se l'impostazione del Registro di sistema menzionata nel primo paragrafo è impostata e il valore SslProtocols nell'applicazione è impostato su SslProtocols.None, il comportamento predefinito del sistema scelto dipenderà dalla versione Windows.

Inoltre, quando si modifica il codice dell'applicazione per abilitare il supporto per TLS v1.2 con .NET Framework 3.5 SP1, assicurarsi di risolvere le eccezioni seguenti nei computer in cui la patch non è distribuita:
 

  1. Se l'aggiornamento rapido non è installato, le API basate su ServicePointManager (HTTP, FTP, SMTP) genereranno "System.NotSupportedException: Il protocollo di sicurezza richiesto non è supportato" quando l'applicazione chiama ServicePointManager.SecurityProtocol per impostare il nuovo valore.

  2. Se l'aggiornamento rapido non è installato, le API basate su SslStream genereranno eccezioni quando chiamano una delle API AuthenticateAs*:

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

Nota Solo per SslStream, una combinazione di Tls12, Tls11 e uno qualsiasi degli attuali Tls, Ssl3, Ssl2 (ad esempio: Tls12 | Tls11 | Tls) verrà automaticamente declassato ai protocolli esistenti (ad esempio: Tls) in un sistema senza patch. Si connetterà a Tls senza generare l'eccezione.
 

Ulteriori informazioni

Per abilitare TLS v1.1 o v1.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 v1.1 e v1.2 non sono disponibili in Windows Vista o Windows Server 2008.

Se è necessario disabilitare le impostazioni predefinite del sistema operativo impostate dalla chiave del Registro di sistema menzionata nella sezione "Risoluzione" per applicazioni specifiche, è possibile farlo aggiungendo la chiave del Registro di sistema seguente:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions
<<Percorso completo del .exe per il file>> DWORD 0
C:\MyApp\MyApp.exe DWORD 0

Per altre informazioni su TLS v1.2, vedere Introduzione a TLS v1.2.

Dopo aver abilitato la chiave del Registro di sistema SystemDefaultTlsVersions .NET, si verifica un comportamento diverso per ogni versione di Windows, come illustrato nella tabella seguente.
 

Windows versione

SSL2 Client

SSL2 Server

SSL3 Client

SSL3 Server

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

Disattivato

In

In

In

In

In

N/D

N/D

N/D

N/D

Windows 7 SP1 e Windows Server 2008 R2 SP1

Disattivato

In

In

In

In

In

Disattivato

Disattivato

Disattivato

Disattivato

Windows Server 2012

Disattivato

Disattivato

In

In

In

In

In

In

In

In

Windows 8.1 e Windows Server 2012 R2

Disattivato

Disattivato

In

In

In

In

In

In

In

In

Windows 10

Disattivato

Disattivato

In

In

In

In

In

In

In

In

Windows 10 (1511)

Disattivato

Disattivato

In

In

In

In

In

In

In

In

Windows 10 (1607) e Windows Server 2016

N/D

N/D

Disattivato

Disattivato

In

In

In

In

In

In

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?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×