View a markdown version of this page

L'applicazione di una versione TLS minima nel AWS SDK per .NET - AWS SDK per .NET (V4)

La versione 4 (V4) di è stata rilasciata! AWS SDK per .NET

Per informazioni sulle modifiche sostanziali e sulla migrazione delle applicazioni, consulta l'argomento sulla migrazione.

Orange button with text "Click here for details".

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

L'applicazione di una versione TLS minima nel AWS SDK per .NET

Per aumentare la sicurezza durante la comunicazione con AWS i servizi, è necessario configurare l'uso AWS SDK per .NET di TLS 1.2 o successivo.

AWS SDK per .NET Utilizza il runtime .NET sottostante per determinare quale protocollo di sicurezza utilizzare. Per impostazione predefinita, le versioni correnti di.NET utilizzano il protocollo configurato più recente supportato dal sistema operativo. L'applicazione può ignorare questo comportamento SDK, ma non è consigliabile farlo.

TLS 1.3 è il prerequisito per abilitare la crittografia post-quantistica, che può richiedere azioni o configurazioni aggiuntive. Per saperne di più, consulta Abilitazione del TLS post-quantistico ibrido nella Guida di riferimento di SDK e strumenti. AWS

.NET Core

Per impostazione predefinita, .NET Core utilizza il protocollo configurato più recente supportato dal sistema operativo. AWS SDK per .NET non fornisce un meccanismo per sovrascrivere questo.

Se si utilizza una versione di.NET Core precedente alla 2.1, si consiglia vivamente di aggiornare la versione di .NET Core.

Vedere quanto segue per informazioni specifiche di ciascun sistema operativo.

Windows

Le distribuzioni moderne di Windows hanno il supporto TLS 1.2 abilitato per impostazione predefinita. Se utilizzi Windows 7 SP1 o Windows Server 2008 R2 SP1, devi assicurarti che il supporto TLS 1.2 sia abilitato nel registro, come descritto in #tls -12. https://learn.microsoft.com/en-us/windows-server/security/tls/tls-registry-settings Se si esegue una distribuzione precedente, è necessario aggiornare il sistema operativo. Per informazioni sul supporto TLS 1.3 in Windows, consulta la documentazione Microsoft più recente per le versioni client o server minime richieste.

macOS

Se si esegue.NET Core 2.1 o versioni successive, TLS 1.2 è abilitato per impostazione predefinita. TLS 1.2 è supportato da OS X Mavericks v10.9 o versioni successive. .NET Core 2.1 e successive richiedono versioni più recenti di macOS, come descritto in? https://learn.microsoft.com/en-us/dotnet/core/install/windows tabs=net80&pivots=os-macos.

Se si utilizza.NET Core 1.0, .NET Core utilizza OpenSSL su macOS, una dipendenza che deve essere installata separatamente. OpenSSL ha aggiunto il supporto per TLS 1.2 nella versione 1.0.1 e ha aggiunto il supporto per TLS 1.3 nella versione 1.1.1.

Linux

.NET Core su Linux richiede OpenSSL, che viene fornito in bundle con molte distribuzioni Linux, ma può anche essere installato separatamente. OpenSSL ha aggiunto il supporto per TLS 1.2 nella versione 1.0.1 e ha aggiunto il supporto per TLS 1.3 nella versione 1.1.1. Se stai usando una versione moderna di.NET Core (2.1 o successiva) e hai installato un gestore di pacchetti, è probabile che sia stata installata una versione più moderna di OpenSSL.

Per essere sicuro, è possibile eseguire openssl version in un terminale e verificare che la versione sia successiva alla 1.0.1.

.NET Framework

Se si esegue una versione moderna di.NET Framework (4.7 o versione successiva) e una versione moderna di Windows (almeno Windows 8 per i client, Windows Server 2012 o versione successiva per i server), TLS 1.2 è abilitato e utilizzato per impostazione predefinita.

Se utilizzi un runtime .NET Framework che non utilizza le impostazioni del sistema operativo (.NET Framework 3.5 fino a 4.5.2), AWS SDK per .NET tenterà di aggiungere il supporto per TLS 1.1 e TLS 1.2 ai protocolli supportati. Se si utilizza .NET Framework 3.5, l'operazione avrà esito positivo solo se è installata la patch appropriata, come segue:

avvertimento

Il 15 agosto 2024, il supporto per .NET Framework 3.5 AWS SDK per .NET è terminato e la versione minima di .NET Framework è stata modificata in 4.7.2. Per ulteriori informazioni, consulta il post del blog Importanti modifiche in arrivo per .NET Framework 3.5 e 4.5 target di. AWS SDK per .NET

