Let’s Encrypt mit Postfix, Dovecot und Openfire einsetzen

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“. :-/

6 Gedanken zu „Let’s Encrypt mit Postfix, Dovecot und Openfire einsetzen

  1. Katharina

    Ähhhhm… bin ich jetzt die Einzige, die mit einer Wolke voller Fragzeichen über dem Kopf dasitzt? 😀 Aber Hauptsache, du verstehst, was du da tust 😉

  2. Felix

    Hi Björn,

    deine Anleitung hat super funktioniert mit Openfire, vielen Dank. Dein Script macht einen Import in den Keystore von Openfire. Was ist mit dem Truststore. Welches Zertifikat muss dort hinterlegt werden? Hab es auch schon mit dem Intermediate von https://letsencrypt.org/certificates/ versucht, leider ohne Erfolgt.
    Leider bekomme ich beim Client Connect immer noch eine Zertifikatsfehlermeldung. Hast du noch einen Tipp? Viele Grüße Felix

  3. Björn Tantau Beitragsautor

    Es ist ne Weile her und inzwischen habe ich auch keinen XMPP-Server mehr. Aber soweit ich mich erinnere musste ich nichts mit dem Truststore machen. Hast du die ganze Fehlermeldung? Vielleicht ist das Zertifikat ja auf die falsche Domain ausgestellt.

  4. Felix

    ok jetzt klappt es doch auf einmal auch wenn ich die Option in Client Spark „accept all certificates“ ausschalte sprich das ausgestellte Lets Encrypt Zertifikat wird als gültig angesehen.
    Übrigens hab ich beide Intermediate Zertifkate im Truststore hinterlegt.

    Bist du auf einen anderen Messaging Dienst umgestiegen oder was war der Grund wieso du keinen XMPP Server mehr hast? Grüße

  5. Björn Tantau Beitragsautor

    Ich habe das vor allem Mobil genutzt. Nur leider gibt es keinen vernünftigen Android-Client, weil fucking Android darauf besteht keine Hintergrunddienste zuzulassen. Das hat dann zu häufig dazu geführt, dass Nachrichten nicht oder zu spät ankamen.
    Ich bin jetzt auf Signal umgestiegen. Sollte soweit sicher sein, aber glücklich bin ich damit trotzdem nicht. Wird Zeit, dass es endlich wieder vernünftige Betriebssysteme auf Telefonen gibt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.