我正在使用DKIM for JavaMail与DKIM签署外发邮件。
现在,我想添加一个DomainKey-Signature
。从阅读文档,规范和其他related posts我知道签名过程几乎相同(使用相同的算法,DNS条目等)。
唯一的区别是DKIM提供了更多选择,例如在选择要签署的字段时。这样可以轻松选择签名字段(例如From,Subject)并生成正确的哈希值。
对于DomainKeys,我无法确定要散列的邮件部分。我读了docs但是如果你只应该对主体或整个源代码进行散列,那么就没有明确说明。 在另一个website上说
DomainKeys使用“发件人”和“发件人”标头以及邮件正文 与私钥组合以生成DomainKeys签名
这是有道理的 - 但它对我的其他标题字段(例如Date,Message-ID)和消息正文的含义意味着什么?
所以我的整体问题是:
我使用哪些输入(邮件部分)来生成DomainKey哈希?
答案 0 :(得分:0)
要查找“DKIM for JavaMail”签名的标题字段,请查看源“DKIMSigner.java”,它们在数组“String [] defaultHeadersToSign”中指定。
正文意味着消息本身(剥离了电子邮件的简化结构:标题字段+一个空行+正文)。
答案 1 :(得分:0)
如果您已经在使用DKIM,则无需再使用已删除的DomainKeys。 您可能需要查看此实施http://www.badpenguin.co.uk/dkim/