AWS SDK for Kotlin support for Transport Layer Security (TLS) - AWS SDK for Kotlin
Services or capabilities described in AWS documentation might vary by Region. To see the differences applicable to the AWS European Sovereign Cloud Region, see the AWS European Sovereign Cloud User Guide.

AWS SDK for Kotlin support for Transport Layer Security (TLS)

The following information applies only to Java SSL implementation (the default SSL implementation in the AWS SDK for Kotlin targeting the JVM). If you’re using a different SSL implementation, see your specific SSL implementation to learn how to enforce TLS versions.

TLS support in Java

To work with AWS services, the underlying JDK must support a minimum version of TLS 1.2, but TLS 1.3 is recommended. TLS 1.3 is the prerequisite to enable post-quantum cryptography, which may require additional actions or configurations. To learn more, see Enabling hybrid post-quantum TLS.

TLS 1.2 is supported starting in Java 7. TLS 1.3 is supported starting in Java 11, although some JVM vendors have backported support into earlier Java versions.

How to check the TLS version

To check which TLS versions are supported in your Java virtual machine (JVM), you can use the following code.

println(SSLContext.getDefault().supportedSSLParameters.protocols.joinToString(separator = ", "))

To see the SSL handshake in action and what version of TLS is used, you can use the system property javax.net.debug.

-Djavax.net.debug=ssl