Назад | Перейти на главную страницу

Сертификат StartSSL не работает с Dovecot / OpenSMTPD

У меня проблема с моим сертификатом StartSSL. Когда я пытаюсь использовать его для активации SSL-шифрования на Dovecot, я получаю следующую ошибку в моем журнале, когда клиент пытается подключиться к серверу 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 как установить ssl на сервер Dovecot IMAP | ErlyCoder и мой закрытый ключ (без ключевой фразы) и сертификат присутствуют там, где они должны быть, поэтому я не понимаю, почему он не работает

В моем файле dovecot.conf:

ssl_key =   /home/mail/ssl/****.key
ssl_cert =  /home/mail/ssl/****.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, а не в .pem, таком как Dovecot

в соответствии с этим документом, который вы предоставили, попробуйте поместить только закрытый ключ и сертификат в .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]#