本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
启用混合后量子 TLS
AWS SDK 和工具的加密功能和配置因语言和运行时而异。 AWS SDK 或工具目前通过三种方式提供 PQ TLS 支持:
默认启用 PQ TLS 的 SDK
注意
自6月起Nov-2025,适用于macOS和Windows的 AWS SDK及其底层CRT库使用TLS的系统库,因此这些平台上的PQ TLS功能通常由系统级支持决定。
AWS 适用于 Go 的 SDK
Go AWS 开发工具包使用 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(适用于安卓)。
AWS 适用于 SDK Node.js
从 Node.js v22.20 (LTS) 和 v24.9.0 开始, Node.js 静态链接和捆绑了 OpenSSL 3.5。这意味着,PQ TLS 在默认情况下处于启用状态,并且是这些版本和后续版本的首选。
AWS 适用于 Kotlin 的 SDK
自 v1.5.78 起,Kotlin SDK 支持并首选 Linux 上的 PQ TLS。由于 Kotlin 的 AWS SDK CRT-based 客户端依赖于 macOS 和 Windows 上的 TLS 系统库,因此对 PQ TLS 的支持将取决于这些底层系统库。
AWS 适用于 Rust 的 SDK
Rust AWS 开发工具包为每个服务客户端分发不同的软件包(在 Rust 生态系统中称为 “箱子”)。这些都是在一个统一的 GitHub 存储库中管理的,但是每个服务客户端都遵循自己的版本和发布节奏。合并后的软件开发工具包在 8/29 /25 发布了 PQ TLS 首选项,因此在该日期之后发布的任何单个服务客户端版本都将默认支持并首选 PQ TLS。
通过导航到相关的 crates.io 版本 URL(例如,在这里
Opt-in PQ TLS 支持
AWS SDK for C++
默认情况下,C++ 开发工具包使用平台原生客户端,如 libcurl 和. WinHttp Libcurl 通常依赖系统 OpenSSL 来实现 TLS,因此只有当系统 OpenSSL 为 ≥ v3.5 时,PQ TLS 才在默认情况下启用。你可以在 C++ SDK v1.11.673 或更高版本中覆盖这个默认值,并选择加入默认支持和启用 PQ TLS AwsCrtHttpClient 的。
关于构建 Opt-In PQ TLS 的注意事项您可以使用此脚本获取 SDK 的 CRT 依赖关系。
-DUSE_CRT_HTTP_CLIENT=ON \ -DUSE_TLS_V1_2=OFF \ -DUSE_TLS_V1_3=ON \ -DUSE_OPENSSL=OFF \
AWS 适用于 Java 的 SDK
从 v2 开始, AWS 适用于 Java 的软件开发工具包提供了可配置为执行 PQ TLS 的 AWS 通用运行时 (AWS CRT) HTTP 客户端。从 v2.35.11 开始,无论在何处使用 PQ TLS,都会默认 AwsCrtHttpClient 启用和首选 PQ TLS。
JDK27 支持并首选 PQ TLS,因此 AWS 适用于 Java V1 或 V2 的 SDK 默认客户端在该版本(或更高版本)上运行的开箱即用支持 PQ TLS。甲骨文在《支持 JDK 版本》的《Post-Quantum 密码学》中概述了他们将 PQ TLS 反向移植到早期 JDK 版本的预期时间表。 Long-Term
依赖系统 OpenSSL 的 SDK
有几个 AWS SDK 和工具依赖于系统的 TLS libcrypto/libssl 库。最常用的系统库是 OpenSSL。OpenSSL 在 3.5 版中启用了 PQ TLS 支持,因此为 PQ TLS 配置这些 SDK 和工具的最简单方法是在至少安装了 OpenSSL 3.5 的操作系统发行版上使用它。
你还可以将 Docker 容器配置为使用 OpenSSL 3.5 在任何支持 Docker 的系统上启用 PQ TLS。有关为 Python 进行此设置的示例,请参阅 Python 中的
AWS CLI
从 v2.34.54 开始,适用于 Linux 的 AWS CLI 安装程序捆绑了 OpenSSL 3.5.6,因此该版本和后续版本在 Linux 上默认启用并首选 PQ TLS。 AWS Linux 上的 CLI 用户可以通过升级到 CL AWS I v2.34.54 或更高版本来启用 PQ TLS。
对于 macOS,请通过 Homebrew 安装 AWS CLI
有关验证安装的分步说明,请参阅 github 存储库
AWS 适用于 PHP 的 SDK
AWS 适用于 PHP 的 SDK 依赖于系统 libssl/libcrypto。要使用 PQ TLS,请在至少安装了 OpenSSL 3.5 的操作系统发行版上使用此 SDK。
AWS 适用于 Python 的 SDK(Boto3)
AWS 适用于 Python 的 SDK (Boto3) 依赖于您安装的 TLS Python 所链接的 OpenSSL 库。行为因平台而异:
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
AWS 不打算支持 PQ TLS 的 SDK 和工具
目前没有计划支持以下语言 SDK 和工具:
AWS SAP 软件开发工具包
AWS Swift 开发工具包
AWS 适用于 Windows 的工具 PowerShell