Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > e3a718fcad37ff363f65d6a6e994e272 > files > 78

ldns-devel-1.6.12-1.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type"
content="text/html;charset=iso-8859-1">
<title>ldns documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div class="logo">
<img src="LogoInGradientBar2-y100.png"/>
</div>
<!-- Generated by Doxygen 1.7.4 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="dir_7a7a565456b510ac01baf8655647d8a2.html">ldns</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">dnssec_verify.h File Reference</div>  </div>
</div>
<div class="contents">

<p><a href="dnssec__verify_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain_struct</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree_struct</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a9fecb2cada646423335e3447dd977459">LDNS_DNSSEC_TRUST_TREE_MAX_PARENTS</a>&#160;&#160;&#160;10</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">dnssec_verify  <a href="#a9fecb2cada646423335e3447dd977459"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain_struct</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a6d0b31031ed3bbe6f5ba958736ff61ac">ldns_dnssec_data_chain</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Chain structure that contains all DNSSEC data needed to verify an rrset.  <a href="#a6d0b31031ed3bbe6f5ba958736ff61ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree_struct</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a0a8438a5354ec0b9e0cf9ee5f298ee6a">ldns_dnssec_trust_tree</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tree structure that contains the relation of DNSSEC data, and their cryptographic status.  <a href="#a0a8438a5354ec0b9e0cf9ee5f298ee6a"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a31dfe5007c377f0be3053fba3ecad7f0">ldns_dnssec_data_chain_new</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new dnssec_chain structure.  <a href="#a31dfe5007c377f0be3053fba3ecad7f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#abb0c2f72a694a939c885660a6a1abaa9">ldns_dnssec_data_chain_free</a> (<a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *chain)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a dnssec_data_chain structure.  <a href="#abb0c2f72a694a939c885660a6a1abaa9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a79379cd10029eb1c7405e937d2ec19e1">ldns_dnssec_data_chain_deep_free</a> (<a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *chain)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a dnssec_data_chain structure, and all data contained therein.  <a href="#a79379cd10029eb1c7405e937d2ec19e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a0d73c80f210fa07ab58c95f4a6bc32dc">ldns_dnssec_data_chain_print</a> (FILE *out, const <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *chain)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the dnssec_data_chain to the given file stream.  <a href="#a0d73c80f210fa07ab58c95f4a6bc32dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ab3506a5eebf2644621e86b5a459a557f">ldns_dnssec_data_chain_print_fmt</a> (FILE *out, const <a class="el" href="structldns__struct__output__format.html">ldns_output_format</a> *fmt, const <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *chain)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the dnssec_data_chain to the given file stream.  <a href="#ab3506a5eebf2644621e86b5a459a557f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a4ab50b267f18a847bad3938d360ba564">ldns_dnssec_build_data_chain</a> (<a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *res, const uint16_t qflags, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *data_set, const <a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *pkt, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *orig_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Build an ldns_dnssec_data_chain, which contains all DNSSEC data that is needed to derive the trust tree later.  <a href="#a4ab50b267f18a847bad3938d360ba564"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a0a3f7cc01e0a3e2abd93bf9761cdfd6b">ldns_dnssec_trust_tree_new</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new (empty) dnssec_trust_tree structure.  <a href="#a0a3f7cc01e0a3e2abd93bf9761cdfd6b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ae47db66d2b4d45f89bb6f2565fa1c242">ldns_dnssec_trust_tree_free</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *tree)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees the dnssec_trust_tree recursively.  <a href="#ae47db66d2b4d45f89bb6f2565fa1c242"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#adbcf968a8e8f1c2d6930ef7ed43fc00b">ldns_dnssec_trust_tree_depth</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *tree)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the depth of the trust tree  <a href="#adbcf968a8e8f1c2d6930ef7ed43fc00b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#aa3edeb89e0a42590b11deaae3153cb63">ldns_dnssec_trust_tree_print</a> (FILE *out, <a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *tree, size_t tabs, bool extended)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the dnssec_trust_tree structure to the given file stream.  <a href="#aa3edeb89e0a42590b11deaae3153cb63"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a92d6aa9098ee312e3038245aaa793f3e">ldns_dnssec_trust_tree_print_fmt</a> (FILE *out, const <a class="el" href="structldns__struct__output__format.html">ldns_output_format</a> *fmt, <a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *tree, size_t tabs, bool extended)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prints the dnssec_trust_tree structure to the given file stream.  <a href="#a92d6aa9098ee312e3038245aaa793f3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a9729b66ef0632d7c9b6617ee23f6d30c">ldns_dnssec_trust_tree_add_parent</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *tree, const <a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *parent, const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *parent_signature, const <a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> parent_status)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a trust tree as a parent for the given trust tree.  <a href="#a9729b66ef0632d7c9b6617ee23f6d30c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a7cab3faffe1441fd9622975d60dcfa38">ldns_dnssec_derive_trust_tree</a> (<a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a dnssec_trust_ttree for the given rr from the given data_chain.  <a href="#a7cab3faffe1441fd9622975d60dcfa38"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a44e957fb2d82dabd46ded923a51a4dcb">ldns_dnssec_derive_trust_tree_time</a> (<a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rr, time_t check_time)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a dnssec_trust_ttree for the given rr from the given data_chain.  <a href="#a44e957fb2d82dabd46ded923a51a4dcb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ad4afa31de34f32b59212c6e0ea1c0543">ldns_dnssec_derive_trust_tree_normal_rrset</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *new_tree, <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *cur_sig_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub function for derive_trust_tree that is used for a 'normal' rrset.  <a href="#ad4afa31de34f32b59212c6e0ea1c0543"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#aebd911da7575808365e1887887b4ef96">ldns_dnssec_derive_trust_tree_normal_rrset_time</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *new_tree, <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *cur_sig_rr, time_t check_time)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub function for derive_trust_tree that is used for a 'normal' rrset.  <a href="#aebd911da7575808365e1887887b4ef96"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a521de308ca1813d23f170cecd78016d6">ldns_dnssec_derive_trust_tree_dnskey_rrset</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *new_tree, <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *cur_rr, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *cur_sig_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub function for derive_trust_tree that is used for DNSKEY rrsets.  <a href="#a521de308ca1813d23f170cecd78016d6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a21a0775f3bc07b098f69df8befd8ddc5">ldns_dnssec_derive_trust_tree_dnskey_rrset_time</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *new_tree, <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *cur_rr, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *cur_sig_rr, time_t check_time)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub function for derive_trust_tree that is used for DNSKEY rrsets.  <a href="#a21a0775f3bc07b098f69df8befd8ddc5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ad39cd02283cf7b23c7bd71a43e2f8153">ldns_dnssec_derive_trust_tree_ds_rrset</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *new_tree, <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *cur_rr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub function for derive_trust_tree that is used for DS rrsets.  <a href="#ad39cd02283cf7b23c7bd71a43e2f8153"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#aedfef20e6c0a9a9767f1f2218e59a642">ldns_dnssec_derive_trust_tree_ds_rrset_time</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *new_tree, <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *cur_rr, time_t check_time)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub function for derive_trust_tree that is used for DS rrsets.  <a href="#aedfef20e6c0a9a9767f1f2218e59a642"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a70cfcfa8040256ea7aef969a8689b140">ldns_dnssec_derive_trust_tree_no_sig</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *new_tree, <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub function for derive_trust_tree that is used when there are no signatures.  <a href="#a70cfcfa8040256ea7aef969a8689b140"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a72acedcfe24e295f9e148ebd71a13599">ldns_dnssec_derive_trust_tree_no_sig_time</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *new_tree, <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *data_chain, time_t check_time)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub function for derive_trust_tree that is used when there are no signatures.  <a href="#a72acedcfe24e295f9e148ebd71a13599"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a01928ddf2b7aa6fdd4927c83728623c6">ldns_dnssec_trust_tree_contains_keys</a> (<a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *tree, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns OK if there is a trusted path in the tree to one of the DNSKEY or DS RRs in the given list.  <a href="#a01928ddf2b7aa6fdd4927c83728623c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ad4202512bf67514ed039abaebd375554">ldns_verify</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrsig, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *good_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies a list of signatures for one rrset.  <a href="#ad4202512bf67514ed039abaebd375554"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a004bbeb2e0328a683c3920fdb64a70fe">ldns_verify_time</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrsig, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, time_t check_time, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *good_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies a list of signatures for one rrset.  <a href="#a004bbeb2e0328a683c3920fdb64a70fe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a2c76f566d82e226023f37f49e287dce8">ldns_verify_notime</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrsig, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *good_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies a list of signatures for one rrset, but disregard the time.  <a href="#a2c76f566d82e226023f37f49e287dce8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ab2760e11af154c225f3ce6809aa1ae46">ldns_fetch_valid_domain_keys</a> (const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *res, const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *domain, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, <a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> *status)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to build an authentication chain from the given keys down to the queried domain.  <a href="#ab2760e11af154c225f3ce6809aa1ae46"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a205eb53e65d2590a5da530941e2f174f">ldns_fetch_valid_domain_keys_time</a> (const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *res, const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *domain, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, time_t check_time, <a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> *status)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to build an authentication chain from the given keys down to the queried domain.  <a href="#a205eb53e65d2590a5da530941e2f174f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a35f0a986f88711dfcd6326d40fabc314">ldns_validate_domain_dnskey</a> (const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *res, const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *domain, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Validates the DNSKEY RRset for the given domain using the provided trusted keys.  <a href="#a35f0a986f88711dfcd6326d40fabc314"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ab628afb04980e297c8d9fe69e44dfb30">ldns_validate_domain_dnskey_time</a> (const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *res, const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *domain, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, time_t check_time)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Validates the DNSKEY RRset for the given domain using the provided trusted keys.  <a href="#ab628afb04980e297c8d9fe69e44dfb30"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#aca1027e56ee075c7132766816cc6c289">ldns_validate_domain_ds</a> (const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *res, const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *domain, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Validates the DS RRset for the given domain using the provided trusted keys.  <a href="#aca1027e56ee075c7132766816cc6c289"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ac736a9d8418a75f374a2d80300193f82">ldns_validate_domain_ds_time</a> (const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *res, const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *domain, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, time_t check_time)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Validates the DS RRset for the given domain using the provided trusted keys.  <a href="#ac736a9d8418a75f374a2d80300193f82"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a675bd3e7fabfb6de6a66c6412740a20a">ldns_verify_trusted</a> (<a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *res, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrsigs, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *validating_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies a list of signatures for one RRset using a valid trust path.  <a href="#a675bd3e7fabfb6de6a66c6412740a20a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a8c40b7fddc647f410d7e4da8279a17e0">ldns_verify_trusted_time</a> (<a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *res, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrsigs, time_t check_time, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *validating_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies a list of signatures for one RRset using a valid trust path.  <a href="#a8c40b7fddc647f410d7e4da8279a17e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a577d7784deb3ea86dc9a843c829dc9d8">ldns_dnssec_verify_denial</a> (<a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rr, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *nsecs, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrsigs)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">denial is not just a river in egypt  <a href="#a577d7784deb3ea86dc9a843c829dc9d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#aa02c90b76aa7096040b84e554999bcb2">ldns_dnssec_verify_denial_nsec3</a> (<a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rr, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *nsecs, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrsigs, <a class="el" href="packet_8h.html#a66980c75b368fd748277e54bc1c8acc0">ldns_pkt_rcode</a> packet_rcode, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> packet_qtype, bool packet_nodata)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Denial of existence using NSEC3 records Since NSEC3 is a bit more complicated than normal denial, some context arguments are needed.  <a href="#aa02c90b76aa7096040b84e554999bcb2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a50c2c94ccd740ee83a25edd1683d5c04">ldns_dnssec_verify_denial_nsec3_match</a> (<a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rr, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *nsecs, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrsigs, <a class="el" href="packet_8h.html#a66980c75b368fd748277e54bc1c8acc0">ldns_pkt_rcode</a> packet_rcode, <a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a> packet_qtype, bool packet_nodata, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> **match)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as ldns_status ldns_dnssec_verify_denial_nsec3 but also returns the nsec rr that matched.  <a href="#a50c2c94ccd740ee83a25edd1683d5c04"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a6cc8856c4f28f3d6e8d38b39724ba10f">ldns_verify_rrsig_buffers</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rawsig_buf, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *verify_buf, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *key_buf, uint8_t algo)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies the already processed data in the buffers This function should probably not be used directly.  <a href="#a6cc8856c4f28f3d6e8d38b39724ba10f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a07081c9edc2223b27712372951d3666b">ldns_verify_rrsig_buffers_raw</a> (unsigned char *sig, size_t siglen, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *verify_buf, unsigned char *key, size_t keylen, uint8_t algo)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like ldns_verify_rrsig_buffers, but uses raw data.  <a href="#a07081c9edc2223b27712372951d3666b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a315efc1b4d7e437097605fe40e618fd3">ldns_verify_rrsig_keylist</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rrsig, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *good_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies an rrsig.  <a href="#a315efc1b4d7e437097605fe40e618fd3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#abcf52cc8bc77abddc09538c0a7124f2b">ldns_verify_rrsig_keylist_time</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rrsig, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, time_t check_time, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *good_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies an rrsig.  <a href="#abcf52cc8bc77abddc09538c0a7124f2b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#abca413b582e84c56749c472f86854560">ldns_verify_rrsig_keylist_notime</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rrsig, const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *keys, <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *good_keys)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Verifies an rrsig.  <a href="#abca413b582e84c56749c472f86854560"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a7001aec0c5e3b377456909827ea4803a">ldns_verify_rrsig</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rrsig, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">verify an rrsig with 1 key  <a href="#a7001aec0c5e3b377456909827ea4803a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ac1b03a20051e1a9943a1ff536bae9d71">ldns_verify_rrsig_time</a> (<a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *rrset, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *rrsig, <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *key, time_t check_time)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">verify an rrsig with 1 key  <a href="#ac1b03a20051e1a9943a1ff536bae9d71"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#ae57c4582a40f06f3d0731480b4b672ca">ldns_verify_rrsig_evp</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *sig, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, EVP_PKEY *key, const EVP_MD *digest_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">verifies a buffer with signature data for a buffer with rrset data with an EVP_PKEY  <a href="#ae57c4582a40f06f3d0731480b4b672ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a269950f7429246bb1374b98ce76e40f3">ldns_verify_rrsig_evp_raw</a> (unsigned char *sig, size_t siglen, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, EVP_PKEY *key, const EVP_MD *digest_type)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like ldns_verify_rrsig_evp, but uses raw signature data.  <a href="#a269950f7429246bb1374b98ce76e40f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a9b653147ba772a0ea842ba8880583220">ldns_verify_rrsig_dsa</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *sig, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">verifies a buffer with signature data (DSA) for a buffer with rrset data with a buffer with key data.  <a href="#a9b653147ba772a0ea842ba8880583220"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a4fdf1e4d54accfeefa1cfdc4e60040c4">ldns_verify_rrsig_rsasha1</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *sig, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">verifies a buffer with signature data (RSASHA1) for a buffer with rrset data with a buffer with key data.  <a href="#a4fdf1e4d54accfeefa1cfdc4e60040c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a6a30a37b58b4bf37a69406e9b27c9f8c">ldns_verify_rrsig_rsamd5</a> (<a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *sig, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">verifies a buffer with signature data (RSAMD5) for a buffer with rrset data with a buffer with key data.  <a href="#a6a30a37b58b4bf37a69406e9b27c9f8c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a60104b2cf7e0b191d318ac999c1b8df1">ldns_verify_rrsig_dsa_raw</a> (unsigned char *sig, size_t siglen, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, unsigned char *key, size_t keylen)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like ldns_verify_rrsig_dsa, but uses raw signature and key data.  <a href="#a60104b2cf7e0b191d318ac999c1b8df1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a7e366070fa35145988c1134f08342062">ldns_verify_rrsig_rsasha1_raw</a> (unsigned char *sig, size_t siglen, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, unsigned char *key, size_t keylen)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like ldns_verify_rrsig_rsasha1, but uses raw signature and key data.  <a href="#a7e366070fa35145988c1134f08342062"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a39a8d97fe565f8d6f8ad7da8fb3ebeca">ldns_verify_rrsig_rsasha256_raw</a> (unsigned char *sig, size_t siglen, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, unsigned char *key, size_t keylen)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like ldns_verify_rrsig_rsasha256, but uses raw signature and key data.  <a href="#a39a8d97fe565f8d6f8ad7da8fb3ebeca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#a84c024048a0c4c9befe8d73186a85210">ldns_verify_rrsig_rsasha512_raw</a> (unsigned char *sig, size_t siglen, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, unsigned char *key, size_t keylen)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like ldns_verify_rrsig_rsasha512, but uses raw signature and key data.  <a href="#a84c024048a0c4c9befe8d73186a85210"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dnssec__verify_8h.html#aa7365177ba5912134937208868a7e947">ldns_verify_rrsig_rsamd5_raw</a> (unsigned char *sig, size_t siglen, <a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *rrset, unsigned char *key, size_t keylen)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Like ldns_verify_rrsig_rsamd5, but uses raw signature and key data.  <a href="#aa7365177ba5912134937208868a7e947"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a9fecb2cada646423335e3447dd977459"></a><!-- doxytag: member="dnssec_verify.h::LDNS_DNSSEC_TRUST_TREE_MAX_PARENTS" ref="a9fecb2cada646423335e3447dd977459" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LDNS_DNSSEC_TRUST_TREE_MAX_PARENTS&#160;&#160;&#160;10</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>dnssec_verify </p>

