Postfix: Problem CA-Zertifikat zu konfigurieren

Just Matt

Just Matt

Eroberer
[gelöst] Postfix: Problem CA-Zertifikat zu konfigurieren

Hallo zusammen,

habe auf meinem Server ein von Geotrust signiertes Zertifikat installiert. Da auf meinem Server Plesk 10.3 installiert ist, habe ich das Zertifikat unter dieser Oberfläche hinzugefügt. Im Browser funktioniert auch alles und es kommt zu keinen Fehlermeldungen (mehr).

Jetzt bin ich dabei das gleiche für Postfix umzusetzen. Allerdings hakt es hier gewaltig. Das Zertifikat wird zwar erkannt (bei mir unter /etc/postfix/postfix_default.pem), aber das CA-Zertifikat scheint irgendwie nicht zu funktionieren.

Ich habe in der /etc/postfix/main.cf folgende Zeile ergänzt: smtpd_tls_CAfile = /etc/postfix/cacert.pem

Natürlich habe ich die Datei dann auch entsprechend angelegt und das 3 teilige / 3 Bereiche umfassende (!) CA-Zertifikat dort reingepackt. Nach einem Neustart keine Veränderung, sondern eine Fehlermeldung vom Mail-Client ("Dieses Zertifikat wurde von einer unbekannten Instanz signiert"). Dann hab ich mir gedacht, dass ich vielleicht nur die ersten beiden CA-Zertifikate (so wie von Geotrust zum Download angeboten) in die cacert.pem packe - auch das leider ohne Erfolg. Zu guter Letzt habe ich nur das Root-Zertifikat (aus diesen 3 Bereichen) dort reingepeichert, aber auch das funktioniert nicht.

Jetzt bin ich mit meinem Alphabet am Ende und der Tag ist zwischenzeitlich dem Abend gewichen :think:

Kann mir da jemand auf die Sprünge helfen?
 
Zuletzt bearbeitet:
smtpd_tls_CAFile ist dafür da, CAs einzustellen denen der Server vertraut für die Signatur von Clientzertifikaten. Du willst eher smtpd_tls_cert_file
 
smtpd_tls_CAFile ist dafür da, CAs einzustellen denen der Server vertraut für die Signatur von Clientzertifikaten. Du willst eher smtpd_tls_cert_file

ich hab in der main.cf die folgenden Einträge:

smtpd_tls_cert_file = /etc/postfix/postfix_default.pem
smtpd_tls_key_file = $smtpd_tls_cert_file
smtpd_tls_CAfile = /etc/postfix/cacert.pem

In der postfix_default.pem liegen entsprechend der Private Key gefolgt von dem Zertifikat.

In der cacert.pem habe ich 3 Zertifikate untereinander (2 CA und 1 Root-Zertifikat von Geotrust). Bei Plesk funktioniert das einwandfrei. Bei Postfix offensichtlich aber nicht, denn im Mail-Client wird zwar das richtige Zertifikat angezeigt, aber mit dem Hinweis "Dieses Zertifikat wurde von einer unbekannten Instanz signiert".

Ich hatte smtpd_tls_CAfile auch mal auskommentiert und dann die 3 Zertifikate unterhalb der postfix_default.pem eingefügt, hat allerdings auch nicht funktioniert :(
 
Ich glaube du musst im Client das CA angeben.

Für den Server: smtpd_...
Für den Client : smtp_...
 
Ich glaube du musst im Client das CA angeben.

Für den Server: smtpd_...
Für den Client : smtp_...

Danke für den Tipp, dass werd ich heute abend mal ausprobieren.

Wie muss denn der CA-File aussehen?

Schon in dem Format:

-----BEGINN CERTIFICATE-----
MIIIJHVVUZVUVU ...
-----END CERTIFICATE------
-----BEGINN CERTIFICATE-----
MIIFUJZGjugfjzigUZGIZ ...
-----END CERTIFICATE------
-----BEGINN CERTIFICATE-----
MIIFUJZKjkjnKJHKJkngTgZUI ...
-----END CERTIFICATE------

oder? Bei mir soll das CA-Zertifikat angeblich so aussehen (laut Geotrust) und wie gesagt bei Plesk haut's auch so hin.
 
In der postfix_default.pem liegen entsprechend der Private Key gefolgt von dem Zertifikat.
Da muss alles rein. Key, Zertifikat, Intermediate-Zertifikat, Rootcert (letzteres ist optional). Da steckt irgendwo ein Aufruf von SSL_CTX_use_certificate_chain_file dahinter.
 
Moin,

habe grade mal bei uns gespickt:

smtpd_tls_cert_file und smtpd_tls_CAfile zeigen bei uns auf das selbe File.

Bei dir einmal auf
smtpd_tls_cert_file = /etc/postfix/postfix_default.pem und
smtpd_tls_CAfile = /etc/postfix/cacert.pem.

Zumindest wenn es kein Fehler vom Copy & Paste ist.

mfg
HeadCrash
 
Jo, danke Euch.

Habe jetzt die main.cf auf smtpd_tls_CAfile = $smtpd_tls_cert_file abgeändert

Anschließend habe ich Intermediate-Zertifikate bzw. die Intermediate-Zertifikate und das Root-Zertifikat (wie's im Plesk steht) angefügt. Hat leider beides nichts bewirkt.

Der Mail-Client gibt unverändert eine Fehlermeldung aus (Dieses Zertifikat wurde von einer unbekannten Instanz signiert).

Oder muß ich das CA-Zertifikat vielleicht in diese Datei nachsetzen:

/etc/pki/tls/certs/localhost.crt ?
 
So, habe den "Fehler" gefunden. Mail 5.1 auf dem Mac speichert sich das korrekte Zertifikat nicht, sondern zeigt stattdessen die Fehlermeldung, dass der Herausgeber des Zertifikats nicht verifiziert werden kann. Guckt man sich das Zertifikat in der Fehlermeldung an, dann sieht man dort ganz klar den Aussteller (in meinem Fall Geotrust) und alle anderen Daten. Keine Ahnung, weshalb das bei Mail hakt, aber ich habe das Zertifikat nun manuell gespeichert und seitdem logischerweise auch keine Fehlermeldung mehr erhalten.

Habe dann mal mit Outlook getestet und dort wurde das Zertifikat auch ohne Knurren akzeptiert.

Gestern hatte ich eine ähnliche Situation mit dem Shopsystem Magento allerdings auf einer anderen Domain und einem anderen Zertifikat. Wollte im Backendbereich über den Safari-Browser nur ein Artikelbild hochladen und erhalte von Magento eine SSL-Fehlermeldung, dass es sich um ein selbsterstelltes Zertifikat handelt, was gar nicht stimmt (im Browser wird dieses Zertifikat tadellos erkannt). Auf meinem Windows-Rechner und dem Firefox konnte ich das problemlos ohne Fehlermeldung machen.
 

Ähnliche Themen

postfix SMTP mit TLS certi will nicht

Zurück
Oben