Во второй версии dovecot’а есть возможность указывать разные сертификаты для разных доменов (IP адресов и протоколов).
Для этого создаем шаблон:
[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
# country (2 letter code)
#C=FI
# State or Province Name (full name)
#ST=
# Locality Name (eg. city)
#L=Helsinki
# Organization (eg. company)
#O=Dovecot
# Organizational Unit Name (eg. section)
OU=IMAP server
# Common Name (*.example.com is also possible)
CN=imap.example.com
# E-mail contact
emailAddress=postmaster@example.com
[ cert_type ]
nsCertType = server
и сертификат:
# openssl req -new -x509 -nodes -config cert.cnf -out dovecot-domain-crt.pem -keyout dovecot-domain-key.pem -days 365
перемещаем сертификат и ключ куда надо, задаем права на файлы и т.д.
# mv dovecot-crt.pem /etc/pki/dovecot/cert/dovecot-domain-crt.pem
# mv dovecot-key.pem /etc/pki/dovecot/private/dovecot-domain-key.pem
# chmod 0600 /etc/pki/dovecot/cert/dovecot-domain-crt.pem
# chmod 0600 /etc/pki/dovecot/private/dovecot-domain-key.pem
# openssl x509 -subject -fingerprint -noout -in /etc/pki/dovecot/certs/dovecot-domain-crt.pem
далее необходимо поправить конфигурацию ssl для dovecot /etc/dovecot/conf.d/10-ssl.conf находим
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
и НИЖЕ ДОБАВЛЯЕМ
local xx.xx.xx.xx {
protocol pop3 {
ssl_cert = </etc/pki/dovecot/certs/dovecot-domain-crt.pem
ssl_key = </etc/pki/dovecot/private/dovecot-domain-key.pem
}
}
Стандартную секцию необходимо оставить, иначе вы будете получать ошибку doveconf: Error: ssl enabled, but ssl_cert not set
вместо local <ваш IP> можно использовать local_name domain.tld, в этом случае секция с protocol pop3 не нужна, но вам понадобится поддержка TLS SNI (Server Name Indication)!