Imponer una TLS versión mínima en el AWS SDK for .NET - AWS SDK for .NET

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Imponer una TLS versión mínima en el AWS SDK for .NET

Para aumentar la seguridad al comunicarse con AWS los servicios, debe AWS SDK for .NET configurar la versión TLS 1.2 o una versión posterior.

AWS SDK for .NET Utiliza lo subyacente. NETtiempo de ejecución para determinar qué protocolo de seguridad utilizar. De forma predeterminada, las versiones actuales de. NETutilice el último protocolo configurado compatible con el sistema operativo. La aplicación puede anular este SDK comportamiento, pero no se recomienda hacerlo.

. NETNúcleo

Por defecto,. NETCore usa el último protocolo configurado compatible con el sistema operativo. El AWS SDK for .NET no proporciona un mecanismo para anular esto.

Si está utilizando un. NETEn la versión principal anterior a la 2.1, le recomendamos encarecidamente que actualice su. NETVersión básica.

Consulte lo siguiente para obtener información específica de cada sistema operativo.

Windows

Las distribuciones modernas de Windows tienen habilitada la compatibilidad con la versión TLS 1.2 de forma predeterminada. Si utiliza Windows 7 SP1 o Windows Server 2008 R2SP1, debe asegurarse de que la compatibilidad con la versión TLS 1.2 esté habilitada en el registro, tal y como se describe en https://learn.microsoft.com/en-us/tls-registry-settingswindows-server/security/tls/ #tls -12. Si está ejecutando una distribución anterior, debe actualizar el sistema operativo. Para obtener información sobre la compatibilidad con la versión TLS 1.3 en Windows, consulte la documentación más reciente de Microsoft para conocer las versiones de cliente o servidor mínimas requeridas.

macOS

Si estás corriendo. NETCore 2.1 o posterior, TLS 1.2 está habilitada de forma predeterminada. TLSLa versión 1.2 es compatible con OS X Mavericks v10.9 o posterior. . NETLa versión principal 2.1 y las posteriores requieren versiones más recientes de macOS, como se describe en https://learn.microsoft.com/en-us/dotnet/core/install/windows? tabs=net80&pivots=os-macos.

Si estás usando. NETCore 1.0,. NETCore usa Open SSL en macOS, una dependencia que debe instalarse por separado. Open SSL agregó soporte para TLS 1.2 en la versión 1.0.1 y agregó soporte para TLS 1.3 en la versión 1.1.1.

Linux

. NETCore para Linux requiere OpenSSL, que viene incluido en muchas distribuciones de Linux. Pero también se puede instalar por separado. Open SSL agregó soporte para TLS 1.2 en la versión 1.0.1 y agregó soporte para TLS 1.3 en la versión 1.1.1. Si utilizas una versión moderna de. NETCore (2.1 o posterior) y has instalado un administrador de paquetes, es probable que tengas instalada una versión más moderna de OpenSSL.

Para estar seguro, puede ejecutar openssl version en un terminal y verificar que la versión sea posterior a 1.0.1.

. NETMarco

Si está ejecutando una versión moderna de. NETFramework (4.7 o posterior) y una versión moderna de Windows (al menos Windows 8 para los clientes y Windows Server 2012 o posterior para los servidores), la versión TLS 1.2 está habilitada y se usa de forma predeterminada.

Si utilizas un. NETTiempo de ejecución de Framework que no usa la configuración del sistema operativo (. NETFramework 3.5 a 4.5.2), AWS SDK for .NET intentará añadir soporte para TLS 1.1 y TLS 1.2 a los protocolos compatibles. Si estás usando. NETFramework 3.5, esto solo tendrá éxito si se instala el parche activo adecuado, de la siguiente manera:

aviso

A partir del 15 de agosto de 2024, AWS SDK for .NET finalizará el soporte para. NETFramework 3.5 y cambiará el mínimo. NETVersión Framework a la 4.7.2. Para obtener más información, consulte la entrada del blog Se avecinan cambios importantes. NETObjetivos de los marcos 3.5 y 4.5 del AWS SDK for .NET.

