通过 jks 文件配置 dovecot 和 postfix ssl 设置

通过 jks 文件配置 dovecot 和 postfix ssl 设置

我有 CA JKS(Java 密钥库)文件,其中 CA 包已完全添加到其中,并且我们在 Java 方面没有遇到任何问题。

现在我该如何从这个 JKS 文件中导出/操作设置 dovecot 和 postfix ssl 设置 (使用 ca) 所需的密钥和资料?在 CA 管理部分,我会有 pem (用于我的所有证书、ca 和 root)、crt 和 p7b 文件,但仍然不知道如何配置。

答案1

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

相关内容