web-dev-qa-db-ja.com

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サーバーに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コンテンツ

OS: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の場合、完全に機能することを理解するまでには長い時間がかかります。

私はサンダーバードを使用してDovecotとOpenSMTPDへの接続をテストしましたが、「バグ」がサンダーバードに影響を与え、OpenSMTPDの設定に誤りがあると思わせます。

https://github.com/OpenSMTPD/OpenSMTPD/issues/451

OpenSMTPDでThunderbirdを使用するには、SMTPサーバーへの認証にSTARTTLSを選択する必要があります。そうしないと、接続しようとしたときにこのエラーが発生します。

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]# 
2
alexus