Accedi con Microsoft
Accedi o crea un account.
Salve,
Seleziona un altro account.
Hai più account
Scegli l'account con cui vuoi accedere.

.NET Framework versione 3.5 SP1 e versioni precedenti non forniva il supporto per le applicazioni per l'uso delle versioni predefinite di sistema TLS (Transport Layer Security) come protocollo di crittografia. Questo aggiornamento consente l'uso di TLS v1.2 nel .NET Framework 3.5 SP1.

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 KB3154520 è stato sostituito con gli aggiornamenti più recenti di .NET Framework, che contengono tutte le correzioni incluse in precedenza in KB3154520. È 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 nel modo seguente:

    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 il Registro di sistema menzionato nel primo paragrafo è impostato e nell'applicazione il valore SslProtocols è impostato su SslProtocols.None, viene scelto il comportamento predefinito del sistema che dipenderà dalla versione del sistema operativo Windows.

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

  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 generano un'eccezione quando si chiama 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 in precedenza per applicazioni specifiche, è possibile aggiungerla 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?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?
Premendo Inviare, il tuo feedback verrà usato per migliorare i prodotti e i servizi Microsoft. L'amministratore IT potrà raccogliere questi dati. Informativa sulla privacy.

Grazie per il feedback!

×