我通过将这些字符串添加到01_exim4-config_listmacrosdefs
. 我使用拆分配置
MAIN_TLS_ENABLE = yes
MAIN_TLS_CERTKEY = /etc/exim4/example.com.crt
MAIN_TLS_PRIVATEKEY = /etc/exim4/example.com.key
所以重新启动后,连接到端口 465,输入EHLO
,STARTTLS
我得到了这个:454 TLS currently unavailable
在日志中我有这个:
13:29:36 10872 SMTP<< STARTTLS
13:29:36 10872 initialising GnuTLS as a server
13:29:36 10872 GnuTLS global init required.
13:29:36 10872 initialising GnuTLS server session
13:29:36 10872 Expanding various TLS configuration options for session credentials.
13:29:36 10872 certificate file = /etc/exim4/example.com.crt
13:29:36 10872 key file = /etc/exim4/example.com.crt
13:29:36 10872 LOG: MAIN
13:29:36 10872 TLS error on connection from (192.168.1.111) [91.210.44.50] (cert/key setup: cert=/etc/exim4/example.com.crt key=/etc/exim4/example.com.crt): Error in parsing.
为什么 exim 对证书和密钥使用相同的文件?怎么修?
我应该使用
MAIN_TLS_CERTIFICATE
而不是MAIN_TLS_CERTKEY
.@chicks 如果服务器故障允许我,我会投票。
仍然吸引人(即两年后的我)。
从技术上讲,
conf.d/main/03_exim4-config_tlsoptions
如果您在同一个文件中拥有证书和密钥,则使用MAIN_TLS_CERTKEY
. 这是不好的做法,但允许。我掩饰了这一点,直接进入了
ifdef
陈述。其中第一个是:我完全错过了这
.else
部分:TL;DR:是的,设置
MAIN_TLS_CERTIFICATE
而不是MAIN_TLS_CERTKEY
.