Amazon SDK for Java 支持 TLS - Amazon SDK for Java 1.x
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

我们宣布了即将推出 end-of-support 的 Amazon SDK for Java (v1)。建议您迁移到 Amazon SDK for Java v2。有关日期、其他详细信息以及如何迁移的信息,请参阅链接的公告。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon SDK for Java 支持 TLS

以下信息仅适用于 Java SSL 实现(中的默认 SSL 实现 Amazon SDK for Java)。如果您使用的是其他 SSL 实现,请参阅与该特定 SSL 实现相关的信息,以了解如何强制执行 TLS 版本。

如何查看 TLS 版本

请查阅 Java 虚拟机 (JVM) 提供商的文档,以确定您的平台支持哪些 TLS 版本。对于某些 JVM,以下代码将打印支持哪些 SSL 版本。

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

要查看 SSL 握手的运行情况以及使用的 TLS 版本,可使用系统属性 javax.net.debug

java app.jar -Djavax.net.debug=ssl
注意

TLS 1.3 与适用于 Java 的 SDK 版本 1.9.5 至 1.10.31 不兼容。有关更多信息,请参阅以下博客文章。

https://aws.amazon.com/blogs/developer/tls-1-3--1-9-5-t for-java-versions o-incompatibility-with-aws-sdk 1-10-31/

强制实施最低 TLS 版本

SDK 始终会将平台和服务支持的最新 TLS 版本作为其首选。如果您希望强制指定特定的最低 TLS 版本,请查阅 JVM 的文档。对于基于 OpenJDK 的 JVM,您可以使用系统属性 jdk.tls.client.protocols

java app.jar -Djdk.tls.client.protocols=PROTOCOLS

有关支持的 PROTOCOLS 值,请参阅您的 JVM 文档。