<p>Definition at line <a class="el" href="dnssec__verify_8h_source.html#l00006">6</a> of file <a class="el" href="dnssec__verify_8h_source.html">dnssec_verify.h</a>.</p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a6d0b31031ed3bbe6f5ba958736ff61ac"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_data_chain" ref="a6d0b31031ed3bbe6f5ba958736ff61ac" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain_struct</a> <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Chain structure that contains all DNSSEC data needed to verify an rrset. </p>

<p>Definition at line <a class="el" href="dnssec__verify_8h_source.html#l00019">19</a> of file <a class="el" href="dnssec__verify_8h_source.html">dnssec_verify.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0a8438a5354ec0b9e0cf9ee5f298ee6a"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_trust_tree" ref="a0a8438a5354ec0b9e0cf9ee5f298ee6a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree_struct</a> <a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tree structure that contains the relation of DNSSEC data, and their cryptographic status. </p>
<p>This tree is derived from a data_chain, and can be used to look whether there is a connection between an RRSET and a trusted key. The tree only contains pointers to the data_chain, and therefore one should *never* free() the data_chain when there is still a trust tree derived from that chain.</p>
<p>Example tree: key key key \ | / \ | / \ | / ds | key | key | rr</p>
<p>For each signature there is a parent; if the parent pointer is null, it couldn't be found and there was no denial; otherwise is a tree which contains either a DNSKEY, a DS, or a NSEC rr </p>

<p>Definition at line <a class="el" href="dnssec__verify_8h_source.html#l00121">121</a> of file <a class="el" href="dnssec__verify_8h_source.html">dnssec_verify.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a31dfe5007c377f0be3053fba3ecad7f0"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_data_chain_new" ref="a31dfe5007c377f0be3053fba3ecad7f0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a>* ldns_dnssec_data_chain_new </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new dnssec_chain structure. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>ldns_dnssec_data_chain * </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00019">19</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00053">LDNS_CALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="abb0c2f72a694a939c885660a6a1abaa9"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_data_chain_free" ref="abb0c2f72a694a939c885660a6a1abaa9" args="(ldns_dnssec_data_chain *chain)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_data_chain_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>chain</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Frees a dnssec_data_chain structure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*chain</td><td>The chain to free </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00039">39</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>.</p>

</div>
</div>
<a class="anchor" id="a79379cd10029eb1c7405e937d2ec19e1"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_data_chain_deep_free" ref="a79379cd10029eb1c7405e937d2ec19e1" args="(ldns_dnssec_data_chain *chain)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_data_chain_deep_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>chain</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Frees a dnssec_data_chain structure, and all data contained therein. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*chain</td><td>The dnssec_data_chain to free </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00045">45</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00045">ldns_dnssec_data_chain_deep_free()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="dnssec__verify_8h_source.html#l00025">ldns_dnssec_data_chain_struct::parent</a>, <a class="el" href="dnssec__verify_8h_source.html#l00022">ldns_dnssec_data_chain_struct::rrset</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00023">ldns_dnssec_data_chain_struct::signatures</a>.</p>

