适用于 Java 的 AWS 开发工具包支持 TLS 1.2 - 适用于 Java 的 AWS 开发工具包
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

适用于 Java 的 AWS 开发工具包支持 TLS 1.2

以下信息仅适用于 Java SSL 实现(适用于 Java 的 AWS 开发工具包中的默认 SSL 实现)。如果您使用的是其他 SSL 实施,请参阅您的特定 SSL 实施以了解如何实施 TLS 版本。

Java 中的 TLS 支持

从 Java 7 开始,支持 TLS 1.2。

如何检查 TLS 版本

要检查您的 Java 虚拟机 (JVM) 支持的 TLS 版本,您可以使用以下代码。

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

要查看 SSL 握手的实际操作以及使用的 TLS 版本,您可以使用系统属性 javax.net.debug

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

如何设置 TLS 版本

适用于 Java 的 AWS 开发工具包 1.x

  • Apache HTTP 客户端: 该开发工具包始终首选 TLS 1.2(如果平台中支持)。

适用于 Java 的 AWS 开发工具包 2.x

  • ApacheHttpClient: 该开发工具包始终首选 TLS 1.2(如果平台中支持)。

  • UrlHttpConnectionClient: 要仅强制执行 TLS 1.2,您可以使用此 Java 命令。

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

或者使用此代码。

System.setProperty("jdk.tls.client.protocols", "TLSv1.2");
  • NettyNioHttpClient: Netty 的开发工具包依赖项是 TLS 1.2(如果平台支持)。