View a markdown version of this page

启用混合后量子 TLS - AWS 软件开发工具包和工具

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

启用混合后量子 TLS

AWS SDK 和工具的加密功能和配置因语言和运行时而异。目前, AWS SDK 或工具可以通过三种方式提供 PQ TLS 支持:

默认情况下启用 PQ TLS 的软件开发工具包

注意

从 6 开始Nov-2025, AWS 适用于 macOS 和 Windows 的 SDK 及其底层 CRT 库使用系统库来实现 TLS,因此这些平台上的 PQ TLS 功能通常取决于系统级支持。

AWS 适用于 Go 的 SDK

AWS 适用于 Go 的 SDK 使用 Golang 自己的 TLS 实现,该实现由其标准库提供。从 v1.24 开始,Golang 支持并更喜欢 PQ TLS,因此 AWS SDK for Go 用户只需将 Golang 升级到 v1.24 即可启用 PQ TLS

AWS 适用于 JavaScript (浏览器)的 SDK

JavaScript (浏览器)的 AWS SDK 使用浏览器的 TLS 堆栈,因此,如果浏览器运行时支持和首选 PQ TLS,SDK 将协商 PQ TLS。Firefox 在 v132.0 中推出了对 PQ TLS 的支持。Chrome 宣布在 v131 中支持 PQ TLS。Edge 支持台式机版 v120 中的可选加入 PQ TLS,安卓版 140 版支持选择加入 PQ

AWS 适用于 Node.js

从 Node.js v22.20 (LTS) 和 v24.9.0 开始,静态 Node.js 链接和捆绑了 OpenSSL 3.5。这意味着 PQ TLS 在这些版本和后续版本中默认处于启用状态,并且首选。

AWS 适用于 Kotlin 的 SDK

从 1.5.78 版本开始,Kotlin SDK 支持并更喜欢在 Linux 上使用 PQ TLS。由于 AWS 适用于 Kotlin CRT-based 客户端的 SDK 依赖于 macOS 和 Windows 上的 TLS 系统库,因此对 PQ TLS 的支持将取决于这些底层系统库。

AWS 适用于 Rust 的 SDK

适用于 Rust 的 AWS SDK 为每个服务客户端分发不同的软件包(在 Rust 生态系统中被称为 “板条箱”)。它们都在统一的 GitHub 存储库中进行管理,但每个服务客户端都遵循自己的版本和发布节奏。合并后的 SDK 于 8/29 /25 发布了 PQ TLS 首选项,因此在该日期之后发布的任何单个服务客户端版本都将默认支持并首选 PQ TLS。

您可以通过导航到相关的 crates.io 版本网址(例如,这里有)并查找 29-之后发布的第一个版本,来确定支持特定服务客户端 AWS 服务抵扣金的 PQ TLS 的最低版本。Aug-25默认情况下,在 29-之后发布的任何服务客户端版本都Aug-25将启用 PQ TLS 并处于首选状态。

Opt-in PQ TLS 支持

AWS SDK for C++

默认情况下,C++ 开发工具包使用平台原生客户端,例如 libcurl 和。 WinHttpLibcurl 通常依赖系统 OpenSSL 来实现 TLS,因此只有在系统 OpenSSL 等于 v3.5 时,才会默认启用 PQ TLS。你可以在 C++ SDK v1.11.673 或更高版本中覆盖此默认值,然后选择加入默认支持和启用 PQ TLS AwsCrtHttpClient 的。

关于构建 Opt-In PQ TLS 的注意事项您可以使用脚本获取 SDK 的 CRT 依赖项。这里和这里都描述了从源代码构建 SDK,但请注意,你可能需要一些额外的 CMake 标志:

-DUSE_CRT_HTTP_CLIENT=ON \ -DUSE_TLS_V1_2=OFF \ -DUSE_TLS_V1_3=ON \ -DUSE_OPENSSL=OFF \

AWS 适用于 Java 的 SDK

从 v2 开始, AWS 适用于 Java 的 SDK 提供了一个 AWS 公共运行时 (AWS CRT) HTTP 客户端,可以将其配置为执行 PQ TLS。从 v2.35.11 开始,无论在哪里使用 PQ TLS,都会默认 AwsCrtHttpClient 启用并首选 PQ TLS。

依赖系统 OpenSSL 的软件开发工具包

有几个 AWS SDK 和工具依赖于系统的 TLS libcrypto/libssl 库。最常用的系统库是 OpenSSL。在 3.5 版本中启用了 OpenSSL 的 PQ TLS 支持,因此为 PQ TLS 配置这些软件开发工具包和工具的最简单方法是在至少安装了 OpenSSL 3.5 的操作系统发行版上使用它。

你也可以将 Docker 容器配置为使用 OpenSSL 3.5 在任何支持 Docker 的系统上启用 PQ TLS。有关为 Python 进行此设置的示例,请参阅 Python 中的 T Post-quantum LS。

AWS CLI

从 v2.34.54 开始,适用于 Linux 的 CL AWS I 安装程序捆绑了 OpenSSL 3.5.6,因此,在 Linux 上,该版本和后续版本默认启用并首选 PQ TLS。 AWS Linux 上的 CLI 用户可以通过升级到 CL AWS I v2.34.54 或更高版本来启用 PQ TLS。

对于 macOS,请通过 Homebrew 安装 AWS CLI,并确保你的 Op Homebrew-vended enSSL 已升级到 3.5+ 版本。你可以用 “brew install openssl @3 .6” 来做到这一点,然后用 “brew list | grep openssl” 进行验证。

如果你无法在 Ubuntu 或 Debian Linux 上升级到 AWS CLI v2.34.54 或更高版本,请确保你使用的 Linux 发行版已将 OpenSSL 3.5+ 安装为系统 OpenSSL。然后,使用 apt 或 PyP AWS I 安装 CLI。有了这些先决条件,apt 或 PyP AWS I 提供的 CLI 将被配置为协商。 PQ-TLS有关验证安装的分步说明,请参阅 github 存储库和随附的博客文章

AWS 适用于 PHP 的 SDK

AWS 适用于 PHP 的 SDK 依赖于系统 libssl/libcrypto。要使用 PQ TLS,请在至少安装了 OpenSSL 3.5 的操作系统发行版上使用此 SDK。

AWS 适用于 Python 的 SDK(Boto3)

AWS 适用于 Python 的 SDK (Boto3) 依赖于系统。 libssl/libcrypto要使用 PQ TLS,请在至少安装了 OpenSSL 3.5 的操作系统发行版上使用此 SDK。

AWS 适用于 Ruby 的 SDK

AWS 适用于 Ruby 的 SDK 依赖于系统 libssl/libcrypto。要使用 PQ TLS,请在至少安装了 OpenSSL 3.5 的操作系统发行版上使用此 SDK。

AWS 适用于 .NET 的 SDK

在 Linux 上,适用于.NET 的 AWS SDK 依赖于系统 libssl/libcrypto。要使用 PQ TLS,请在至少安装了 OpenSSL 3.5 的操作系统发行版上使用此 SDK。在 Windows 和 macOS 上,PQ TLS 从 .NET 10 和 Windows 11 开始可用。在 macOS 上,可以通过选择加入 Apple 来启用 TLS 1.3 支持(PQ TLS 的先决条件),如下所述。 Network.framework 假设.NET 版本最低为 10,则应启用 PQ TLS。

AWS 不打算支持 PQ TLS 的软件开发工具包和工具

目前没有计划支持以下语言 SDK 和工具:

  • AWS SAP 软件开发工具包

  • AWS 适用于 Swift

  • AWS 适用于 Windows 的工具 PowerShell