bg-tutorials

So installieren Sie ein SSL-Zertifikat in Tomcat

In diesem Tutorial lernen Sie, wie Sie ein SSL-Zertifikat auf Apache Tomcat installieren, indem Sie das Java-Tool keytool verwenden und anschließend den HTTPS-Connector in server.xml konfigurieren. Falls Sie Ihren CSR noch nicht generiert haben, zeigt Ihnen der erste Abschnitt, wie es geht.

Wir haben außerdem ein Video aufgenommen, das Sie durch den gesamten Prozess führt. Sie können sich das Video ansehen, die Anleitung lesen, oder beides tun. Das Video finden Sie unten.

CSR-Code für Tomcat generieren

CSR steht für Certificate Signing Request, einen Textblock mit aktuellen Angaben zu Ihrer Domain und Organisation. Jeder Käufer eines kommerziellen SSL-Zertifikats muss einen CSR bei der Certificate Authority (dem SSL-Anbieter) einreichen, um die Validierung zu bestehen und das Zertifikat zu erhalten. Enthält der CSR fehlerhafte Angaben, wird die CA ihn nicht signieren.

Auf Tomcat wird der CSR mit keytool aus einem Java-Keystore erstellt, und genau dieser Keystore enthält den privaten Schlüssel, den Sie bei der Installation wiederverwenden werden. Sie haben zwei Möglichkeiten:

Wichtig: Behalten Sie die Keystore-Datei und den Alias im Auge, die Sie bei der Generierung des CSR verwendet haben. Sie werden Ihr signiertes Zertifikat später genau in diesen Alias importieren, da sich dort der passende private Schlüssel befindet.

Nachdem die Certificate Authority Ihre Anfrage validiert und Ihnen die SSL-Dateien zugesandt hat, fahren Sie mit der Installation unten fort.

SSL-Zertifikat in Tomcat installieren

Eine Tomcat-Installation besteht aus zwei Schritten: Zuerst importieren Sie die Zertifikatskette und Ihr signiertes Zertifikat in den Keystore, der bereits Ihren privaten Schlüssel enthält, dann konfigurieren Sie den HTTPS-Connector in server.xml, damit er diesen Keystore verwendet.

Schritt 1: SSL-Zertifikatsdateien vorbereiten

Ihre Certificate Authority sendet die Dateien per E-Mail an die von Ihnen angegebene Adresse, üblicherweise als ZIP-Archiv. Entpacken Sie es. Je nach CA erhalten Sie die Dateien in einem von zwei Formaten:

  • PKCS#7: eine einzelne .p7b-Datei (oder .cer), die bereits Ihr Zertifikat zusammen mit dem Root- und den Zwischenzertifikaten enthält.
  • PEM: separate Dateien, in der Regel eine .crt-Datei für Ihr Serverzertifikat sowie einzelne Dateien root.crt und intermediate.crt.

Laden Sie die entpackten Dateien auf den Server hoch, in dasselbe Verzeichnis wie den Keystore, aus dem Sie Ihren CSR generiert haben (im Folgenden als example.jks bezeichnet). Ermitteln Sie Ihr Format und folgen Sie der entsprechenden Anleitung.

Haben Sie den CSR an anderer Stelle generiert, sodass Ihr privater Schlüssel eine separate Datei ist und kein Eintrag in example.jks? Überspringen Sie keytool: Konvertieren Sie PEM in PKCS#12, um Zertifikat, Kette und Schlüssel in eine einzige .p12-Datei zu bündeln, und verweisen Sie in Schritt 3 mit certificateKeystoreType=“PKCS12″ auf diese Datei.

Schritt 2: Zertifikat in Ihren Keystore importieren

PKCS#7-Format. Da eine .p7b-Datei bereits die vollständige Kette enthält, importiert ein einziger Befehl alles auf einmal, in Ihren bestehenden Alias für den privaten Schlüssel:

keytool -import -trustcacerts -alias ssldragon -keystore example.jks -file example.p7b

Ersetzen Sie ssldragon durch Ihren eigenen Alias und example durch Ihre Dateinamen. Der Alias muss derjenige sein, der bereits Ihren privaten Schlüssel enthält (der Alias aus dem CSR-Schritt). Wenn Sie die Meldung Certificate reply was installed in keystore sehen, war der Import erfolgreich. Überprüfen Sie den Inhalt des Keystores mit:

keytool -list -v -keystore example.jks

Suchen Sie nach einem Eintrag, dessen Typ PrivateKeyEntry ist und dessen Zertifikatskette eine Länge größer als 1 hat. Das bestätigt, dass das signierte Zertifikat nun mit Ihrem privaten Schlüssel verknüpft ist.

