HTTPS beim Trifork T4 aktivieren

Der Trifork Application Server unterstützt HTTPS, sofern dies in der Management-Konsole aktiviert wurde. Sie erreichen die Konsole über die URL http://meinTriforkServer:8090/console. Voreingestellt lautet der Benutzername administrator und dessen Passwort trifork. Aktivieren Sie dort bei HTTP, DEFAULT_ENDPOINT die HTTPS-Option und geben Sie den gewünschten Port an.

Nach dieser Änderung muss der Trifork-Server neu gestartet werden, und Ihr Server kann anschließend via HTTPS erreicht werden.

Voreingestellt verwendet der Trifork-Server ein mitgeliefertes Schlüsselpaar und ein dazu gehörendes SSL-Zertifikat. Sie können jedoch auch eigene Schlüsselpaare und Zertifikate erzeugen. Hierfür benötigen Sie das mit dem Trifork-Server gelieferte Programm keytool von Sun Microsystems. Sie finden dieses Programm unterhalb des Installationsverzeichnisses in javaDir/bin, wobei javaDir das Verzeichnis des verwendeten JDK ist, also beispielsweise unter trifork-4.1.26/jdk-1.5.0/bin.

Schlüsselpaar erzeugen

Schlüsselpaare werden in einem so genannten Keystore abgelegt. Da mit einem Trifork-Server mehrere Websites betrieben werden können, ist der jeweils zu verwendende Keystore wählbar. Dies ist über die Management-Konsole in der oben genannten Sektion HTTP möglich.

Bei der Erzeugung des Schlüsselpaars muss ein Alias hierfür angegeben werden. Dabei handelt es sich um einen Bezeichner, mit dem Sie künftig das Schlüsselpaar referenzieren können. Ferner können Sie einen Keystore angeben. Wird der Keystore nicht angegeben, so wird das Schlüsselpaar im voreingestellten Keystore abgelegt. Geben Sie einen nicht existierenden Keystore an, so wird dieser automatisch erzeugt. Details hierzu und auch zu den folgenden Erläuterungen finden Sie in Suns JDK-Dokumentation:

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Security6.html
http://java.sun.com/j2se/1.3/docs/tooldocs/win32/keytool.html

Verwenden Sie die folgende Syntax, um ein Schlüsselpaar mit dem Alias alias-name zu erzeugen und im angegebenen Keystore abzulegen. Sowohl für den Zugriff auf das Schlüsselpaar selbst als auch auf den Keystore kann jeweils ein Passwort angegeben werden.

keytool -genkey -alias alias-name -keyalg RSA -keypass changeit -storepass changeit -keystore keystore.jks

Der mitgelieferte Keystore, keystore.jks ist voreingestellt mit dem Passwort changeit geschützt. Tragen Sie das Passwort in der Management-Konsole in der oben genannten Sektion (HTTP, DEFAULT_ENDPOINT) ein, damit der Trifork-Server auf den Keystore zugreifen kann.

Ein Schlüsselpaar aus dem Keystore zertifizieren

Ein Schlüsselpaar für die gesicherte Kommunikation zwischen Server und Clients wird erst dann als vertrauenswürdig eingestuft, wenn es zertifiziert wurde. Diese Aufgabe haben Zertifizierungsstellen wie VeriSign, Thawte usw. übernommen. Trifft ein Browser auf ein Zertifikat, das von einer solchen Zertifizierungsstelle erstellt wurde, stuft er es automatisch als vertrauenswürdig ein, wenn er entsprechend konfiguriert wurde.

In vielen Umgebungen reicht es aus, ein selbst erstelltes Zertifikat zu verwenden. In diesem Falle fungiert der Website-Betreiber gleichzeitig als Herausgeber des Zertifikats. Beim ersten Zugriff auf dessen Website wird der Browser den Benutzer daher fragen, ob er dem Zertifikat vertraut. Bejaht er dies, legt der Browser das Zertifikat im Speicher für vertrauenswürdige Zertifikate ab, um später nicht noch einmal fragen zu müssen.

Um dies zu ermöglichen, muss für das betreffende Schlüsselpaar ein Zertifikat aus dem Keystore exportiert werden. Dieses Zertifikat wird anschließend in den Truststore importiert. Hier ein Beispiel für diese beiden Schritte mit einem Schlüsselpaar namens alias-name und einem exportierten Zertifikat namens name.cer. Als Keystore und Truststore werden keystore.jks bzw. cacerts.jks verwendet.

keytool -export -alias alias-name -storepass changeit -file name.cer -keystore keystore.jks
keytool -import -v -trustcacerts -alias alias-name -file name.cer -keystore cacerts.jks \
  -keypass changeit -storepass changeit

Insgesamt wurden drei Dateien, keystore.jks, cacerts.jks und name.cer, angelegt, die sich nun im bin-Verzeichnis des Java-JDKs befinden. Um diese Dateien dem Trifork-Server bekannt zu machen, legen Sie sie bitte unter dem Pfad installDir/domains/default/servers/default/config ab. Sichern Sie vorher auf jeden Fall die bereits existierenden Dateien keystore.jks und cacerts.jks. In der Management-Konsole können Sie unter Security, SSL prüfen, ob der Trifork-Server das betreffende Zertifikat eingebunden hat.

Zur Umwandlung bestehender Zertifikate (*.pem; *.der; *.p12) in das Java-Keystore-Format können freie Tools aus dem Internet verwendet werden. Einzelne Zertifikatscontainer können mit OpenSSL (http://www.openssl.org/support/faq.html) in ein anderes Format konvertiert werden.