啟用混合式後量子 TLS - AWS 付款密碼編譯

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

啟用混合式後量子 TLS

AWS SDKs和工具具有不同語言和執行時間的密碼編譯功能和組態。AWS 開發套件或工具目前提供 PQ TLS 支援的三種方式:

預設啟用 PQ TLS SDKs

注意

截至 6-Nov-2025 日,適用於 MacOS 和 Windows 的 AWS 開發套件及其基礎 CRT 程式庫使用 TLS 的系統程式庫,因此這些平台上的 PQ TLS 功能通常由系統層級支援決定。

適用於 Go 的 AWS SDK

適用於 Go 的 AWS 開發套件使用 Golang 標準程式庫提供的自有 TLS 實作。Golang 支援並偏好自 v1.24 起的 PQ TLS,因此適用於 Go 的 AWS 開發套件使用者只需將 Golang 升級到 v1.24 即可啟用 PQ TLS

適用於 JavaScript 的 AWS 開發套件 (瀏覽器)

適用於 JavaScript 的 AWS 開發套件 (瀏覽器) 使用瀏覽器的 TLS 堆疊,因此如果瀏覽器執行時間支援且偏好,開發套件會交涉 PQ TLS。Firefox 在 v132.0 中啟動了對 PQ TLS 的支援。Chrome 宣布支援 v131 中的 PQ TLS。Edge 支援 v120 桌面版和 Android 版 140 版中的選擇加入 PQ TLS。

適用於 Node.js 的 AWS 開發套件

從 Node.js v22.20 (LTS) 和 v24.9.0 開始,Node.js 靜態連結和綁定 OpenSSL 3.5。這表示這些 和後續版本預設會啟用 PQ TLS 並優先使用。

適用於 Kotlin 的 AWS 開發套件

Kotlin SDK 自 v1.5.78 起支援並偏好 Linux 上的 PQ TLS。由於適用於 Kotlin 的 CRT 型用戶端的 AWS 開發套件倚賴 MacOS 和 Windows 上的 TLS 系統程式庫,因此 PQ TLS 的支援將倚賴這些基礎系統程式庫。

適用於 Rust 的 AWS 開發套件

適用於 Rust 的 AWS 開發套件會為每個服務用戶端分配不同的套件 (在 Rust 生態系統中稱為「木箱」)。這些都是在合併的 GitHub 儲存庫中管理,但每個服務用戶端都遵循自己的版本和發行節奏。合併 SDK 在 8/29/25 發行的 PQ TLS 偏好設定,因此在該日期之後發行的任何個別服務用戶端版本預設會支援並偏好 PQ TLS。

您可以導覽至相關的 crates.io 版本 URL (例如, AWS 付款密碼編譯的 在這裡),並尋找 29-Aug-25 日之後發佈的第一個版本,以判斷支援特定服務用戶端 PQ TLS 的最低版本。在 29-Aug-25都會啟用 PQ TLS,且預設為偏好。

選擇加入 PQ TLS 支援

適用於 C++ 的 AWS SDK

根據預設,C++ SDK 會使用平台原生用戶端,例如 libcurl 和 WinHttp。Libcurl 通常依賴系統 OpenSSL for TLS,因此 PQ TLS 預設只有在系統 OpenSSL ≥ v3.5 時才啟用。您可以在 C++ SDK v1.11.673 或更新版本中覆寫此預設值,並選擇加入支援並啟用預設 PQ TLS 的 AwsCrtHttpClient。

建立選擇加入 PQ TLS 的注意事項 您可以使用此指令碼擷取開發套件的 CRT 相依性。此處此處說明從來源建置 SDK,但請注意,您可能需要一些額外的 CMake 旗標:

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

適用於 Java 的 AWS SDK

從 v2 開始,適用於 Java 的 AWS 開發套件提供可設定為執行 PQ TLS 的 AWS Common Runtime (AWS CRT) HTTP 用戶端。自 v2.35.11 起,AwsCrtHttpClient 預設會啟用並偏好 PQ TLS,無論在何處使用。

依賴 System OpenSSL SDKs

數個 AWS SDKs和工具取決於系統的 libcrypto/libssl TLS 程式庫。最常用的系統程式庫是 OpenSSL。在 3.5 版中啟用 OpenSSL 的 PQ TLS 支援,因此設定 PQ TLS 的這些SDKs和工具最簡單的方式是在至少已安裝 OpenSSL 3.5 的作業系統分發上使用它。

您也可以將 Docker 容器設定為使用 OpenSSL 3.5,在支援 Docker 的任何系統上啟用 PQ TLS。如需為 Python 設定此範例,請參閱 Python 中的後量子 TLS。

AWS CLI

AWS CLI 安裝程式的 PQ TLS 支援即將推出。若要立即啟用,您可以使用 AWS CLI 的替代安裝程式,這些安裝程式因作業系統而異,並且可以啟用 PQ TLS。

對於 MacOS,請透過 Homebrew 安裝 AWS CLI,並確保 Homebrew 提供的 OpenSSL 已升級至 3.5+ 版。您可以使用「brew install openssl@3.6」執行此操作,並使用「brew list | grep openssl」進行驗證。

對於 Ubuntu 或 Debian Linux:確保您使用的 Linux 發行版本已安裝 OpenSSL 3.5+ 做為系統 OpenSSL。然後,使用 apt 或 PyPI 安裝 AWS CLI。使用這些先決條件,由 apt 或 PyPI 提供的 AWS CLI 將設定為交涉 PQ-TLS。如需驗證安裝的step-by-step說明,請參閱 github 儲存庫和隨附的部落格文章

適用於 PHP 的 AWS 開發套件

適用於 PHP 的 AWS 開發套件依賴系統 libssl/libcrypto。若要使用 PQ TLS,請在至少已安裝 OpenSSL 3.5 的作業系統分佈上使用此 SDK。

適用於 Python 的 AWS SDK (Boto3)

適用於 Python 的 AWS 開發套件 (Boto3) 依賴系統 libssl/libcrypto。若要使用 PQ TLS,請在至少已安裝 OpenSSL 3.5 的作業系統分佈上使用此 SDK。

適用於 Ruby 的 AWS SDK

適用於 Ruby 的 AWS 開發套件依賴系統 libssl/libcrypto。若要使用 PQ TLS,請在至少已安裝 OpenSSL 3.5 的作業系統分佈上使用此 SDK。

不打算支援 PQ TLS SDKs和工具

目前沒有支援下列語言 SDKs和工具的計劃:

  • 適用於 .NET 的 AWS SDK

  • 適用於 Swift 的 AWS 開發套件

  • 適用於 Windows PowerShell 的 AWS 工具