Linux

StartSSL 證書不適用於 Dovecot/OpenSMTPD

  • August 26, 2015

我的 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.pemStartSSL

對於 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_certssl_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]# 

引用自:https://serverfault.com/questions/717019