DNSSEC validation на Go: написал свой validator и не до конца сошёл с ума

Я пилю VantageDNS, privacy-focused recursive DNS-резолвер с фильтрацией. Edge-фронт на Go, 10 нод по миру, миекговский miekg/dns под капотом. На каком-то этапе у меня закончились отговорки, и пришлось писать DNSSEC validator. Своими руками. Ночью. Под кофе восьмой кружки. Ниже расскажу, как устроен trust chain, что есть в стандартной библиотеке, какие грабли разложены по дороге, и почему алгоритм 14 я до сих пор обхожу как кота во дворе. И не сошёл с ума

https://habr.com/ru/articles/1035656/

#DNSSEC #RFC_4033 #Go #NSEC3 #trust_anchor #validation #RRSIG #DS #golang

DNSSEC validation на Go: написал свой validator и не до конца сошёл с ума

ну и снова привет, Хабр! Я пилю VantageDNS, privacy-focused recursive DNS-резолвер с фильтрацией. Edge-фронт на Go, 10 нод по миру, миекговский miekg/dns под капотом. На каком-то этапе у меня...

Хабр

@jerry Sorry if you've had 5 billion of these, but appears that your DNSSEC keys are FUBAR

;; validating infosec.exchange/DNSKEY: verify failed due to bad signature (keyid=20890): RRSIG has expired
;; validating infosec.exchange/DNSKEY: no valid signature found (DS)
;; no valid RRSIG resolving 'infosec.exchange/DNSKEY/IN': 1.0.0.1#53
;; broken trust chain resolving 'infosec.exchange/A/IN': 1.0.0.1#53

#DNSSEC #DNS #RRSIG