这里有很多关于分割 DKIM txt 记录的问题,但我的 dns 提供商只允许每个密钥 255 个字符。没有像其他平台提到的所有其他问题那样输入多个值的奇特方法。
我继续输入多个同名的 TXT 条目:
entry type value
[z._domainkey] [TXT] [v=DKIM1;k=rsa;...]
[z._domainkey] [TXT] [...restofkey]
这确实显示在我的查询中,但有时是乱序的:
$ drill txt z._domainkey.example.com.
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 7181
;; flags: qr rd ra ; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; z._domainkey.example.com. IN TXT
;; ANSWER SECTION:
z._domainkey.example.com. 1796 IN TXT "v=DKIM1;k=rsa;"
z._domainkey.example.com. 1796 IN TXT "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAh957KTmtf+f1GCrdVKydz2x0NDs1Cx/g/AYIlx2QcyOpXzd3DNC8saykKjfwYEIGq47UdnLQdJztINPu5QsphwSnpQiGqV28EltNp1poNNeUwSno7vrUTQI44vkD7OosCh+yLVD5AWCqxOr0l4C6kp2UuXvEc6zANPQrbOuVABm"
z._domainkey.example.com. 1796 IN TXT "Gf2nLFvcR4iswFC3JpLOdZr259BelASlU2WApIeDK/a8Qo096WzpFCeFtamIxZFkeHdCSmrS7zrtDrxxvXzYhXIFharkWeY5cXKzZ7vUGR14Zie9gzNzoz5NoibngkBH6dw5C70lU5ynVwx+/U+TCEKOZu1X9K/ZC5/1NrsW83QIDAQAB"
(已经尝试在中间分割,像通常的base64一样,使用在线分割工具,分割成2个、3个和4个部分,以64字节为单位。所有结果都相同)
所有验证器(包括我的 MX 处理程序中的验证器)都说这是无效的。
我还需要做些什么来分割这些值吗?我需要重复该p=
部分还是其他内容?DNS 客户端如何知道连接多个 TXT 条目的顺序?为什么提供分割值的验证工具在分割时也无法验证它们?例如https://www.mailhardener.com/tools/dns-record-splitter
所有验证器仅显示一条记录,该记录的v=DKIM1;k=rsa;p=...
一部分是无效的 dkim 记录,而另一条记录只是密钥的延续,作为完全不同的记录,甚至不是有效的 dkim。
例如https://dkimcore.org/c/keycheck说
* v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0... (This might be a valid DKIM record)
* r259BelASlU2WApIeDK/a8Qo096WzpFCeFtam... (This doesn't look like a DKIM record)
DNS 协议级别的要求实际上非常简单,通常问题围绕着各种 UI 选择(我相信就是这里的情况)。
DNS 中记录的值(如果您愿意,可以使用RData )由字符串
TXT
值数组组成。每个单独的字符串长度可以是 0-255 个字符。DNS 中的 DKIM 条目必须是单个
TXT
记录,并且 DKIM 定义,如果该TXT
记录具有多个字符串值,则这些值将在由 DKIM 感知软件使用之前连接在一起。来自DKIM RFC:
即,如果您的 DKIM 值很长,那么只要每段不超过 255 个字符,您如何分割它就没有什么区别。然而,所有的部分都需要在一张
TXT
记录中。至于您的具体情况,在标准化主文件格式中,您的示例将是:
(注意它是如何具有多个字符串值的一条记录)
如果您使用的软件/服务不接受与主文件格式匹配的数据输入,很可能只是弄清楚他们期望的特定格式(手册?支持?),或者甚至可能是
TXT
特定于该软件的一些有限支持/服务。