Si su aplicación se ejecuta en una versión más nueva. NETEn Windows 7 SP1 o Windows Server 2008 R2SP1, debe asegurarse de que la compatibilidad con la versión TLS 1.2 esté habilitada en el registro, tal y como se describe en https://learn.microsoft.com/en-us/tls-registry-settingswindows-server/security/tls/ #tls -12. Las versiones más recientes de Windows lo tienen habilitado de forma predeterminada.

Para obtener información detallada sobre las prácticas recomendadas para su uso con. TLS NETFramework, consulte el artículo de Microsoft en https://learn.microsoft.com/en-us/dotnet/framework/network-programming/tls.

AWS Tools for PowerShell

AWS Tools for PowerShellutilice AWS SDK for .NET el para AWS todas las llamadas a los servicios. El comportamiento del entorno depende de la versión de Windows PowerShell que esté ejecutando, como se indica a continuación.

De Windows PowerShell 2.0 a 5.x

Se ejecuta en Windows PowerShell 2.0 a 5.x. NETMarco. Puedes verificar cuál. NETEl tiempo de ejecución (2.0 o 4.0) se utiliza PowerShell mediante el siguiente comando.

$PSVersionTable.CLRVersion
  • Cuando se usa. NETRuntime 2.0, siga las instrucciones proporcionadas anteriormente con respecto a AWS SDK for .NET y. NETFramework 3.5.

    aviso

    A partir del 15 de agosto de 2024, AWS SDK for .NET finalizará el soporte para. NETFramework 3.5 y cambiará el mínimo. NETVersión Framework a la 4.7.2. Para obtener más información, consulte la entrada del blog Se avecinan cambios importantes. NETObjetivos de los marcos 3.5 y 4.5 del AWS SDK for .NET.

  • Cuando se usa. NETRuntime 4.0, siga las instrucciones proporcionadas anteriormente con respecto a AWS SDK for .NET y. NETFramework 4+.

Windows 6.0 PowerShell

Se ejecuta Windows PowerShell 6.0 y versiones posteriores. NETNúcleo. Puede comprobar qué versión de. NETPara utilizar Core, ejecute el siguiente comando.

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

Siga las instrucciones proporcionadas anteriormente con respecto AWS SDK for .NET a la versión correspondiente de. NETNúcleo.

Xamarin

Para Xamarin, consulta las instrucciones en xamarin/cross-platform/app-fundamentals/https://learn.microsoft.com/en-us/. transport-layer-security En resumen:

Para Android

  • Requiere Android 5.0 o posterior.

  • Propiedades del proyecto , opciones de Android: la implementación debe estar configurada en Android y la HttpClient implementación/debe estar configurada en Native 1.2+. SSL TLS TLS

Para iOS

  • Requiere iOS 7 o posterior.

  • Propiedades del proyecto, compilación de iOS: HttpClient la implementación debe estar configurada en NSUrlSession.

Para macOS

  • Requiere macOS 10.9 o posterior.

  • Opciones de proyecto, compilación, compilación para Mac: HttpClient la implementación debe configurarse en NSUrlSession.

Unity

Debe usar Unity 2018.2 o una versión posterior y usar el. NET4.x Tiempo de ejecución de secuencias de comandos equivalente. Puede configurarlo en los ajustes del proyecto, en la configuración o en el reproductor, tal y como se describe en https://docs.unity3d.com/2019.1/ScriptingRuntimeUpgradeDocumentation/Manual/ .html. El. NETEl tiempo de ejecución de secuencias de comandos equivalente a 4.x permite la compatibilidad con la versión TLS 1.2 con todas las plataformas Unity que ejecutan Mono o. IL2CPP

Navegador (para Blazor) WebAssembly

WebAssembly se ejecuta en el navegador en lugar de en el servidor y utiliza el navegador para gestionar el HTTP tráfico. Por lo tanto, TLS el soporte viene determinado por el soporte del navegador.

Blazor WebAssembly, en versión preliminar deASP. NETCore 3.1 solo es compatible con navegadores compatibles, tal y como se describe en WebAssembly https://learn.microsoft.com/en-us/aspnet/core/blazor/supported-platforms. Todos los WebAssembly navegadores convencionales eran TLS compatibles con la versión 1.2 antes de ser compatibles. Si este es el caso de tu navegador, si tu aplicación se ejecuta, podrá comunicarse a través de la versión TLS 1.2.

Consulte la documentación de su navegador para obtener más información y verificación.