我正在建立一个基于 exim4 的邮件系统。该系统实现了 DKIM 签名和检查(除其他外)。签名似乎没有问题,但检查不起作用,exim4 抱怨我携带我的 dkim 公钥的 TXT 记录的语法:
2014-02-02 22:37:31 1WA5fP-0004Y4-E2 DKIM: d=middle.earth s=a9d04665528b593d263a6e5256648c99 c=relaxed/relaxed a=rsa-sha256 [invalid - syntax error in public key record]
我正在使用 2048 位长的 RSA 密钥在邮件中继级别签署我的邮件(这工作正常,我确实在通过此服务器中继的邮件中有 DKIM 标头)。问题似乎在于绑定(该区域的我的 DNS 服务器)不支持区域文件中长度超过 255 个字符的记录。所以我选择了拆分记录,如下图所示,正如非常值得信赖的网站 zytrax.com 中所述:
...
a9d04665528b593d263a6e5256648c99._domainkey IN 1800 TXT ("k=rsa,p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz2/ZfhxSI/A"
"bqgh0amM8ylrlosirWeKShUhq7fg12aYmRwOqq9hIzO0Fcz1BzfgHVu6HU++rC5"
"QoUK0JQK/nk4jwkDgvG2di2ZYmAvEbY/VeiK1x/TG0p1Iczr2k6Bj0gEAb/YGD2"
"YbwrwAi4bDXwoPsYuuNn9TB3jjyWKu/dvOsqhff1/4Wc+FkOi0ClvgrXiklN28X"
"TLjyjSyU794ntIoegXxrfwcwkhfPMvuqcnhfIC0Z8L71M4WR4SoHyNHVfBtNlUv"
"VNROiXlMxtxnNQvfViSwz6LC8bYIxeAba3hSXPTChKu3qZtfR0o3jFwEWAfLQdg"
"Ixler0jMEoAyJmfQIDAQAB")
完整的区域文件可以在这里找到:http: //pastebin.com/GDE5XA2M
使用该配置 exim 抱怨上述错误。如果我尝试手动解析我的 dkim 记录,我会得到:
;; ANSWER SECTION:
a9d04665528b593d263a6e5256648c99._domainkey.middle.earth. 1800 IN TXT "k=rsa,p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz2/ZfhxSI/A" "bqgh0amM8ylrlosirWeKShUhq7fg12aYmRwOqq9hIzO0Fcz1BzfgHVu6HU++rC5" "QoUK0JQK/nk4jwkDgvG2di2ZYmAvEbY/VeiK1x/TG0p1Iczr2k6Bj0gEAb/YGD2" "YbwrwAi4bDXwoPsYuuNn9TB3jjyWKu/dvOsqhff1/4Wc+FkOi0ClvgrXiklN28X" "TLjyjSyU794ntIoegXxrfwcwkhfPMvuqcnhfIC0Z8L71M4WR4SoHyNHVfBtNlUv" "VNROiXlMxtxnNQvfViSwz6LC8bYIxeAba3hSXPTChKu3qZtfR0o3jFwEWAfLQdg" "Ixler0jMEoAyJmfQIDAQAB"
这对我来说看起来不太正确,我可以想象 exim 会因为这样的输出而迷失方向。但是,我不能 100% 确定对于这么长的 DNS 记录和 exim 是否应该处理它是正常的 DNS 回复,还是我坐起来绑定的方式是错误的。
对此的任何帮助将不胜感激。
谢谢。
您使用逗号而不是分号来分隔记录中的键/值对。将其更改为:
另外,我会注意到,在我的特定区域文件中,我特别声明了版本
v=DKIM1
,我认为你也应该这样做。附带说明一下,我不会用它来包装记录,( )
因为我只是把它作为一条长线来完成:这是个人偏好,我现在意识到您的偏好肯定更具可读性。
就我而言,谷歌的 DKIM 密钥很长。您应该在 250-255 个字符后将其拆分到下一行,例如: