我从Gmail向另一个帐户发送了测试消息,然后查看了DKIM信息的标题。我得到了:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:x-received:date:message-id:subject:from:to
:content-type; bh=fd9JXP6Ngw+hgcG1EbBo7GpsrIIZzdJb9Q/14o9e5C8=;
b=sYlJC2oYWzBUOPIo0jtR4iFsIVqUlwo2QRcG1186hg5ai0oO1nisiOJUD+QXjt (snip)
这里的选择器是“20120113.”从shell提示下,查询谷歌的DNS与该选择相关的公共密钥:
dig 20120113._domainkey.google.com TXT
这导致:
20120113._domainkey.google.com. 86400 IN TXT "k=rsa\; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp5kQ31/aZDreQqR9/ikNe00ywRvZBFHod6dja+Xdui4C1y8SVrkUMQQLOO49UA+ROm4evxAru5nGPbSl7WJzyGLl0z8Lt+qjGSa3+qxf4ZhDQ2chLS+2g0Nnzi6coUpF8r" "juvuWHWXnzpvLxE5TQdfgp8yziNWUqCXG/LBbgeGqCIpaQjlaA6GtPbJbh0jl1NcQLqrOmc2Kj2urNJAW+UPehVGzHal3bCtnNz55sajugRps1rO8lYdPamQjLEJhwaEg6/E50m58BVVdK3KHvQzrQBwfvm99mHLALJqkFHnhyKARLQf8tQMy8wVtIwY2vOUwwJxt3e0KcIX6NtnjSSwIDAQAB"
公钥是p之后的一切=。
但是......该选择器看起来像是基于日期的,这意味着Google可能会定期旋转它。你不能相信选择器总是有效的。
因此,如果您想要可靠地验证传入邮件,请自己省去编写自己的验证工具并使用OpenDKIM(http://opendkim.org/)的麻烦。它不仅会验证传入的邮件,还会签名您的传出邮件。