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á.
Trabalhando com TLS no SDK para Java
O AWS SDK for Java usa os TLS recursos de sua plataforma Java subjacente. Neste tópico, mostramos exemplos usando a JDK implementação aberta usada pelo Amazon Corretto 17.
Para trabalhar com ele Serviços da AWS, o subjacente JDK deve suportar uma versão mínima de TLS 1.2, mas a TLS 1.3 é recomendada.
Os usuários devem consultar a documentação da plataforma Java que estão usando com o SDK para descobrir quais TLS versões estão habilitadas por padrão, bem como como habilitar e desabilitar TLS versões específicas.
Como verificar as informações da TLS versão
Usando OpenJDK, o código a seguir mostra o uso de SSLContext
System.out.println(Arrays.toString(SSLContext.getDefault().getSupportedSSLParameters().getProtocols()));
Por exemplo, o Amazon Corretto 17 (OpenJDK) produz a seguinte saída.
[TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2Hello]
Para ver o SSL handshake em ação e qual versão do TLS é usada, você pode usar a propriedade do sistema javax.net.debug.
Por exemplo, execute um aplicativo Java que useTLS.
java app.jar -Djavax.net.debug=ssl:handshake
O aplicativo registra o SSL handshake de forma semelhante ao seguinte.
... javax.net.ssl|DEBUG|10|main|2022-12-23 13:53:12.221 EST|ClientHello.java:641|Produced ClientHello handshake message ( "ClientHello": { "client version" : "TLSv1.2", ... javax.net.ssl|DEBUG|10|main|2022-12-23 13:53:12.295 EST|ServerHello.java:888|Consuming ServerHello handshake message ( "ServerHello": { "server version" : "TLSv1.2", ...
Imponha uma versão mínima TLS
O SDK for Java sempre prefere a TLS versão mais recente suportada pela plataforma e pelo serviço. Se você deseja aplicar uma TLS versão mínima específica, consulte a documentação da sua plataforma Java.
Para JDK baseado em abertoJVMs, você pode usar a propriedade do sistemajdk.tls.client.protocols
.
Por exemplo, se você quiser que os clientes de SDK serviço em seu aplicativo usem TLS 1.2, mesmo que TLS 1.3 esteja disponível, forneça a seguinte propriedade do sistema.
java app.jar -Djdk.tls.client.protocols=TLSv1.2
AWS APIatualização de endpoints para 1.2 TLS
Consulte esta postagem do blog