Sophie

Sophie

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

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>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">keys.c File Reference</div>  </div>
</div>
<div class="contents">

<p><a href="keys_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<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__struct__key__list.html">ldns_key_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a311eb372cb3180df25cdef98751adb27">ldns_key_list_new</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new empty key list.  <a href="#a311eb372cb3180df25cdef98751adb27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#aa0f2535ad10be9b2938a67e8e8e3b6b6">ldns_key_new</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new empty key structure.  <a href="#aa0f2535ad10be9b2938a67e8e8e3b6b6"></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="keys_8c.html#a2c1d9ee3695140309e818e3ce16d637f">ldns_key_new_frm_fp</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> **k, FILE *fp)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new priv key based on the contents of the file pointed by fp.  <a href="#a2c1d9ee3695140309e818e3ce16d637f"></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="keys_8c.html#ac73013d7e683e0b4d8e9a32c3036da44">ldns_key_new_frm_engine</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> **key, ENGINE *e, char *key_id, <a class="el" href="keys_8h.html#af4bde8238e05b183cf373f49639a3e58">ldns_algorithm</a> alg)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the key with the given id from the given engine and store it in the given ldns_key structure.  <a href="#ac73013d7e683e0b4d8e9a32c3036da44"></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="keys_8c.html#a0197f9dd65bae3a3cb408c19683d3db8">ldns_key_new_frm_fp_l</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> **key, FILE *fp, int *line_nr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new private key based on the contents of the file pointed by fp.  <a href="#a0197f9dd65bae3a3cb408c19683d3db8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#abb0f8bdbe3c16887367a9dc7d3a6825a">ldns_key_new_frm_fp_rsa</a> (FILE *f)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#abb0f8bdbe3c16887367a9dc7d3a6825a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a2249817ddcd666f22df3b1f3dc8ac7de">ldns_key_new_frm_fp_rsa_l</a> (FILE *f, int *line_nr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#a2249817ddcd666f22df3b1f3dc8ac7de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a4f289f32ebb8220a81edb0cead4666ea">ldns_key_new_frm_fp_dsa</a> (FILE *f)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#a4f289f32ebb8220a81edb0cead4666ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a8897b13a4597a7ce543ddafa576a771a">ldns_key_new_frm_fp_dsa_l</a> (FILE *f, int *line_nr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#a8897b13a4597a7ce543ddafa576a771a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#ad0d8d883cfd0e60971c90bbcede6b002">ldns_key_new_frm_fp_hmac</a> (FILE *f, size_t *hmac_size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#ad0d8d883cfd0e60971c90bbcede6b002"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#ac067b69d6cccf933d9a71fadd663f529">ldns_key_new_frm_fp_hmac_l</a> (FILE *f, int *line_nr, size_t *hmac_size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#ac067b69d6cccf933d9a71fadd663f529"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a4e7e2ac8173cc9e0b7714b40a6d30845">ldns_key_new_frm_algorithm</a> (<a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a> alg, uint16_t size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new key based on the algorithm.  <a href="#a4e7e2ac8173cc9e0b7714b40a6d30845"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a743980d6a4c1f3cd2a87e4e323a34dac">ldns_key_print</a> (FILE *output, const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">print a private key to the file ouput  <a href="#a743980d6a4c1f3cd2a87e4e323a34dac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#ae27c72580b947a8ae330a5753cf4c220">ldns_key_set_algorithm</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, <a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a> l)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's algorithm.  <a href="#ae27c72580b947a8ae330a5753cf4c220"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#aea3bc851574cf6ccc40d850deaea348f">ldns_key_set_flags</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, uint16_t f)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's flags.  <a href="#aea3bc851574cf6ccc40d850deaea348f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a92165f884e17f7c067a185442085a5aa">ldns_key_set_evp_key</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, EVP_PKEY *e)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's evp key.  <a href="#a92165f884e17f7c067a185442085a5aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#aed378f559db3f0b4206f7f52b0f78762">ldns_key_set_rsa_key</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, RSA *r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's rsa data.  <a href="#aed378f559db3f0b4206f7f52b0f78762"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a39152994a2369b033721ffa904738f82">ldns_key_set_dsa_key</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, DSA *d)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's dsa data.  <a href="#a39152994a2369b033721ffa904738f82"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a385ccd045bc926c760dad28dc35dfaaf">ldns_key_set_hmac_key</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, unsigned char *hmac)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's hmac data.  <a href="#a385ccd045bc926c760dad28dc35dfaaf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#ab66e843127443126bb93edb7e8a58f7c">ldns_key_set_hmac_size</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, size_t hmac_size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's hmac size.  <a href="#ab66e843127443126bb93edb7e8a58f7c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a23e41ca680c1bfe71c1fbe74a5b58c3b">ldns_key_set_external_key</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, void *external_key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key id data.  <a href="#a23e41ca680c1bfe71c1fbe74a5b58c3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a8d14084f74652791362a77846546bcc8">ldns_key_set_origttl</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, uint32_t t)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's original ttl.  <a href="#a8d14084f74652791362a77846546bcc8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#af1521b6b3c0e84a629d09bf237f40308">ldns_key_set_inception</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, uint32_t i)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's inception date (seconds after epoch)  <a href="#af1521b6b3c0e84a629d09bf237f40308"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a25f9483844dbd83abca56d725923c591">ldns_key_set_expiration</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, uint32_t e)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's expiration date (seconds after epoch)  <a href="#a25f9483844dbd83abca56d725923c591"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a4c0b77f2579a2a6ce4355aa29de237e5">ldns_key_set_pubkey_owner</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, <a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *r)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's pubkey owner.  <a href="#a4c0b77f2579a2a6ce4355aa29de237e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a9bdf435dfcf6a6a603c3284054a8126c">ldns_key_set_keytag</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, uint16_t tag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's key tag.  <a href="#a9bdf435dfcf6a6a603c3284054a8126c"></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="keys_8c.html#ae89bbcf27c4ff67cda1369b583dec02f">ldns_key_list_key_count</a> (const <a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *key_list)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the number of keys in the key list  <a href="#ae89bbcf27c4ff67cda1369b583dec02f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#afe06ede6432e59eb7ccc9d57a285060a">ldns_key_list_key</a> (const <a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *key, size_t nr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns a pointer to the key in the list at the given position  <a href="#afe06ede6432e59eb7ccc9d57a285060a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a906b7cc79acd016fb1f400aff16b9f1c">ldns_key_algorithm</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the signing alg of the key  <a href="#a906b7cc79acd016fb1f400aff16b9f1c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a3b7792865c5af9fd4fbc53c04946be01">ldns_key_set_use</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, bool v)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set the use flag  <a href="#a3b7792865c5af9fd4fbc53c04946be01"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#afee1fabe43cf6dfb43c8b0966350153e">ldns_key_use</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the use flag  <a href="#afee1fabe43cf6dfb43c8b0966350153e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">EVP_PKEY *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a1b18028c1c2b8bca296f099461dc747a">ldns_key_evp_key</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the (openssl) EVP struct contained in the key  <a href="#a1b18028c1c2b8bca296f099461dc747a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#ab6d8d9d2a11f73c09c83c6ff4cd2bb98">ldns_key_rsa_key</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the (openssl) RSA struct contained in the key  <a href="#ab6d8d9d2a11f73c09c83c6ff4cd2bb98"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">DSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#ae3f85392da83f13ba7556373816b350d">ldns_key_dsa_key</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the (openssl) DSA struct contained in the key  <a href="#ae3f85392da83f13ba7556373816b350d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a4ddd291d05ea2a66c7dc8896ffb5bfd0">ldns_key_hmac_key</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the hmac key data  <a href="#a4ddd291d05ea2a66c7dc8896ffb5bfd0"></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="keys_8c.html#a84da4a777c99c6e96dea4c4d6e9cb269">ldns_key_hmac_size</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the hmac key size  <a href="#a84da4a777c99c6e96dea4c4d6e9cb269"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a727d06b70953304b1ebb426414506e91">ldns_key_external_key</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the key id key data  <a href="#a727d06b70953304b1ebb426414506e91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a603a4e9fe16f00a7a69dea73f25bd797">ldns_key_origttl</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the original ttl of the key  <a href="#a603a4e9fe16f00a7a69dea73f25bd797"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#ad4359824295f24c7cef57b616288947d">ldns_key_flags</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the flag of the key  <a href="#ad4359824295f24c7cef57b616288947d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#aab487cf33d6af3c24bf4c500772d951e">ldns_key_inception</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the key's inception date  <a href="#aab487cf33d6af3c24bf4c500772d951e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a083d425d1bb74ace49cd4e7aa8d738fb">ldns_key_expiration</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the key's expiration date  <a href="#a083d425d1bb74ace49cd4e7aa8d738fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a8cf2ca2fc8d72b28076157beb791b347">ldns_key_keytag</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the keytag  <a href="#a8cf2ca2fc8d72b28076157beb791b347"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#ab8c7cbd30af086afa9046f059bc245c9">ldns_key_pubkey_owner</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the public key's owner  <a href="#ab8c7cbd30af086afa9046f059bc245c9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a40afb1fed3e89304d547a2b526d3db16">ldns_key_list_set_use</a> (<a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *keys, bool v)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the 'use' flag for all keys in the list.  <a href="#a40afb1fed3e89304d547a2b526d3db16"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a05eb2cce01ec9ebbe9ff6ac8c724e668">ldns_key_list_set_key_count</a> (<a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *key, size_t count)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the keylist's key count to count.  <a href="#a05eb2cce01ec9ebbe9ff6ac8c724e668"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a221251701900a1de52cfe2613a9e6e9d">ldns_key_list_push_key</a> (<a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *key_list, <a class="el" href="structldns__struct__key.html">ldns_key</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">pushes a key to a keylist  <a href="#a221251701900a1de52cfe2613a9e6e9d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a2202111bbdbcd68df9e4bb89985ca95a">ldns_key_list_pop_key</a> (<a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *key_list)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">pops the last rr from a keylist  <a href="#a2202111bbdbcd68df9e4bb89985ca95a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a45bdcdbe6aac4764bff1ad12a86a6541">ldns_key2rr</a> (const <a class="el" href="structldns__struct__key.html">ldns_key</a> *k)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">converts a ldns_key to a public key rr If the key data exists at an external point, the corresponding rdata field must still be added with ldns_rr_rdf_push() to the result rr of this function  <a href="#a45bdcdbe6aac4764bff1ad12a86a6541"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#aa7fa8dda901db59cd5bc66d0da4c0cba">ldns_key_free</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frees a key structure, but not its internal data structures  <a href="#aa7fa8dda901db59cd5bc66d0da4c0cba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#aeff4e77fcf3ef69fc059216305f9d85b">ldns_key_deep_free</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frees a key structure and all its internal data structures, except the data set by <a class="el" href="keys_8c.html#a23e41ca680c1bfe71c1fbe74a5b58c3b" title="Set the key id data.">ldns_key_set_external_key()</a>  <a href="#aeff4e77fcf3ef69fc059216305f9d85b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a11dd420fbf4a79250f1261754fbd139e">ldns_key_list_free</a> (<a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *key_list)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a key list structure.  <a href="#a11dd420fbf4a79250f1261754fbd139e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rr.html">ldns_rr</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a51826a1a298436c885ab77c2afe73bdc">ldns_read_anchor_file</a> (const char *filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiates a DNSKEY or DS RR from file.  <a href="#a51826a1a298436c885ab77c2afe73bdc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#aae718af496f2cc9e2580faa4127d0067">ldns_key_get_file_base_name</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the 'default base name' for key files; IE.  <a href="#aae718af496f2cc9e2580faa4127d0067"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a2368ee62953bdea2620daaa9aa3db8c3">ldns_key_algo_supported</a> (int algo)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">See if a key algorithm is supported.  <a href="#a2368ee62953bdea2620daaa9aa3db8c3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#a222c49989b22e5c138adb61ad62b55e4">ldns_get_signing_algorithm_by_name</a> (const char *name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get signing algorithm by name.  <a href="#a222c49989b22e5c138adb61ad62b55e4"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8c.html#abe875964254b61807ec7953e478db5bf">ldns_signing_algorithms</a> []</td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a311eb372cb3180df25cdef98751adb27"></a><!-- doxytag: member="keys.c::ldns_key_list_new" ref="a311eb372cb3180df25cdef98751adb27" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__key__list.html">ldns_key_list</a>* ldns_key_list_new </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new empty key list. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new ldns_key_list structure pointer </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00047">47</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00172">ldns_struct_key_list::_key_count</a>, <a class="el" href="keys_8h_source.html#l00173">ldns_struct_key_list::_keys</a>, and <a class="el" href="util_8h_source.html#l00049">LDNS_MALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="aa0f2535ad10be9b2938a67e8e8e3b6b6"></a><!-- doxytag: member="keys.c::ldns_key_new" ref="aa0f2535ad10be9b2938a67e8e8e3b6b6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__key.html">ldns_key</a>* ldns_key_new </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Definition at line <a class="el" href="keys_8c_source.html#l00060">60</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8c_source.html#l00975">ldns_key_set_evp_key()</a>, <a class="el" href="keys_8c_source.html#l01029">ldns_key_set_expiration()</a>, <a class="el" href="keys_8c_source.html#l01011">ldns_key_set_external_key()</a>, <a class="el" href="keys_8c_source.html#l00967">ldns_key_set_flags()</a>, <a class="el" href="keys_8c_source.html#l00999">ldns_key_set_hmac_key()</a>, <a class="el" href="keys_8c_source.html#l01023">ldns_key_set_inception()</a>, <a class="el" href="keys_8c_source.html#l01041">ldns_key_set_keytag()</a>, <a class="el" href="keys_8c_source.html#l01017">ldns_key_set_origttl()</a>, <a class="el" href="keys_8c_source.html#l01035">ldns_key_set_pubkey_owner()</a>, <a class="el" href="keys_8c_source.html#l01070">ldns_key_set_use()</a>, <a class="el" href="keys_8h_source.html#l00038">LDNS_KEY_ZONE_KEY</a>, and <a class="el" href="util_8h_source.html#l00049">LDNS_MALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="a2c1d9ee3695140309e818e3ce16d637f"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_fp" ref="a2c1d9ee3695140309e818e3ce16d637f" args="(ldns_key **k, FILE *fp)" -->
<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_key_new_frm_fp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> **&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new priv key based on the contents of the file pointed by fp. </p>
<p>The file should be in Private-key-format v1.x.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">k</td><td>the new ldns_key structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file pointer to use </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>an error or LDNS_STATUS_OK </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00086">86</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8c_source.html#l00291">ldns_key_new_frm_fp_l()</a>.</p>

