Eu finalmente encontrei como fazer meu certificado StartSSL funcionar com Dovecot e OpenSMTPD (5.4.2p1):
Para o Dovecot, você precisa concatenar a chave e o certificado em um arquivo pem - obrigado @Alexus - e adicionar essas linhas ao seu arquivo de configuração dovecot:
# blablabla
ssl = required
ssl_key = </home/mail/ssl/dovecot.pem # Key
ssl_cert = </home/mail/ssl/dovecot.pem # Certificate
ssl_ca = </home/mail/ssl/ca-bundle.pem # Server Certificate Bundle with CRLs
# blablabla
Veja link para mais informações.
O ca-bundle.pem
vem do StartSSL
Para o OpenSMTPD, faz muito tempo que entendo que ele funciona perfeitamente:
Eu usei o Thunderbird para testar a conexão com o Dovecot & OpenSMTPD, no entanto, um "bug" afeta o Thunderbird e me faz pensar que o OpenSMTPD tinha um erro de configuração:
Para usar o Thunderbird com o OpenSMTPD, você deve selecionar STARTTLS para autenticação no seu servidor smtp, senão você terá este erro quando estiver tentando se conectar:
Aug 26 22:06:47 asterix smtpd[5866]: smtp-in: New session 8b475ba3c3415a4d from host 37-161-XX-XX.coucou-networks.fr [37.161.XX.XX]
Aug 26 22:06:47 asterix smtpd[5866]: smtp-in: Bad input on session 8b475ba3c3415a4d: 500 5.5.1 Invalid command: Pipelining not supported
Aug 26 22:06:47 asterix smtpd[5866]: smtp-in: Closing session 8b475ba3c3415a4d
Meu smtpd.conf:
pki <hostname> key "/home/mail/ssl/opensmtpd.key"
pki <hostname> certificate "/home/mail/ssl/opensmtpd.crt"
pki <hostname> ca "/home/mail/ssl/ca-bundle.pem"
listen on eth0 port 25 hostname <hostname> tls pki <hostname>
listen on eth0 port 587 hostname <hostname> tls-require pki <hostname> auth mask-source
PS: Key e Cert estão em arquivos diferentes para o OpenSMTPD, não em um .pem como o Dovecot