Selbstsigniertes SSL Zertifikat für Tomcat und APR erstellen

Im letzten Blog-Eintrag zeigte ich, wie man die Tomcat-Native-Libraries mit APR installieren kann. Soll dazu SSL verwendet werden, benötigt der APR-Connector dazu ein PEM-kodiertes SSL-Zertifkat.

Ein selbstsigniertes Zertifikat lässt sich relativ leicht selbst erstellen.

Zunächst wird ein privater Schlüssel erzeugt:
openssl req -new -out tomcat.csr -keyout tomcat.pem
Generating a 1024 bit RSA private key
.......................................++++++
.++++++
writing new private key to 'tomcat.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Hamburg
Locality Name (eg, city) []:Hamburg
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Timo Meinen
Organizational Unit Name (eg, section) []:localhost
Common Name (eg, YOUR name) []:localhost
Email Address []:timomeinen@gmail.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Anschließend liegen zwei Dateien im Verzeichnis: Der private Schlüssel tomcat.pem und der Certifikation-Request tomcat.csr.

Mit dem folgenden Befehl kann man ein unverschlüsseltes Zertifikat erzeugen:
openssl rsa -in tomcat.pem -out tomcat.key
Enter pass phrase for tomcat.pem:
writing RSA key

Der letzte Schritt ist die Selbstsignierung des Zertifikates. Dieses kann dann gemeinsam mit dem privaten Schlüssel in Tomcat konfiguriert werden:
openssl x509 -in tomcat.csr -out tomcat.crt -req -signkey tomcat.key
Signature ok
subject=/C=DE/ST=Hamburg/L=Hamburg/O=Timo Meinen/OU=localhost/CN=localhost/emailAddress=timomeinen@gmail.com
Getting Private key

Die .csr und die .pem Datei kopiert man nun an einen geeigneten Platz z.B.
cp tomcat.* /Applications/apache-tomcat-6.0.26/conf/

Die Konfiguration in Tomcats server.xml ist schnell gemacht:

<connector port="8443" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
SSLCertificateFile="/Applications/apache-tomcat-6.0.26/conf/tomcat.crt"
SSLCertificateKeyFile="/Applications/apache-tomcat-6.0.26/conf/tomcat.pem"
SSLPassword="changeit"
clientAuth="optional" SSLProtocol="TLSv1"/>

Der Unterschied zur Konfiguration mit einem Keystore sind die drei Anweisungen SSLCertificateFile, SSLCertificateKeyFile und SSLPassword. Sie werden hier erklärt.

Nun kann Tomcat von APR und OpenSSL profitieren.

Eine schöne Übersicht über das Thema SSL-Zertifakte erstellen gibt es u.a. in Jian Fang’s Wiki.

One Comment

Comments are closed.