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

对于DomainKeys,我无法弄清楚要散列的邮件部分。我读过docs,但是如果只散列正文或整个源代码,则没有明确说明。
在另一个website上说


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


这是有道理的-但是这对我的其他标头字段(例如,日期,邮件ID)意味着什么?

所以我的总体问题是:

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

最佳答案

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

正文表示邮件本身(简化了电子邮件的简化结构:标头字段+一个空行+正文)。

关于java - 如何生成DomainKeys(不是DKIM)签名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23953885/

10-10 06:01