In der heutigen Zeit sollte man die Kommunikation immer über eine SSL Verbindung abwickeln. Denn jede Information ist schützenswert, egal wie klein oder vielleicht unwichtig man diese erachtet. Sobald eine Authentifizierung erfolgt ist es sowieso unabdingbar das dieses über SSL erfolgt, denn kein Benutzer wird heute seine Daten in eine Eingabemaske eingeben, ohne dass, das SSL Zeichen vor der Adresse steht.
In diesem Tutorial möchte ich also nun beschreiben wie ich ein eigenes Zertifikat erstelle und dieses im Apache Tomcat 7 einrichte.
Erstellung eigener Zertifikate
Um ein eigenes Zertifikat erstellen zu können wird ein JavaDevelopmentKit benötigt welches auf der Seite von Oracle heruntergeladen werden kann.
Erstellen eines Zertifikats mit keytool
Das Zertifikat wird mit dem Tool „keytool.exe“ erstellt, welches sich im Verzeichnis „%JAVA_HOME%\bin\“ befindet.
Öffnen Sie nun die Eingabeaufforderung und navigieren Sie zum oben genannten Verzeichnis.
Geben Sie nun folgenden Befehl ein: „keytool -genkey -alias sdraeger -keyalg RSA“
Der Parameter „-alias“ sollte dabei von Ihnen angepasst werden.
Nachdem der Befehl ausgeführt wurde, wird der Benutzer nun aufgefordert einige Daten für das Zertifikat einzugeben. Hier kann man nach dem Eingeben des Passwortes auch mit der Entertaste durch die Abfragen navigieren.
Das nun erstellte Zertifikat kann unter dem Ordner „Eigene Dateien“ gefunden werden und wird „.keystore“ genannt.
Einrichten des Zertifikats in Apache Tomcat 7
Für die Einrichtung des Zertifikats muss die Datei „server.xml“ wie folgt erweitert werden.
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystorePass="pw12345" />
Das Attribut „keystorePass“ muss durch das von Ihnen gewählte Passwort geändert werden.
Zusätzlich muss noch folgende Zeile auskommentiert werden:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
Aufrufen der gesicherten Seite im Browser
Da das Zertifikat selbst erstellt ist, wird dieses nicht vom Browser als vertrauenswürdig empfunden.
In diesem Beispiel habe ich Google Chrome gewählt, welcher diese Seite als nicht sicher einstuft. Nun muss das Zertifikat im Browser als vertrauenswürdig gespeichert werden.
Leider muss dieses Zertifikat von jedem Benutzer der Webanwendung im Browser gespeichert werden.
Zertifikat im Browser speichern
Klicken Sie zum Speichern des Zertifikats auf den Link „Erweitert“.
Nun können Sie auf den Link „Weiter zu localhost (unsicher)“ klicken.
Die Seite wird nun geöffnet, jedoch wird das Schloss und das Protokoll wie folgt dargestellt.