dnspython: проверка записи DS с сервера

Я хочу проверить запись DS ответа на запрос. Когда я получаю ответ от сервера, я использую функцию, предоставленную библиотекой:

>>> ret = dns.dnssec.validate(response_k.authority[1],response_k.authority[2],{name:response_k.authority[1]})

Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/dns/dnssec.py", line 421, in _validate raise ValidationFailure("no RRSIGs validated") dns.dnssec.ValidationFailure: no RRSIGs validated   

где: запрос выглядит так -

request_k = dns.message.make_query('example.com',dns.rdatatype.A,want_dnssec=True)

response_k = dns.query.udp(request_k, '.')

>>> print response_k.authority
[<DNS com. IN NS RRset>, <DNS com. IN DS RRset>, <DNS com. IN RRSIG(DS) RRset>]

name=dns.name.from_text('.')

Любая идея, где все идет не так?


person avee137    schedule 16.02.2018    source источник
comment
Вы пытались проверить домен вручную, например, с помощью dnsviz.net?   -  person Patrick Mevzek    schedule 16.02.2018
comment
Я бы посоветовал не полагаться на позицию, так как вы никогда не узнаете, что находится в позиции 1 или 2... Также см. stackoverflow.com/ а/26137120/6368697   -  person Patrick Mevzek    schedule 16.02.2018
comment
{name:response_k.authority[1]} был неправильным в моем случае. Это должен быть словарь имени и DNSKEY.   -  person avee137    schedule 18.02.2018