Einrichtung SSL Zertifikat in Tomcat

Zuerst muss man wissen, wie die Zertifizierung eines Webservers bei Tomcat grundlegend funktioniert.

Das Vorgehen ist das Folgende:

– Keystore anlegen und Key generieren
– CSR (ein digitaler Zertifikatantrag) erstellen
– Den CSR an einen Zertifizierer senden und das Zertifikat beantragen
– Das Zertifikat mit zugehörigen RootZertifikaten importieren
– (Alternativ:) Keystore in Webserver kopieren
– Server.xml anpassen

Hier das ausführliche Vorgehen:

Die folgenden Anweisungen werden in der Commandbox im Pfad „C:\Program Files\Java\jre6\bin>“ ausgeführt! Der Pfad variiert je nach OS und Sprache. (Bsp hier Win2003, english)

Erstellen des Keystores und generieren des Keys:
(Bitte beachten: Bei Tomcat ist es zwingend erforderlich, dass das Keystorepasswort und das Keypasswort identisch sind)

keytool -genkey -alias ALIAS -keysize 2048 -keyalg RSA -dname „CN=99.99.99.99, O=NAME, OU=EINHEIT, L=LOCATION, S=REGION, C=DE“ -keypass PASSWORT-validity 1080 -keystore ALIAS.keystore -storepass PASSWORT

Dabei sollten einige Anpassungen gemacht werden:
ALIAS: einen Alias für den Key geben. Diesen aufschreiben.
99.99.99.99: In die URL oder die IP des zu sichernden Servers ändern.
NAME, EINHEIT (Abteilung), LOCATION, REGION: Jeweils durch eigene Angaben ersetzen.
PASSWORT: beide Passworteinträge durch ein eigenes ersetzen. (!Müssen identisch sein)

Zertifikatantrag erstellen:

keytool -certreq -keyalg RSA -alias ALIAS -keystore ALIAS.keystore -file 99_99_99_99.csr -keypass PASSWORT -storepass PASSWORT

Wiederum Filename, Alias und Passwort durch die Angaben aus der Keygenerierung ersetzen. Das generierte CSR File findet sich dann im Bin Verzeichnis, aus welchem man das Keytool ausführt.

CSR zum Zertifikatantrag nutzen:

Es gibt eine ganze Reihe von Zertifizierungsanbietern. Der bekannteste dürfte Verisign sein, wobei dieser auch zu den teuersten gehört. Persönlich gute Erfahrungen habe ich mit PSW gemacht. Diese bieten auch ein 30 Tage Webserver Zertifikat zum Testen an – kostenlos. (Link: nennt sich „New-Silver“)
Neben dem Inhalt des CSR muss man Angaben zur Person / Unternehmung machen. Das Zertifikat ist im Normalfall binnen 20 Minuten nach Absenden des Antrags da.

Zertifikat im Webserver importieren:

Per Mail sollte nun eine Zip File im Postfach aufgeschlagen sein. Diese enthält neben dem 99_99_99_99.crt auch die Chaincerts. Das sind die Zertifikate die in der Hierarchie zum Root über einem stehen. Diese müssen auch importiert werden. Wichtig ist dabei, dass man das Root Zertifikat als erstes importiert, dann das/die nächstgelegene Chaincert und am Schluß das eigene Webserverzertifikat.

keytool -import -keystore ALIAS.keystore -alias root -import -trustcacerts -file AddTrustExternalCARoot.crt -keypass PASSWORT -storepass PASSWORT

keytool -import -keystore ALIAS.keystore -alias trustserver -import -trustcacerts -file UTNAddTrustServerCA.crt -keypass PASSWORT -storepass PASSWORT

keytool -import -keystore ALIAS.keystore -v -trustcacerts -alias ALIAS -file 99_99_99_99.crt -keypass PASSWORT -storepass PASSWORT

(Alternativ:) Keystore in Webserver kopieren

Sie finden das ALIAS.keystore normal direkt im Userverzeichnis. Dieser ist je nach OS unter C:\Documents and Settings\username\ oder C:\Users\username.
Den Keystore einfach unter Webapps im Tomcat Installationsverzeichnis ablegen.

Anpassung Server.xml

Folgenden Eintrag auskommentieren:

<!–APR library loader. Documentation at /docs/apr.html –>
<!–<Listener className=“org.apache.catalina.core.AprLifecycleListener“ SSLEngine=“on“ />–>

Folgenden Eintrag einfügen:

<Connector port=“443″ protocol=“org.apache.coyote.http11.Http11Protocol“ maxThreads=“200″
scheme=“https“ secure=“true“ SSLEnabled=“true“
keystoreFile=“/webapps/ALIAS.keystore“ keystorePass=“PASSWORT“
clientAuth=“false“ sslProtocol=“TLS“/>

Hinweis: Sollte der Keystore nicht verschoben worden sein, muss der Pfad angepasst werden.

Webserver neustarten – SSL ist nun aktiv und kann über https angesprochen werden!

  1. No trackbacks yet.

Du musst angemeldet sein, um einen Kommentar abzugeben.
%d Bloggern gefällt das: