SSL Zertifikat in Cyrus/Postfix einbinden

german

#1

Hallo,

nachdem ich versucht hatte nach folgender Anleitung:

http://sdb.univention.de/content/15/230/en/using-your-own-ssl-certificates.html

meine von ssl-marked erstellten Zertifikate zu verwenden konnte ich weder über cyrus auf die mails zugreifen noch über postfix welche versenden.

Um zu sehen was für ein Zertifikat verwendet wird habe ich mal openssl s_client -connect 192.168.85.200:143 -starttls imap ausgeführt und bekam folgende Ausgabe:

CONNECTED(00000003)
140239697102480:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:794:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 588 bytes and written 341 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
---

Somit wird das Zertifikat wohl nicht verwendet. Wenn ich die Originaldateien von cert und key (vom UCS-Server selbst signiert) angebe werden diese ohne Problem verwendet. Beim betrachten der cert.pem von UCS sehe ich auch vor dem ----BEGIN CERTIFICATE---- einen “Vorspann” der bei den Zertifikatsdateien von ssl-market nicht dabei ist. Liegt es daran oder wo kann ich anfangen zu suchen?

Danke für Eure Hilfe

Gruß
Jochen


#2

Beim PEM-Format und das wird hier wohl gebraucht, ist nach meiner Kenntnis das Zertifikat Base64 kodiert und in die erwähnten “-----BEGIN CERTIFICATE-----” und "-----END CERTIFICATE----- " Blöcke eingebettet. Die Datei die Sie haben ist vermutlich in einem anderen Format.
Je nach Zertifizierungsstelle kann es nötig sein, der Software das Intermediate Zertifikat bekannt zu machen. Wenn die jeweilige Software dafür keine Konfiguration kennt kann man die Kette auch über nacheinander geklebte Zertifikate in einer Datei herstellen.

hth,
Dirk


#3

Postfix braucht meines Wissens .pem-Zertifikate und zwar als “Full chain”, also CA, Intermediate und Hostzertifikat in eine Datei - Die dann auch noch alle das gleiche Format haben sollen.

Also .crt mit OpenSSL in .pem umwandeln und dann erst mit cat zusammenführen.
Auch dann noch einmal die endgültige Datei anschauen, gelegntlich wird da mal ein Zeilenumbruch übersehen!


#4

Hallo,

also ich habe mehrere Dateien vom Zertifizierer bekommen. Alle haben den Aufbau —BEGIN CERTIFICATE---- / ----END CERTIFICATE---- und sollten somit das passende Format haben.

Eine Datei heist certificate_subdomain.host.de.txt, die nächste linux_intermediate.pem und die 3. linux_cert+ca.pem

In der linux_cert+ca.pem sind die erste und die zweite übereinander drin.

Wenn ich jetzt den Beitrag von Jeroen lese sollte noch ein drittes Zertifikat der CA mit drin sein. Wo bekomm ich das her? Vom Anbieter?


#5

Zum Vergleich:
Bei Lets Encrypt (univention-letsenrypt) ist die Konfiguration für Postfix über UCRV so gebaut:

mail/postfix/ssl/cafile: /etc/univention/letsencrypt/chained.pem
mail/postfix/ssl/capath: <empty>
mail/postfix/ssl/certificate: /etc/univention/letsencrypt/signed.crt
mail/postfix/ssl/key: /etc/univention/letsencrypt/domain.key

Das chained.pem wird durch das Skript wie folgt gebaut:
cat "$DIR_LE/signed.crt" "$DIR_LE/intermediate.pem" > "$DIR_LE/chained.pem"

Das sollte Ihrem linux_cert+ca.pem entsprechen.

Die jeweilige Root-CA braucht man nach meiner Erfahrung bei kommerziellen Zertifikaten zumeist nicht.
Wenn doch, schauen Sie bitte mal auf Intermediate und Root Zertifikate unserer CAs (CA bundle)