DKIM 签名 – DKIM-Signature 中的重复标头签名

DKIM 签名 – DKIM-Signature 中的重复标头签名

我的电子邮件已通过 DKIM 签名,但我注意到邮件DKIM-Signature头包含重复的邮件头指示符,例如:

h=from:from:subject:subject:date:date:message-id:message-id:to:to: […]

等等,而我通常会收到其他人签名的消息,其中带有以下指示:

h=Date:Subject:From:To;

在我的情况下,签名是使用完成的rspamd,并且local.d/dkim_signing.conf文件包含以下行

sign_headers = "(o)from:(x)sender:(x)reply-to:(o)subject:(x)date:(x)message-id:(o)to:(o)cc:(x)mime-version:(x)content-type:(x)content-transfer-encoding:resent-to:resent-cc:resent-from:resent-sender:resent-message-id:(x)in-reply-to:(x)references:list-id:list-help:list-owner:list-unsubscribe:list-unsubscribe-post:list-subscribe:list-post:(x)openpgp:(x)autocrypt";

它与默认值不同在 rspamd 文档中指定只有“x”开启,reply-to但这不应该是原因,不是吗?

有任何线索可以解释为什么会发生这种情况,或者我发送的内容和通常收到的内容之间的含义/区别是什么?

答案1

这就是……它的工作原理。o/x 修饰符只是使配置更加灵活,在至少有一个这样的标题的情况下,它们都意味着“再签名一次”,所以在签名中两次出现该标头名称符合配置,并且正常运行

对标头签名一次仅意味着将在传输过程中检查第一个标头是否有更改。对标头签名两次意味着将在传输过程中检查该名称的第一个和第二个标头是否有更改。在只有一个这样的标头的情况下对标头签名两次会导致签名,如果不破坏签名,则无法插入该名称的其他标头。那重复是如何保护你免受添加标题不应再插入其他名称。

例如Date标头。通常,标头出现两次是没有意义的。因此,对标头进行签名,再加上不存在第二个这样的标头(= 2 次),可确保收件人认为邮件的标头(且只有您的Date标头)已正确签名。

建议:坚持使用 rspamd 默认设置,它们提供合理的保证,同时对常见用例造成很少的互操作性问题。

相关内容