

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ハイブリッドポスト量子 TLS の有効化
<a name="pqtls-details"></a>

AWS SDKsとツールには、言語とランタイムによって異なる暗号化機能と設定があります。AWS SDK またはツールが現在 PQ TLS サポートを提供する方法は 3 つあります。

**Topics**
+ [PQ TLS がデフォルトで有効になっている SDKs](#pq-tls-default)
+ [オプトイン PQ TLS サポート](#pq-tls-opt-in)
+ [System OpenSSL に依存する SDKs](#pq-tls-open-ssl)
+ [PQ TLS をサポートする予定がない AWS SDKs とツール](#pq-tls-nosupport)

## PQ TLS がデフォルトで有効になっている SDKs
<a name="pq-tls-default"></a>

**注記**  
6-Nov-2025 日現在、MacOS および Windows 用の AWS SDK とその基盤となる CRT ライブラリは TLS 用のシステムライブラリを使用するため、これらのプラットフォームでの PQ TLS 機能は一般的にシステムレベルのサポートによって決まります。

### AWS SDK for Go
<a name="pq-sdk-go"></a>

AWS SDK for Go は、標準ライブラリが提供する Golang 独自の TLS 実装を使用します。Golang は v1.24 の時点で PQ TLS をサポートおよび優先しているため、AWS SDK for Go ユーザーは Golang を v1.24 にアップグレードするだけで PQ TLS を有効にできます。

### AWS SDK for JavaScript (ブラウザ)
<a name="pq-sdk-javascript"></a>

AWS SDK for JavaScript (ブラウザ) はブラウザの TLS スタックを使用するため、ブラウザランタイムがサポートし、希望する場合、SDK は PQ TLS をネゴシエートします。Firefox は v132.0 で PQ TLS のサポートを開始しました。Chrome は v131 での PQ TLS のサポートを発表しました。Edge は、デスクトップの場合は v120、Android の場合は 140 でオプトイン PQ TLS をサポートしています。

### AWS SDK for Node.js
<a name="pq-sdk-nodejs"></a>

Node.js v22.20 (LTS) および v24.9.0 以降、Node.js は OpenSSL 3.5 を静的にリンクしてバンドルします。つまり、PQ TLS は、これらのバージョン以降ではデフォルトで有効になっており、優先されます。

### AWS SDK for Kotlin
<a name="pq-sdk-kotlin"></a>

Kotlin SDK は、v1.5.78 の時点で Linux での PQ TLS をサポートしており、優先しています。AWS SDK for Kotlin の CRT ベースのクライアントは MacOS および Windows の TLS のシステムライブラリに依存しているため、PQ TLS のサポートは基盤となるシステムライブラリによって異なります。

### AWS SDK for Rust
<a name="pq-sdk-rust"></a>

AWS SDK for Rust は、サービスクライアントごとに個別のパッケージ (Rust エコシステムでは「木箱」と呼ばれる) を配布します。これらはすべて統合された GitHub リポジトリで管理されますが、各サービスクライアントは独自のバージョンとリリース頻度に従います。統合 SDK は 8/29/25 に PQ TLS 設定をリリースしたため、それ以降にリリースされた個々のサービスクライアントバージョンはデフォルトで PQ TLS をサポートし、優先します。

 特定のサービスクライアントの PQ TLS をサポートする最小バージョンを確認するには、関連する crates.io バージョン URL ( AWS Payment Cryptography の など[)](https://crates.io/crates/aws-sdk-paymentcryptography/versions) に移動し、29-Aug-25 日以降に発行された最初のバージョンを見つけます。29-Aug-25 日以降に発行されたサービスクライアントバージョンでは、デフォルトで PQ TLS が有効になり、優先されます。

## オプトイン PQ TLS サポート
<a name="pq-tls-opt-in"></a>

### AWS SDK for C\+\+
<a name="pq-sdk-cplusplus"></a>

デフォルトでは、C\+\+ SDK は libcurl や WinHttp などのプラットフォームネイティブクライアントを使用します。Libcurl は通常、TLS のシステム OpenSSL に依存しているため、PQ TLS はシステム OpenSSL が ≥ v3.5 の場合にのみデフォルトで有効になります。このデフォルトは C\+\+ SDK v1.11.673 以降で上書きし、デフォルトで PQ TLS をサポートおよび有効にする AwsCrtHttpClient にオプトインできます。

オプトイン PQ TLS の構築に関する注意事項 [このスクリプト](https://github.com/aws/aws-sdk-cpp/blob/main/prefetch_crt_dependency.sh)を使用して SDK の CRT 依存関係を取得できます。ソースからの SDK の構築については[、ここで](https://github.com/aws/aws-sdk-cpp/tree/main?tab=readme-ov-file#building-from-source)[説明します](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/sdk-from-source.html)が、いくつかの追加の CMake フラグが必要になる場合があります。

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

### AWS SDK for Java
<a name="pq-sdk-java"></a>

 v2 の時点で、AWS SDK for Java は、PQ TLS を実行するように設定できる AWS Common Runtime (AWS CRT) HTTP クライアントを提供します。v2.35.11 以降、AwsCrtHttpClient は、使用するすべての場所でデフォルトで PQ TLS を有効にし、優先します。

## System OpenSSL に依存する SDKs
<a name="pq-tls-open-ssl"></a>

いくつかの AWS SDKs とツールは、TLS 用のシステムの libcrypto/libssl ライブラリに依存しています。最も頻繁に使用されるシステムライブラリは OpenSSL です。OpenSSL はバージョン 3.5 で PQ TLS のサポートを有効にしているため、PQ TLS 用にこれらの SDKs とツールを設定する最も簡単な方法は、少なくとも OpenSSL 3.5 がインストールされているオペレーティングシステムディストリビューションで使用することです。

OpenSSL 3.5 を使用して Docker をサポートするすべてのシステムで PQ TLS を有効にするように Docker コンテナを設定することもできます。Python 用に設定する例については、Python でポスト量子 TLS を参照してください。

### AWS CLI
<a name="pq-tls-cli"></a>

[AWS CLI インストーラでの PQ TLS サポート](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)は間もなく開始されます。すぐに を有効にするには、オペレーティングシステムによって異なる AWS CLI の代替インストーラーを使用し、PQ TLS を有効にできます。

MacOS の場合は、[Homebrew](https://brew.sh/) 経由で 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](https://pypi.org/project/awscliv2/) を使用して AWS CLI をインストールします。これらの前提条件により、apt または PyPI によって提供された AWS CLI は、PQ-TLS をネゴシエートするように設定されます。インストールを検証するstep-by-stepについては、[「github repository](https://github.com/aws-samples/sample-post-quantum-tls-python/) and accompanying [blog post](https://aws.amazon.com/blogs/security/post-quantum-tls-in-python/)」を参照してください。

### AWS SDK for PHP
<a name="pq-tls-php"></a>

AWS SDK for PHP はシステム libssl/libcrypto に依存しています。PQ TLS を使用するには、少なくとも OpenSSL 3.5 がインストールされているオペレーティングシステムディストリビューションでこの SDK を使用します。

### 「AWS SDK for Python (Boto3)」
<a name="pq-tls-python"></a>

AWS SDK for Python (Boto3) は、システム libssl/libcrypto に依存しています。PQ TLS を使用するには、少なくとも OpenSSL 3.5 がインストールされているオペレーティングシステムディストリビューションでこの SDK を使用します。

### AWS SDK for Ruby
<a name="pq-tls-ruby"></a>

AWS SDK for Ruby は、システム libssl/libcrypto に依存しています。PQ TLS を使用するには、少なくとも OpenSSL 3.5 がインストールされているオペレーティングシステムディストリビューションでこの SDK を使用します。

### AWS SDK for .NET
<a name="pq-tls-dotnet"></a>

Linux では、AWS SDK for .NET はシステム libssl/libcrypto に依存しています。PQ TLS を使用するには、少なくとも OpenSSL 3.5 がインストールされているオペレーティングシステムディストリビューションでこの SDK を使用します。Windows および MacOS では、[.NET 10 ](https://devblogs.microsoft.com/dotnet/post-quantum-cryptography-in-dotnet/)および [Windows 11](https://techcommunity.microsoft.com/blog/microsoft-security-blog/post-quantum-cryptography-apis-now-generally-available-on-microsoft-platforms/4469093) から PQ TLS を使用できます。MacOS では、[ここで](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/libraries#tls-13-for-macos-client)説明するように Apple の Network.framework にオプトインすることで、TLS 1.3 サポート (PQ TLS の前提条件) を有効にできます。最小 .NET バージョンが 10 であると仮定すると、PQ TLS を有効にする必要があります。

## PQ TLS をサポートする予定がない AWS SDKs とツール
<a name="pq-tls-nosupport"></a>

現在、次の言語 SDKs とツールをサポートする予定はありません。
+ AWS SDK for SAP
+ AWS SDK for Swift
+ AWS Tools for Windows PowerShell