Auf dieser Seite wird beschrieben, wie Sie TLS 1.3 in Apigee Message Processors für Southbound-Traffic (Traffic zwischen dem Message Processor und dem Backend-Server) konfigurieren.
Weitere Informationen zur TLS 1.3-Funktion in Java finden Sie in den Versionshinweisen zum JDK 8u261-Update.
Das Verfahren zum Aktivieren von TLS 1.3 hängt von der verwendeten Java-Version ab. Unter Java-Version in einem Message Processor prüfen finden Sie die im Message Processor installierte Java-Version.
TLS v1.3 und Java-Versionen
Das TLS 1.3-Feature wurde in den folgenden Java-Versionen eingeführt:
- Oracle JDK 8u261
- OpenJDK 8u272
In den folgenden Java-Versionen ist die TLS v1.3-Funktion vorhanden, aber in Clientrollen nicht standardmäßig aktiviert:
- Oracle JDK 8u261 oder höher, aber niedriger als Oracle JDK 8u341
- OpenJDK 8u272 oder höher, aber niedriger als OpenJDK 8u352
Wenn Sie eine dieser Versionen verwenden, müssen Sie TLS v1.3 aktivieren, wie unter TLS v1.3 aktivieren, wenn es nicht standardmäßig aktiviert ist beschrieben.
Wenn Sie eine der folgenden Versionen verwenden, sollte TLS v1.3 bereits standardmäßig in Clientrollen aktiviert sein (Message Processor fungiert als Client für Southbound-TLS-Verbindungen). Sie müssen also nichts weiter tun:
- Oracle JDK 8u341 oder höher
- OpenJDK 8u352 oder höher
Damit TLS v1.3 funktioniert, müssen alle folgenden Bedingungen erfüllt sein:
- Das zugrunde liegende Java auf dem Message Processor muss TLS v1.3 unterstützen.
- TLS v1.3 muss in Java auf dem Message Processor aktiviert sein.
- TLS v1.3 muss in der Message Processor-Anwendung aktiviert sein.
So aktivieren Sie TLS v1.3 in Java, wenn es nicht standardmäßig aktiviert ist.
In diesem Abschnitt wird erläutert, wie Sie TLS v1.3 aktivieren, wenn Sie eine der folgenden Java-Versionen verwenden:
- Oracle JDK 8u261 oder höher, aber niedriger als Oracle JDK 8u341
- OpenJDK 8u272 oder höher, aber niedriger als OpenJDK 8u352
Legen Sie im Message Processor das Java-Attribut jdk.tls.client.protocols fest.
Die Werte sind kommagetrennt und können einen oder mehrere der folgenden Werte enthalten: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 und SSLv3.
Wenn Sie beispielsweise -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 festlegen, werden die Clientprotokolle TLSv1.2 und TLSv1.3 aktiviert.
Informationen zum Festlegen von JVM-Attributen in einer Edge-Komponente finden Sie unter Andere JVM-Attribute ändern.
So aktivieren Sie die Protokolle TLS v1, v1.1, v1.2 und v1.3:
- Legen Sie die folgende Konfiguration in der Konfigurationsdatei des Message Processors (
/opt/apigee/customer/application/message-processor.properties) fest:bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
- Starten Sie den Message Processor neu.
TLS v1.3 deaktivieren, wenn es standardmäßig aktiviert ist
Wenn Sie Oracle JDK 8u341 oder höher oder OpenJDK 8u352 oder höher verwenden, ist TLSv1.3 standardmäßig für Clients aktiviert. Wenn Sie TLS v1.3 in solchen Fällen deaktivieren möchten, haben Sie zwei Möglichkeiten:
- Konfigurieren Sie die SSLInfo des Zielservers und achten Sie darauf, dass TLSv1.3 nicht in der Protokollliste aufgeführt ist. Siehe Elemente der TLS/SSL-TargetEndpoint-Konfiguration. Hinweis: Wenn in der Zielserverkonfiguration keine Protokolle angegeben sind, werden alle von Java unterstützten Protokolle als Optionen im Client-Handshake gesendet.
- Deaktivieren Sie TLS v1.3 im Message Processor, indem Sie das Protokoll vollständig deaktivieren. Weitere Informationen finden Sie unter TLS-Protokoll auf dem Message Processor festlegen.
Java-Version in einem Message Processor prüfen
Melden Sie sich auf dem Message Processor-Knoten an und führen Sie den folgenden Befehl aus, um die auf einem Message Processor installierte Java-Version zu prüfen:
java -version
Die Beispielausgabe unten zeigt, dass OpenJDK 8u312 installiert ist.
$ 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)
Unterstützte Chiffren
Derzeit unterstützt Java 8 zwei TLS v1.3-Chiffren:
- TLS_AES_256_GCM_SHA384
- TLS_AES_128_GCM_SHA256
Mit openssl können Sie prüfen, ob Ihr Zielserver TLS v1.3 und mindestens eine der oben genannten Chiffren unterstützt. In diesem Beispiel wird das Dienstprogramm openssl11 verwendet, für das TLS v1.3 aktiviert ist.
$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3