我有一个主要的ssl证书和链接在同一目录中的ssl证书,具有完全相同的权限和所有权。 我有Dovecot设置使用链接的证书文件。 它工作正常。 如果我使用主要(非链接)证书,我有一个邮件客户端不能与Dovecot交谈。 我有Postfix使用初级证书,而且基于我的testing看起来似乎很满意,据我所知,如果我不在那里使用链式证书,我可能会遇到麻烦。 有很多来源validation这个,例如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没有这个问题。 我错过了什么?
解决了。 这只是文件扩展名的问题! Postfix拒绝使用链接证书,除非它具有.pem扩展名。 对于非链接版本来说并不挑剔,其他服务器不关心这个细节。 这是相当薄弱的…至less修复是无痛的!
(顺便说一句,如果你想在使用两者时保持一致,Dovecot对于.pem是很好的。)