的版本 4 (V4) 适用于 .NET 的 SDK 正在预览中!要在预览版中查看有关此新版本的信息,请参阅 适用于 .NET 的 AWS SDK (版本 4 预览版)开发者指南。
请注意,SDK 的 V4 处于预览版,因此其内容可能会发生变化。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中强制使用最低 TLS 版本 适用于 .NET 的 SDK
为了提高与 AWS 服务通信时的安全性,应将配置 适用于 .NET 的 SDK 为使用 TLS 1.2 或更高版本。
适用于 .NET 的 AWS SDK 使用底层的.NET 运行时来确定要使用哪种安全协议。默认情况下,当前版本的 .NET 使用操作系统支持的最新的已配置协议。您的应用程序可以覆盖此开发工具包行为,但不建议 这样做。
.NET 内核
默认情况下,.NET Core 使用操作系统支持的最新的已配置协议。 适用于 .NET 的 AWS SDK 不提供覆盖它的机制。
如果您使用的 .NET Core 版本低于 2.1,我们强烈 建议您升级 .NET Core 版本。
有关特定于每个操作系统的信息,请参阅以下内容。
Windows
Windows 的最新发行版默认情况下启用了
macOS
如果您正在运行 .NET Core 2.1 或更高版本,则默认情况下启用 TLS 1.2。OS X Mavericks v10.9 或更高版本
如果您使用的是 .NET Core 1.0,则 .NET Core 在 macOS 上使用 OpenSSL
Linux
Linux 上的 .NET Core 需要 OpenSSL,它与许多 Linux 发行版捆绑在一起。但也可以单独安装它。OpenSSL 在 1.0.1 版本中增加了对 TLS 1.2 的支持,在 1.1.1 版本中增加了对 TLS 1.3 的支持。如果您使用的是 .NET Core 的最新版本(2.1 或更高版本),并且已安装了程序包管理器,则可能已经为您安装了更高版本的 OpenSSL。
当然,您可以在终端中运行 openssl version
并验证版本是否低于 1.0.1。
NET Framework。
如果您正在运行 .NET Framework 的最新版本(4.7 或更高版本)和 Windows 的最新版本(对于客户端,至少为 Windows 8;对于服务器,则为 Windows Server 2012 或更高版本),则默认情况下启用并使用 TLS 1.2。
如果你使用的.NET Framework 运行时不使用操作系统设置(.NET Framework 3.5 到 4.5.2),则 适用于 .NET 的 AWS SDK 会尝试在支持的协议中添加对 TLS 1.1 和 TLS 1.2 的支持
警告
从 2024 年 8 月 15 日起,他们 适用于 .NET 的 SDK 将终止对.NET Framework 3.5 的支持,并将.NET Framework 的最低版本更改为 4.7.2。有关更多信息,请参阅博客文章 .NET Framework 3.5 和 4.5 目标即将发生的重要变化 适用于 .NET 的 SDK
如果你的应用程序在 Windows 7 SP1 或 Windows Server 2008 R2 的较新的.NET 框架上运行 SP1,则需要确保注册表中启用 TLS 1.2 支持,如 w https://learn.microsoft.com/en-us/indows--registr server/security/tls/tls y-settings #tls-
有关在.NET 框架中使用 TLS 的详细最佳实践,请参阅微软的文章,网址为https://learn.microsoft.com/en-us/dotnet/framework/network-programming/tls
AWS Tools for PowerShell
AWS Tools for PowerShell使用 适用于 .NET 的 AWS SDK 所有 AWS 服务呼叫。环境的行为取决于 PowerShell 你运行的 Windows 版本,如下所示。
Windows PowerShell 2.0 到 5.x
Windows PowerShell 2.0 到 5.x 在.NET 框架上运行。您可以使用以下命令验证正在使用哪个.NET 运行时(2.0 或 4.0)。 PowerShell
$PSVersionTable.CLRVersion
-
使用 .NET Runtime 2.0 时,请按照之前提供的有关 适用于 .NET 的 AWS SDK 和 .NET Framework 3.5 的说明进行操作。
警告
从 2024 年 8 月 15 日起,他们 适用于 .NET 的 SDK 将终止对.NET Framework 3.5 的支持,并将.NET Framework 的最低版本更改为 4.7.2。有关更多信息,请参阅博客文章 .NET Framework 3.5 和 4.5 目标即将发生的重要变化 适用于 .NET 的 SDK
。 -
使用 .NET Runtime 4.0 时,请按照之前提供的有关 适用于 .NET 的 AWS SDK 和 .NET Framework 4+ 的说明进行操作。
Windows PowerShell 6.0
Windows PowerShell 6.0 及更高版本可在.NET Core 上运行。您可以通过运行以下命令验证正在使用哪个版本的 .NET Core。
[System.Reflection.Assembly]::GetEntryAssembly().GetCustomAttributes([System.Runtime.Versioning.TargetFrameworkAttribute], $true).FrameworkName
按照之前提供的有关.NET Core 适用于 .NET 的 AWS SDK 及相关版本的说明进行操作。
Xamarin
对于 Android
-
需要 Android 5.0 或更高版本。
-
项目属性,安卓选项: HttpClient 实现必须设置为安卓,SSL/TLS 实现必须设置为原生 TLS 1.2+。
对于 iOS
-
需要 iOS 7 或更高版本。
-
必须将 “项目属性”、“iOS 构建: HttpClient实现” 设置为 “NSUrl会话”。
对于 macOS
-
需要 macOS 10.9 或更高版本。
-
必须将 “项目选项”、“构建”、“Mac Build: HttpClient 实现” 设置为 “NSUrl会话”。
Unity
您必须使用 Unity 2018.2 或更高版本,并使用 .NET 4.x 等效脚本运行时。你可以在 “项目设置”、“配置”、“播放器” 中进行设置,如 https://docs.unity3d.com/2019.1/Documentation/Manual/ScriptingRuntimeUpgrade.html
浏览器(适用于 Blazor WebAssembly)
WebAssembly 在浏览器而不是服务器上运行,并使用浏览器处理 HTTP 流量。因此,TLS 支持由浏览器支持确定。
在 ASP.NET Core 3.1 的预览版中,只有支持的浏览器才支持 Blaz WebAssembly or WebAssembly,如平台中所述。https://learn.microsoft.com/en-us/ aspnet/core/blazor/supported
有关更多信息和验证,请参阅浏览器的文档。