Ho un certificato Comodo PositiveSSL emesso per mail.btcontract.com
e ho impostato Postfix e Dovecot per lavorare con esso nel seguente modo:
Postfix main.cf:
smtpd_tls_cert_file = /etc/ssl/mail/mail_btcontract_com.crt
smtpd_tls_key_file = /etc/ssl/mail/mail_btcontract_com.key
smtpd_tls_CAfile = /etc/ssl/mail/AddTrustExternalCARoot.crt
smtp_tls_CAfile = /etc/ssl/mail/AddTrustExternalCARoot.crt
dovecot.conf:
ssl_cert =< /etc/ssl/mail/mail_btcontract_com.pem
ssl_key =< /etc/ssl/mail/mail_btcontract_com.key
Ho generato pem
su crt
seguendo questo tutorial: link
Il problema è che quando provo a collegarmi al mio server da un client di posta Thunderbird vedo i seguenti errori:
Allo stesso tempo in /var/log/mail.log
vedo questo:
Nov 16 12:15:57 BTContractTest postfix/smtpd[22870]: connect from 51-28-134-95.pool.ukrtel.net[95.134.28.51]
Nov 16 12:15:58 BTContractTest postfix/smtpd[22870]: Anonymous TLS connection established from 51-28-134-95.pool.ukrtel.net[95.134.28.51]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
Nov 16 12:15:58 BTContractTest postfix/smtpd[22870]: warning: TLS library problem: 22870:error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca:s3_pkt.c:1258:SSL alert number 48:
Nov 16 12:15:58 BTContractTest postfix/smtpd[22870]: lost connection after STARTTLS from 51-28-134-95.pool.ukrtel.net[95.134.28.51]
Quando provo openssl s_client -connect mail.btcontract.com:143 -starttls imap
, prima vedo questo:
CONNECTED(00000003)
depth=0 OU = Domain Control Validated, OU = PositiveSSL, CN = mail.btcontract.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL, CN = mail.btcontract.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL, CN = mail.btcontract.com
verify error:num=21:unable to verify the first certificate
verify return:1
Cosa sta succedendo e cosa dovrei fare per risolvere tutto questo?
Inoltre, questi sono tutti i file che ho ricevuto dall'autorità di certificazione:
Non uso mai cerattori intermedi, potrebbe essere la fonte del problema?
UPDATE
Seguendo il consiglio di Thomas Pornin ho fatto quanto segue:
cat mail_btcontract_com.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt > full.crt
e poi in Postfix main.cf:
smtpd_tls_cert_file = /etc/ssl/mail/full.crt
smtpd_tls_key_file = /etc/ssl/mail/mail_btcontract_com.key
smtpd_tls_CAfile = /etc/ssl/mail/AddTrustExternalCARoot.crt
smtp_tls_CAfile = /etc/ssl/mail/AddTrustExternalCARoot.crt
dovecot.conf:
ssl_cert =< /etc/ssl/mail/full.crt
E ora sto riscontrando un errore diverso:
Nov 16 13:28:09 BTContractTest postfix/smtpd[23921]: warning: cannot get RSA private key from file /etc/ssl/mail/mail_btcontract_com.key: disabling TLS support
Nov 16 13:28:09 BTContractTest postfix/smtpd[23921]: warning: TLS library problem: 23921:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch:x509_cmp.c:330:
Ho provato a cambiare le posizioni dei certificati concatenati e ho anche cercato di includere root ca in questo modo:
cat AddTrustExternalCARoot.crt mail_btcontract_com.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt > full.crt
Ma nessuna fortuna finora.