Konfigurowanie protokołu TLS 1.3 w ruchu na południe

Na tej stronie objaśniono, jak skonfigurować protokół TLS 1.3 w procesorach wiadomości Apigee dla ruchu południowego (ruch między procesorem wiadomości a serwerem backendu).

Więcej informacji na temat funkcji TLS 1.3 w Javie znajdziesz w artykule Informacje o wersji JDK 8u261

Procedura włączania TLS 1.3 zależy od używanej wersji Javy. Zobacz Sprawdź poniżej wersję Javy w procesorze komunikatów, aby znaleźć wersję zainstalowanej Javy. w ramach procesora wiadomości.

Wersje TLS 1.3 i Java

Funkcja TLS 1.3 została wprowadzona w tych wersjach Javy:

  • Oracle JDK 8u261
  • OpenJDK 8u272

W poniższych wersjach Javy funkcja TLS v1.3 istnieje, ale nie jest domyślnie włączona w rolach klientów:

  • Oracle JDK 8u261 lub nowszej, ale mniejszej niż Oracle JDK 8u341
  • OpenJDK 8u272 lub nowszy, ale mniejszy niż OpenJDK 8u352

Jeśli używasz jednej z tych wersji, musisz włączyć TLS 1.3 zgodnie z opisem w artykule Jak włączyć protokół TLS w wersji 1.3, gdy nie jest on domyślnie włączony.

Jeśli używasz jednej z tych wersji, protokół TLS 1.3 powinien być już domyślnie włączony w rolach klientów (procesor wiadomości pełni funkcję klienta, w przypadku połączeń TLS południowych), więc nie musisz niczego robić:

  • Oracle JDK 8u341 lub nowsza
  • OpenJDK 8u352 lub nowszy

Aby protokół TLS v1.3 działał, muszą być spełnione wszystkie poniższe warunki:

  • Podstawowa wersja języka Java w procesorze wiadomości musi obsługiwać protokół TLS w wersji 1.3.
  • W procesorze wiadomości musi być włączony protokół TLS v1.3 w Javie.
  • W aplikacji procesora wiadomości musi być włączony protokół TLS v1.3.

Jak włączyć protokół TLS v1.3 w Javie, jeśli nie jest on domyślnie włączony.

W tej sekcji wyjaśniamy, jak włączyć protokół TLS 1.3, jeśli używasz jednego z poniższych wersji Javy:

  • Oracle JDK 8u261 lub nowszej, ale mniejszej niż Oracle JDK 8u341
  • OpenJDK 8u272 lub nowszy, ale mniejszy niż OpenJDK 8u352

W procesorze wiadomości ustaw właściwość Java jdk.tls.client.protocols. Wartości są rozdzielane przecinkami i mogą zawierać co najmniej jeden: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 i SSLv3.

Na przykład ustawienie -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 włącza klienta protokoły TLSv1.2 i TLSv1.3.

Zobacz, aby zmienić inne właściwości JVM do Dowiedz się, jak ustawić właściwości JVM w komponencie Edge.

Aby włączyć protokoły TLS w wersjach 1, 1.1, 1.2 i 1.3:

  1. Ustaw tę konfigurację w plik konfiguracji procesora wiadomości (/opt/apigee/customer/application/message-processor.properties):
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. Ponownie uruchom procesor wiadomości.
>

Jak wyłączyć protokół TLS v1.3, gdy jest domyślnie włączony

Jeśli korzystasz z Oracle JDK 8u341 lub nowszej albo OpenJDK 8u352 lub nowszej wersji, protokół TLSv1.3 jest włączony przez domyślna dla klientów. Jeśli w takich przypadkach chcesz wyłączyć TLS v1.3, masz 2 możliwości:

  • Skonfiguruj w parametrze SSLInfo serwera docelowego i upewnij się, że protokół TLSv1.3 nie jest wspominany w listę protokołów. Zobacz Elementy konfiguracji punktu końcowego TLS/SSL. Uwaga: jeśli w konfiguracji serwera docelowego nie określono żadnych protokołów, użyj protokoły obsługiwane przez Java będą wysyłane jako opcje podczas uzgadniania połączenia klienta.
  • Wyłącz TLS v1.3 w procesorze wiadomości, całkowicie wyłączając protokół. Zobacz Ustaw protokół TLS w procesorze wiadomości.

Sprawdzanie wersji Javy w procesorze wiadomości

Aby sprawdzić wersję Javy w procesorze wiadomości, zaloguj się w procesorze wiadomości i wykonaj to polecenie:

java -version

Przykładowe dane wyjściowe poniżej pokazują, że zainstalowany jest 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)

Obsługiwane mechanizmy szyfrowania

Obecnie Java 8 obsługuje 2 mechanizmy szyfrowania TLS v1.3:

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

Za pomocą openssl możesz sprawdzić, czy Twój serwer docelowy obsługuje protokół TLS 1.3 i co najmniej 1 algorytmów poniżej. Zwróć uwagę, że w tym przykładzie korzysta się z narzędzia openssl11, które ma Włączono TLS 1.3.

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