<div dir="ltr"><div dir="ltr">On Mon, Apr 1, 2024 at 10:37 AM Rithvik Vibhu <<a href="mailto:rithvikvibhu@gmail.com">rithvikvibhu@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I'm looking for a good way to validate DNSSEC for a chain of records, offline. I mean: given a list of records including all RRSIGs, NSECs, etc.), verify that all the signatures match and the whole trust chain leads to a trust anchor.</div><div><br></div><div>I've seen a few libraries, but at least in golang, most packages either don't validate DNSSEC on their own (ex: stub resolvers) or the DNSSEC validation is tightly integrated with the recursor code that handles querying for any required records.</div><div><br></div><div>Does anyone know of an existing library that only does DNSSEC validation without resolution? Preferably in go, but any other language will do at least as reference.</div></div></blockquote><div><br></div><div>I'm not aware of anything in Go, but getdns (in C) has the function getdns_validate_dnssec() which can do this:</div><div><br></div><div><a href="https://getdnsapi.net/documentation/spec/#7-more-helper-functions">https://getdnsapi.net/documentation/spec/#7-more-helper-functions</a></div><div><br></div><div>(Code in <a href="https://github.com/getdnsapi/getdns/blob/develop/src/dnssec.c">https://github.com/getdnsapi/getdns/blob/develop/src/dnssec.c</a> )</div><div><br></div><div>Shumon.</div><div><br></div></div></div>