Tomcat Self Signed Zertifikat einrichten

Unter Tomcat ist es recht einfach ein selbstsigniertes (Self Signed) Zertifikat einzurichten. Diese Anleitung zeigt die nötigen Schritte um ein Tomcat Self Signed Zertifikat einzurichten.

Hinweis:
Getestet wurde dieser Artikel unter Windows mit Tomcat 8.5.20 und Java JRE 1.8.0_144-b01.

Keystore und Zertifikat erstellen

Der Keystore und das Zertifikat werden mit dem Java-Kommandozeilentool keytool erzeugt. Dafür ist eine Eingabeaufforderung zu öffnen und in das Verzeichnis bin innerhalb des Installationsverzeichnisses von Java zu wechseln. Bei mir ist es beispielsweise C:\Program Files (x86)\Java\jre1.8.0_144\bin.

Mit folgendem Befehl lässt sich dann der Keystore samt Zertifikat erstellen:

keytool -genkey -keystore C:\Tomcat\ssl\.keystore -alias localhost -keyalg RSA -keysize 4096 -validity 365

Der Parameter alias dient seitens Java nur zur Identifizierung des Zertifikats innerhalb des Keystores, da ein Keystore durchaus mehrere Zertifikate enthalten kann. Schließlich wird noch die Schlüssellänge und die Gültigkeit des Zertifikats in Tage angegeben. Nachdem der Befehl abgeschickt wurde, werden mehrere Fragen gestellt, von denen die meisten nicht zwingend beantwortet werden müssen. Die zweite Frage nach dem Vor- und Nachnamen sollte jedoch mit der Domain, die durch das Zertifikat geschützt werden soll, beantwortet werden, da hiermit eigentlich der Common Name (CN) gemeint ist.

Tomcat konfigurieren

Nachdem Keystore und Zertifikat erzeugt sind, ist die Datei server.xml aus dem conf-Verzeichnis des Tomcat zu bearbeiten. Folgender Connector ist hinzuzufügen:

Der Alias, der Pfad zu dem Keystore und das Keystore-Passwort sind natürlich entsprechend anzupassen.

Nach einem Neustart des Tomcat ist die Seite per HTTPS über https://localhost:8443 (natürlich nach einem Zertifikatsfehler, da das Zertifikat selbstsigniert ist) zu erreichen:

Automatisch HTTP zu HTTPS umleiten

Sollte HTTPS erzwungen werden, lässt sich dies mit einer kleinen weiteren Anpassung in der Datei web.xml aus dem conf-Verzeichnis des Tomcat erledigen. Dazu muss einfach folgender Block vor dem schließenden web-app Tag </web-app> eingefügt werden:

Auch hier ist der Tomcat natürlich wieder neuzustarten.

Wenn der Port für HTTPS geändert werden soll, muss der Port fortan an zwei Stellen in der Datei server.xml geändert werden:

Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.