PEM-Format. Importieren Sie die Zertifikate einzeln, in der Reihenfolge der Kette: zuerst das Root-Zertifikat, dann etwaige Zwischenzertifikate und zuletzt Ihr Domain-Zertifikat. Durch den vorherigen Import der Kette kann keytool einen vollständigen Vertrauenspfad aufbauen, bevor die Antwort mit Ihrem Schlüssel verknüpft wird. Importieren Sie das Root-Zertifikat:

keytool -import -trustcacerts -alias root -keystore example.jks -file root.crt

Importieren Sie dann das Zwischenzertifikat:

keytool -import -trustcacerts -alias intermediate -keystore example.jks -file intermediate.crt

Wenn Ihre CA mehrere Zwischenzertifikate liefert, importieren Sie jedes einzelne unter seinem eigenen vertrauenswürdigen Alias, in der Reihenfolge, in der sie sich gegenseitig signieren (vom Root-Zertifikat abwärts bis zu Ihrem Domain-Zertifikat). Zum Beispiel wird ein Sectigo PositiveSSL-Zertifikat mit mehr als einem Zwischenzertifikat geliefert. Importieren Sie diese daher nacheinander vor dem Domain-Zertifikat.

Importieren Sie schließlich Ihr primäres Zertifikat (das für Ihre Domain ausgestellte) in den bestehenden Alias für den privaten Schlüssel, denselben Alias, den Sie bei der Generierung des CSR verwendet haben:

keytool -import -trustcacerts -alias ssldragon -keystore example.jks -file example.crt

Hier muss ssldragon Ihr bestehender Alias für den privaten Schlüssel sein. Da dieser Alias bereits einen Schlüssel besitzt, behandelt keytool diesen Import als Zertifikatsantwort (certificate reply) und verknüpft das signierte Zertifikat mit dem Schlüssel. Dieser Schritt ist es, der HTTPS zum Funktionieren bringt.

Kritische Falle: Importieren Sie das signierte Zertifikat nicht unter einem völlig neuen Alias. Wenn der Alias keinen bestehenden privaten Schlüssel hat, speichert keytool das Zertifikat als eigenständigen vertrauenswürdigen Eintrag ohne zugehörigen Schlüssel, und TLS schlägt fehl. Wenn Sie sich nicht sicher sind, welcher Alias Ihren Schlüssel enthält, führen Sie keytool -list -v -keystore example.jks aus und verwenden Sie den Alias, dessen Typ PrivateKeyEntry ist.

Schritt 3: HTTPS-Connector in server.xml konfigurieren

Sobald das Zertifikat in Ihrem Keystore vorhanden ist, richten Sie Tomcats HTTPS-Connector darauf aus. Der Connector wird in server.xml definiert, die sich im Ordner conf Ihrer Tomcat-Installation befindet (zum Beispiel $CATALINA_HOME/conf/server.xml). Öffnen Sie die Datei in einem Texteditor.

In aktuellen Tomcat-Versionen (9, 10 und 11) empfiehlt sich die Form mit einem verschachtelten SSLHostConfig-Element, das wiederum ein Certificate-Element enthält, das auf Ihren Keystore verweist. Fügen Sie den sicheren Connector hinzu oder aktualisieren Sie ihn wie folgt:

<Connector
    port="443"
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    maxThreads="150"
    SSLEnabled="true"
    scheme="https"
    secure="true">
  <SSLHostConfig>
    <Certificate
        certificateKeystoreFile="/your_path/example.jks"
        certificateKeystorePassword="your_keystore_password"
        certificateKeystoreType="JKS"
        certificateKeyAlias="ssldragon"
        type="RSA" />
  </SSLHostConfig>
</Connector>
  • certificateKeystoreFile: der vollständige Pfad zu Ihrer Keystore-Datei.
  • certificateKeystorePassword: das Keystore-Passwort.
  • certificateKeystoreType: JKS für einen .jks-Keystore oder PKCS12 für einen .p12- / .pfx-Keystore.
  • certificateKeyAlias: der Alias, der Ihren privaten Schlüssel und Ihr signiertes Zertifikat enthält (hier ssldragon). Dies teilt Tomcat mit, welchen Eintrag es bereitstellen soll, wenn der Keystore mehr als einen enthält.

Hinweis: Port 443 ist der oben verwendete Standard-HTTPS-Port; Tomcats eigene Beispiele verwenden standardmäßig 8443, verwenden Sie also den Port, den Ihre Umgebung erwartet. Wenn dies Ihre erste HTTPS-Einrichtung ist, kann der sichere Connector in server.xml auskommentiert sein. Entfernen Sie die umgebenden Kommentarzeichen, damit der Connector aktiv ist, und stellen Sie sicher, dass kein anderer Connector bereits an denselben Port gebunden ist.

Ältere Form (frühere Tomcat-Versionen). Ältere Anleitungen platzieren die Keystore-Details direkt im Connector als Attribute keystoreFile und keystorePass. Dieser Stil wurde durch die oben gezeigten Elemente SSLHostConfig und Certificate abgelöst, die die zu verwendende Form auf unterstützten Tomcat-Versionen sind.

