StartSSL 證書不適用於 Dovecot/OpenSMTPD
我的 StartSSL 證書有問題。當我嘗試使用它在 Dovecot 上啟動 SSL 加密時,當客戶端嘗試連接到 imap 伺服器時,我的日誌中出現以下錯誤:
dovecot: imap-login: Fatal: Couldn't parse private ssl_key: error:0906D06C:PEM routines:PEM_read_bio:no start line: Expecting: ANY PRIVATE KEY dovecot: master: Error: service(imap-login): command startup failed, throttling for 16 secs
但是,我遵循了本教程:SSL 如何:在 Dovecot IMAP serer 上安裝 ssl | ErlyCoder和我的私鑰(沒有密碼)和證書都存在於它們必須存在的地方,所以我不明白為什麼它不起作用
在我的 dovecot.conf 文件中:
ssl_key = /home/mail/ssl/****.key ssl_cert = /home/mail/ssl/****.pem
證書文件按此順序包含:
- 我的證書
- StartSSL 中的 sub.class1.server.ca.pem 內容
- StartSSL 中的 ca.pem 內容
作業系統:Debian 8
謝謝
我終於找到瞭如何使我的 StartSSL 證書與 Dovecot 和 OpenSMTPD (5.4.2p1) 一起使用:
對於 Dovecot,您需要將密鑰和證書連接到 pem 文件中 - 感謝@Alexus - 並將這些行添加到您的 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
有關詳細資訊,請參閱http://wiki.dovecot.org/SSL/DovecotConfiguration。來自
ca-bundle.pem
StartSSL對於 OpenSMTPD,我理解它完美執行已經很久了:
我使用 Thunderbird 來測試與 Dovecot 和 OpenSMTPD 的連接,但是一個“錯誤”影響了 Thunderbird,讓我認為 OpenSMTPD 配置錯誤:
https://github.com/OpenSMTPD/OpenSMTPD/issues/451
要將 Thunderbird 與 OpenSMTPD 一起使用,您必須選擇 STARTTLS 對您的 smtp 伺服器進行身份驗證,否則在嘗試連接時會出現此錯誤:
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
我的 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:密鑰和證書位於 OpenSMTPD 的不同文件中,而不是像 Dovecot 這樣的 .pem
根據您提供的該文件,嘗試僅將私鑰和證書放入
.pem
並使用相同的文件ssl_cert
和ssl_key
.來自我自己的系統:
[root@j /usr/local/etc/dovecot/conf.d]# grep ^ssl_ 10-ssl.conf ssl_cert = </usr/local/etc/dovecot/alexus.biz.pem ssl_key = </usr/local/etc/dovecot/alexus.biz.pem [root@j /usr/local/etc/dovecot/conf.d]# grep ^- /usr/local/etc/dovecot/alexus.biz.pem -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- [root@j /usr/local/etc/dovecot/conf.d]#