【问题标题】:DKIM wrong body hash using Perl CPAN Mail::DKIM::Signer使用 Perl CPAN Mail::DKIM::Signer 的 DKIM 错误正文散列
【发布时间】:2011-03-09 14:20:27
【问题描述】:

我有一个通过 SMTP 发送电子邮件的脚本,我正试图让它使用 CPAN 的 Mail::DKIM::Signer 使用 DKIM 签名对电子邮件进行签名。问题是我收到正文哈希无效的错误。例如,我将下面的电子邮件发送给 port25.com 验证程序,它告诉我它预期的正文哈希是“QFBPfFyqSONobf7fNoeeGl652WY”,但我的签名是“qUFULrL5rN08Illvd85ZYXxgNNk="。

我的 DNS 记录是“k=rsa;t=s;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDs5BnRmpNH0Pz6B02+z F2GuLm7ahrEXu6zB3WgxySbAGT8v9rpzI7ePhXhxo/RMXR9p5IYtzmBJ0NTjNLDKRFeSOMTeRdDi8DnO 4gUxKyT3v31IvS0+1ZZH2Sj404uv/jg2TKNinIU4/v+pM4ImLZ8uIXsEXRFgGhwKTjTJRNX0QIDAQAB"

是否有人能够解释为什么收件人(包括 yahoo 和 port25)期待不同的正文哈希?与它的编码方式有关吗?

This is a MIME encoded message.

--=_b4326086ed9a1ae338d4dabe6b015dde
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi this is a test of DKIM. Bye!

--=_b4326086ed9a1ae338d4dabe6b015dde
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css">
body,td,th { font-family: Verdana; font-size: 13px; color: #000000; }
body { background-color: #3895CB; margin: 0px 20px; text-align:center; }
</style>
</head>
<body>
Hi this a test of <b>DKIM</b>. Bye!
</body>
</html>

--=_b4326086ed9a1ae338d4dabe6b015dde--

【问题讨论】:

    标签: perl dkim


    【解决方案1】:

    我遇到了同样的问题。我用 '\n' 作为换行符。

    将其更改为 '\r\n' 解决了问题。

    【讨论】:

      【解决方案2】:

      问题解决了。

      在签名之前在电子邮件上使用 dos2unix 就可以了。

      这是否意味着问题出在回车之类的地方?

      【讨论】:

      • 谁知道?您没有展示您使用的 Perl 代码,因此只能推测。
      猜你喜欢
      • 1970-01-01
      • 2021-04-14
      • 1970-01-01
      • 2018-12-16
      • 2012-09-30
      • 1970-01-01
      • 2013-10-30
      • 2018-12-13
      • 2015-02-14
      相关资源
      最近更新 更多