如何生成DomainKeys(而不是DKIM)签名?

时间:2014-05-30 11:48:10

标签: java hash javamail dkim domainkeys

我正在使用DKIM for JavaMail与DKIM签署外发邮件。 现在,我想添加一个DomainKey-Signature。从阅读文档,规范和其他related posts我知道签名过程几乎相同(使用相同的算法,DNS条目等)。 唯一的区别是DKIM提供了更多选择,例如在选择要签署的字段时。这样可以轻松选择签名字段(例如From,Subject)并生成正确的哈希值。

对于DomainKeys,我无法确定要散列的邮件部分。我读了docs但是如果你只应该对主体或整个源代码进行散列,那么就没有明确说明。 在另一个website上说

  

DomainKeys使用“发件人”和“发件人”标头以及邮件正文   与私钥组合以生成DomainKeys签名

这是有道理的 - 但它对我的其他标题字段(例如Date,Message-ID)和消息正文的含义意味着什么?

所以我的整体问题是:

我使用哪些输入(邮件部分)来生成DomainKey哈希?

2 个答案:

答案 0 :(得分:0)

要查找“DKIM for JavaMail”签名的标题字段,请查看源“DKIMSigner.java”,它们在数组“String [] defaultHeadersToSign”中指定。

正文意味着消息本身(剥离了电子邮件的简化结构:标题字段+一个空行+正文)。

答案 1 :(得分:0)

如果您已经在使用DKIM,则无需再使用已删除的DomainKeys。 您可能需要查看此实施http://www.badpenguin.co.uk/dkim/