我在同一个目录中有一个主 SSL 证书和一个链式 SSL 证书,它们具有完全相同的权限和所有权。我已将 Dovecot 设置为使用该链式证书文件。它工作正常。如果我使用主(非链式)证书,我的邮件客户端将无法与 Dovecot 通信。我的 Postfix 使用主证书,根据我的测试,它似乎对此很满意,但据我了解,如果我不在那里使用链式证书,我可能会遇到麻烦。有许多来源证实了这一点,例如https://knowledge.geotrust.com/support/knowledge-base/index?page=content&id=SO17341&actp=AGENT_REFERAL
但是,当我将 Postfix 更改为使用链式证书时,它会卡住并抱怨毫无意义的权限错误。这出现在我的邮件日志中:
Oct 10 15:06:07 XXXXXXXXX postfix/submission/smtpd[31154]: warning: cannot get RSA certificate from file /usr/etc/ssl/certs/XXXXXXXX/XXXXXXXXX-chained.crt: disabling TLS support
Oct 10 15:06:07 XXXXXXXXX postfix/submission/smtpd[31154]: warning: TLS library problem: 31154:error:0200100D:system library:fopen:Permission denied:bss_file.c:398:fopen('/usr/etc/ssl/certs/XXXXXXXX/XXXXXXXXX-chained.crt','r'):
正如我所说,它所满意的文件与此文件的权限相同,而 Dovecot 没有这样的问题。我遗漏了什么?
答案1
解决了。这只是文件扩展名的问题!除非有 .pem 扩展名,否则 Postfix 拒绝使用链式证书。它对非链式版本并不挑剔,其他服务器也不关心这个细节。这很弱……至少修复起来很轻松!
(顺便说一句,如果您想在使用两者时保持一致,Dovecot 也可以使用 .pem。)