Schritt 4: server.xml speichern und Tomcat neu starten

Speichern Sie server.xml und starten Sie Tomcat neu, damit die Konfiguration neu geladen wird. Unter Linux verwenden Sie die mitgelieferten Skripte:

$CATALINA_HOME/bin/shutdown.sh
$CATALINA_HOME/bin/startup.sh

Wenn Tomcat als Dienst läuft, starten Sie ihn stattdessen über Ihren Dienstmanager neu (zum Beispiel systemctl restart tomcat unter Linux oder das Dienste-Panel unter Windows). Herzlichen Glückwunsch, Ihr SSL-Zertifikat ist nun auf Ihrem Tomcat-Server installiert.

Tomcat-SSL-Installation testen

Nach der Installation des Zertifikats können sich kleine Fehler unbemerkt einschleichen und beeinflussen, wie Browser Ihre Website behandeln. Machen Sie es sich zur Gewohnheit, die Installation zu überprüfen. Führen Sie unseren SSL Checker aus, um mit einem sofortigen Scan Probleme wie ein fehlendes Zwischenzertifikat oder eine nicht vertrauenswürdige Kette aufzudecken.

Häufig gestellte Fragen

Warum funktioniert mein Tomcat-SSL-Zertifikat nach dem Import nicht?

Die übliche Ursache ist, dass das signierte Zertifikat unter einem neuen Alias importiert wird, statt unter dem Alias, der bereits Ihren privaten Schlüssel enthält. keytool speichert es dann als vertrauenswürdigen Zertifikatseintrag ohne Schlüssel, sodass Tomcat keinen TLS-Handshake abschließen kann. Importieren Sie die signierte Antwort erneut in den bestehenden Alias für den privaten Schlüssel (denjenigen aus Ihrem CSR). Überprüfen Sie den Erfolg, indem Sie keytool -list -v -keystore example.jks ausführen und kontrollieren, ob der Alias als PrivateKeyEntry mit einer Kette von mehr als einem Zertifikat angezeigt wird.

Importiere ich zuerst die Zertifikatskette oder mein Domain-Zertifikat?

Importieren Sie zuerst die Kette. Fügen Sie das Root- und etwaige Zwischenzertifikate der Reihe nach als vertrauenswürdige Einträge hinzu, und importieren Sie erst zuletzt Ihr Domain-Zertifikat in den Alias für den privaten Schlüssel. Dadurch kann keytool einen vollständigen Vertrauenspfad aufbauen, bevor die Antwort mit Ihrem Schlüssel verknüpft wird. Bei einer PKCS#7-Datei (.p7b) ist die Kette bereits gebündelt, sodass ein einziger Import alles erledigt.

Wo befindet sich die Tomcat-SSL-Konfigurationsdatei?

Der HTTPS-Connector wird in server.xml definiert, im Verzeichnis conf Ihrer Tomcat-Installation (zum Beispiel $CATALINA_HOME/conf/server.xml). In aktuellen Tomcat-Versionen wird der Keystore über ein verschachteltes SSLHostConfig– und Certificate-Element referenziert und nicht direkt im Connector.

Kann ich auf Tomcat einen PKCS12-Keystore statt JKS verwenden?

Ja. Tomcat unterstützt beide. Setzen Sie certificateKeystoreType auf PKCS12 für einen .p12- oder .pfx-Keystore, oder auf JKS für einen .jks-Keystore, und verweisen Sie mit certificateKeystoreFile auf die entsprechende Datei. PKCS12 ist das standardisierte, portable Keystore-Format und daher eine gute Standardwahl für neue Keystores.

Welchen Port verwendet Tomcat für HTTPS?

Tomcats Beispielkonfiguration verwendet Port 8443 für den sicheren Connector. Um HTTPS über den Standardport bereitzustellen, den Browser standardmäßig verwenden, setzen Sie den Connector-port auf 443 und stellen Sie sicher, dass kein anderer Connector oder Dienst diesen bereits verwendet.

Wie starte ich Tomcat nach Änderung der SSL-Konfiguration neu?

Führen Sie die mitgelieferten Skripte $CATALINA_HOME/bin/shutdown.sh und anschließend $CATALINA_HOME/bin/startup.sh aus, oder starten Sie den Tomcat-Dienst über Ihren Dienstmanager neu (zum Beispiel systemctl restart tomcat unter Linux oder das Dienste-Panel unter Windows). Ein Neustart ist erforderlich, damit Änderungen an server.xml wirksam werden.

Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!

Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10

A detailed image of a dragon in flight
Geschrieben von

Erfahrener Content-Autor, spezialisiert auf SSL-Zertifikate. Verwandeln Sie komplexe Cybersicherheitsthemen in klare, ansprechende Inhalte. Tragen Sie durch wirkungsvolle Narrative zur Verbesserung der digitalen Sicherheit bei.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.