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