Настройка TLS 1.3 для южного трафика

На этой странице объясняется, как настроить TLS 1.3 в процессорах сообщений Apigee для южного трафика (трафик между процессором сообщений и внутренним сервером).

Дополнительные сведения о функции TLS 1.3 в Java см. в примечаниях к выпуску обновления JDK 8u261 .

Процедура включения TLS 1.3 зависит от используемой версии Java. См. раздел «Проверка версии Java в процессоре сообщений» ниже, чтобы узнать версию Java, установленную в процессоре сообщений.

TLS v1.3 и версии Java

Функция TLS 1.3 была представлена ​​в следующих версиях Java:

  • 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 уже должен быть включен по умолчанию в ролях клиента (процессор сообщений действует как клиент для южных TLS-соединений), поэтому вам не нужно предпринимать никаких действий:

  • Oracle JDK 8u341 или новее
  • OpenJDK 8u352 или новее

Чтобы TLS v1.3 работал, должны выполняться все следующие условия:

  • Базовый Java в процессоре сообщений должен поддерживать TLS v1.3.
  • TLS v1.3 должен быть включен в Java на процессоре сообщений.
  • TLS v1.3 должен быть включен в приложении Message Processor.

Как включить TLS v1.3 в Java, если он не включен по умолчанию.

В этом разделе объясняется, как включить TLS v1.3, если вы используете одну из следующих версий Java:

  • Oracle JDK 8u261 или новее, но ниже Oracle JDK 8u341
  • OpenJDK 8u272 или новее, но ниже OpenJDK 8u352

В обработчике сообщений установите свойство Java jdk.tls.client.protocols . Значения разделены запятыми и могут содержать один или несколько TLSv1 , TLSv1.1 , TLSv1.2 , TLSv1.3 и SSLv3 .

Например, настройка -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 включает клиентские протоколы TLSv1.2 и TLSv1.3 .

См. раздел «Изменение других свойств JVM» , чтобы узнать, как настроить свойства JVM в компоненте Edge.

Чтобы включить протоколы 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. Перезапустите процессор сообщений.
>

Как отключить TLS v1.3, если он включен по умолчанию

Если вы используете Oracle JDK 8u341 или новее или OpenJDK 8u352 или новее, TLSv1.3 включен для клиентов по умолчанию. Если вы хотите отключить TLS v1.3 в таких случаях, у вас есть два варианта:

Проверьте версию 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 поддерживает два шифра 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