View a markdown version of this page

Habilitando o TLS híbrido pós-quântico - AWS SDKs e ferramentas

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

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

SDKs com PQ TLS ativado por padrão

nota

A partir do 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 no nível do sistema.

AWS SDK para Go

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

AWS SDK para JavaScript (navegador)

O AWS SDK para JavaScript (navegador) usa a pilha TLS do navegador, portanto, 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 o suporte para o PQ TLS na versão 131. O Edge oferece suporte ao PQ TLS opcional na v120 para desktop e 140 para Android.

AWS SDK para Node.js

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

AWS SDK para Kotlin

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

AWS SDK para Rust

O AWS SDK para Rust distribui pacotes distintos (conhecidos como “caixas” no ecossistema Rust) para cada cliente de serviço. Todos eles são gerenciados em um GitHub repositório consolidado, mas cada cliente de serviço segue sua própria versão e cadência 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 suportará e preferirá o PQ TLS por padrão.

Você pode determinar a versão mínima que suporta o PQ TLS para um cliente de serviço específico navegando até a URL da versão relevante do crates.io (por exemplo, a Crédito promocional da AWS está aqui) 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 para PQ TLS

AWS SDK para C++

Por padrão, o SDK do C++ usa clientes nativos da plataforma, como libcurl e. WinHttp O Libcurl geralmente depende do sistema OpenSSL 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 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 para 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 e aqui, 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 partir da v2, o AWS SDK para Java fornece um cliente HTTP AWS Common Runtime (AWS CRT) que pode ser configurado para executar PQ TLS. A partir da v2.35.11, AwsCrtHttpClient habilita e prefere o PQ TLS por padrão onde quer que seja usado.

O JDK27 suporta e prefere o PQ TLS, portanto, o AWS SDK para clientes padrão Java V1 ou V2 executados nessa versão (ou posterior) oferece suporte ao PQ TLS pronto para uso. A Oracle descreve seus cronogramas esperados para os backports do PQ TLS para versões anteriores do JDK em Cryptography in Support JDK Releases. Post-Quantum Long-Term

SDKs que dependem do System OpenSSL

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

Você também pode configurar um contêiner Docker para usar o OpenSSL 3.5 para habilitar o PQ TLS em qualquer sistema compatível com o Docker. Consulte Post-quantum TLS em Python para ver um exemplo de configuração para Python.

AWS CLI

A partir da v2.34.54, o instalador AWS CLI para Linux inclui o OpenSSL 3.5.6, portanto, o PQ TLS está habilitado e é preferido por padrão para essa e para as versões subsequentes no Linux. AWS Os usuários da CLI no Linux podem habilitar o PQ TLS atualizando para a AWS CLI v2.34.54 ou posterior.

Para macOS, instale a AWS CLI via Homebrew e certifique-se de que seu Homebrew-vended OpenSSL 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 https://github.com/aws-samples/sample-post-quantum-tls-python/ github e a postagem do blog que o acompanha. https://aws.amazon.com/blogs/security/post-quantum-tls-in-python/

AWS SDK para PHP

O AWS SDK para 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)

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 para Windows (.exe) e macOS (.pkg) incluem sua própria biblioteca OpenSSL. A partir do Python 3.14.6, o OpenSSL 3.5.7 incluído suporta e prefere o PQ TLS por padrão. Nenhuma configuração adicional é necessária.

macOS (Homebrew)

Como o python @3 .14 do Homebrew está vinculado à 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) no 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

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

No Linux, o AWS SDK para.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 e Windows 11. 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.NET mínima de 10, o PQ TLS deve então ser habilitado.

AWS SDKs e ferramentas que não planejam oferecer suporte ao PQ TLS

Atualmente, não há planos de oferecer suporte aos seguintes SDKs e ferramentas de linguagem:

  • AWS SDK para SAP

  • AWS SDK para Swift

  • AWS Ferramentas para Windows PowerShell