</div>
</div>
<a class="anchor" id="ac73013d7e683e0b4d8e9a32c3036da44"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_engine" ref="ac73013d7e683e0b4d8e9a32c3036da44" args="(ldns_key **key, ENGINE *e, char *key_id, ldns_algorithm alg)" -->
<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_key_new_frm_engine </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> **&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ENGINE *&#160;</td>
          <td class="paramname"><em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>key_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="keys_8h.html#af4bde8238e05b183cf373f49639a3e58">ldns_algorithm</a>&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read the key with the given id from the given engine and store it in the given ldns_key structure. </p>
<p>The algorithm type is set </p>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00093">93</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>, <a class="el" href="keys_8c_source.html#l01528">ldns_key_free()</a>, <a class="el" href="keys_8c_source.html#l00060">ldns_key_new()</a>, <a class="el" href="keys_8c_source.html#l00961">ldns_key_set_algorithm()</a>, <a class="el" href="error_8h_source.html#l00068">LDNS_STATUS_ENGINE_KEY_NOT_LOADED</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="a0197f9dd65bae3a3cb408c19683d3db8"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_fp_l" ref="a0197f9dd65bae3a3cb408c19683d3db8" args="(ldns_key **key, FILE *fp, int *line_nr)" -->
<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_key_new_frm_fp_l </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> **&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>line_nr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new private key based on the contents of the file pointed by fp. </p>
<p>The file should be in Private-key-format v1.x.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">k</td><td>the new ldns_key structure </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file pointer to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">line_nr</td><td>pointer to an integer containing the current line number (for debugging purposes) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>an error or LDNS_STATUS_OK </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00291">291</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>, <a class="el" href="dnssec_8c_source.html#l00272">ldns_calc_keytag()</a>, <a class="el" href="keys_8h_source.html#l00048">LDNS_DH</a>, <a class="el" href="keys_8h_source.html#l00050">LDNS_ECC</a>, <a class="el" href="parse_8c_source.html#l00182">ldns_fget_keyword_data_l()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="keys_8c_source.html#l01335">ldns_key2rr()</a>, <a class="el" href="keys_8h.html#a631eb1d2915d9c72cd12a0e44a549f45">ldns_key_EVP_load_gost_id()</a>, <a class="el" href="keys_8c_source.html#l01528">ldns_key_free()</a>, <a class="el" href="keys_8c_source.html#l00060">ldns_key_new()</a>, <a class="el" href="keys_8c_source.html#l00654">ldns_key_new_frm_fp_dsa_l()</a>, <a class="el" href="keys_8c_source.html#l00743">ldns_key_new_frm_fp_hmac_l()</a>, <a class="el" href="keys_8c_source.html#l00511">ldns_key_new_frm_fp_rsa_l()</a>, <a class="el" href="keys_8c_source.html#l00961">ldns_key_set_algorithm()</a>, <a class="el" href="keys_8c_source.html#l00989">ldns_key_set_dsa_key()</a>, <a class="el" href="keys_8c_source.html#l00975">ldns_key_set_evp_key()</a>, <a class="el" href="keys_8c_source.html#l00999">ldns_key_set_hmac_key()</a>, <a class="el" href="keys_8c_source.html#l01005">ldns_key_set_hmac_size()</a>, <a class="el" href="keys_8c_source.html#l01041">ldns_key_set_keytag()</a>, <a class="el" href="keys_8c_source.html#l00981">ldns_key_set_rsa_key()</a>, <a class="el" href="parse_8h_source.html#l00023">LDNS_MAX_LINELEN</a>, <a class="el" href="rr_8c_source.html#l00075">ldns_rr_free()</a>, <a class="el" href="keys_8h_source.html#l00092">LDNS_SIGN_DSA</a>, <a class="el" href="keys_8h_source.html#l00096">LDNS_SIGN_DSA_NSEC3</a>, <a class="el" href="keys_8h_source.html#l00097">LDNS_SIGN_ECC_GOST</a>, <a class="el" href="keys_8h_source.html#l00104">LDNS_SIGN_HMACMD5</a>, <a class="el" href="keys_8h_source.html#l00105">LDNS_SIGN_HMACSHA1</a>, <a class="el" href="keys_8h_source.html#l00106">LDNS_SIGN_HMACSHA256</a>, <a class="el" href="keys_8h_source.html#l00090">LDNS_SIGN_RSAMD5</a>, <a class="el" href="keys_8h_source.html#l00091">LDNS_SIGN_RSASHA1</a>, <a class="el" href="keys_8h_source.html#l00093">LDNS_SIGN_RSASHA1_NSEC3</a>, <a class="el" href="keys_8h_source.html#l00094">LDNS_SIGN_RSASHA256</a>, <a class="el" href="keys_8h_source.html#l00095">LDNS_SIGN_RSASHA512</a>, <a class="el" href="error_8h_source.html#l00053">LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL</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>, <a class="el" href="error_8h_source.html#l00026">LDNS_STATUS_OK</a>, <a class="el" href="error_8h_source.html#l00086">LDNS_STATUS_SYNTAX_ALG_ERR</a>, <a class="el" href="error_8h_source.html#l00097">LDNS_STATUS_SYNTAX_ERR</a>, <a class="el" href="error_8h_source.html#l00085">LDNS_STATUS_SYNTAX_VERSION_ERR</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="abb0f8bdbe3c16887367a9dc7d3a6825a"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_fp_rsa" ref="abb0f8bdbe3c16887367a9dc7d3a6825a" args="(FILE *f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RSA* ldns_key_new_frm_fp_rsa </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frm_fp helper function. </p>
<p>This function parses the remainder of the (RSA) priv. key file generated from bind9 </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file to parse </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on failure otherwise a RSA structure </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00505">505</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8c_source.html#l00511">ldns_key_new_frm_fp_rsa_l()</a>.</p>

