Travailler avec TLS in the SDK for Java - AWS SDK for Java 2.x

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Travailler avec TLS in the SDK for Java

AWS SDK for Java utilise les TLS fonctionnalités de sa plate-forme Java sous-jacente. Dans cette rubrique, nous présentons des exemples utilisant l'JDKimplémentation Open utilisée par Amazon Corretto 17.

Pour fonctionner avec Services AWS, le sous-jacent JDK doit prendre en charge une version minimale de TLS 1.2, mais la version TLS 1.3 est recommandée.

Les utilisateurs doivent consulter la documentation de la plate-forme Java qu'ils utilisent SDK pour savoir quelles TLS versions sont activées par défaut et comment activer et désactiver des TLS versions spécifiques.

Comment vérifier les informations de TLS version

En utilisant OpenJDK, le code suivant montre l'utilisation de SSLContextpour imprimer quelles SSL versionsTLS/sont prises en charge.

System.out.println(Arrays.toString(SSLContext.getDefault().getSupportedSSLParameters().getProtocols()));

Par exemple, Amazon Corretto 17 (JDKOpen) produit le résultat suivant.

[TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2Hello]

Pour voir la SSL poignée de main en action et savoir quelle version de TLS est utilisée, vous pouvez utiliser la propriété système javax.net.debug.

Par exemple, exécutez une application Java qui utiliseTLS.

java app.jar -Djavax.net.debug=ssl:handshake

L'application enregistre la SSL poignée de main de la manière suivante.

... 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", ...

Appliquer une TLS version minimale

The SDK for Java préfère toujours la dernière TLS version prise en charge par la plateforme et le service. Si vous souhaitez appliquer une TLS version minimale spécifique, consultez la documentation de votre plateforme Java.

Pour Open JDK basedJVMs, vous pouvez utiliser la propriété systèmejdk.tls.client.protocols.

Par exemple, si vous souhaitez que les clients de SDK service de votre application utilisent la TLS version 1.2, même si la version TLS 1.3 est disponible, indiquez la propriété système suivante.

java app.jar -Djdk.tls.client.protocols=TLSv1.2

AWS APImise à niveau des terminaux vers la version 1.2 TLS

Consultez ce billet de blog pour plus d'informations sur le passage des AWS API endpoints à la version TLS 1.2 pour la version minimale.