JavaProgrammierungSoftware - Allgemein

Let’s encrypt in der Praxis

Eine professionelle Website sollte mit HTTPS funktionieren. Inzwischen gibt es Zertifizierungsstellen, die kostenfrei sind, so z.B. let’s encrypt. Provider wie Strato bieten diese Zertifizierungsmöglichkeit schon auf Knopfdruck an. Habe ich einen eigenen Server mit einigen Tomcat-Installationen, wird es dann problematisch, wenn der Tomcat nicht die Standardports nutzt. Ich habe z.B. auf meinem Server Bitbucket, Jira und Confluence laufen. Confluence hört auf die Standardports und ist somit mit der Standartinstallation abgedeckt, die anderen Tomcats laufen jedoch nicht mit dem generiertem Prozess.

Also muss man selbst Hand anlegen.

Let’s encrypt installieren

Ich arbeite unter Linux (Ubuntu). Zur installation benötigt es diese drei Befehle:

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-apache

Danach kann das let’s encrypt Zertifikat generiert werden:

sudo certbot --manual -d mwolff.info

Der Outpout ist eine Aufforderung eine Datei mit einem bestimmten Datenmuster zu erzeugen wie z.B.:

zIZX8A_QUvpi0jX12345hRK_dwR67890pM4LOmmuo_yYasd34dghnk9ebv84slXToAuai0

Die Datei muss dann unter einer bestimmten URL für lets encrypt zugänglich sein. Das ist der Validierungsprozess. Ich kann dann nachgucken, ob die Zertifizierung erfolgreich war:

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

Zertifikate erstellen

Der nächste Schritt ist dann das Zertifikat zu erstellen. Der certbot erzeugt eine Datei Namens fullchain.pem, die nun weiter genutzt werden kann.

openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out fullchain_and_key.p12 -name tomcat

Über das Java keytook kann dann der erstellte Key in den Schlüsselbund eingestellt werden.

keytool -importkeystore -deststorepass yourJKSpass -destkeypass yourKeyPass -destkeystore MyDSKeyStore.jks -srckeystore fullchain_and_key.p12 -srcstoretype PKCS12 -srcstorepass yourPKCS12pass -alias tomcat

Der letzte Schritt ist dann im Tomcat den Schlüssel im Connector einzufügen.

<Connector
port="8443"
protocol="org.apache.coyote.http11.Http11Protocol"
URIEncoding="UTF-8"
maxThreads="150"
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="/myPathToTheKeystore/MyDSKeyStore.jks"
keystorePass="yourJKSpass"
keyAlias="tomcat"
keyPass="yourKeyPass"/>

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert