У меня есть файл CA JKS (Java Keystore), в который был полностью добавлен пакет CA, и у нас нет проблем с Java-материалами.
Теперь, как я могу экспортировать / управлять ключами и необходимыми материалами для настройки параметров ssl dovecot и postfix (с ca) из этого файла JKS? В разделе управления CA у меня были бы файлы pem (для всех моих сертификатов, ca и root), crt и p7b, но я все еще не знаю, как настроить.
И Postfix, и Dovecot используют пару сертификат-ключ, которая имеет тот же формат, что и пара сертификат-ключ Apache. Из-за этого вы можете украсть используйте решение из этого потока: Преобразование хранилища ключей Java в формат PEM.
Преобразуйте его в формат pkcs12
keytool -importkeystore -srckeystore foo.jks \
-destkeystore foo.p12 \
-srcstoretype jks \
-deststoretype pkcs12
Чтобы извлечь сертификат:
openssl pkcs12 -in foo.p12 -clcerts -nokeys -out servercert.pem
Чтобы извлечь закрытый ключ:
umask 0077
openssl pkcs12 -in foo.p12 -nocerts -nodes -out serverkey.pem
umask 0022
Последний шаг - настроить postfix / dovecot для использования этой пары. В Интернете есть множество руководств по его настройке.
Основной параметр для постфикс
# Server side TLS
smtpd_use_tls = yes
# private key file
smtpd_tls_key_file = /path/to/serverkey.pem
# key you generated at cacert.org
smtpd_tls_cert_file = /path/to/servercert.pem
Основной параметр для голубятня
ssl = yes
# Preferred permissions: root:root 0444
ssl_cert = </path/to/servercert.pem
# Preferred permissions: root:root 0400
ssl_key = </path/to/serverkey.pem