</div>
</div>
<a class="anchor" id="a2249817ddcd666f22df3b1f3dc8ac7de"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_fp_rsa_l" ref="a2249817ddcd666f22df3b1f3dc8ac7de" args="(FILE *f, int *line_nr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RSA* ldns_key_new_frm_fp_rsa_l </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>line_nr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frm_fp helper function. </p>
<p>This function parses the remainder of the (RSA) priv. key file generated from bind9 </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file to parse </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">line_nr</td><td>pointer to an integer containing the current line number (for debugging purposes) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on failure otherwise a RSA structure </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00511">511</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="config_8h.html#ada3d1fd2fcddf397179b070fe5588c48">ldns_b64_pton()</a>, <a class="el" href="parse_8c_source.html#l00182">ldns_fget_keyword_data_l()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="parse_8h_source.html#l00023">LDNS_MAX_LINELEN</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="a4f289f32ebb8220a81edb0cead4666ea"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_fp_dsa" ref="a4f289f32ebb8220a81edb0cead4666ea" args="(FILE *f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DSA* ldns_key_new_frm_fp_dsa </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frm_fp helper function. </p>
<p>This function parses the remainder of the (DSA) priv. key file </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file to parse </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on failure otherwise a RSA structure </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00648">648</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8c_source.html#l00654">ldns_key_new_frm_fp_dsa_l()</a>.</p>

</div>
</div>
<a class="anchor" id="a8897b13a4597a7ce543ddafa576a771a"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_fp_dsa_l" ref="a8897b13a4597a7ce543ddafa576a771a" args="(FILE *f, int *line_nr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DSA* ldns_key_new_frm_fp_dsa_l </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>line_nr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frm_fp helper function. </p>
<p>This function parses the remainder of the (DSA) priv. key file </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file to parse </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">line_nr</td><td>pointer to an integer containing the current line number (for debugging purposes) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on failure otherwise a RSA structure </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00654">654</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="config_8h.html#ada3d1fd2fcddf397179b070fe5588c48">ldns_b64_pton()</a>, <a class="el" href="parse_8c_source.html#l00182">ldns_fget_keyword_data_l()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="parse_8h_source.html#l00023">LDNS_MAX_LINELEN</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="ad0d8d883cfd0e60971c90bbcede6b002"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_fp_hmac" ref="ad0d8d883cfd0e60971c90bbcede6b002" args="(FILE *f, size_t *hmac_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char* ldns_key_new_frm_fp_hmac </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>hmac_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frm_fp helper function. </p>
<p>This function parses the remainder of the (HMAC-MD5) key file This function allocated a buffer that needs to be freed </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file to parse </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">hmac_size</td><td>the number of bits in the resulting buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on failure otherwise a newly allocated char buffer </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00737">737</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8c_source.html#l00743">ldns_key_new_frm_fp_hmac_l()</a>.</p>

</div>
</div>
<a class="anchor" id="ac067b69d6cccf933d9a71fadd663f529"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_fp_hmac_l" ref="ac067b69d6cccf933d9a71fadd663f529" args="(FILE *f, int *line_nr, size_t *hmac_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char* ldns_key_new_frm_fp_hmac_l </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>line_nr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>hmac_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frm_fp helper function. </p>
<p>This function parses the remainder of the (HMAC-MD5) key file This function allocated a buffer that needs to be freed </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file to parse </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">line_nr</td><td>pointer to an integer containing the current line number (for error reporting purposes) </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">hmac_size</td><td>the number of bits in the resulting buffer </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on failure otherwise a newly allocated char buffer </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00743">743</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="config_8h.html#ada3d1fd2fcddf397179b070fe5588c48">ldns_b64_pton()</a>, <a class="el" href="parse_8c_source.html#l00182">ldns_fget_keyword_data_l()</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="parse_8h_source.html#l00023">LDNS_MAX_LINELEN</a>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="a4e7e2ac8173cc9e0b7714b40a6d30845"></a><!-- doxytag: member="keys.c::ldns_key_new_frm_algorithm" ref="a4e7e2ac8173cc9e0b7714b40a6d30845" args="(ldns_signing_algorithm alg, uint16_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__key.html">ldns_key</a>* ldns_key_new_frm_algorithm </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a>&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a new key based on the algorithm. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>The algorithm to use </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>the number of bytes for the keysize </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new ldns_key structure with the key </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00810">810</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="keys_8c_source.html#l01528">ldns_key_free()</a>, <a class="el" href="keys_8c_source.html#l00060">ldns_key_new()</a>, <a class="el" href="keys_8c_source.html#l00961">ldns_key_set_algorithm()</a>, <a class="el" href="keys_8c_source.html#l00989">ldns_key_set_dsa_key()</a>, <a class="el" href="keys_8c_source.html#l00975">ldns_key_set_evp_key()</a>, <a class="el" href="keys_8c_source.html#l00967">ldns_key_set_flags()</a>, <a class="el" href="keys_8c_source.html#l00999">ldns_key_set_hmac_key()</a>, <a class="el" href="keys_8c_source.html#l01005">ldns_key_set_hmac_size()</a>, <a class="el" href="keys_8c_source.html#l00981">ldns_key_set_rsa_key()</a>, <a class="el" href="keys_8h_source.html#l00092">LDNS_SIGN_DSA</a>, <a class="el" href="keys_8h_source.html#l00096">LDNS_SIGN_DSA_NSEC3</a>, <a class="el" href="keys_8h_source.html#l00097">LDNS_SIGN_ECC_GOST</a>, <a class="el" href="keys_8h_source.html#l00104">LDNS_SIGN_HMACMD5</a>, <a class="el" href="keys_8h_source.html#l00105">LDNS_SIGN_HMACSHA1</a>, <a class="el" href="keys_8h_source.html#l00106">LDNS_SIGN_HMACSHA256</a>, <a class="el" href="keys_8h_source.html#l00090">LDNS_SIGN_RSAMD5</a>, <a class="el" href="keys_8h_source.html#l00091">LDNS_SIGN_RSASHA1</a>, <a class="el" href="keys_8h_source.html#l00093">LDNS_SIGN_RSASHA1_NSEC3</a>, <a class="el" href="keys_8h_source.html#l00094">LDNS_SIGN_RSASHA256</a>, <a class="el" href="keys_8h_source.html#l00095">LDNS_SIGN_RSASHA512</a>, <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>, and <a class="el" href="config_8h_source.html#l00508">random</a>.</p>

</div>
</div>
<a class="anchor" id="a743980d6a4c1f3cd2a87e4e323a34dac"></a><!-- doxytag: member="keys.c::ldns_key_print" ref="a743980d6a4c1f3cd2a87e4e323a34dac" args="(FILE *output, const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_print </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>print a private key to the file ouput </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">output</td><td>the FILE descriptor where to print to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the ldns_key to print </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00948">948</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, and <a class="el" href="host2str_8c_source.html#l02109">ldns_key2str()</a>.</p>

</div>
</div>
<a class="anchor" id="ae27c72580b947a8ae330a5753cf4c220"></a><!-- doxytag: member="keys.c::ldns_key_set_algorithm" ref="ae27c72580b947a8ae330a5753cf4c220" args="(ldns_key *k, ldns_signing_algorithm l)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_algorithm </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a>&#160;</td>
          <td class="paramname"><em>l</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's algorithm. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">l</td><td>the algorithm </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00961">961</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00121">ldns_struct_key::_alg</a>.</p>

</div>
</div>
<a class="anchor" id="aea3bc851574cf6ccc40d850deaea348f"></a><!-- doxytag: member="keys.c::ldns_key_set_flags" ref="aea3bc851574cf6ccc40d850deaea348f" args="(ldns_key *k, uint16_t f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_flags </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's flags. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>the flags </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00967">967</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="a92165f884e17f7c067a185442085a5aa"></a><!-- doxytag: member="keys.c::ldns_key_set_evp_key" ref="a92165f884e17f7c067a185442085a5aa" args="(ldns_key *k, EVP_PKEY *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_evp_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">EVP_PKEY *&#160;</td>
          <td class="paramname"><em>e</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's evp key. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">e</td><td>the evp key </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00975">975</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>.</p>

</div>
</div>
<a class="anchor" id="aed378f559db3f0b4206f7f52b0f78762"></a><!-- doxytag: member="keys.c::ldns_key_set_rsa_key" ref="aed378f559db3f0b4206f7f52b0f78762" args="(ldns_key *k, RSA *r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_rsa_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">RSA *&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's rsa data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>the rsa data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00981">981</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>.</p>

</div>
</div>
<a class="anchor" id="a39152994a2369b033721ffa904738f82"></a><!-- doxytag: member="keys.c::ldns_key_set_dsa_key" ref="a39152994a2369b033721ffa904738f82" args="(ldns_key *k, DSA *d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_dsa_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">DSA *&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's dsa data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">d</td><td>the dsa data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00989">989</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>.</p>

</div>
</div>
<a class="anchor" id="a385ccd045bc926c760dad28dc35dfaaf"></a><!-- doxytag: member="keys.c::ldns_key_set_hmac_key" ref="a385ccd045bc926c760dad28dc35dfaaf" args="(ldns_key *k, unsigned char *hmac)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_hmac_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>hmac</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's hmac data. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">hmac</td><td>the raw key data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l00999">999</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="structldns__struct__key.html#af6b4352ba0e83e6da164a47bc694cc85">ldns_struct_key::hmac</a>.</p>

</div>
</div>
<a class="anchor" id="ab66e843127443126bb93edb7e8a58f7c"></a><!-- doxytag: member="keys.c::ldns_key_set_hmac_size" ref="ab66e843127443126bb93edb7e8a58f7c" args="(ldns_key *k, size_t hmac_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_hmac_size </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>hmac_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's hmac size. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">hmac_size</td><td>the size of the hmac data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01005">1005</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="structldns__struct__key.html#af6b4352ba0e83e6da164a47bc694cc85">ldns_struct_key::hmac</a>.</p>

</div>
</div>
<a class="anchor" id="a23e41ca680c1bfe71c1fbe74a5b58c3b"></a><!-- doxytag: member="keys.c::ldns_key_set_external_key" ref="a23e41ca680c1bfe71c1fbe74a5b58c3b" args="(ldns_key *k, void *external_key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_external_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>external_key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key id data. </p>
<p>This is used if the key points to some externally stored key data</p>
<p>Only the pointer is set, the data there is not copied, and must be freed manually; <a class="el" href="keys_8c.html#aeff4e77fcf3ef69fc059216305f9d85b" title="frees a key structure and all its internal data structures, except the data set by ldns_key_set_exter...">ldns_key_deep_free()</a> does *not* free this data </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">external_key</td><td>key id data </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01011">1011</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="keys_8h_source.html#l00144">ldns_struct_key::external_key</a>.</p>

</div>
</div>
<a class="anchor" id="a8d14084f74652791362a77846546bcc8"></a><!-- doxytag: member="keys.c::ldns_key_set_origttl" ref="a8d14084f74652791362a77846546bcc8" args="(ldns_key *k, uint32_t t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_origttl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>t</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's original ttl. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">t</td><td>the ttl </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01017">1017</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="af1521b6b3c0e84a629d09bf237f40308"></a><!-- doxytag: member="keys.c::ldns_key_set_inception" ref="af1521b6b3c0e84a629d09bf237f40308" args="(ldns_key *k, uint32_t i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_inception </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>i</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's inception date (seconds after epoch) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">i</td><td>the inception </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01023">1023</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="a25f9483844dbd83abca56d725923c591"></a><!-- doxytag: member="keys.c::ldns_key_set_expiration" ref="a25f9483844dbd83abca56d725923c591" args="(ldns_key *k, uint32_t e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_expiration </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>e</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's expiration date (seconds after epoch) </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">e</td><td>the expiration </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01029">1029</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="a4c0b77f2579a2a6ce4355aa29de237e5"></a><!-- doxytag: member="keys.c::ldns_key_set_pubkey_owner" ref="a4c0b77f2579a2a6ce4355aa29de237e5" args="(ldns_key *k, ldns_rdf *r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_pubkey_owner </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> *&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's pubkey owner. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">r</td><td>the owner </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01035">1035</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00163">ldns_struct_key::_pubkey_owner</a>.</p>

</div>
</div>
<a class="anchor" id="a9bdf435dfcf6a6a603c3284054a8126c"></a><!-- doxytag: member="keys.c::ldns_key_set_keytag" ref="a9bdf435dfcf6a6a603c3284054a8126c" args="(ldns_key *k, uint16_t tag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_keytag </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the key's key tag. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>the keytag </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01041">1041</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="ae89bbcf27c4ff67cda1369b583dec02f"></a><!-- doxytag: member="keys.c::ldns_key_list_key_count" ref="ae89bbcf27c4ff67cda1369b583dec02f" args="(const ldns_key_list *key_list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ldns_key_list_key_count </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *&#160;</td>
          <td class="paramname"><em>key_list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the number of keys in the key list </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key_list</td><td>the key_list </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the numbers of keys in the list </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01048">1048</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00172">ldns_struct_key_list::_key_count</a>.</p>

</div>
</div>
<a class="anchor" id="afe06ede6432e59eb7ccc9d57a285060a"></a><!-- doxytag: member="keys.c::ldns_key_list_key" ref="afe06ede6432e59eb7ccc9d57a285060a" args="(const ldns_key_list *key, size_t nr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__key.html">ldns_key</a>* ldns_key_list_key </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *&#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>nr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns a pointer to the key in the list at the given position </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nr</td><td>the position in the list </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the key </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01054">1054</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00173">ldns_struct_key_list::_keys</a>, and <a class="el" href="keys_8c_source.html#l01048">ldns_key_list_key_count()</a>.</p>

</div>
</div>
<a class="anchor" id="a906b7cc79acd016fb1f400aff16b9f1c"></a><!-- doxytag: member="keys.c::ldns_key_algorithm" ref="a906b7cc79acd016fb1f400aff16b9f1c" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a> ldns_key_algorithm </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the signing alg of the key </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the algorithm </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01064">1064</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00121">ldns_struct_key::_alg</a>.</p>

</div>
</div>
<a class="anchor" id="a3b7792865c5af9fd4fbc53c04946be01"></a><!-- doxytag: member="keys.c::ldns_key_set_use" ref="a3b7792865c5af9fd4fbc53c04946be01" args="(ldns_key *k, bool v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_set_use </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the use flag </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>the boolean value to set the _use field to </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01070">1070</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00123">ldns_struct_key::_use</a>.</p>

</div>
</div>
<a class="anchor" id="afee1fabe43cf6dfb43c8b0966350153e"></a><!-- doxytag: member="keys.c::ldns_key_use" ref="afee1fabe43cf6dfb43c8b0966350153e" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ldns_key_use </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the use flag </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the boolean value of the _use field </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01078">1078</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00123">ldns_struct_key::_use</a>.</p>

</div>
</div>
<a class="anchor" id="a1b18028c1c2b8bca296f099461dc747a"></a><!-- doxytag: member="keys.c::ldns_key_evp_key" ref="a1b18028c1c2b8bca296f099461dc747a" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">EVP_PKEY* ldns_key_evp_key </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the (openssl) EVP struct contained in the key </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key to look in </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the RSA * structure in the key </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01089">1089</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>.</p>

</div>
</div>
<a class="anchor" id="ab6d8d9d2a11f73c09c83c6ff4cd2bb98"></a><!-- doxytag: member="keys.c::ldns_key_rsa_key" ref="ab6d8d9d2a11f73c09c83c6ff4cd2bb98" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">RSA* ldns_key_rsa_key </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the (openssl) RSA struct contained in the key </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key to look in </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the RSA * structure in the key </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01095">1095</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>.</p>

</div>
</div>
<a class="anchor" id="ae3f85392da83f13ba7556373816b350d"></a><!-- doxytag: member="keys.c::ldns_key_dsa_key" ref="ae3f85392da83f13ba7556373816b350d" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DSA* ldns_key_dsa_key </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the (openssl) DSA struct contained in the key </p>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01105">1105</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>.</p>

</div>
</div>
<a class="anchor" id="a4ddd291d05ea2a66c7dc8896ffb5bfd0"></a><!-- doxytag: member="keys.c::ldns_key_hmac_key" ref="a4ddd291d05ea2a66c7dc8896ffb5bfd0" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char* ldns_key_hmac_key </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the hmac key data </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the hmac key data </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01117">1117</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="structldns__struct__key.html#af6b4352ba0e83e6da164a47bc694cc85">ldns_struct_key::hmac</a>.</p>

</div>
</div>
<a class="anchor" id="a84da4a777c99c6e96dea4c4d6e9cb269"></a><!-- doxytag: member="keys.c::ldns_key_hmac_size" ref="a84da4a777c99c6e96dea4c4d6e9cb269" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ldns_key_hmac_size </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the hmac key size </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the hmac key size </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01127">1127</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="structldns__struct__key.html#af6b4352ba0e83e6da164a47bc694cc85">ldns_struct_key::hmac</a>.</p>

</div>
</div>
<a class="anchor" id="a727d06b70953304b1ebb426414506e91"></a><!-- doxytag: member="keys.c::ldns_key_external_key" ref="a727d06b70953304b1ebb426414506e91" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* ldns_key_external_key </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the key id key data </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the key id data </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01137">1137</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, and <a class="el" href="keys_8h_source.html#l00144">ldns_struct_key::external_key</a>.</p>

</div>
</div>
<a class="anchor" id="a603a4e9fe16f00a7a69dea73f25bd797"></a><!-- doxytag: member="keys.c::ldns_key_origttl" ref="a603a4e9fe16f00a7a69dea73f25bd797" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ldns_key_origttl </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the original ttl of the key </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the original ttl </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01143">1143</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="ad4359824295f24c7cef57b616288947d"></a><!-- doxytag: member="keys.c::ldns_key_flags" ref="ad4359824295f24c7cef57b616288947d" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t ldns_key_flags </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the flag of the key </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the flag </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01149">1149</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="aab487cf33d6af3c24bf4c500772d951e"></a><!-- doxytag: member="keys.c::ldns_key_inception" ref="aab487cf33d6af3c24bf4c500772d951e" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ldns_key_inception </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the key's inception date </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the inception date </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01155">1155</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="a083d425d1bb74ace49cd4e7aa8d738fb"></a><!-- doxytag: member="keys.c::ldns_key_expiration" ref="a083d425d1bb74ace49cd4e7aa8d738fb" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ldns_key_expiration </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the key's expiration date </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the experiration date </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01161">1161</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="a8cf2ca2fc8d72b28076157beb791b347"></a><!-- doxytag: member="keys.c::ldns_key_keytag" ref="a8cf2ca2fc8d72b28076157beb791b347" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t ldns_key_keytag </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the keytag </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the keytag </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01167">1167</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a>, and <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a>.</p>

</div>
</div>
<a class="anchor" id="ab8c7cbd30af086afa9046f059bc245c9"></a><!-- doxytag: member="keys.c::ldns_key_pubkey_owner" ref="ab8c7cbd30af086afa9046f059bc245c9" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* ldns_key_pubkey_owner </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the public key's owner </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the key </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the owner </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01173">1173</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00163">ldns_struct_key::_pubkey_owner</a>.</p>

</div>
</div>
<a class="anchor" id="a40afb1fed3e89304d547a2b526d3db16"></a><!-- doxytag: member="keys.c::ldns_key_list_set_use" ref="a40afb1fed3e89304d547a2b526d3db16" args="(ldns_key_list *keys, bool v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_list_set_use </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *&#160;</td>
          <td class="paramname"><em>keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the 'use' flag for all keys in the list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">keys</td><td>The key_list </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>The value to set the use flags to </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01180">1180</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8c_source.html#l01054">ldns_key_list_key()</a>, <a class="el" href="keys_8c_source.html#l01048">ldns_key_list_key_count()</a>, and <a class="el" href="keys_8c_source.html#l01070">ldns_key_set_use()</a>.</p>

</div>
</div>
<a class="anchor" id="a05eb2cce01ec9ebbe9ff6ac8c724e668"></a><!-- doxytag: member="keys.c::ldns_key_list_set_key_count" ref="a05eb2cce01ec9ebbe9ff6ac8c724e668" args="(ldns_key_list *key, size_t count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_list_set_key_count </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *&#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>count</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the keylist's key count to count. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>the cuont </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01190">1190</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00172">ldns_struct_key_list::_key_count</a>.</p>

</div>
</div>
<a class="anchor" id="a221251701900a1de52cfe2613a9e6e9d"></a><!-- doxytag: member="keys.c::ldns_key_list_push_key" ref="a221251701900a1de52cfe2613a9e6e9d" args="(ldns_key_list *key_list, ldns_key *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ldns_key_list_push_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *&#160;</td>
          <td class="paramname"><em>key_list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</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>pushes a key to a keylist </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key_list</td><td>the key_list to push to </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key to push </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>false on error, otherwise true </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01196">1196</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00173">ldns_struct_key_list::_keys</a>, <a class="el" href="keys_8c_source.html#l01048">ldns_key_list_key_count()</a>, <a class="el" href="keys_8c_source.html#l01190">ldns_key_list_set_key_count()</a>, and <a class="el" href="util_8h_source.html#l00057">LDNS_XREALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="a2202111bbdbcd68df9e4bb89985ca95a"></a><!-- doxytag: member="keys.c::ldns_key_list_pop_key" ref="a2202111bbdbcd68df9e4bb89985ca95a" args="(ldns_key_list *key_list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__key.html">ldns_key</a>* ldns_key_list_pop_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *&#160;</td>
          <td class="paramname"><em>key_list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>pops the last rr from a keylist </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key_list</td><td>the rr_list to pop from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>NULL if nothing to pop. Otherwise the popped RR </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01219">1219</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00173">ldns_struct_key_list::_keys</a>, <a class="el" href="keys_8c_source.html#l01054">ldns_key_list_key()</a>, <a class="el" href="keys_8c_source.html#l01048">ldns_key_list_key_count()</a>, <a class="el" href="keys_8c_source.html#l01190">ldns_key_list_set_key_count()</a>, and <a class="el" href="util_8h_source.html#l00057">LDNS_XREALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="a45bdcdbe6aac4764bff1ad12a86a6541"></a><!-- doxytag: member="keys.c::ldns_key2rr" ref="a45bdcdbe6aac4764bff1ad12a86a6541" args="(const ldns_key *k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr.html">ldns_rr</a>* ldns_key2rr </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>converts a ldns_key to a public key rr If the key data exists at an external point, the corresponding rdata field must still be added with ldns_rr_rdf_push() to the result rr of this function </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">k</td><td>the ldns_key to convert </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ldns_rr representation of the key </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01335">1335</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a>, <a class="el" href="keys_8h_source.html#l00131">ldns_struct_key::key</a>, <a class="el" href="dnssec_8h_source.html#l00042">LDNS_DNSSEC_KEYPROTO</a>, <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="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="keys_8c_source.html#l01064">ldns_key_algorithm()</a>, <a class="el" href="keys_8c_source.html#l01105">ldns_key_dsa_key()</a>, <a class="el" href="keys_8c_source.html#l01149">ldns_key_flags()</a>, <a class="el" href="keys_8c_source.html#l01117">ldns_key_hmac_key()</a>, <a class="el" href="keys_8c_source.html#l01127">ldns_key_hmac_size()</a>, <a class="el" href="keys_8c_source.html#l01173">ldns_key_pubkey_owner()</a>, <a class="el" href="keys_8c_source.html#l01095">ldns_key_rsa_key()</a>, <a class="el" href="dnssec_8h_source.html#l00041">LDNS_MAX_KEYLEN</a>, <a class="el" href="rdata_8c_source.html#l00132">ldns_native2rdf_int16()</a>, <a class="el" href="rdata_8c_source.html#l00126">ldns_native2rdf_int8()</a>, <a class="el" href="rdata_8c_source.html#l00222">ldns_rdf_clone()</a>, <a class="el" href="rdata_8c_source.html#l00193">ldns_rdf_new_frm_data()</a>, <a class="el" href="rdata_8h_source.html#l00079">LDNS_RDF_TYPE_ALG</a>, <a class="el" href="rdata_8h_source.html#l00067">LDNS_RDF_TYPE_B64</a>, <a class="el" href="rdata_8h_source.html#l00053">LDNS_RDF_TYPE_INT16</a>, <a class="el" href="rdata_8h_source.html#l00051">LDNS_RDF_TYPE_INT8</a>, <a class="el" href="rr_8c_source.html#l00075">ldns_rr_free()</a>, <a class="el" href="rr_8c_source.html#l00024">ldns_rr_new()</a>, <a class="el" href="rr_8c_source.html#l00787">ldns_rr_push_rdf()</a>, <a class="el" href="rr_8c_source.html#l00734">ldns_rr_set_owner()</a>, <a class="el" href="rr_8c_source.html#l00758">ldns_rr_set_type()</a>, <a class="el" href="rr_8h_source.html#l00175">LDNS_RR_TYPE_DNSKEY</a>, <a class="el" href="rr_8h_source.html#l00131">LDNS_RR_TYPE_KEY</a>, <a class="el" href="keys_8h_source.html#l00092">LDNS_SIGN_DSA</a>, <a class="el" href="keys_8h_source.html#l00096">LDNS_SIGN_DSA_NSEC3</a>, <a class="el" href="keys_8h_source.html#l00097">LDNS_SIGN_ECC_GOST</a>, <a class="el" href="keys_8h_source.html#l00104">LDNS_SIGN_HMACMD5</a>, <a class="el" href="keys_8h_source.html#l00105">LDNS_SIGN_HMACSHA1</a>, <a class="el" href="keys_8h_source.html#l00106">LDNS_SIGN_HMACSHA256</a>, <a class="el" href="keys_8h_source.html#l00090">LDNS_SIGN_RSAMD5</a>, <a class="el" href="keys_8h_source.html#l00091">LDNS_SIGN_RSASHA1</a>, <a class="el" href="keys_8h_source.html#l00093">LDNS_SIGN_RSASHA1_NSEC3</a>, <a class="el" href="keys_8h_source.html#l00094">LDNS_SIGN_RSASHA256</a>, <a class="el" href="keys_8h_source.html#l00095">LDNS_SIGN_RSASHA512</a>, <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>, and <a class="el" href="config_8h.html#a802c986820d3866639922b6bc9484f90">memmove()</a>.</p>

</div>
</div>
<a class="anchor" id="aa7fa8dda901db59cd5bc66d0da4c0cba"></a><!-- doxytag: member="keys.c::ldns_key_free" ref="aa7fa8dda901db59cd5bc66d0da4c0cba" args="(ldns_key *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees a key structure, but not its internal data structures </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key object to free </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01528">1528</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="aeff4e77fcf3ef69fc059216305f9d85b"></a><!-- doxytag: member="keys.c::ldns_key_deep_free" ref="aeff4e77fcf3ef69fc059216305f9d85b" args="(ldns_key *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_deep_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>frees a key structure and all its internal data structures, except the data set by <a class="el" href="keys_8c.html#a23e41ca680c1bfe71c1fbe74a5b58c3b" title="Set the key id data.">ldns_key_set_external_key()</a> </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key object to free </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01534">1534</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="keys_8c_source.html#l01089">ldns_key_evp_key()</a>, <a class="el" href="keys_8c_source.html#l01117">ldns_key_hmac_key()</a>, <a class="el" href="keys_8c_source.html#l01173">ldns_key_pubkey_owner()</a>, and <a class="el" href="rdata_8c_source.html#l00230">ldns_rdf_deep_free()</a>.</p>

</div>
</div>
<a class="anchor" id="a11dd420fbf4a79250f1261754fbd139e"></a><!-- doxytag: member="keys.c::ldns_key_list_free" ref="a11dd420fbf4a79250f1261754fbd139e" args="(ldns_key_list *key_list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_list_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *&#160;</td>
          <td class="paramname"><em>key_list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Frees a key list structure. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key_list</td><td>the key list object to free </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01551">1551</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="keys_8h_source.html#l00173">ldns_struct_key_list::_keys</a>, <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="keys_8c_source.html#l01534">ldns_key_deep_free()</a>, <a class="el" href="keys_8c_source.html#l01054">ldns_key_list_key()</a>, and <a class="el" href="keys_8c_source.html#l01048">ldns_key_list_key_count()</a>.</p>

</div>
</div>
<a class="anchor" id="a51826a1a298436c885ab77c2afe73bdc"></a><!-- doxytag: member="keys.c::ldns_read_anchor_file" ref="a51826a1a298436c885ab77c2afe73bdc" args="(const char *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__rr.html">ldns_rr</a>* ldns_read_anchor_file </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Instantiates a DNSKEY or DS RR from file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the file to read the record from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the corresponding RR, or NULL if the parsing failed </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01562">1562</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00060">LDNS_FREE</a>, <a class="el" href="error_8c_source.html#l00097">ldns_get_errorstr_by_id()</a>, <a class="el" href="packet_8h_source.html#l00024">LDNS_MAX_PACKETLEN</a>, <a class="el" href="rr_8c_source.html#l00873">ldns_rr_get_type()</a>, <a class="el" href="rr_8c_source.html#l00620">ldns_rr_new_frm_str()</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>, and <a class="el" href="util_8h_source.html#l00051">LDNS_XMALLOC</a>.</p>

</div>
</div>
<a class="anchor" id="aae718af496f2cc9e2580faa4127d0067"></a><!-- doxytag: member="keys.c::ldns_key_get_file_base_name" ref="aae718af496f2cc9e2580faa4127d0067" args="(ldns_key *key)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ldns_key_get_file_base_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the 'default base name' for key files; IE. </p>
<p>K&lt;zone&gt;+&lt;alg&gt;+&lt;keytag&gt; (without the .key or .private) The memory for this is allocated by this function, and should be freed by the caller</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">key</td><td>the key to get the file name from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string containing the file base name </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01608">1608</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="buffer_8c_source.html#l00149">ldns_buffer_export()</a>, <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="buffer_8c_source.html#l00099">ldns_buffer_printf()</a>, <a class="el" href="keys_8c_source.html#l01064">ldns_key_algorithm()</a>, <a class="el" href="keys_8c_source.html#l01167">ldns_key_keytag()</a>, <a class="el" href="keys_8c_source.html#l01173">ldns_key_pubkey_owner()</a>, and <a class="el" href="host2str_8c_source.html#l00270">ldns_rdf2buffer_str_dname()</a>.</p>

</div>
</div>
<a class="anchor" id="a2368ee62953bdea2620daaa9aa3db8c3"></a><!-- doxytag: member="keys.c::ldns_key_algo_supported" ref="a2368ee62953bdea2620daaa9aa3db8c3" args="(int algo)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ldns_key_algo_supported </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>algo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>See if a key algorithm is supported. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">algo</td><td>the signing algorithm number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if supported. </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01625">1625</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00157">ldns_struct_lookup_table::id</a>, <a class="el" href="keys_8c_source.html#l00023">ldns_signing_algorithms</a>, and <a class="el" href="util_8h_source.html#l00158">ldns_struct_lookup_table::name</a>.</p>

</div>
</div>
<a class="anchor" id="a222c49989b22e5c138adb61ad62b55e4"></a><!-- doxytag: member="keys.c::ldns_get_signing_algorithm_by_name" ref="a222c49989b22e5c138adb61ad62b55e4" args="(const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a> ldns_get_signing_algorithm_by_name </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get signing algorithm by name. </p>
<p>Comparison is case insensitive. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>string with the name. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on parse failure or the algorithm number. </dd></dl>

<p>Definition at line <a class="el" href="keys_8c_source.html#l01636">1636</a> of file <a class="el" href="keys_8c_source.html">keys.c</a>.</p>

<p>References <a class="el" href="util_8h_source.html#l00157">ldns_struct_lookup_table::id</a>, <a class="el" href="keys_8h_source.html#l00048">LDNS_DH</a>, <a class="el" href="keys_8h_source.html#l00050">LDNS_ECC</a>, <a class="el" href="keys_8h_source.html#l00063">LDNS_INDIRECT</a>, <a class="el" href="keys_8h_source.html#l00064">LDNS_PRIVATEDNS</a>, <a class="el" href="keys_8h_source.html#l00065">LDNS_PRIVATEOID</a>, <a class="el" href="keys_8h_source.html#l00096">LDNS_SIGN_DSA_NSEC3</a>, <a class="el" href="keys_8h_source.html#l00097">LDNS_SIGN_ECC_GOST</a>, <a class="el" href="keys_8h_source.html#l00104">LDNS_SIGN_HMACMD5</a>, <a class="el" href="keys_8h_source.html#l00093">LDNS_SIGN_RSASHA1_NSEC3</a>, <a class="el" href="keys_8c_source.html#l00023">ldns_signing_algorithms</a>, and <a class="el" href="util_8h_source.html#l00158">ldns_struct_lookup_table::name</a>.</p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="abe875964254b61807ec7953e478db5bf"></a><!-- doxytag: member="keys.c::ldns_signing_algorithms" ref="abe875964254b61807ec7953e478db5bf" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structldns__struct__lookup__table.html">ldns_lookup_table</a> <a class="el" href="keys_8h.html#abe875964254b61807ec7953e478db5bf">ldns_signing_algorithms</a>[]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a92e7ccac219c462f054e00c8e6c8321b">LDNS_SIGN_RSAMD5</a>, <span class="stringliteral">&quot;RSAMD5&quot;</span> },
        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a062ab8c29c8f73b28bbb552597975dbc">LDNS_SIGN_RSASHA1</a>, <span class="stringliteral">&quot;RSASHA1&quot;</span> },
        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a7a8b2b416cc65f7637108b6ba35cad69">LDNS_SIGN_RSASHA1_NSEC3</a>, <span class="stringliteral">&quot;RSASHA1-NSEC3-SHA1&quot;</span> },

        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a9f88342b4f9ce95700a72154b6d30269">LDNS_SIGN_RSASHA256</a>, <span class="stringliteral">&quot;RSASHA256&quot;</span> },
        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a93fc09210171fbecee85ed84ebfc7dbd">LDNS_SIGN_RSASHA512</a>, <span class="stringliteral">&quot;RSASHA512&quot;</span> },








        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a98ae68498fea31062b1d03a861846aa5">LDNS_SIGN_DSA</a>, <span class="stringliteral">&quot;DSA&quot;</span> },
        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a28624a25c45025703d05de9984c4ee4a">LDNS_SIGN_DSA_NSEC3</a>, <span class="stringliteral">&quot;DSA-NSEC3-SHA1&quot;</span> },
        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a90eafd9721029814659dce35a33cdede">LDNS_SIGN_HMACMD5</a>, <span class="stringliteral">&quot;hmac-md5.sig-alg.reg.int&quot;</span> },
        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664ab4bb484126261b3e71183a0d7ae47404">LDNS_SIGN_HMACSHA1</a>, <span class="stringliteral">&quot;hmac-sha1&quot;</span> },
        { <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664afec7895ef19516fe5304601d31d3f117">LDNS_SIGN_HMACSHA256</a>, <span class="stringliteral">&quot;hmac-sha256&quot;</span> },
        { 0, NULL }
}
</pre></div>
<p>Definition at line <a class="el" href="keys_8c_source.html#l00023">23</a> of file <a class="el" href="keys_8c_source.html">keys.c</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>