</div>
</div>
<a class="anchor" id="a0d73c80f210fa07ab58c95f4a6bc32dc"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_data_chain_print" ref="a0d73c80f210fa07ab58c95f4a6bc32dc" args="(FILE *out, const ldns_dnssec_data_chain *chain)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_data_chain_print </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>chain</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Prints the dnssec_data_chain to the given file stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*out</td><td>The file stream to print to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*chain</td><td>The dnssec_data_chain to print </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00091">91</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00056">ldns_dnssec_data_chain_print_fmt()</a>, and <a class="el" href="host2str_8c_source.html#l00125">ldns_output_format_default</a>.</p>

</div>
</div>
<a class="anchor" id="ab3506a5eebf2644621e86b5a459a557f"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_data_chain_print_fmt" ref="ab3506a5eebf2644621e86b5a459a557f" args="(FILE *out, const ldns_output_format *fmt, const ldns_dnssec_data_chain *chain)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_data_chain_print_fmt </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__output__format.html">ldns_output_format</a> *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>chain</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Prints the dnssec_data_chain to the given file stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*out</td><td>The file stream to print to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*fmt</td><td>The format of the textual representation </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*chain</td><td>The dnssec_data_chain to print </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00056">56</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="rr_8h_source.html#l00321">ldns_struct_rr_descriptor::_name</a>, <a class="el" href="dnssec__verify_8c_source.html#l00056">ldns_dnssec_data_chain_print_fmt()</a>, <a class="el" href="util_8c_source.html#l00077">ldns_lookup_by_id()</a>, <a class="el" href="host2str_8c_source.html#l00092">ldns_rcodes</a>, <a class="el" href="rr_8c_source.html#l02269">ldns_rr_descript()</a>, <a class="el" href="host2str_8c_source.html#l02211">ldns_rr_list_print_fmt()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="util_8h_source.html#l00158">ldns_struct_lookup_table::name</a>, <a class="el" href="dnssec__verify_8h_source.html#l00028">ldns_dnssec_data_chain_struct::packet_nodata</a>, <a class="el" href="dnssec__verify_8h_source.html#l00027">ldns_dnssec_data_chain_struct::packet_qtype</a>, <a class="el" href="dnssec__verify_8h_source.html#l00026">ldns_dnssec_data_chain_struct::packet_rcode</a>, <a class="el" href="dnssec__verify_8h_source.html#l00025">ldns_dnssec_data_chain_struct::parent</a>, <a class="el" href="dnssec__verify_8h_source.html#l00022">ldns_dnssec_data_chain_struct::rrset</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00023">ldns_dnssec_data_chain_struct::signatures</a>.</p>

