2015-04-19 71 views
1

Thunderbird不連接到Postfix/Dovecot。
我的網絡郵件界面與登錄([email protected] +密碼),
傳入(SSL/TLS,端口993)和傳出消息(STARTTLS,端口587)一起使用。
我做了一些調試,並知道它必須是證書錯誤。
有人在這裏知道如何解決它,請?

這是我mail.log與SSL調試:雷鳥不連接到Postfix/Dovecot。 Webmail工程

Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: elliptic curve secp384r1 will be used for ECDH and ECDHE key exchanges 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: elliptic curve secp384r1 will be used for ECDH and ECDHE key exchanges 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x10, ret=1: before/accept initialization [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: before/accept initialization [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2002, ret=-1: unknown state [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3 read client hello A [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3 write server hello A [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3 write certificate A [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3 write key exchange A [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3 write server done A [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: SSLv3 flush data [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3 read client certificate A [x.x.x.x] 
Apr 26 16:57:28 m123851 dovecot: imap-login: Debug: SSL: where=0x2002, ret=-1: SSLv3 read client certificate A [x.x.x.x] 
Apr 26 16:57:29 m123851 dovecot: imap-login: Warning: SSL alert: where=0x4004, ret=560: fatal unknown CA [x.x.x.x] 
Apr 26 16:57:29 m123851 dovecot: imap-login: Warning: SSL failed: where=0x2002: SSLv3 read client certificate A [x.x.x.x] 
Apr 26 16:57:29 m123851 dovecot: imap-login: Disconnected (no auth attempts in 1 secs): user=<>, rip=192.x.x.x, lip=85.x.x.x, TLS handshaking: SSL_accept() failed: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca: SSL alert number 48, session=<NDYo2aEUWQAfBhbN> 

這是我達夫科特SSL-config文件(/etc/dovecot/conf.d/10-ssl.conf):

# Log SSL problems 
verbose_ssl = yes 

ssl = required 

ssl_cert = </etc/dovecot/dovecot.pem 
ssl_key = </etc/dovecot/private/dovecot.pem 

ssl_protocols = !SSLv3 !SSLv2 

ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+ 
        SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+ 
        CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5: 
        !EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA: 
        AES256-SHA:CAMELLIA128-SHA:AES128-SHA 

ssl_prefer_server_ciphers = yes 

Dovecot的SSL證書是爲本地主機設置的。
當我試圖在我的根CA和域名證書融入dovecot的證書,這個問題依然存在:
dovecot.pem證書 = dovecot的證書內容+域名證書內容+根CA證書內容(恰好從從上至下依次至底部)
dovecot.pem鍵 = dovecot的證書密鑰+域證書密鑰+根CA證書密鑰(恰好以該順序從頂部至底部)

回答

2

雷鳥期待的dovecot與它所需要的證書提供它驗證連接(中間證書或自簽名CA證書)。請查看http://wiki2.dovecot.org/SSL/DovecotConfiguration中的「鏈接SSL證書」。

您可以通過向SSL證書文件(/etc/ssl/certs/imap.pem或您的ssl_cert指向的任何位置)添加中間證書來解決此問題。如果您從供應商處獲得了SSL證書,則應該提供有關如何獲取中間證書的說明。

+0

我在帖子中添加了我的dovecot ssl配置文件。 dovecot.pem包含「localhost」作爲通用名稱。如何添加自簽名鏈接的ssl證書,以便不僅用於本地主機,而且還用於三個域以及localhost:127.0.0.1,domain1.tld,domain2.tld,domain3.tld?你能舉一個你的解決方案的例子嗎? – udgru

+0

您是否試過將所有這些證書粘貼到您的ssl_cert文件中? –

+0

是的,但dovecot不能重新啓動。它在mail.err日誌中說:「dovecot:imap-login:致命:無法加載私有ssl_key:密鑰是針對與ssl_cert不同的證書」。 – udgru