Let's Encrypt começou a emitir certificados ECC por padrão desde o Certbot 2.0 . Isso não é um problema para navegadores modernos, mas os certificados Let's Encrypt também podem ser usados para outros fins além de HTTPS. Ou seja, alguns servidores SMTP ainda não suportam certificados ECC. Se esse servidor tentar estabelecer STARTTLS
conexão com o Postfix que usa certificados ECC, ele falhará.
Os logs indicam que não há cifra compartilhada, apesar de, por exemplo, o Wireshark mostrar que o Client Hello no handshake TLS possui claramente cifras comuns com a lista configurada via smtpd_tls_mandatory_ciphers = medium
.
postfix/smtpd[1337]: connect from mail.example.net[198.51.100.1]
postfix/smtpd[1337]: SSL_accept error from mail.example.net[198.51.100.1]: -1
postfix/smtpd[1337]: warning: TLS library problem: error:0A0000C1:SSL routines::no shared cipher:../ssl/statem/statem_srvr.c:2220:
postfix/smtpd[1337]: lost connection after STARTTLS from mail.example.net[198.51.100.1]
postfix/smtpd[1337]: disconnect from mail.example.net[198.51.100.1] ehlo=1 starttls=0/1 commands=1/2
O problema é causado pelo tipo de certificado. É possível obter certificados ECC e RSA do Let's Encrypt usando Certbot? Como configurar o Postfix para usar os dois ao mesmo tempo?