</div>
</div>
<a class="anchor" id="a4ab50b267f18a847bad3938d360ba564"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_build_data_chain" ref="a4ab50b267f18a847bad3938d360ba564" args="(ldns_resolver *res, const uint16_t qflags, const ldns_rr_list *data_set, const ldns_pkt *pkt, ldns_rr *orig_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a>* ldns_dnssec_build_data_chain </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint16_t&#160;</td>
          <td class="paramname"><em>qflags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>data_set</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__pkt.html">ldns_pkt</a> *&#160;</td>
          <td class="paramname"><em>pkt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>orig_rr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Build an ldns_dnssec_data_chain, which contains all DNSSEC data that is needed to derive the trust tree later. </p>
<p>The data_set will be cloned</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*res</td><td>resolver structure for further needed queries </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">qflags</td><td>resolution flags </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*data_set</td><td>The original rrset where the chain ends </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*pkt</td><td>optional, can contain the original packet (and hence the sigs and maybe the key) </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*orig_rr</td><td>The original Resource Record</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the DNSSEC data chain </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00270">270</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00270">ldns_dnssec_build_data_chain()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00220">ldns_dnssec_build_data_chain_nokeyname()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00019">ldns_dnssec_data_chain_new()</a>, <a class="el" href="dnssec_8c_source.html#l00218">ldns_dnssec_pkt_get_rrsigs_for_name_and_type()</a>, <a class="el" href="dnssec_8c_source.html#l00245">ldns_dnssec_pkt_get_rrsigs_for_type()</a>, <a class="el" href="dnssec_8c_source.html#l00199">ldns_dnssec_pkt_has_rrsigs()</a>, <a class="el" href="packet_8c_source.html#l00105">ldns_pkt_ancount()</a>, <a class="el" href="packet_8c_source.html#l00776">ldns_pkt_free()</a>, <a class="el" href="packet_8c_source.html#l00093">ldns_pkt_get_rcode()</a>, <a class="el" href="packet_8c_source.html#l00284">ldns_pkt_rr_list_by_type()</a>, <a class="el" href="resolver_8c_source.html#l00982">ldns_resolver_query()</a>, <a class="el" href="rr_8c_source.html#l00879">ldns_rr_get_class()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l01359">ldns_rr_list_clone()</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="rr_8c_source.html#l00930">ldns_rr_list_new()</a>, <a class="el" href="rr_8c_source.html#l01062">ldns_rr_list_push_rr()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr_8c_source.html#l00839">ldns_rr_rdf()</a>, <a class="el" href="rr_8h_source.html#l00175">LDNS_RR_TYPE_DNSKEY</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, <a class="el" href="packet_8h_source.html#l00280">LDNS_SECTION_ANY_NOQUESTION</a>, <a class="el" href="dnssec__verify_8h_source.html#l00028">ldns_dnssec_data_chain_struct::packet_nodata</a>, <a class="el" href="dnssec__verify_8h_source.html#l00027">ldns_dnssec_data_chain_struct::packet_qtype</a>, <a class="el" href="dnssec__verify_8h_source.html#l00026">ldns_dnssec_data_chain_struct::packet_rcode</a>, <a class="el" href="dnssec__verify_8h_source.html#l00025">ldns_dnssec_data_chain_struct::parent</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00022">ldns_dnssec_data_chain_struct::rrset</a>.</p>

</div>
</div>
<a class="anchor" id="a0a3f7cc01e0a3e2abd93bf9761cdfd6b"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_trust_tree_new" ref="a0a3f7cc01e0a3e2abd93bf9761cdfd6b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a>* ldns_dnssec_trust_tree_new </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new (empty) dnssec_trust_tree structure. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>ldns_dnssec_trust_tree * </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00441">441</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>, <a class="el" href="dnssec__verify_8h_source.html#l00132">ldns_dnssec_trust_tree_struct::parent_count</a>, <a class="el" href="dnssec__verify_8h_source.html#l00124">ldns_dnssec_trust_tree_struct::rr</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00126">ldns_dnssec_trust_tree_struct::rrset</a>.</p>

</div>
</div>
<a class="anchor" id="ae47db66d2b4d45f89bb6f2565fa1c242"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_trust_tree_free" ref="ae47db66d2b4d45f89bb6f2565fa1c242" args="(ldns_dnssec_trust_tree *tree)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_trust_tree_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>tree</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Frees the dnssec_trust_tree recursively. </p>
<p>There is no deep free; all data in the trust tree consists of pointers to a data_chain</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">tree</td><td>The tree to free </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00454">454</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00454">ldns_dnssec_trust_tree_free()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="dnssec__verify_8h_source.html#l00132">ldns_dnssec_trust_tree_struct::parent_count</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00127">ldns_dnssec_trust_tree_struct::parents</a>.</p>

</div>
</div>
<a class="anchor" id="adbcf968a8e8f1c2d6930ef7ed43fc00b"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_trust_tree_depth" ref="adbcf968a8e8f1c2d6930ef7ed43fc00b" args="(ldns_dnssec_trust_tree *tree)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ldns_dnssec_trust_tree_depth </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>tree</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the depth of the trust tree </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">tree</td><td>tree to calculate the depth of </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The depth of the tree </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00466">466</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00466">ldns_dnssec_trust_tree_depth()</a>, <a class="el" href="dnssec__verify_8h_source.html#l00132">ldns_dnssec_trust_tree_struct::parent_count</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00127">ldns_dnssec_trust_tree_struct::parents</a>.</p>

</div>
</div>
<a class="anchor" id="aa3edeb89e0a42590b11deaae3153cb63"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_trust_tree_print" ref="aa3edeb89e0a42590b11deaae3153cb63" args="(FILE *out, ldns_dnssec_trust_tree *tree, size_t tabs, bool extended)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_trust_tree_print </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>tabs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>extended</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Prints the dnssec_trust_tree structure to the given file stream. </p>
<p>If a link status is not LDNS_STATUS_OK; the status and relevant signatures are printed too</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*out</td><td>The file stream to print to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tree</td><td>The trust tree to print </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tabs</td><td>Prepend each line with tabs*2 spaces </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">extended</td><td>If true, add little explanation lines to the output </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00653">653</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00643">ldns_dnssec_trust_tree_print_fmt()</a>, and <a class="el" href="host2str_8c_source.html#l00125">ldns_output_format_default</a>.</p>

</div>
</div>
<a class="anchor" id="a92d6aa9098ee312e3038245aaa793f3e"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_trust_tree_print_fmt" ref="a92d6aa9098ee312e3038245aaa793f3e" args="(FILE *out, const ldns_output_format *fmt, ldns_dnssec_trust_tree *tree, size_t tabs, bool extended)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_trust_tree_print_fmt </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__output__format.html">ldns_output_format</a> *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>tabs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>extended</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Prints the dnssec_trust_tree structure to the given file stream. </p>
<p>If a link status is not LDNS_STATUS_OK; the status and relevant signatures are printed too</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*out</td><td>The file stream to print to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*fmt</td><td>The format of the textual representation </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tree</td><td>The trust tree to print </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tabs</td><td>Prepend each line with tabs*2 spaces </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">extended</td><td>If true, add little explanation lines to the output </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00643">643</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00498">ldns_dnssec_trust_tree_print_sm_fmt()</a>.</p>

</div>
</div>
<a class="anchor" id="a9729b66ef0632d7c9b6617ee23f6d30c"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_trust_tree_add_parent" ref="a9729b66ef0632d7c9b6617ee23f6d30c" args="(ldns_dnssec_trust_tree *tree, const ldns_dnssec_trust_tree *parent, const ldns_rr *parent_signature, const ldns_status parent_status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_dnssec_trust_tree_add_parent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>parent_signature</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a>&#160;</td>
          <td class="paramname"><em>parent_status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds a trust tree as a parent for the given trust tree. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*tree</td><td>The tree to add the parent to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*parent</td><td>The parent tree to add </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*parent_signature</td><td>The RRSIG relevant to this parent/child connection </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">parent_status</td><td>The DNSSEC status for this parent, child and RRSIG </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_STATUS_OK if the addition succeeds, error otherwise </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00664">664</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8h_source.html#l00006">LDNS_DNSSEC_TRUST_TREE_MAX_PARENTS</a>, <a class="el" href="error_8h_source.html#l00037">LDNS_STATUS_ERR</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, <a class="el" href="dnssec__verify_8h_source.html#l00132">ldns_dnssec_trust_tree_struct::parent_count</a>, <a class="el" href="dnssec__verify_8h_source.html#l00131">ldns_dnssec_trust_tree_struct::parent_signature</a>, <a class="el" href="dnssec__verify_8h_source.html#l00128">ldns_dnssec_trust_tree_struct::parent_status</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00127">ldns_dnssec_trust_tree_struct::parents</a>.</p>

</div>
</div>
<a class="anchor" id="a7cab3faffe1441fd9622975d60dcfa38"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree" ref="a7cab3faffe1441fd9622975d60dcfa38" args="(ldns_dnssec_data_chain *data_chain, ldns_rr *rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a>* ldns_dnssec_derive_trust_tree </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates a dnssec_trust_ttree for the given rr from the given data_chain. </p>
<p>This does not clone the actual data; Don't free the data_chain before you are done with this tree</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*data_chain</td><td>The chain to derive the trust tree from </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*rr</td><td>The RR this tree will be about </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ldns_dnssec_trust_tree * </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00792">792</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00691">ldns_dnssec_derive_trust_tree_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a44e957fb2d82dabd46ded923a51a4dcb"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree_time" ref="a44e957fb2d82dabd46ded923a51a4dcb" args="(ldns_dnssec_data_chain *data_chain, ldns_rr *rr, time_t check_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a>* ldns_dnssec_derive_trust_tree_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Generates a dnssec_trust_ttree for the given rr from the given data_chain. </p>
<p>This does not clone the actual data; Don't free the data_chain before you are done with this tree</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">*data_chain</td><td>The chain to derive the trust tree from </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">*rr</td><td>The RR this tree will be about </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ldns_dnssec_trust_tree * </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00691">691</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dname_8c_source.html#l00338">ldns_dname_compare()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00889">ldns_dnssec_derive_trust_tree_dnskey_rrset_time()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00935">ldns_dnssec_derive_trust_tree_ds_rrset_time()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00988">ldns_dnssec_derive_trust_tree_no_sig_time()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00798">ldns_dnssec_derive_trust_tree_normal_rrset_time()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00441">ldns_dnssec_trust_tree_new()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, <a class="el" href="dnssec__verify_8h_source.html#l00025">ldns_dnssec_data_chain_struct::parent</a>, <a class="el" href="dnssec__verify_8h_source.html#l00124">ldns_dnssec_trust_tree_struct::rr</a>, <a class="el" href="dnssec__verify_8h_source.html#l00126">ldns_dnssec_trust_tree_struct::rrset</a>, <a class="el" href="dnssec__verify_8h_source.html#l00022">ldns_dnssec_data_chain_struct::rrset</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00023">ldns_dnssec_data_chain_struct::signatures</a>.</p>

</div>
</div>
<a class="anchor" id="ad4afa31de34f32b59212c6e0ea1c0543"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree_normal_rrset" ref="ad4afa31de34f32b59212c6e0ea1c0543" args="(ldns_dnssec_trust_tree *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_sig_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_derive_trust_tree_normal_rrset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>new_tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>cur_sig_rr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sub function for derive_trust_tree that is used for a 'normal' rrset. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_tree</td><td>The trust tree that we are building </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_chain</td><td>The data chain containing the data for the trust tree </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cur_sig_rr</td><td>The currently relevant signature </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00880">880</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00798">ldns_dnssec_derive_trust_tree_normal_rrset_time()</a>.</p>

</div>
</div>
<a class="anchor" id="aebd911da7575808365e1887887b4ef96"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree_normal_rrset_time" ref="aebd911da7575808365e1887887b4ef96" args="(ldns_dnssec_trust_tree *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_sig_rr, time_t check_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_derive_trust_tree_normal_rrset_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>new_tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>cur_sig_rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sub function for derive_trust_tree that is used for a 'normal' rrset. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_tree</td><td>The trust tree that we are building </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_chain</td><td>The data chain containing the data for the trust tree </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cur_sig_rr</td><td>The currently relevant signature </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00798">798</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00272">ldns_calc_keytag()</a>, <a class="el" href="dname_8c_source.html#l00338">ldns_dname_compare()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00691">ldns_dnssec_derive_trust_tree_time()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00664">ldns_dnssec_trust_tree_add_parent()</a>, <a class="el" href="rdata_8c_source.html#l00084">ldns_rdf2native_int16()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l01359">ldns_rr_list_clone()</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="rr_8c_source.html#l01276">ldns_rr_list_pop_rrset()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l01462">ldns_rr_list_sort()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr__functions_8c_source.html#l00183">ldns_rr_rrsig_keytag()</a>, <a class="el" href="rr_8h_source.html#l00175">LDNS_RR_TYPE_DNSKEY</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, <a class="el" href="dnssec__verify_8c_source.html#l02379">ldns_verify_rrsig_time()</a>, <a class="el" href="dnssec__verify_8h_source.html#l00025">ldns_dnssec_data_chain_struct::parent</a>, <a class="el" href="dnssec__verify_8h_source.html#l00132">ldns_dnssec_trust_tree_struct::parent_count</a>, <a class="el" href="dnssec__verify_8h_source.html#l00127">ldns_dnssec_trust_tree_struct::parents</a>, <a class="el" href="dnssec__verify_8h_source.html#l00124">ldns_dnssec_trust_tree_struct::rr</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00022">ldns_dnssec_data_chain_struct::rrset</a>.</p>

</div>
</div>
<a class="anchor" id="a521de308ca1813d23f170cecd78016d6"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree_dnskey_rrset" ref="a521de308ca1813d23f170cecd78016d6" args="(ldns_dnssec_trust_tree *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_rr, ldns_rr *cur_sig_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_derive_trust_tree_dnskey_rrset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>new_tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>cur_rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>cur_sig_rr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sub function for derive_trust_tree that is used for DNSKEY rrsets. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_tree</td><td>The trust tree that we are building </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_chain</td><td>The data chain containing the data for the trust tree </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cur_rr</td><td>The currently relevant DNSKEY RR </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cur_sig_rr</td><td>The currently relevant signature </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00925">925</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00889">ldns_dnssec_derive_trust_tree_dnskey_rrset_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a21a0775f3bc07b098f69df8befd8ddc5"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree_dnskey_rrset_time" ref="a21a0775f3bc07b098f69df8befd8ddc5" args="(ldns_dnssec_trust_tree *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_rr, ldns_rr *cur_sig_rr, time_t check_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_derive_trust_tree_dnskey_rrset_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>new_tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>cur_rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>cur_sig_rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sub function for derive_trust_tree that is used for DNSKEY rrsets. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_tree</td><td>The trust tree that we are building </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_chain</td><td>The data chain containing the data for the trust tree </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cur_rr</td><td>The currently relevant DNSKEY RR </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cur_sig_rr</td><td>The currently relevant signature </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00889">889</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00272">ldns_calc_keytag()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00664">ldns_dnssec_trust_tree_add_parent()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00441">ldns_dnssec_trust_tree_new()</a>, <a class="el" href="rdata_8c_source.html#l00084">ldns_rdf2native_int16()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr__functions_8c_source.html#l00183">ldns_rr_rrsig_keytag()</a>, <a class="el" href="rr_8h_source.html#l00175">LDNS_RR_TYPE_DNSKEY</a>, <a class="el" href="dnssec__verify_8c_source.html#l02379">ldns_verify_rrsig_time()</a>, <a class="el" href="dnssec__verify_8h_source.html#l00124">ldns_dnssec_trust_tree_struct::rr</a>, <a class="el" href="dnssec__verify_8h_source.html#l00126">ldns_dnssec_trust_tree_struct::rrset</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00022">ldns_dnssec_data_chain_struct::rrset</a>.</p>

</div>
</div>
<a class="anchor" id="ad39cd02283cf7b23c7bd71a43e2f8153"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree_ds_rrset" ref="ad39cd02283cf7b23c7bd71a43e2f8153" args="(ldns_dnssec_trust_tree *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_rr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_derive_trust_tree_ds_rrset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>new_tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>cur_rr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sub function for derive_trust_tree that is used for DS rrsets. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_tree</td><td>The trust tree that we are building </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_chain</td><td>The data chain containing the data for the trust tree </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cur_rr</td><td>The currently relevant DS RR </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00979">979</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00935">ldns_dnssec_derive_trust_tree_ds_rrset_time()</a>.</p>

</div>
</div>
<a class="anchor" id="aedfef20e6c0a9a9767f1f2218e59a642"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree_ds_rrset_time" ref="aedfef20e6c0a9a9767f1f2218e59a642" args="(ldns_dnssec_trust_tree *new_tree, ldns_dnssec_data_chain *data_chain, ldns_rr *cur_rr, time_t check_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_derive_trust_tree_ds_rrset_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>new_tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>cur_rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sub function for derive_trust_tree that is used for DS rrsets. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_tree</td><td>The trust tree that we are building </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_chain</td><td>The data chain containing the data for the trust tree </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cur_rr</td><td>The currently relevant DS RR </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00935">935</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00691">ldns_dnssec_derive_trust_tree_time()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00664">ldns_dnssec_trust_tree_add_parent()</a>, <a class="el" href="rr_8c_source.html#l01655">ldns_rr_compare_ds()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8h_source.html#l00175">LDNS_RR_TYPE_DNSKEY</a>, <a class="el" href="rr_8h_source.html#l00167">LDNS_RR_TYPE_DS</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, <a class="el" href="dnssec__verify_8h_source.html#l00025">ldns_dnssec_data_chain_struct::parent</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00022">ldns_dnssec_data_chain_struct::rrset</a>.</p>

</div>
</div>
<a class="anchor" id="a70cfcfa8040256ea7aef969a8689b140"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree_no_sig" ref="a70cfcfa8040256ea7aef969a8689b140" args="(ldns_dnssec_trust_tree *new_tree, ldns_dnssec_data_chain *data_chain)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_derive_trust_tree_no_sig </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>new_tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sub function for derive_trust_tree that is used when there are no signatures. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_tree</td><td>The trust tree that we are building </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_chain</td><td>The data chain containing the data for the trust tree </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01039">1039</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00988">ldns_dnssec_derive_trust_tree_no_sig_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a72acedcfe24e295f9e148ebd71a13599"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_derive_trust_tree_no_sig_time" ref="a72acedcfe24e295f9e148ebd71a13599" args="(ldns_dnssec_trust_tree *new_tree, ldns_dnssec_data_chain *data_chain, time_t check_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_dnssec_derive_trust_tree_no_sig_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>new_tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__data__chain__struct.html">ldns_dnssec_data_chain</a> *&#160;</td>
          <td class="paramname"><em>data_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sub function for derive_trust_tree that is used when there are no signatures. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">new_tree</td><td>The trust tree that we are building </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_chain</td><td>The data chain containing the data for the trust tree </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l00988">988</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l00691">ldns_dnssec_derive_trust_tree_time()</a>, <a class="el" href="dnssec__verify_8c_source.html#l00664">ldns_dnssec_trust_tree_add_parent()</a>, <a class="el" href="dnssec__verify_8c_source.html#l01501">ldns_dnssec_verify_denial()</a>, <a class="el" href="dnssec__verify_8c_source.html#l01752">ldns_dnssec_verify_denial_nsec3()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, <a class="el" href="rr_8h_source.html#l00178">LDNS_RR_TYPE_NSEC3</a>, <a class="el" href="error_8h_source.html#l00099">LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, <a class="el" href="dnssec__verify_8h_source.html#l00028">ldns_dnssec_data_chain_struct::packet_nodata</a>, <a class="el" href="dnssec__verify_8h_source.html#l00027">ldns_dnssec_data_chain_struct::packet_qtype</a>, <a class="el" href="dnssec__verify_8h_source.html#l00026">ldns_dnssec_data_chain_struct::packet_rcode</a>, <a class="el" href="dnssec__verify_8h_source.html#l00025">ldns_dnssec_data_chain_struct::parent</a>, <a class="el" href="dnssec__verify_8h_source.html#l00124">ldns_dnssec_trust_tree_struct::rr</a>, <a class="el" href="dnssec__verify_8h_source.html#l00022">ldns_dnssec_data_chain_struct::rrset</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00023">ldns_dnssec_data_chain_struct::signatures</a>.</p>

</div>
</div>
<a class="anchor" id="a01928ddf2b7aa6fdd4927c83728623c6"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_trust_tree_contains_keys" ref="a01928ddf2b7aa6fdd4927c83728623c6" args="(ldns_dnssec_trust_tree *tree, ldns_rr_list *keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_dnssec_trust_tree_contains_keys </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__dnssec__trust__tree__struct.html">ldns_dnssec_trust_tree</a> *&#160;</td>
          <td class="paramname"><em>tree</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns OK if there is a trusted path in the tree to one of the DNSKEY or DS RRs in the given list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">*tree</td><td>The trust tree so search </td></tr>
    <tr><td class="paramname">*keys</td><td>A ldns_rr_list of DNSKEY and DS rrs to look for </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_STATUS_OK if there is a trusted path to one of the keys, or the *first* error encountered if there were no paths </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01052">1052</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l01052">ldns_dnssec_trust_tree_contains_keys()</a>, <a class="el" href="rr_8c_source.html#l01655">ldns_rr_compare_ds()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8h_source.html#l00174">LDNS_RR_TYPE_NSEC</a>, <a class="el" href="error_8h_source.html#l00055">LDNS_STATUS_CRYPTO_NO_DNSKEY</a>, <a class="el" href="error_8h_source.html#l00098">LDNS_STATUS_DNSSEC_EXISTENCE_DENIED</a>, <a class="el" href="error_8h_source.html#l00037">LDNS_STATUS_ERR</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, <a class="el" href="dnssec__verify_8h_source.html#l00132">ldns_dnssec_trust_tree_struct::parent_count</a>, <a class="el" href="dnssec__verify_8h_source.html#l00128">ldns_dnssec_trust_tree_struct::parent_status</a>, <a class="el" href="dnssec__verify_8h_source.html#l00127">ldns_dnssec_trust_tree_struct::parents</a>, and <a class="el" href="dnssec__verify_8h_source.html#l00124">ldns_dnssec_trust_tree_struct::rr</a>.</p>

</div>
</div>
<a class="anchor" id="ad4202512bf67514ed039abaebd375554"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify" ref="ad4202512bf67514ed039abaebd375554" args="(ldns_rr_list *rrset, ldns_rr_list *rrsig, const ldns_rr_list *keys, ldns_rr_list *good_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrsig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>good_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifies a list of signatures for one rrset. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset to verify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsig</td><td>a list of signatures to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>a list of keys to check with </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">good_keys</td><td>if this is a (initialized) list, the pointer to keys from keys that validate one of the signatures are added to it </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status LDNS_STATUS_OK if there is at least one correct key </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01144">1144</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l01100">ldns_verify_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a004bbeb2e0328a683c3920fdb64a70fe"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_time" ref="a004bbeb2e0328a683c3920fdb64a70fe" args="(ldns_rr_list *rrset, ldns_rr_list *rrsig, const ldns_rr_list *keys, time_t check_time, ldns_rr_list *good_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrsig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>good_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifies a list of signatures for one rrset. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset to verify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsig</td><td>a list of signatures to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>a list of keys to check with </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">good_keys</td><td>if this is a (initialized) list, the pointer to keys from keys that validate one of the signatures are added to it </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status LDNS_STATUS_OK if there is at least one correct key </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01100">1100</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="error_8h_source.html#l00059">LDNS_STATUS_CRYPTO_NO_MATCHING_KEYTAG_DNSKEY</a>, <a class="el" href="error_8h_source.html#l00054">LDNS_STATUS_CRYPTO_NO_RRSIG</a>, <a class="el" href="error_8h_source.html#l00056">LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY</a>, <a class="el" href="error_8h_source.html#l00037">LDNS_STATUS_ERR</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02245">ldns_verify_rrsig_keylist_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a2c76f566d82e226023f37f49e287dce8"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_notime" ref="a2c76f566d82e226023f37f49e287dce8" args="(ldns_rr_list *rrset, ldns_rr_list *rrsig, const ldns_rr_list *keys, ldns_rr_list *good_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_notime </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrsig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>good_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifies a list of signatures for one rrset, but disregard the time. </p>
<p>Inception and Expiration are not checked.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset to verify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsig</td><td>a list of signatures to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>a list of keys to check with </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">good_keys</td><td>if this is a (initialized) list, the pointer to keys from keys that validate one of the signatures are added to it </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status LDNS_STATUS_OK if there is at least one correct key </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01151">1151</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="error_8h_source.html#l00059">LDNS_STATUS_CRYPTO_NO_MATCHING_KEYTAG_DNSKEY</a>, <a class="el" href="error_8h_source.html#l00054">LDNS_STATUS_CRYPTO_NO_RRSIG</a>, <a class="el" href="error_8h_source.html#l00056">LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY</a>, <a class="el" href="error_8h_source.html#l00037">LDNS_STATUS_ERR</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02295">ldns_verify_rrsig_keylist_notime()</a>.</p>

</div>
</div>
<a class="anchor" id="ab2760e11af154c225f3ce6809aa1ae46"></a><!-- doxytag: member="dnssec_verify.h::ldns_fetch_valid_domain_keys" ref="ab2760e11af154c225f3ce6809aa1ae46" args="(const ldns_resolver *res, const ldns_rdf *domain, const ldns_rr_list *keys, ldns_status *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a>* ldns_fetch_valid_domain_keys </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tries to build an authentication chain from the given keys down to the queried domain. </p>
<p>If we find a valid trust path, return the valid keys for the domain.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>the current resolver </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>the domain we want valid keys for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>the current set of trusted keys </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">status</td><td>pointer to the status variable where the result code will be stored </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the set of trusted keys for the domain, or NULL if no trust path could be built. </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01257">1257</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l01191">ldns_fetch_valid_domain_keys_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a205eb53e65d2590a5da530941e2f174f"></a><!-- doxytag: member="dnssec_verify.h::ldns_fetch_valid_domain_keys_time" ref="a205eb53e65d2590a5da530941e2f174f" args="(const ldns_resolver *res, const ldns_rdf *domain, const ldns_rr_list *keys, time_t check_time, ldns_status *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a>* ldns_fetch_valid_domain_keys_time </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tries to build an authentication chain from the given keys down to the queried domain. </p>
<p>If we find a valid trust path, return the valid keys for the domain.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>the current resolver </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>the domain we want valid keys for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>the current set of trusted keys </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">status</td><td>pointer to the status variable where the result code will be stored </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the set of trusted keys for the domain, or NULL if no trust path could be built. </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01191">1191</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dname_8c_source.html#l00171">ldns_dname_left_chop()</a>, <a class="el" href="dnssec__verify_8c_source.html#l01191">ldns_fetch_valid_domain_keys_time()</a>, <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>, <a class="el" href="rdata_8c_source.html#l00024">ldns_rdf_size()</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="error_8h_source.html#l00056">LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY</a>, <a class="el" href="error_8h_source.html#l00058">LDNS_STATUS_CRYPTO_NO_TRUSTED_DS</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, <a class="el" href="dnssec__verify_8c_source.html#l01267">ldns_validate_domain_dnskey_time()</a>, and <a class="el" href="dnssec__verify_8c_source.html#l01370">ldns_validate_domain_ds_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a35f0a986f88711dfcd6326d40fabc314"></a><!-- doxytag: member="dnssec_verify.h::ldns_validate_domain_dnskey" ref="a35f0a986f88711dfcd6326d40fabc314" args="(const ldns_resolver *res, const ldns_rdf *domain, const ldns_rr_list *keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a>* ldns_validate_domain_dnskey </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Validates the DNSKEY RRset for the given domain using the provided trusted keys. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>the current resolver </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>the domain we want valid keys for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>the current set of trusted keys </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the set of trusted keys for the domain, or NULL if the RRSET could not be validated </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01361">1361</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l01267">ldns_validate_domain_dnskey_time()</a>.</p>

</div>
</div>
<a class="anchor" id="ab628afb04980e297c8d9fe69e44dfb30"></a><!-- doxytag: member="dnssec_verify.h::ldns_validate_domain_dnskey_time" ref="ab628afb04980e297c8d9fe69e44dfb30" args="(const ldns_resolver *res, const ldns_rdf *domain, const ldns_rr_list *keys, time_t check_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a>* ldns_validate_domain_dnskey_time </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Validates the DNSKEY RRset for the given domain using the provided trusted keys. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>the current resolver </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>the domain we want valid keys for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>the current set of trusted keys </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the set of trusted keys for the domain, or NULL if the RRSET could not be validated </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01267">1267</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00272">ldns_calc_keytag()</a>, <a class="el" href="packet_8c_source.html#l00776">ldns_pkt_free()</a>, <a class="el" href="packet_8c_source.html#l00284">ldns_pkt_rr_list_by_type()</a>, <a class="el" href="packet_8h_source.html#l00030">LDNS_RD</a>, <a class="el" href="rdata_8c_source.html#l00084">ldns_rdf2native_int16()</a>, <a class="el" href="resolver_8c_source.html#l00982">ldns_resolver_query()</a>, <a class="el" href="rr_8h_source.html#l00050">LDNS_RR_CLASS_IN</a>, <a class="el" href="rr_8c_source.html#l01328">ldns_rr_clone()</a>, <a class="el" href="rr_8c_source.html#l01655">ldns_rr_compare_ds()</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="rr_8c_source.html#l00930">ldns_rr_list_new()</a>, <a class="el" href="rr_8c_source.html#l01062">ldns_rr_list_push_rr()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr__functions_8c_source.html#l00183">ldns_rr_rrsig_keytag()</a>, <a class="el" href="rr_8h_source.html#l00175">LDNS_RR_TYPE_DNSKEY</a>, <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>, <a class="el" href="packet_8h_source.html#l00274">LDNS_SECTION_ANSWER</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02379">ldns_verify_rrsig_time()</a>.</p>

</div>
</div>
<a class="anchor" id="aca1027e56ee075c7132766816cc6c289"></a><!-- doxytag: member="dnssec_verify.h::ldns_validate_domain_ds" ref="aca1027e56ee075c7132766816cc6c289" args="(const ldns_resolver *res, const ldns_rdf *domain, const ldns_rr_list *keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a>* ldns_validate_domain_ds </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Validates the DS RRset for the given domain using the provided trusted keys. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>the current resolver </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>the domain we want valid keys for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>the current set of trusted keys </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the set of trusted keys for the domain, or NULL if the RRSET could not be validated </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01418">1418</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l01370">ldns_validate_domain_ds_time()</a>.</p>

</div>
</div>
<a class="anchor" id="ac736a9d8418a75f374a2d80300193f82"></a><!-- doxytag: member="dnssec_verify.h::ldns_validate_domain_ds_time" ref="ac736a9d8418a75f374a2d80300193f82" args="(const ldns_resolver *res, const ldns_rdf *domain, const ldns_rr_list *keys, time_t check_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a>* ldns_validate_domain_ds_time </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Validates the DS RRset for the given domain using the provided trusted keys. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>the current resolver </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">domain</td><td>the domain we want valid keys for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>the current set of trusted keys </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the set of trusted keys for the domain, or NULL if the RRSET could not be validated </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01370">1370</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="packet_8c_source.html#l00776">ldns_pkt_free()</a>, <a class="el" href="packet_8c_source.html#l00284">ldns_pkt_rr_list_by_type()</a>, <a class="el" href="packet_8h_source.html#l00030">LDNS_RD</a>, <a class="el" href="resolver_8c_source.html#l00982">ldns_resolver_query()</a>, <a class="el" href="rr_8h_source.html#l00050">LDNS_RR_CLASS_IN</a>, <a class="el" href="rr_8c_source.html#l01328">ldns_rr_clone()</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="rr_8c_source.html#l00930">ldns_rr_list_new()</a>, <a class="el" href="rr_8c_source.html#l01062">ldns_rr_list_push_rr()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8h_source.html#l00167">LDNS_RR_TYPE_DS</a>, <a class="el" href="rr_8h_source.html#l00173">LDNS_RR_TYPE_RRSIG</a>, <a class="el" href="packet_8h_source.html#l00274">LDNS_SECTION_ANSWER</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, and <a class="el" href="dnssec__verify_8c_source.html#l01100">ldns_verify_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a675bd3e7fabfb6de6a66c6412740a20a"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_trusted" ref="a675bd3e7fabfb6de6a66c6412740a20a" args="(ldns_resolver *res, ldns_rr_list *rrset, ldns_rr_list *rrsigs, ldns_rr_list *validating_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_trusted </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrsigs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>validating_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifies a list of signatures for one RRset using a valid trust path. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>the current resolver </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset to verify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsigs</td><td>a list of signatures to check </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">validating_keys</td><td>if this is a (initialized) list, the keys from keys that validate one of the signatures are added to it </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status LDNS_STATUS_OK if there is at least one correct key </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01489">1489</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l01426">ldns_verify_trusted_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a8c40b7fddc647f410d7e4da8279a17e0"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_trusted_time" ref="a8c40b7fddc647f410d7e4da8279a17e0" args="(ldns_resolver *res, ldns_rr_list *rrset, ldns_rr_list *rrsigs, time_t check_time, ldns_rr_list *validating_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_trusted_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__resolver.html">ldns_resolver</a> *&#160;</td>
          <td class="paramname"><em>res</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrsigs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>validating_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifies a list of signatures for one RRset using a valid trust path. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">res</td><td>the current resolver </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset to verify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsigs</td><td>a list of signatures to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">validating_keys</td><td>if this is a (initialized) list, the keys from keys that validate one of the signatures are added to it </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status LDNS_STATUS_OK if there is at least one correct key </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01426">1426</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l01191">ldns_fetch_valid_domain_keys_time()</a>, <a class="el" href="resolver_8c_source.html#l00126">ldns_resolver_dnssec_anchors()</a>, <a class="el" href="rr_8c_source.html#l01328">ldns_rr_clone()</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="rr_8c_source.html#l01062">ldns_rr_list_push_rr()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr__functions_8c_source.html#l00195">ldns_rr_rrsig_signame()</a>, <a class="el" href="error_8h_source.html#l00054">LDNS_STATUS_CRYPTO_NO_RRSIG</a>, <a class="el" href="error_8h_source.html#l00037">LDNS_STATUS_ERR</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02379">ldns_verify_rrsig_time()</a>.</p>

</div>
</div>
<a class="anchor" id="a577d7784deb3ea86dc9a843c829dc9d8"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_verify_denial" ref="a577d7784deb3ea86dc9a843c829dc9d8" args="(ldns_rr *rr, ldns_rr_list *nsecs, ldns_rr_list *rrsigs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_dnssec_verify_denial </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>nsecs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrsigs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>denial is not just a river in egypt </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rr</td><td>The (query) RR to check the denial of existence for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nsecs</td><td>The list of NSEC RRs that are supposed to deny the existence of the RR </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsigs</td><td>The RRSIG RR covering the NSEC RRs </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_STATUS_OK if the NSEC RRs deny the existence, error code containing the reason they do not otherwise </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01501">1501</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dname_8c_source.html#l00072">ldns_dname_cat()</a>, <a class="el" href="dname_8c_source.html#l00338">ldns_dname_compare()</a>, <a class="el" href="dname_8c_source.html#l00196">ldns_dname_label_count()</a>, <a class="el" href="dname_8c_source.html#l00171">ldns_dname_left_chop()</a>, <a class="el" href="dname_8c_source.html#l00247">ldns_dname_new_frm_str()</a>, <a class="el" href="dnssec_8c_source.html#l00029">ldns_dnssec_get_rrsig_for_name_and_type()</a>, <a class="el" href="dnssec_8c_source.html#l01341">ldns_nsec_bitmap_covers_type()</a>, <a class="el" href="dnssec_8c_source.html#l01374">ldns_nsec_covers_name()</a>, <a class="el" href="dnssec_8c_source.html#l00084">ldns_nsec_get_bitmap()</a>, <a class="el" href="rdata_8c_source.html#l00070">ldns_rdf2native_int8()</a>, <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr__functions_8c_source.html#l00135">ldns_rr_rrsig_labels()</a>, <a class="el" href="error_8h_source.html#l00099">LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED</a>, <a class="el" href="error_8h_source.html#l00100">LDNS_STATUS_DNSSEC_NSEC_WILDCARD_NOT_COVERED</a>, and <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>.</p>

</div>
</div>
<a class="anchor" id="aa02c90b76aa7096040b84e554999bcb2"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_verify_denial_nsec3" ref="aa02c90b76aa7096040b84e554999bcb2" args="(ldns_rr *rr, ldns_rr_list *nsecs, ldns_rr_list *rrsigs, ldns_pkt_rcode packet_rcode, ldns_rr_type packet_qtype, bool packet_nodata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_dnssec_verify_denial_nsec3 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>nsecs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrsigs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="packet_8h.html#a66980c75b368fd748277e54bc1c8acc0">ldns_pkt_rcode</a>&#160;</td>
          <td class="paramname"><em>packet_rcode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>packet_qtype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>packet_nodata</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Denial of existence using NSEC3 records Since NSEC3 is a bit more complicated than normal denial, some context arguments are needed. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rr</td><td>The (query) RR to check the denial of existence for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nsecs</td><td>The list of NSEC3 RRs that are supposed to deny the existence of the RR </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsigs</td><td>The RRSIG rr covering the NSEC RRs </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">packet_rcode</td><td>The RCODE value of the packet that provided the NSEC3 RRs </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">packet_qtype</td><td>The original query RR type </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">packet_nodata</td><td>True if the providing packet had an empty ANSWER section </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_STATUS_OK if the NSEC3 RRs deny the existence, error code containing the reason they do not otherwise </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01752">1752</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l01581">ldns_dnssec_verify_denial_nsec3_match()</a>.</p>

</div>
</div>
<a class="anchor" id="a50c2c94ccd740ee83a25edd1683d5c04"></a><!-- doxytag: member="dnssec_verify.h::ldns_dnssec_verify_denial_nsec3_match" ref="a50c2c94ccd740ee83a25edd1683d5c04" args="(ldns_rr *rr, ldns_rr_list *nsecs, ldns_rr_list *rrsigs, ldns_pkt_rcode packet_rcode, ldns_rr_type packet_qtype, bool packet_nodata, ldns_rr **match)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_dnssec_verify_denial_nsec3_match </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>nsecs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrsigs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="packet_8h.html#a66980c75b368fd748277e54bc1c8acc0">ldns_pkt_rcode</a>&#160;</td>
          <td class="paramname"><em>packet_rcode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="rr_8h.html#a5b71c1de711a178f6fbda5d684cdfed5">ldns_rr_type</a>&#160;</td>
          <td class="paramname"><em>packet_qtype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>packet_nodata</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> **&#160;</td>
          <td class="paramname"><em>match</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Same as ldns_status ldns_dnssec_verify_denial_nsec3 but also returns the nsec rr that matched. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rr</td><td>The (query) RR to check the denial of existence for </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nsecs</td><td>The list of NSEC3 RRs that are supposed to deny the existence of the RR </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsigs</td><td>The RRSIG rr covering the NSEC RRs </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">packet_rcode</td><td>The RCODE value of the packet that provided the NSEC3 RRs </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">packet_qtype</td><td>The original query RR type </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">packet_nodata</td><td>True if the providing packet had an empty ANSWER section </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">match</td><td>On match, the given (reference to a) pointer will be set to point to the matching nsec resource record. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>LDNS_STATUS_OK if the NSEC3 RRs deny the existence, error code containing the reason they do not otherwise </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01581">1581</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dname_8c_source.html#l00072">ldns_dname_cat()</a>, <a class="el" href="dname_8c_source.html#l00338">ldns_dname_compare()</a>, <a class="el" href="dname_8c_source.html#l00171">ldns_dname_left_chop()</a>, <a class="el" href="dname_8c_source.html#l00247">ldns_dname_new_frm_str()</a>, <a class="el" href="dnssec_8c_source.html#l00097">ldns_dnssec_nsec3_closest_encloser()</a>, <a class="el" href="dnssec_8c_source.html#l01306">ldns_nsec3_bitmap()</a>, <a class="el" href="dnssec_8c_source.html#l01316">ldns_nsec3_hash_name_frm_nsec3()</a>, <a class="el" href="dnssec_8c_source.html#l01341">ldns_nsec_bitmap_covers_type()</a>, <a class="el" href="dnssec_8c_source.html#l01374">ldns_nsec_covers_name()</a>, <a class="el" href="packet_8h_source.html#l00059">LDNS_RCODE_NXDOMAIN</a>, <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="rr_8c_source.html#l00849">ldns_rr_owner()</a>, <a class="el" href="rr_8h_source.html#l00091">LDNS_RR_TYPE_CNAME</a>, <a class="el" href="rr_8h_source.html#l00167">LDNS_RR_TYPE_DS</a>, <a class="el" href="error_8h_source.html#l00099">LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED</a>, <a class="el" href="error_8h_source.html#l00100">LDNS_STATUS_DNSSEC_NSEC_WILDCARD_NOT_COVERED</a>, <a class="el" href="error_8h_source.html#l00069">LDNS_STATUS_NSEC3_ERR</a>, and <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>.</p>

</div>
</div>
<a class="anchor" id="a6cc8856c4f28f3d6e8d38b39724ba10f"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_buffers" ref="a6cc8856c4f28f3d6e8d38b39724ba10f" args="(ldns_buffer *rawsig_buf, ldns_buffer *verify_buf, ldns_buffer *key_buf, uint8_t algo)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_buffers </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rawsig_buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>verify_buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>key_buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>algo</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifies the already processed data in the buffers This function should probably not be used directly. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rawsig_buf</td><td>Buffer containing signature data to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">verify_buf</td><td>Buffer containing data to verify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key_buf</td><td>Buffer containing key data to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">algo</td><td>Signing algorithm </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status LDNS_STATUS_OK if the data verifies. Error if not. </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01878">1878</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l01890">ldns_verify_rrsig_buffers_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a07081c9edc2223b27712372951d3666b"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_buffers_raw" ref="a07081c9edc2223b27712372951d3666b" args="(unsigned char *sig, size_t siglen, ldns_buffer *verify_buf, unsigned char *key, size_t keylen, uint8_t algo)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_buffers_raw </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>siglen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>verify_buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>keylen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>algo</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like ldns_verify_rrsig_buffers, but uses raw data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>signature data to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">siglen</td><td>length of signature data to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">verify_buf</td><td>Buffer containing data to verify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>key data to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keylen</td><td>length of key data to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">algo</td><td>Signing algorithm </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status LDNS_STATUS_OK if the data verifies. Error if not. </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l01890">1890</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00049">LDNS_DSA</a>, <a class="el" href="keys_8h_source.html#l00052">LDNS_DSA_NSEC3</a>, <a class="el" href="keys_8h_source.html#l00056">LDNS_ECC_GOST</a>, <a class="el" href="keys_8h_source.html#l00047">LDNS_RSAMD5</a>, <a class="el" href="keys_8h_source.html#l00051">LDNS_RSASHA1</a>, <a class="el" href="keys_8h_source.html#l00053">LDNS_RSASHA1_NSEC3</a>, <a class="el" href="keys_8h_source.html#l00054">LDNS_RSASHA256</a>, <a class="el" href="keys_8h_source.html#l00055">LDNS_RSASHA512</a>, <a class="el" href="error_8h_source.html#l00052">LDNS_STATUS_CRYPTO_UNKNOWN_ALGO</a>, <a class="el" href="dnssec__verify_8c_source.html#l02503">ldns_verify_rrsig_dsa_raw()</a>, <a class="el" href="dnssec__verify_8c_source.html#l02618">ldns_verify_rrsig_rsamd5_raw()</a>, <a class="el" href="dnssec__verify_8c_source.html#l02525">ldns_verify_rrsig_rsasha1_raw()</a>, <a class="el" href="dnssec__verify_8c_source.html#l02547">ldns_verify_rrsig_rsasha256_raw()</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02582">ldns_verify_rrsig_rsasha512_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a315efc1b4d7e437097605fe40e618fd3"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_keylist" ref="a315efc1b4d7e437097605fe40e618fd3" args="(ldns_rr_list *rrset, ldns_rr *rrsig, const ldns_rr_list *keys, ldns_rr_list *good_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_keylist </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rrsig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>good_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifies an rrsig. </p>
<p>All keys in the keyset are tried. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsig</td><td>the signature of the rrset </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>the keys to try </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">good_keys</td><td>if this is a (initialized) list, the pointer to keys from keys that validate one of the signatures are added to it </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a list of keys which validate the rrsig + rrset. Returns status LDNS_STATUS_OK if at least one key matched. Else an error. </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02285">2285</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l02245">ldns_verify_rrsig_keylist_time()</a>.</p>

</div>
</div>
<a class="anchor" id="abcf52cc8bc77abddc09538c0a7124f2b"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_keylist_time" ref="abcf52cc8bc77abddc09538c0a7124f2b" args="(ldns_rr_list *rrset, ldns_rr *rrsig, const ldns_rr_list *keys, time_t check_time, ldns_rr_list *good_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_keylist_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rrsig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>good_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifies an rrsig. </p>
<p>All keys in the keyset are tried. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsig</td><td>the signature of the rrset </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>the keys to try </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">good_keys</td><td>if this is a (initialized) list, the pointer to keys from keys that validate one of the signatures are added to it </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a list of keys which validate the rrsig + rrset. Returns status LDNS_STATUS_OK if at least one key matched. Else an error. </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02245">2245</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="rr_8c_source.html#l00966">ldns_rr_list_cat()</a>, <a class="el" href="rr_8c_source.html#l00941">ldns_rr_list_free()</a>, <a class="el" href="rr_8c_source.html#l00930">ldns_rr_list_new()</a>, <a class="el" href="error_8h_source.html#l00034">LDNS_STATUS_MEM_ERR</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02295">ldns_verify_rrsig_keylist_notime()</a>.</p>

</div>
</div>
<a class="anchor" id="abca413b582e84c56749c472f86854560"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_keylist_notime" ref="abca413b582e84c56749c472f86854560" args="(ldns_rr_list *rrset, ldns_rr *rrsig, const ldns_rr_list *keys, ldns_rr_list *good_keys)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_keylist_notime </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rrsig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>good_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Verifies an rrsig. </p>
<p>All keys in the keyset are tried. Time is not checked. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset to check </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsig</td><td>the signature of the rrset </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>the keys to try </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">good_keys</td><td>if this is a (initialized) list, the pointer to keys from keys that validate one of the signatures are added to it </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a list of keys which validate the rrsig + rrset. Returns status LDNS_STATUS_OK if at least one key matched. Else an error. </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02295">2295</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="buffer_8c_source.html#l00137">ldns_buffer_free()</a>, <a class="el" href="buffer_8c_source.html#l00016">ldns_buffer_new()</a>, <a class="el" href="packet_8h_source.html#l00024">LDNS_MAX_PACKETLEN</a>, <a class="el" href="rr_8c_source.html#l00966">ldns_rr_list_cat()</a>, <a class="el" href="rr_8c_source.html#l01359">ldns_rr_list_clone()</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="rr_8c_source.html#l00941">ldns_rr_list_free()</a>, <a class="el" href="rr_8c_source.html#l00930">ldns_rr_list_new()</a>, <a class="el" href="rr_8c_source.html#l01062">ldns_rr_list_push_rr()</a>, <a class="el" href="rr_8c_source.html#l00920">ldns_rr_list_rr()</a>, <a class="el" href="rr_8c_source.html#l00887">ldns_rr_list_rr_count()</a>, <a class="el" href="error_8h_source.html#l00059">LDNS_STATUS_CRYPTO_NO_MATCHING_KEYTAG_DNSKEY</a>, <a class="el" href="error_8h_source.html#l00037">LDNS_STATUS_ERR</a>, <a class="el" href="error_8h_source.html#l00034">LDNS_STATUS_MEM_ERR</a>, and <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>.</p>

</div>
</div>
<a class="anchor" id="a7001aec0c5e3b377456909827ea4803a"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig" ref="a7001aec0c5e3b377456909827ea4803a" args="(ldns_rr_list *rrset, ldns_rr *rrsig, ldns_rr *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rrsig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>verify an rrsig with 1 key </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsig</td><td>the rrsig to verify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key to use </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status message wether verification succeeded. </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02422">2422</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l02379">ldns_verify_rrsig_time()</a>.</p>

</div>
</div>
<a class="anchor" id="ac1b03a20051e1a9943a1ff536bae9d71"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_time" ref="ac1b03a20051e1a9943a1ff536bae9d71" args="(ldns_rr_list *rrset, ldns_rr *rrsig, ldns_rr *key, time_t check_time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr__list.html">ldns_rr_list</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>rrsig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">time_t&#160;</td>
          <td class="paramname"><em>check_time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>verify an rrsig with 1 key </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrsig</td><td>the rrsig to verify </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">check_time</td><td>the time for which the validation is performed </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>status message wether verification succeeded. </dd></dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02379">2379</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="buffer_8c_source.html#l00137">ldns_buffer_free()</a>, <a class="el" href="buffer_8c_source.html#l00016">ldns_buffer_new()</a>, <a class="el" href="packet_8h_source.html#l00024">LDNS_MAX_PACKETLEN</a>, <a class="el" href="rr_8c_source.html#l01359">ldns_rr_list_clone()</a>, <a class="el" href="rr_8c_source.html#l00950">ldns_rr_list_deep_free()</a>, <a class="el" href="error_8h_source.html#l00077">LDNS_STATUS_NO_DATA</a>, and <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>.</p>

</div>
</div>
<a class="anchor" id="ae57c4582a40f06f3d0731480b4b672ca"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_evp" ref="ae57c4582a40f06f3d0731480b4b672ca" args="(ldns_buffer *sig, ldns_buffer *rrset, EVP_PKEY *key, const EVP_MD *digest_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_evp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EVP_PKEY *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const EVP_MD *&#160;</td>
          <td class="paramname"><em>digest_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>verifies a buffer with signature data for a buffer with rrset data with an EVP_PKEY </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>the signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset data, sorted and processed for verification </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the EVP key structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">digest_type</td><td>The digest type of the signature </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02429">2429</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l02443">ldns_verify_rrsig_evp_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a269950f7429246bb1374b98ce76e40f3"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_evp_raw" ref="a269950f7429246bb1374b98ce76e40f3" args="(unsigned char *sig, size_t siglen, ldns_buffer *rrset, EVP_PKEY *key, const EVP_MD *digest_type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_evp_raw </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>siglen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EVP_PKEY *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const EVP_MD *&#160;</td>
          <td class="paramname"><em>digest_type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like ldns_verify_rrsig_evp, but uses raw signature data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>the signature data, wireformat uncompressed </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">siglen</td><td>length of the signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset data, sorted and processed for verification </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the EVP key structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">digest_type</td><td>The digest type of the signature </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02443">2443</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="error_8h_source.html#l00061">LDNS_STATUS_CRYPTO_BOGUS</a>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, and <a class="el" href="error_8h_source.html#l00036">LDNS_STATUS_SSL_ERR</a>.</p>

</div>
</div>
<a class="anchor" id="a9b653147ba772a0ea842ba8880583220"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_dsa" ref="a9b653147ba772a0ea842ba8880583220" args="(ldns_buffer *sig, ldns_buffer *rrset, ldns_buffer *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_dsa </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>verifies a buffer with signature data (DSA) for a buffer with rrset data with a buffer with key data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>the signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset data, sorted and processed for verification </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02470">2470</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l02503">ldns_verify_rrsig_dsa_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a4fdf1e4d54accfeefa1cfdc4e60040c4"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_rsasha1" ref="a4fdf1e4d54accfeefa1cfdc4e60040c4" args="(ldns_buffer *sig, ldns_buffer *rrset, ldns_buffer *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_rsasha1 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>verifies a buffer with signature data (RSASHA1) for a buffer with rrset data with a buffer with key data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>the signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset data, sorted and processed for verification </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02481">2481</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l02525">ldns_verify_rrsig_rsasha1_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a6a30a37b58b4bf37a69406e9b27c9f8c"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_rsamd5" ref="a6a30a37b58b4bf37a69406e9b27c9f8c" args="(ldns_buffer *sig, ldns_buffer *rrset, ldns_buffer *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_rsamd5 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>verifies a buffer with signature data (RSAMD5) for a buffer with rrset data with a buffer with key data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>the signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>the rrset data, sorted and processed for verification </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02492">2492</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec__verify_8c_source.html#l02618">ldns_verify_rrsig_rsamd5_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a60104b2cf7e0b191d318ac999c1b8df1"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_dsa_raw" ref="a60104b2cf7e0b191d318ac999c1b8df1" args="(unsigned char *sig, size_t siglen, ldns_buffer *rrset, unsigned char *key, size_t keylen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_dsa_raw </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>siglen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>keylen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like ldns_verify_rrsig_dsa, but uses raw signature and key data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>raw uncompressed wireformat signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">siglen</td><td>length of signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>ldns buffer with prepared rrset data. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>raw uncompressed wireformat key data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keylen</td><td>length of key data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02503">2503</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00338">ldns_key_buf2dsa_raw()</a>, <a class="el" href="error_8h_source.html#l00036">LDNS_STATUS_SSL_ERR</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02443">ldns_verify_rrsig_evp_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a7e366070fa35145988c1134f08342062"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_rsasha1_raw" ref="a7e366070fa35145988c1134f08342062" args="(unsigned char *sig, size_t siglen, ldns_buffer *rrset, unsigned char *key, size_t keylen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_rsasha1_raw </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>siglen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>keylen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like ldns_verify_rrsig_rsasha1, but uses raw signature and key data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>raw uncompressed wireformat signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">siglen</td><td>length of signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>ldns buffer with prepared rrset data. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>raw uncompressed wireformat key data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keylen</td><td>length of key data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02525">2525</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00397">ldns_key_buf2rsa_raw()</a>, <a class="el" href="error_8h_source.html#l00036">LDNS_STATUS_SSL_ERR</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02443">ldns_verify_rrsig_evp_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a39a8d97fe565f8d6f8ad7da8fb3ebeca"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_rsasha256_raw" ref="a39a8d97fe565f8d6f8ad7da8fb3ebeca" args="(unsigned char *sig, size_t siglen, ldns_buffer *rrset, unsigned char *key, size_t keylen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_rsasha256_raw </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>siglen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>keylen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like ldns_verify_rrsig_rsasha256, but uses raw signature and key data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>raw uncompressed wireformat signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">siglen</td><td>length of signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>ldns buffer with prepared rrset data. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>raw uncompressed wireformat key data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keylen</td><td>length of key data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02547">2547</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00397">ldns_key_buf2rsa_raw()</a>, <a class="el" href="error_8h_source.html#l00052">LDNS_STATUS_CRYPTO_UNKNOWN_ALGO</a>, <a class="el" href="error_8h_source.html#l00036">LDNS_STATUS_SSL_ERR</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02443">ldns_verify_rrsig_evp_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="a84c024048a0c4c9befe8d73186a85210"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_rsasha512_raw" ref="a84c024048a0c4c9befe8d73186a85210" args="(unsigned char *sig, size_t siglen, ldns_buffer *rrset, unsigned char *key, size_t keylen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_rsasha512_raw </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>siglen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>keylen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like ldns_verify_rrsig_rsasha512, but uses raw signature and key data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>raw uncompressed wireformat signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">siglen</td><td>length of signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>ldns buffer with prepared rrset data. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>raw uncompressed wireformat key data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keylen</td><td>length of key data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02582">2582</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00397">ldns_key_buf2rsa_raw()</a>, <a class="el" href="error_8h_source.html#l00052">LDNS_STATUS_CRYPTO_UNKNOWN_ALGO</a>, <a class="el" href="error_8h_source.html#l00036">LDNS_STATUS_SSL_ERR</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02443">ldns_verify_rrsig_evp_raw()</a>.</p>

</div>
</div>
<a class="anchor" id="aa7365177ba5912134937208868a7e947"></a><!-- doxytag: member="dnssec_verify.h::ldns_verify_rrsig_rsamd5_raw" ref="aa7365177ba5912134937208868a7e947" args="(unsigned char *sig, size_t siglen, ldns_buffer *rrset, unsigned char *key, size_t keylen)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> ldns_verify_rrsig_rsamd5_raw </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>siglen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__buffer.html">ldns_buffer</a> *&#160;</td>
          <td class="paramname"><em>rrset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>keylen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Like ldns_verify_rrsig_rsamd5, but uses raw signature and key data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sig</td><td>raw uncompressed wireformat signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">siglen</td><td>length of signature data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rrset</td><td>ldns buffer with prepared rrset data. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>raw uncompressed wireformat key data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">keylen</td><td>length of key data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dnssec__verify_8c_source.html#l02618">2618</a> of file <a class="el" href="dnssec__verify_8c_source.html">dnssec_verify.c</a>.</p>

<p>References <a class="el" href="dnssec_8c_source.html#l00397">ldns_key_buf2rsa_raw()</a>, <a class="el" href="error_8h_source.html#l00036">LDNS_STATUS_SSL_ERR</a>, and <a class="el" href="dnssec__verify_8c_source.html#l02443">ldns_verify_rrsig_evp_raw()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Jan 11 2012 for ldns by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>