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

自2024年7月31日起, 适用于 Java 的 Amazon SDK 1.x已进入维护模式,并将于2025年12月31日end-of-support上线。我们建议您迁移到Amazon SDK for Java 2.x以继续接收新功能、可用性改进和安全更新。

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

适用于 Java 的 Amazon SDK 支持 TLS

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

如何查看 TLS 版本

请查阅 Java 虚拟机 (JVM) 提供商的文档,以确定您的平台支持哪些 TLS 版本。对于某些人来说 JVMs,以下代码将打印支持哪些 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/开发者/tls-1-3---1-9-5-to-1-10-31/ incompatibility-with-aws-sdk for-java-versions

强制实施最低 TLS 版本

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

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

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