当 Postfix 收到电子邮件时,我在 mail.log 中注意到以下错误。
来自 domain.example.com [xxxx] -1 警告的 SSL_accept 错误:TLS 库问题:错误:14094416:SSL 例程:ssl3_read_bytes:sslv3 警报证书未知:../ssl/record/rec_layer_s3.c:1528:SSL 警报编号 46 :
我试图理解这意味着什么。证书似乎有问题。我相信我在配置中关闭了 sslv3,因为它被称为 !SSLv3。发送实体可以尝试使用 SSLv3 吗?如果是这样,这是否意味着消息没有通过 TLS 发送?无论上述错误如何,我最终都会收到该消息。
谢谢
编辑:openssl 命令的输出。抱歉截图。我无法正确格式化块引用。看起来它可能不像我的自签名证书?
确切地。这意味着另一个系统,即试图连接到您以传输邮件的系统,不信任您的证书,因为它不是由受信任的 CA 颁发的。一些发件人不强制执行这一点——即可能接受自签名证书——但有些发件人会这样做,而且您显然会得到一个这样做的人。您已经自行诊断了这一点。
不,函数名
ssl3_read_bytes
是因为从 SSL3 到包括 TLS1.0-1.3 在内的所有协议都使用相同的记录格式,因此首先为 SSL3 编写的低级函数被重用。(OTOH SSL2 使用了一种不同的记录格式,现在已经完全过时并被遗忘了。)错误文本sslv3 alert certificate unknown
是因为此警报首先在 SSL3 中定义,并且与(几乎所有)其他警报一样在更高的协议中保持不变,而其他一些较新的警报被添加。这些都不意味着正在使用SSL3协议。看起来自签名证书是问题所在。我使用 Let's Encrypt 创建了一个免费的。一旦我将服务器配置为使用该服务器,该错误就消失了。