Damit die TLS-Zertifikate der Gegenstellen akzeptiert werden, müssen die CA-Zertifikate bekannt sein.
Dazu wird in der Datei /etc/postfix/main.cf folgende Zeile eingefügt
smtp_tls_CApath = /etc/ssl/certs/
Damit die Zertifikate auch erkannt werden, müssen sie vorher gehasht werden:
c_rehash $(postconf -h smtp_tls_CApath)
Zum Schluss noch ein
service postfix restart
Da postfix unter Debian allerdings in einer chroot-Umgebung läuft, muss der smtp_tls_CApath vor dem postfix Start in den chroot-Ordner (/var/spool/postfix) kopiert werden. Dies geschieht am einfachsten, wenn man in der /etc/init.d/postfix folgendes abändert (ab Zeile 77):
# # if we're using tls, then we need to add etc/ssl/certs/ca-certificates.crt. # if [ -f "/etc/ssl/certs/ca-certificates.crt" ]; then # smtp_use_tls=$(postconf -h smtp_use_tls) # smtp_enforce_tls=$(postconf -h smtp_enforce_tls) # smtpd_use_tls=$(postconf -h smtpd_use_tls) # smtpd_enforce_tls=$(postconf -h smtpd_use_tls) # case :$smtp_use_tls:$smtp_enforce_tls:$smtpd_use_tls:$smtpd_enforce_tls: in # *:yes:*) # mkdir -p etc/ssl/certs # cp /etc/ssl/certs/ca-certificates.crt etc/ssl/certs/ # esac # fi # if we're using CApath, we need to copy the whole directory ca_path=$(postconf -h smtp_tls_CApath) if [ "X$ca_path" != "X" ]; then /usr/bin/c_rehash $(postconf -h smtp_tls_CApath) > /dev/null # strip leading / ca_path="${ca_path#/}" # delete current copy [ -d ${ca_path} ] && rm -rf ${ca_path} mkdir -p ${ca_path} if [ -d /${ca_path} ]; then # copy hashes and dereference cp -L /${ca_path}/*.0 ${ca_path}/ chmod -R a+rX ${ca_path} fi fi
Quelle: http://bugs.debian.org/287795.