如何在DNS中input强大(长)的DKIM密钥?

我试图在DNS中input一个4028位的DKIM密钥,看起来我超过了UDP 512字节的限制以及TXTlogging的最大logging大小。

如何正确地创build一个大的密钥(隐含更大的编码大小)并将其导入到DNS?

你需要在文本字段中分割它们。 我相信2048是关键尺寸的实际限制。 将文本字段拆分为255个字符或更less的字符。 每个拆分都有开销。

长字段有两种格式。

TXT“第一部分”“第二部分”

TXT(“第一部分”“第二部分”)

这两者将结合为“第一部分二”。 来自Zytrax的更多细节 。

为了生成我的dkim条目,我插入我的公钥文件,并用引号将其包裹起来。
我的公钥文件包含以下内容:

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3 q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0 ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB 

在我的DNS区域文件中编辑密钥后,显示如下:

 dkim3._domainkey IN TXT ("v=DKIM1; t=s; p=" "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3" "q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0" "ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB") 

DNS返回如下:

  bill:~$ host -t TXT dkim3._domainkey.systemajik.com dkim3._domainkey.systemajik.com descriptive text "v=DKIM1\; t=s\; p=" "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD78Ki2d0zmOlmjYNDC7eLG3af12KrjmPDeYRr3" "q9MGquKRkRFlY+Alq4vMxnp5pZ7lDaAXXwLYjN91YY7ARbCEpqapA9Asl854BCHMA7L+nvk9kgC0" "ovLlGvg+hhqIPqwLNI97VSRedE60eS+CwcShamHTMOXalq2pOUw7anuenQIDAQAB" 

DNS将其视为一个长string,在连接行时不会有多余的空格。 所有的序列都被忽略。

如果logging大于UDP 512字节的限制,则可以,因为DNS将使用TCP。

这对用户来说应该是透明的,但是有时候有问题的防火墙设备(如Cisco PIX / ASA)会过滤/阻止这些较大的查询。