使用长dkim密钥时,Opendkim错误“密钥检索失败”

问题描述 投票:2回答:1

我正在使用opendkim的postfix,并看到很多以下错误:

opendkim[63]: 84D4C390048: key retrieval failed (s=selector1, d=hotmail.com):
'selector1._domainkey.hotmail.com' reply truncated

许多不同的域发生错误,但总是使用长dkim密钥(> 1024位)。我认为这是一个相当普遍的问题,但到目前为止找不到任何有用的东西。

这是我的opendkim配置的问题还是在这方面打破了opendkim?

dns postfix-mta dkim unbound
1个回答
1
投票

这个问题似乎是由于这样一个事实,即opendkim没有设置伪资源记录OPT UDPSize,表明它可以处理长度超过512字节的响应,如EDNS (wiki)RFC 2671所定义。

Opdecom(没有插件)

从这个opendkim请求的tcpdump中可以看出:

28112+ TXT? selector1._domainkey.outlook.com. (50)

以及未绑定的回复:

28112| q: TXT? selector1._domainkey.outlook.com. 1/0/0 selector1._domainkey.outlook.com.
CNAME selector1._domainkey.outbound.protection.outlook.com. (105)

你(EDNS)

来自dig的相同请求正确地表明更大的响应是正常的(OPT UDPsize = 4096):

33350+ [1au] TXT? selector1._domainkey.outlook.com. ar: . OPT UDPsize=4096 (73)

未绑定正确响应完整的TXT记录:

33350 q: TXT? selector1._domainkey.outlook.com. 2/0/1 
selector1._domainkey.outlook.com. CNAME 
selector1._domainkey.outbound.protection.outlook.com., 
selector1._domainkey.outbound.protection.outlook.com.
TXT "v=DKIM1;k=rsa;p=MIIBI[...]1913" ar: . OPT UDPsize=4096 (567)

为简洁起见,TXT记录中的DKIM键被截断。

不幸的是,opendkim项目似乎已经死了,所以不太可能修复它。


1
投票

调用libopendkim的res_query()似乎不会通过重新传输请求来处理截断。它在我的devserver上,所以这似乎是一个本地配置选项。 res_query()似乎没有办法强制使用TCP模式,但是它的手册页建议您可以在/etc/resolv.conf中强制本地TCP模式。

如果做不到这一点,你可以通过链接另一个解析器来解决这个问题,例如OpenDKIM支持的解析器。

© www.soinside.com 2019 - 2024. All rights reserved.