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:
- 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
- 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