![DKIM 公钥和 DNS 中的 DKIM 相同,但由于空格而不匹配](https://linux22.com/image/728542/DKIM%20%E5%85%AC%E9%92%A5%E5%92%8C%20DNS%20%E4%B8%AD%E7%9A%84%20DKIM%20%E7%9B%B8%E5%90%8C%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E7%A9%BA%E6%A0%BC%E8%80%8C%E4%B8%8D%E5%8C%B9%E9%85%8D.png)
请看一下 mail-tester.com 的这张图片,上面写着您的 DKIM 签名无效。
如您所见,DKIM 签名和公钥在文本(字符)方面是相同的,但唯一的问题是它们之间的空格。我不知道如何解决这个问题,或者从区域记录编辑 DKIM 的正确方法是什么。目前,我尝试复制页面中显示的 DKIM 签名并手动将其粘贴到 DNS TXT 记录(公钥)上。刷新页面后,它通过了测试,但在发出另一个请求后,空格消失,测试再次失败。
更正 DKIM 公钥以使其与签名的 DKIM 匹配的正确方法是什么?
谢谢。
答案1
DKIM 签名和 DKIM 公钥是不应该相同。
您应该有一对密钥:一个私钥和一个公钥。公钥用于 DNS TXT 记录。私钥永远不会按原样发布:邮件服务器使用它来为外发电子邮件创建数字签名:此签名对于每封外发电子邮件都应该是唯一的。
公钥加密背后的数学原理确保只有私钥持有者才能为域创建 DKIM 签名,但任何有权访问公钥的人都可以验证这些签名。
验证 DKIM 签名不是意味着仅将电子邮件中的签名与 DNS 记录进行比较以查看它们是否匹配;相反,验证者必须使用 DNS 记录中的公钥来解密b=
签名的一部分:如果解密结果与以特定方式从消息正文和标头计算出的哈希值匹配,则签名是真实的。