Advanced Java Services | https mit Tomcat |
![]() ![]() ![]() ![]() |
Eine einfache SSL-Konfiguration ist für Tomcat überraschend schnell durchzuführen. Natürlich ist es nur eine Testkonfiguration und entspricht nicht einer realen Situation. Eine sichere Verbindung kann nur über ein Zertifikat aufgebaut werden. In diesem Fall zertifizieren wir uns selbst und das geht eben nur zur testzewcken.
Java SE kommt mit einem kleinen Werkzeug mit dem Namen keytool. Mit Hilfe dieser Konsolanwendung kann man sich ein Zertifikat erstellen. Das Zertifikat ist eine Datei mit dem Namen .keystore, die man Tomcat in der Konfigurationsdatei server.xml bekanntgeben muß.
Der einfachste Aufruf ist der folgende:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
Im obigen Fall wird die Datei ins user-Verzeichnis von Dokumente und Einstellungen gelegt. Will man sie gleich in ein bestimmtes Verzeichnis legen, so kann man den folgenden Aufruf verwenden:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA -keystore \path\to\my\keystore
Der folgende Screenshot zeigt die Eingaben, die keytool verlangt.
Das Standardkeyword ist changeit. Man kann ohne weiteres immer dasselbe Kennwort eingeben.
Wenn man die Datei .keystore in das Verzeichnis seiner Wahl gelegt hat, öffnet man die Datei server.xml und sucht den (auskommentierten) Eintrag Define a SSL HTTP/1.1 Connector on port 8443. Man ändert den Eintrag wie folgt ab:
<!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation --> <!-- Define a non-blocking Java SSL Coyote HTTP/1.1 Connector on port 8443 --> <Connector port="7443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="c:/server/Tomcat/conf/.keystore" keystorePass="changeit" clientAuth="false" sslProtocol="TLS" />
das Protokoll org.apache.coyote.http11.Http11NioProtocol ist ein nichtblockierendes Protokoll. Stattdessen kann man auch mit dem blockierenden Protokoll org.apache.coyote.http11.Http11Protocol arbeiten.
Weitere Information findet man unter ssl-howto.html.
Im gegensatz zum InternetExplorer gibt Firefox deutliche Warnhinweise.
|
![]() ![]() ![]() ![]() ![]() |