Global
The other side of verification: not us presenting a certificate, but someone presenting one to us. The line names the file with root certificates against which the chain presented by the client is verified.
This is needed only with mutual verification. Ordinary submission does not use it: the client encrypts the connection and authenticates with a login and password. Client certificates appear where the parties have agreed on exactly that.
Certificates are in PEM format, as everywhere.
The value is a file path. What to take into account:
| What | Note |
|---|---|
| your own authority’s list | the usual case for mutual verification |
| public roots | almost always superfluous: submitting clients are few and your own |
| certificate revocation | the node does not check it — a revoked but not expired certificate will pass |
Without an agreement with the submitting side the line is useless.
# mutual verification: your own authority issues certificates to submitters smtp-server-tls-ca-file /etc/pmta/certchain.pem
what people get wrong and how it ends1 mistake▶
our experience
1 relation
openssl crl2pkcs7 -nocrl -certfile /etc/pmta/certchain.pem | openssl pkcs7 -print_certs -noout
3 articles
◇Submission over HTTPS on its own listener, modeled on SparkPostA separate entry point: its own listener with a certificate, its own keys and a reserved source name through which the usual submission settings apply to such mail.◇The receiver declares an encryption requirement on its websiteThe node fetches the recipient domain’s policy over HTTPS and, if it is in enforce mode, delivers only when the MX matches, the connection is encrypted and the certificate is verified.◇The receiver declares an encryption requirement in its DNS zoneThe node looks at the recipient domain’s DANE records and, if STARTTLS is required, sends only over an encrypted channel with a certificate verified by fingerprint.