

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Habilitando o TLS híbrido pós-quântico
<a name="pqtls-details"></a>

AWS Os SDKs e as ferramentas têm recursos criptográficos e configurações que diferem de acordo com a linguagem e o tempo de execução. Atualmente, há três maneiras pelas quais um AWS SDK ou ferramenta fornece suporte ao PQ TLS:

**Topics**
+ [SDKs com PQ TLS ativado por padrão](#pq-tls-default)
+ [Opt-in Suporte PQ TLS](#pq-tls-opt-in)
+ [SDKs que dependem do System OpenSSL](#pq-tls-open-ssl)
+ [AWS SDKs e ferramentas que não planejam oferecer suporte ao PQ TLS](#pq-tls-nosupport)

## SDKs com PQ TLS ativado por padrão
<a name="pq-tls-default"></a>

**nota**  
A partir de 6Nov-2025, o AWS SDK e suas bibliotecas CRT subjacentes para macOS e Windows usam bibliotecas do sistema para TLS, portanto, os recursos do PQ TLS nessas plataformas geralmente são determinados pelo suporte em nível de sistema. 

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

O AWS SDK for Go usa a própria implementação de TLS da Golang fornecida por sua biblioteca padrão. O Golang suporta e prefere o PQ TLS a partir da versão 1.24, então os usuários do SDK for Go podem habilitar o PQ TLS AWS simplesmente atualizando o Golang para a versão 1.24. 

### AWS SDK para JavaScript (navegador)
<a name="pq-sdk-javascript"></a>

O AWS SDK para JavaScript (navegador) usa a pilha TLS do navegador, então o SDK negociará o PQ TLS se o tempo de execução do navegador suportar e preferir. O Firefox lançou o suporte para PQ TLS na v132.0. O Chrome anunciou suporte para PQ TLS na v131. O Edge oferece suporte ao PQ TLS opcional na versão 120 para desktop e 140 para Android. 

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

A partir das Node.js v22.20 (LTS) e v24.9.0, vincula e agrupa estaticamente Node.js o OpenSSL 3.5. Isso significa que o PQ TLS está habilitado e preferido por padrão para essas e versões subsequentes. 

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

O Kotlin SDK suporta e prefere o PQ TLS no Linux a partir da versão 1.5.78. Como o CRT-based cliente do AWS SDK for Kotlin depende de bibliotecas de sistema para TLS no macOS e no Windows, o suporte ao PQ TLS dependerá dessas bibliotecas subjacentes do sistema. 

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

O AWS SDK para Rust distribui pacotes distintos (conhecidos como “caixas” no ecossistema Rust) para cada cliente de serviço. Tudo isso é gerenciado em um GitHub repositório consolidado, mas cada cliente de serviço segue sua própria versão e ritmo de lançamento. O SDK consolidado lançou a preferência PQ TLS em 8/29 /25, portanto, qualquer versão individual do cliente de serviço lançada após essa data oferecerá suporte e preferirá PQ TLS por padrão. 

 Você pode determinar a versão mínima compatível com PQ TLS para um cliente de serviço específico navegando até o URL da versão relevante do crates.io (por exemplo, Crédito promocional da AWS está [aqui](https://crates.io/crates/aws-sdk-paymentcryptography/versions)) e encontrando a primeira versão publicada após 29-. Aug-25 Qualquer versão do cliente de serviço publicada após 29- Aug-25 terá o PQ TLS ativado e preferido por padrão. 

## Opt-in Suporte PQ TLS
<a name="pq-tls-opt-in"></a>

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

Por padrão, o SDK para C\+\+ usa clientes nativos da plataforma, como libcurl e. WinHttp O Libcurl geralmente depende do OpenSSL do sistema para TLS, então o PQ TLS só é habilitado por padrão se o OpenSSL do sistema for ≥ v3.5. Você pode substituir esse padrão no SDK para C\+\+ v1.11.673 ou posterior e optar pelo AwsCrtHttpClient que suporta e ativa o PQ TLS por padrão. 

[Notas sobre a criação do Opt-In PQ TLS Você pode buscar as dependências CRT do SDK com esse script.](https://github.com/aws/aws-sdk-cpp/blob/main/prefetch_crt_dependency.sh) A criação do SDK a partir do código-fonte é descrita [aqui](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/sdk-from-source.html) [e aqui](https://github.com/aws/aws-sdk-cpp/tree/main?tab=readme-ov-file#building-from-source), mas observe que talvez você precise de alguns sinalizadores adicionais do CMake:

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

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

 A partir da v2, o AWS SDK for Java fornece AWS um cliente HTTP Common Runtime AWS (CRT) que pode ser configurado para executar PQ TLS. A partir da v2.35.11, ele AwsCrtHttpClient ativa e prefere o PQ TLS por padrão, onde quer que seja usado. 

## SDKs que dependem do System OpenSSL
<a name="pq-tls-open-ssl"></a>

Vários AWS SDKs e ferramentas dependem da libcrypto/libssl biblioteca do sistema para TLS. A biblioteca do sistema mais usada é o OpenSSL. O OpenSSL habilitou o suporte ao PQ TLS na versão 3.5, então a maneira mais fácil de configurar esses SDKs e ferramentas para o PQ TLS é usá-los em uma distribuição do sistema operacional que tenha pelo menos o OpenSSL 3.5 instalado.

Você também pode configurar um contêiner do Docker para usar o OpenSSL 3.5 para habilitar o PQ TLS em qualquer sistema que ofereça suporte ao Docker. Consulte [Post-quantum TLS em Python](https://aws.amazon.com/blogs/security/post-quantum-tls-in-python/) para ver um exemplo de como configurar isso para Python.

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

A partir da versão 2.34.54, o [AWS instalador de CLI para](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) Linux inclui o OpenSSL 3.5.6, portanto, o PQ TLS é habilitado e preferido por padrão para essa e versões subsequentes no Linux. AWS Os usuários da CLI no Linux podem habilitar o PQ TLS fazendo o upgrade para a AWS CLI v2.34.54 ou posterior. 

Para macOS, instale a AWS CLI via [Homebrew](https://brew.sh/) e certifique-se de que seu OpenSSL Homebrew-vended seja atualizado para a versão 3.5\+. Você pode fazer isso com “brew install openssl @3 .6” e validar com “brew list \| grep openssl”. 

[Para obter instruções passo a passo para validar a instalação, consulte o [repositório github](https://github.com/aws-samples/sample-post-quantum-tls-python/) e a postagem do blog que a acompanha.](https://aws.amazon.com/blogs/security/post-quantum-tls-in-python/) 

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

O AWS SDK for PHP depende do sistema. libssl/libcrypto Para usar o PQ TLS, use esse SDK em uma distribuição de sistema operacional que tenha pelo menos o OpenSSL 3.5 instalado. 

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

O AWS SDK para Python (Boto3) depende da biblioteca OpenSSL vinculada à sua instalação do Python para TLS. O comportamento difere de acordo com a plataforma:

------
#### [ Windows and macOS (python.org installer) ]

Os instaladores oficiais do [python.org](https://www.python.org/) para Windows (.exe) e macOS (.pkg) incluem sua própria biblioteca OpenSSL. A partir do Python 3.14.6, o pacote OpenSSL 3.5.7 suporta e prefere o PQ TLS por padrão. Nenhuma configuração adicional é necessária.

------
#### [ macOS (Homebrew) ]

Como o [python @3 .14](https://www.python.org/downloads/release/python-3140/) do Homebrew se vincula à biblioteca compartilhada openssl @3 do Homebrew, a partir do Homebrew OpenSSL 3.5\+, o PQ TLS é suportado e preferido por padrão. Você pode validar sua versão do OpenSSL com:

`python3.14 -c "import ssl; print(ssl.OPENSSL_VERSION)"`

Se sua versão estiver abaixo de 3.5, atualize com brew upgrade openssl @3.

------
#### [ Linux ]

No Linux, o Python se vincula dinamicamente à libssl compartilhada do sistema. Ter o OpenSSL 3.5\+ instalado é necessário, mas não suficiente, pois a política criptográfica do sistema também deve incluir grupos pós-quânticos em sua configuração TLS padrão.

Para Amazon Linux 2023 (AL2023.12 ou superior), habilite o PQ TLS com:

`sudo update-crypto-policies --set DEFAULT:PQ`

Para obter mais informações, consulte [Habilitar Post-Quantum criptografia (PQC) em](https://docs.aws.amazon.com/linux/al2023/ug/crypto-policies-pq.html) AL2023.

Para outras distribuições Linux, consulte a documentação da sua distribuição sobre a configuração de grupos TLS padrão.

Você pode verificar se o PQ TLS está funcionando verificando a troca de chaves X25519MLKEM768 em seu handshake TLS.

------

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

O AWS SDK para Ruby depende do sistema. libssl/libcrypto Para usar o PQ TLS, use esse SDK em uma distribuição de sistema operacional que tenha pelo menos o OpenSSL 3.5 instalado. 

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

No Linux, o AWS SDK for .NET depende do sistema. libssl/libcrypto Para usar o PQ TLS, use esse SDK em uma distribuição de sistema operacional que tenha pelo menos o OpenSSL 3.5 instalado. [No Windows e no macOS, o PQ TLS está disponível a partir [do.NET 10](https://devblogs.microsoft.com/dotnet/post-quantum-cryptography-in-dotnet/) e no Windows 11.](https://techcommunity.microsoft.com/blog/microsoft-security-blog/post-quantum-cryptography-apis-now-generally-available-on-microsoft-platforms/4469093) [No macOS, o suporte ao TLS 1.3 (um pré-requisito para o PQ TLS) pode ser ativado ao optar pelo da Apple, conforme descrito aqui. Network.framework ](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/libraries#tls-13-for-macos-client) Supondo uma versão mínima do.NET de 10, o PQ TLS deve então ser habilitado. 

## AWS SDKs e ferramentas que não planejam oferecer suporte ao PQ TLS
<a name="pq-tls-nosupport"></a>

No momento, não há planos para oferecer suporte aos seguintes SDKs e ferramentas de linguagem:
+ AWS SDK para SAP
+ AWS SDK para Swift
+ AWS Ferramentas para Windows PowerShell