为南向流量配置 TLS 1.3

本页面介绍了如何在 Apigee 消息处理器中为南向流量配置 TLS 1.3 (消息处理器和后端服务器之间的流量)。

如需详细了解 Java 中的 TLS 1.3 功能,请参阅 JDK 8u261 更新版本说明

启用 TLS 1.3 的过程取决于您所使用的 Java 版本。请参阅 <ph type="x-smartling-placeholder"></ph> 查看下方消息处理器中的 Java 版本,找到安装的 Java 版本 。

TLS v1.3 和 Java 版本

以下版本的 Java 中引入了 TLS 1.3 功能:

  • Oracle JDK 8u261
  • OpenJDK 8u272

以下 Java 版本提供 TLS v1.3 功能,但该功能默认不启用 以下角色:

  • Oracle JDK 8u261 或更高版本,但版本低于 Oracle JDK 8u341
  • OpenJDK 8u272 或更高版本,但版本低于 OpenJDK 8u352

如果您使用的是上述某个版本,则需要按照说明启用 TLS v1.3 如何在默认处于停用状态时启用 TLS v1.3

如果您使用的是以下某个版本,TLS v1.3 应该已经默认处于启用状态 客户端角色(消息处理方充当客户端 因此您无需采取任何操作:

  • Oracle JDK 8u341 或更高版本
  • OpenJDK 8u352 或更高版本

为使 TLS v1.3 正常运行,必须满足以下所有条件:

  • 消息处理器上的底层 Java 必须支持 TLS v1.3。
  • 必须在邮件处理器上的 Java 中启用 TLS v1.3。
  • 必须在邮件处理器应用中启用 TLS v1.3。

如何在 Java 中默认启用 TLS v1.3 时启用该功能。

本部分介绍了在您使用以下其中一项时如何启用 TLS v1.3 Java 版:

  • Oracle JDK 8u261 或更高版本,但版本低于 Oracle JDK 8u341
  • OpenJDK 8u272 或更高版本,但版本低于 OpenJDK 8u352

在消息处理器中,设置 Java 属性 jdk.tls.client.protocols。 值以英文逗号分隔,可包含一个或多个值 TLSv1TLSv1.1TLSv1.2TLSv1.3SSLv3

例如,设置 -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 会启用客户端 协议 TLSv1.2TLSv1.3

请参阅更改其他 JVM 属性 了解如何在 Edge 组件中设置 JVM 属性。

如需启用 TLS v1、v1.1、v1.2 和 v1.3 协议,请执行以下操作:

  1. 在 消息处理器配置文件 (/opt/apigee/customer/application/message-processor.properties):
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. 重启消息处理器。
&gt;

如何在默认启用的 TLS v1.3 中停用它

如果您使用的是 Oracle JDK 8u341 或更高版本,或者 OpenJDK 8u352 或更高版本, 客户端的默认设置 在这种情况下,如果您想停用 TLS v1.3,有以下两种选择:

  • 配置目标服务器的 SSLInfo 并确保 TLSv1.3 未出现在 协议列表。请参阅 <ph type="x-smartling-placeholder"></ph> TLS/SSL TargetEndpoint 配置元素中所述。 注意:如果目标服务器配置中未指定协议, 哪些协议将在客户端握手时作为选项发送。
  • 通过完全停用协议,在消息处理器中停用 TLS v1.3。请参阅 <ph type="x-smartling-placeholder"></ph> 设置邮件处理器上的 TLS 协议

检查消息处理器中的 Java 版本

要检查消息处理器中安装的 Java 版本,请登录消息处理器 节点并执行以下命令:

java -version

以下示例输出显示已安装 OpenJDK 8u312。

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

支持的加密方式

目前,Java 8 支持 2 种 TLS v1.3 加密:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

您可以使用 openssl 来检查目标服务器是否支持 TLS v1.3 以及以下至少一个 使用下面的密码。请注意,此示例使用的是 openssl11 实用程序,该实用程序具有 已启用 TLS v1.3。

$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3