Se l'applicazione è in esecuzione su un nuovo .NET Framework su Windows 7 SP1 o Windows Server 2008 R2 SP1, è necessario assicurarsi che il supporto TLS 1.2 sia abilitato nel registro, come descritto in #tls -12. https://learn.microsoft.com/en-us/windows-server/security/tls/tls-registry-settings Le versioni più recenti di Windows lo hanno abilitato per impostazione predefinita.

Per le best practice dettagliate per l'utilizzo di TLS con .NET Framework, consulta l'articolo Microsoft all'indirizzo. https://learn.microsoft.com/en-us/dotnet/framework/network-programming/tls

Strumenti AWS per PowerShell

Strumenti AWS per PowerShellusa l'opzione AWS SDK per .NET per tutte le chiamate ai AWS servizi. Il comportamento del tuo ambiente dipende dalla versione di Windows PowerShell in esecuzione, come segue.

Da Windows PowerShell 2.0 a 5.x

Windows da PowerShell 2.0 a 5.x viene eseguito su.NET Framework. È possibile verificare quale runtime .NET (2.0 o 4.0) viene utilizzato PowerShell utilizzando il comando seguente.

$PSVersionTable.CLRVersion
  • Quando si utilizza .NET Runtime 2.0, seguire le istruzioni fornite in precedenza per quanto riguarda AWS SDK per .NET e .NET Framework 3.5.

    avvertimento

    Il 15 agosto 2024, il supporto per .NET Framework 3.5 AWS SDK per .NET è terminato e la versione minima di .NET Framework è stata modificata in 4.7.2. Per ulteriori informazioni, consulta il post del blog Importanti modifiche in arrivo per .NET Framework 3.5 e 4.5 target di. AWS SDK per .NET

  • Quando si utilizza .NET Runtime 4.0, seguire le istruzioni fornite in precedenza per quanto riguarda AWS SDK per .NET e .NET Framework 4+.

Windows PowerShell 6.0

Windows PowerShell 6.0 e versioni successive funzionano su .NET Core. È possibile verificare quale versione di .NET Core viene utilizzata eseguendo il comando seguente.

[System.Reflection.Assembly]::GetEntryAssembly().GetCustomAttributes([System.Runtime.Versioning.TargetFrameworkAttribute], $true).FrameworkName

Segui le istruzioni fornite in precedenza relative alla versione AWS SDK per .NET pertinente di .NET Core.

Xamarin

Per Xamarin, consulta le istruzioni all'indirizzo. https://learn.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/transport-layer-security In sintesi:

Per Android

  • Richiede Android 5.0 o versioni successive.

  • Proprietà del progetto, Opzioni Android: HttpClient l'implementazione deve essere impostata su Android e l' SSL/TLS implementazione impostata su Native TLS 1.2+.

Per iOS

  • Richiede iOS 7 o versioni successive.

  • Project Properties, iOS Build: HttpClient l'implementazione deve essere impostata su. NSUrlSession

Per macOS

  • Richiede macOS 10.9 o versioni successive.

  • Project Options, Build, Mac Build: HttpClient l'implementazione deve essere impostata su NSUrlSession.

Unità

È necessario utilizzare Unity 2018.2 o versioni successive e utilizzare il runtime di scripting equivalente .NET 4.x. Puoi impostarlo in Impostazioni del progetto, Configurazione, Player, come descritto in https://docs.unity3d.com/2019.1/Documentation/Manual/ScriptingRuntimeUpgrade.html. Il runtime di scripting equivalente .NET 4.x consente il supporto TLS 1.2 a tutte le piattaforme Unity che eseguono Mono o IL2CPP.

Browser (per Blazor WebAssembly)

WebAssembly viene eseguito nel browser anziché sul server e utilizza il browser per gestire il traffico HTTP. Pertanto, il supporto TLS è determinato dal supporto del browser.

Blazor WebAssembly, in anteprima per ASP.NET Core 3.1, è supportato solo nei browser che supportano WebAssembly, come descritto in. https://learn.microsoft.com/en-us/aspnet/core/blazor/supported-platforms Tutti i browser tradizionali supportavano TLS 1.2 prima del supporto. WebAssembly Se questo è il caso del browser, se l'app viene eseguita, può comunicare tramite TLS 1.2.

Consulta la documentazione del tuo browser per ulteriori informazioni e verifiche.