Ich bin mal ins kalte Wasser gesprungen und habe mir Let’s Encrypt Zertifikate im Mailserver installiert. Da mein Webserver von einer (noch) nicht unterstützten Verwaltungssoftware betreut wird läuft da noch mein altes StartSSL Zertifikat. Aber auch da sollte es nur noch eine Frage der Zeit sein, bis Let’s Encrypt unterstützt wird.
Nach der Installation des Clients musste ich die Pfade zu den Zertifikaten anpassen.
Für Postfix in /etc/postfix/main.cf:
smtpd_tls_key_file = /etc/letsencrypt/live/[DOMAIN]/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/[DOMAIN]/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/[DOMAIN]/chain.pem
smtp_tls_CAfile = $smtpd_tls_CAfile
Und für Dovecot in /etc/dovecot/conf.d/10-ssl.conf:
ssl_cert = </etc/letsencrypt/live/[DOMAIN]/cert.pem
ssl_key = </etc/letsencrypt/live/[DOMAIN]/privkey.pem
ssl_ca = </etc/letsencrypt/live/[DOMAIN]/chain.pem
Dann lass ich schließlich einmal im Monat per Cron folgendes Script laufen:
#!/bin/bash
service apache2 stop
$HOME/.local/share/letsencrypt/bin/letsencrypt certonly -t --agree-tos -m [EMAIL] --renew-by-default --standalone -d [DOMAIN]
$HOME/.local/share/letsencrypt/bin/letsencrypt certonly -t --agree-tos -m [EMAIL] --renew-by-default --standalone -d [JABBERDOMAIN]
service apache2 start
service dovecot restart
service postfix restart
openssl pkcs12 -export -in /etc/letsencrypt/live/[JABBERDOMAIN]/fullchain.pem -inkey /etc/letsencrypt/live/[JABBERDOMAIN]/privkey.pem -out /etc/letsencrypt/live/[JABBERDOMAIN]/fullchain.pkcs12 -name [JABBERDOMAIN] -passout pass:changeit
keytool -delete -alias [JABBERDOMAIN] -storepass changeit -keystore /etc/openfire/security/keystore
keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore /etc/openfire/security/keystore -srckeystore /etc/letsencrypt/live/[JABBERDOMAIN]/fullchain.pkcs12 -srcstoretype PKCS12 -srcstorepass changeit -alias [JABBERDOMAIN]
service openfire restart
Es ist ein gutes Gefühl zu wissen, dass ich mich da nie wieder mit Zertifikaten werde herumschlagen müssen.
Und ja, das Default-Passwort von Openfires keystore ist anscheinend wirklich „changeit“. :-/