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.