Sophie

Sophie

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

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

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

<p>Addendum to <a class="el" href="dnssec_8h.html">dnssec.h</a>, this module contains key and algorithm definitions and functions.  
<a href="#details">More...</a></p>

<p><a href="keys_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__struct__key.html">ldns_struct_key</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">General key structure, can contain all types of keys that are used in DNSSEC.  <a href="structldns__struct__key.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__struct__key__list.html">ldns_struct_key_list</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as rr_list, but now for keys.  <a href="structldns__struct__key__list.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#ad5f212d6a80316d427f4b068e849ff73">LDNS_KEY_ZONE_KEY</a>&#160;&#160;&#160;0x0100</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#a32c73f4b55d4cd43d7303b1351baa84c">LDNS_KEY_SEP_KEY</a>&#160;&#160;&#160;0x0001</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#af203e1451884dd5efc670f8c52a6fd62">LDNS_KEY_REVOKE_KEY</a>&#160;&#160;&#160;0x0080</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10">ldns_enum_algorithm</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#af4bde8238e05b183cf373f49639a3e58">ldns_algorithm</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820">ldns_enum_hash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#ab53d559230792e3951c8974631808fc5">ldns_hash</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664">ldns_enum_signing_algorithm</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structldns__struct__key.html">ldns_struct_key</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#a7f4a39b1b2b9a8bf834ba4a10dc06420">ldns_key</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structldns__struct__key__list.html">ldns_struct_key_list</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#a9694e5e73a6f6e570f4cf79695fd90c7">ldns_key_list</a></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10">ldns_enum_algorithm</a> { <br/>
&#160;&#160;<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a13e3a2a9c94b219ec314ac60ee65237c">LDNS_RSAMD5</a> =  1, 
<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a9c80e013ab6422f81bd5995312d07bf6">LDNS_DH</a> =  2, 
<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a50b87d8f1c4d4d1eb8dfd8881955a4f9">LDNS_DSA</a> =  3, 
<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10acb69374043a01c4baded7ba3681e9f6c">LDNS_ECC</a> =  4, 
<br/>
&#160;&#160;<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10adc4185432973db18dc51adee3f28bf80">LDNS_RSASHA1</a> =  5, 
<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a4e557e9b993e25b374c1620dd9c426d0">LDNS_DSA_NSEC3</a> =  6, 
<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a4ad4fa00be7e34f3745a81ee4effda59">LDNS_RSASHA1_NSEC3</a> =  7, 
<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10ae1c2799b23f981474658ae94acbe6ddd">LDNS_RSASHA256</a> =  8, 
<br/>
&#160;&#160;<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10adc52ea2e33d9e8d3754595a47179977a">LDNS_RSASHA512</a> =  10, 
<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a7f2a261baef424533a35e039692f9141">LDNS_ECC_GOST</a> =  12, 
<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a9e4557670de89a9502b050f08a1d1a13">LDNS_INDIRECT</a> =  252, 
<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a8b4780eac0f9db1b73c547ed63d1b4ae">LDNS_PRIVATEDNS</a> =  253, 
<br/>
&#160;&#160;<a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a8002ed24f6e433fa1cc884b68953d8d7">LDNS_PRIVATEOID</a> =  254
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Algorithms used in dns.  <a href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820">ldns_enum_hash</a> { <a class="el" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820adf4af90b5cdcad12c5aeae3cc9b123e7">LDNS_SHA1</a> =  1, 
<a class="el" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820a8d165863f88382ac7f167967a30ebe2f">LDNS_SHA256</a> =  2, 
<a class="el" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820a32d75cfcd473fc6c34ac32c200b1abcf">LDNS_HASH_GOST</a> =  3
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Hashing algorithms used in the DS record.  <a href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664">ldns_enum_signing_algorithm</a> { <br/>
&#160;&#160;<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a92e7ccac219c462f054e00c8e6c8321b">LDNS_SIGN_RSAMD5</a> =  LDNS_RSAMD5, 
<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a062ab8c29c8f73b28bbb552597975dbc">LDNS_SIGN_RSASHA1</a> =  LDNS_RSASHA1, 
<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a98ae68498fea31062b1d03a861846aa5">LDNS_SIGN_DSA</a> =  LDNS_DSA, 
<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a7a8b2b416cc65f7637108b6ba35cad69">LDNS_SIGN_RSASHA1_NSEC3</a> =  LDNS_RSASHA1_NSEC3, 
<br/>
&#160;&#160;<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a9f88342b4f9ce95700a72154b6d30269">LDNS_SIGN_RSASHA256</a> =  LDNS_RSASHA256, 
<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a93fc09210171fbecee85ed84ebfc7dbd">LDNS_SIGN_RSASHA512</a> =  LDNS_RSASHA512, 
<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a28624a25c45025703d05de9984c4ee4a">LDNS_SIGN_DSA_NSEC3</a> =  LDNS_DSA_NSEC3, 
<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a2f5cc1330edd5c11be92509543402f98">LDNS_SIGN_ECC_GOST</a> =  LDNS_ECC_GOST, 
<br/>
&#160;&#160;<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a90eafd9721029814659dce35a33cdede">LDNS_SIGN_HMACMD5</a> =  157, 
<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664ab4bb484126261b3e71183a0d7ae47404">LDNS_SIGN_HMACSHA1</a> =  158, 
<a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664afec7895ef19516fe5304601d31d3f117">LDNS_SIGN_HMACSHA256</a> =  159
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Algorithms used in dns for signing.  <a href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__key__list.html">ldns_key_list</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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_8h.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="structldns__struct__key.html">ldns_key</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#ae164c665baaf171fdfd91df9d1ed0190">ldns_key_new_frm_algorithm</a> (<a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a> a, uint16_t size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new key based on the algorithm.  <a href="#ae164c665baaf171fdfd91df9d1ed0190"></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_8h.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_8h.html#a2408a3a0c2285ac202b985f3878bf9a5">ldns_key_new_frm_fp_l</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> **k, 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="#a2408a3a0c2285ac202b985f3878bf9a5"></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_8h.html#a4694b667ba30243da292de1bde7899c9">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>)</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="#a4694b667ba30243da292de1bde7899c9"></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_8h.html#ac1610671c493a3080378676e9b7492d4">ldns_key_new_frm_fp_rsa</a> (FILE *fp)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#ac1610671c493a3080378676e9b7492d4"></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_8h.html#a32264cbc5fb7aadd16c45d526aca79b3">ldns_key_new_frm_fp_rsa_l</a> (FILE *fp, int *line_nr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#a32264cbc5fb7aadd16c45d526aca79b3"></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_8h.html#a90c6d382665b96c6c3a8e3dc56ef4cde">ldns_key_new_frm_fp_dsa</a> (FILE *fp)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#a90c6d382665b96c6c3a8e3dc56ef4cde"></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_8h.html#a91af85cd4a84404187da222881cf564a">ldns_key_new_frm_fp_dsa_l</a> (FILE *fp, int *line_nr)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#a91af85cd4a84404187da222881cf564a"></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_8h.html#a6a3b5e8880beca1005c218ef48cdf286">ldns_key_new_frm_fp_hmac</a> (FILE *fp, size_t *hmac_size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#a6a3b5e8880beca1005c218ef48cdf286"></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_8h.html#a5d014b89d113d9fb10c72c7b85f8c86b">ldns_key_new_frm_fp_hmac_l</a> (FILE *fp, int *line_nr, size_t *hmac_size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">frm_fp helper function.  <a href="#a5d014b89d113d9fb10c72c7b85f8c86b"></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_8h.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_8h.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_8h.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_8h.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">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#a631eb1d2915d9c72cd12a0e44a549f45">ldns_key_EVP_load_gost_id</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the PKEY id for GOST, loads GOST into openssl as a side effect.  <a href="#a631eb1d2915d9c72cd12a0e44a549f45"></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_8h.html#a52726afb8fc5290a6fecbd412eed49f2">ldns_key_EVP_unload_gost</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Release the engine reference held for the GOST engine.  <a href="#a52726afb8fc5290a6fecbd412eed49f2"></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_8h.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_8h.html#aa747b3ab48f451e2a156cbdff7e76425">ldns_key_set_external_key</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *key, void *external_key)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key id data.  <a href="#aa747b3ab48f451e2a156cbdff7e76425"></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_8h.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_8h.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_8h.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_8h.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_8h.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_8h.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">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.html#aa640f76d23a320af96538a1ae95436e8">ldns_key_set_flags</a> (<a class="el" href="structldns__struct__key.html">ldns_key</a> *k, uint16_t flags)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the key's flags.  <a href="#aa640f76d23a320af96538a1ae95436e8"></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_8h.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_8h.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">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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_8h.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">RSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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">EVP_PKEY *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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">DSA *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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"><a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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_8h.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_8h.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">unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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_8h.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_8h.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_8h.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_8h.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">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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"><a class="el" href="structldns__struct__key.html">ldns_key</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="keys_8h.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_8h.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_8h.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_8h.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_8h.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_8h.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_8h.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_8h.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_8h.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_8h.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_8h.html#abe875964254b61807ec7953e478db5bf">ldns_signing_algorithms</a> []</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Addendum to <a class="el" href="dnssec_8h.html">dnssec.h</a>, this module contains key and algorithm definitions and functions. </p>

<p>Definition in file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="ad5f212d6a80316d427f4b068e849ff73"></a><!-- doxytag: member="keys.h::LDNS_KEY_ZONE_KEY" ref="ad5f212d6a80316d427f4b068e849ff73" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LDNS_KEY_ZONE_KEY&#160;&#160;&#160;0x0100</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="keys_8h_source.html#l00038">38</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<a class="anchor" id="a32c73f4b55d4cd43d7303b1351baa84c"></a><!-- doxytag: member="keys.h::LDNS_KEY_SEP_KEY" ref="a32c73f4b55d4cd43d7303b1351baa84c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LDNS_KEY_SEP_KEY&#160;&#160;&#160;0x0001</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="keys_8h_source.html#l00039">39</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<a class="anchor" id="af203e1451884dd5efc670f8c52a6fd62"></a><!-- doxytag: member="keys.h::LDNS_KEY_REVOKE_KEY" ref="af203e1451884dd5efc670f8c52a6fd62" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LDNS_KEY_REVOKE_KEY&#160;&#160;&#160;0x0080</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="keys_8h_source.html#l00040">40</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="af4bde8238e05b183cf373f49639a3e58"></a><!-- doxytag: member="keys.h::ldns_algorithm" ref="af4bde8238e05b183cf373f49639a3e58" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10">ldns_enum_algorithm</a> <a class="el" href="keys_8h.html#af4bde8238e05b183cf373f49639a3e58">ldns_algorithm</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="keys_8h_source.html#l00067">67</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab53d559230792e3951c8974631808fc5"></a><!-- doxytag: member="keys.h::ldns_hash" ref="ab53d559230792e3951c8974631808fc5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820">ldns_enum_hash</a> <a class="el" href="keys_8h.html#ab53d559230792e3951c8974631808fc5">ldns_hash</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="keys_8h_source.html#l00083">83</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<a class="anchor" id="a760c6c6be2337ff27f2dcf5d3253549a"></a><!-- doxytag: member="keys.h::ldns_signing_algorithm" ref="a760c6c6be2337ff27f2dcf5d3253549a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664">ldns_enum_signing_algorithm</a> <a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="keys_8h_source.html#l00108">108</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7f4a39b1b2b9a8bf834ba4a10dc06420"></a><!-- doxytag: member="keys.h::ldns_key" ref="a7f4a39b1b2b9a8bf834ba4a10dc06420" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structldns__struct__key.html">ldns_struct_key</a> <a class="el" href="structldns__struct__key.html">ldns_key</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="keys_8h_source.html#l00165">165</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9694e5e73a6f6e570f4cf79695fd90c7"></a><!-- doxytag: member="keys.h::ldns_key_list" ref="a9694e5e73a6f6e570f4cf79695fd90c7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structldns__struct__key__list.html">ldns_struct_key_list</a> <a class="el" href="structldns__struct__key__list.html">ldns_key_list</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="keys_8h_source.html#l00175">175</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10"></a><!-- doxytag: member="keys.h::ldns_enum_algorithm" ref="a7263c18ede33d95a849cc07f54bc5b10" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10">ldns_enum_algorithm</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Algorithms used in dns. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10a13e3a2a9c94b219ec314ac60ee65237c"></a><!-- doxytag: member="LDNS_RSAMD5" ref="a7263c18ede33d95a849cc07f54bc5b10a13e3a2a9c94b219ec314ac60ee65237c" args="" -->LDNS_RSAMD5</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10a9c80e013ab6422f81bd5995312d07bf6"></a><!-- doxytag: member="LDNS_DH" ref="a7263c18ede33d95a849cc07f54bc5b10a9c80e013ab6422f81bd5995312d07bf6" args="" -->LDNS_DH</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10a50b87d8f1c4d4d1eb8dfd8881955a4f9"></a><!-- doxytag: member="LDNS_DSA" ref="a7263c18ede33d95a849cc07f54bc5b10a50b87d8f1c4d4d1eb8dfd8881955a4f9" args="" -->LDNS_DSA</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10acb69374043a01c4baded7ba3681e9f6c"></a><!-- doxytag: member="LDNS_ECC" ref="a7263c18ede33d95a849cc07f54bc5b10acb69374043a01c4baded7ba3681e9f6c" args="" -->LDNS_ECC</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10adc4185432973db18dc51adee3f28bf80"></a><!-- doxytag: member="LDNS_RSASHA1" ref="a7263c18ede33d95a849cc07f54bc5b10adc4185432973db18dc51adee3f28bf80" args="" -->LDNS_RSASHA1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10a4e557e9b993e25b374c1620dd9c426d0"></a><!-- doxytag: member="LDNS_DSA_NSEC3" ref="a7263c18ede33d95a849cc07f54bc5b10a4e557e9b993e25b374c1620dd9c426d0" args="" -->LDNS_DSA_NSEC3</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10a4ad4fa00be7e34f3745a81ee4effda59"></a><!-- doxytag: member="LDNS_RSASHA1_NSEC3" ref="a7263c18ede33d95a849cc07f54bc5b10a4ad4fa00be7e34f3745a81ee4effda59" args="" -->LDNS_RSASHA1_NSEC3</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10ae1c2799b23f981474658ae94acbe6ddd"></a><!-- doxytag: member="LDNS_RSASHA256" ref="a7263c18ede33d95a849cc07f54bc5b10ae1c2799b23f981474658ae94acbe6ddd" args="" -->LDNS_RSASHA256</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10adc52ea2e33d9e8d3754595a47179977a"></a><!-- doxytag: member="LDNS_RSASHA512" ref="a7263c18ede33d95a849cc07f54bc5b10adc52ea2e33d9e8d3754595a47179977a" args="" -->LDNS_RSASHA512</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10a7f2a261baef424533a35e039692f9141"></a><!-- doxytag: member="LDNS_ECC_GOST" ref="a7263c18ede33d95a849cc07f54bc5b10a7f2a261baef424533a35e039692f9141" args="" -->LDNS_ECC_GOST</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10a9e4557670de89a9502b050f08a1d1a13"></a><!-- doxytag: member="LDNS_INDIRECT" ref="a7263c18ede33d95a849cc07f54bc5b10a9e4557670de89a9502b050f08a1d1a13" args="" -->LDNS_INDIRECT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10a8b4780eac0f9db1b73c547ed63d1b4ae"></a><!-- doxytag: member="LDNS_PRIVATEDNS" ref="a7263c18ede33d95a849cc07f54bc5b10a8b4780eac0f9db1b73c547ed63d1b4ae" args="" -->LDNS_PRIVATEDNS</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a7263c18ede33d95a849cc07f54bc5b10a8002ed24f6e433fa1cc884b68953d8d7"></a><!-- doxytag: member="LDNS_PRIVATEOID" ref="a7263c18ede33d95a849cc07f54bc5b10a8002ed24f6e433fa1cc884b68953d8d7" args="" -->LDNS_PRIVATEOID</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="keys_8h_source.html#l00045">45</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<a class="anchor" id="ace93e9ea11837e8a73e24d1851ef3820"></a><!-- doxytag: member="keys.h::ldns_enum_hash" ref="ace93e9ea11837e8a73e24d1851ef3820" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820">ldns_enum_hash</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Hashing algorithms used in the DS record. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ace93e9ea11837e8a73e24d1851ef3820adf4af90b5cdcad12c5aeae3cc9b123e7"></a><!-- doxytag: member="LDNS_SHA1" ref="ace93e9ea11837e8a73e24d1851ef3820adf4af90b5cdcad12c5aeae3cc9b123e7" args="" -->LDNS_SHA1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ace93e9ea11837e8a73e24d1851ef3820a8d165863f88382ac7f167967a30ebe2f"></a><!-- doxytag: member="LDNS_SHA256" ref="ace93e9ea11837e8a73e24d1851ef3820a8d165863f88382ac7f167967a30ebe2f" args="" -->LDNS_SHA256</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ace93e9ea11837e8a73e24d1851ef3820a32d75cfcd473fc6c34ac32c200b1abcf"></a><!-- doxytag: member="LDNS_HASH_GOST" ref="ace93e9ea11837e8a73e24d1851ef3820a32d75cfcd473fc6c34ac32c200b1abcf" args="" -->LDNS_HASH_GOST</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="keys_8h_source.html#l00072">72</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664"></a><!-- doxytag: member="keys.h::ldns_enum_signing_algorithm" ref="aa9c34fead27309e4540a2c4cee3db664" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664">ldns_enum_signing_algorithm</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Algorithms used in dns for signing. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664a92e7ccac219c462f054e00c8e6c8321b"></a><!-- doxytag: member="LDNS_SIGN_RSAMD5" ref="aa9c34fead27309e4540a2c4cee3db664a92e7ccac219c462f054e00c8e6c8321b" args="" -->LDNS_SIGN_RSAMD5</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664a062ab8c29c8f73b28bbb552597975dbc"></a><!-- doxytag: member="LDNS_SIGN_RSASHA1" ref="aa9c34fead27309e4540a2c4cee3db664a062ab8c29c8f73b28bbb552597975dbc" args="" -->LDNS_SIGN_RSASHA1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664a98ae68498fea31062b1d03a861846aa5"></a><!-- doxytag: member="LDNS_SIGN_DSA" ref="aa9c34fead27309e4540a2c4cee3db664a98ae68498fea31062b1d03a861846aa5" args="" -->LDNS_SIGN_DSA</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664a7a8b2b416cc65f7637108b6ba35cad69"></a><!-- doxytag: member="LDNS_SIGN_RSASHA1_NSEC3" ref="aa9c34fead27309e4540a2c4cee3db664a7a8b2b416cc65f7637108b6ba35cad69" args="" -->LDNS_SIGN_RSASHA1_NSEC3</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664a9f88342b4f9ce95700a72154b6d30269"></a><!-- doxytag: member="LDNS_SIGN_RSASHA256" ref="aa9c34fead27309e4540a2c4cee3db664a9f88342b4f9ce95700a72154b6d30269" args="" -->LDNS_SIGN_RSASHA256</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664a93fc09210171fbecee85ed84ebfc7dbd"></a><!-- doxytag: member="LDNS_SIGN_RSASHA512" ref="aa9c34fead27309e4540a2c4cee3db664a93fc09210171fbecee85ed84ebfc7dbd" args="" -->LDNS_SIGN_RSASHA512</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664a28624a25c45025703d05de9984c4ee4a"></a><!-- doxytag: member="LDNS_SIGN_DSA_NSEC3" ref="aa9c34fead27309e4540a2c4cee3db664a28624a25c45025703d05de9984c4ee4a" args="" -->LDNS_SIGN_DSA_NSEC3</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664a2f5cc1330edd5c11be92509543402f98"></a><!-- doxytag: member="LDNS_SIGN_ECC_GOST" ref="aa9c34fead27309e4540a2c4cee3db664a2f5cc1330edd5c11be92509543402f98" args="" -->LDNS_SIGN_ECC_GOST</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664a90eafd9721029814659dce35a33cdede"></a><!-- doxytag: member="LDNS_SIGN_HMACMD5" ref="aa9c34fead27309e4540a2c4cee3db664a90eafd9721029814659dce35a33cdede" args="" -->LDNS_SIGN_HMACMD5</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664ab4bb484126261b3e71183a0d7ae47404"></a><!-- doxytag: member="LDNS_SIGN_HMACSHA1" ref="aa9c34fead27309e4540a2c4cee3db664ab4bb484126261b3e71183a0d7ae47404" args="" -->LDNS_SIGN_HMACSHA1</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="aa9c34fead27309e4540a2c4cee3db664afec7895ef19516fe5304601d31d3f117"></a><!-- doxytag: member="LDNS_SIGN_HMACSHA256" ref="aa9c34fead27309e4540a2c4cee3db664afec7895ef19516fe5304601d31d3f117" args="" -->LDNS_SIGN_HMACSHA256</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="keys_8h_source.html#l00088">88</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a311eb372cb3180df25cdef98751adb27"></a><!-- doxytag: member="keys.h::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.h::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="ae164c665baaf171fdfd91df9d1ed0190"></a><!-- doxytag: member="keys.h::ldns_key_new_frm_algorithm" ref="ae164c665baaf171fdfd91df9d1ed0190" args="(ldns_signing_algorithm a, 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="a2c1d9ee3695140309e818e3ce16d637f"></a><!-- doxytag: member="keys.h::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="a2408a3a0c2285ac202b985f3878bf9a5"></a><!-- doxytag: member="keys.h::ldns_key_new_frm_fp_l" ref="a2408a3a0c2285ac202b985f3878bf9a5" args="(ldns_key **k, 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="a4694b667ba30243da292de1bde7899c9"></a><!-- doxytag: member="keys.h::ldns_key_new_frm_engine" ref="a4694b667ba30243da292de1bde7899c9" args="(ldns_key **key, ENGINE *e, char *key_id, ldns_algorithm)" -->
<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="ac1610671c493a3080378676e9b7492d4"></a><!-- doxytag: member="keys.h::ldns_key_new_frm_fp_rsa" ref="ac1610671c493a3080378676e9b7492d4" args="(FILE *fp)" -->
<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="a32264cbc5fb7aadd16c45d526aca79b3"></a><!-- doxytag: member="keys.h::ldns_key_new_frm_fp_rsa_l" ref="a32264cbc5fb7aadd16c45d526aca79b3" args="(FILE *fp, 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="a90c6d382665b96c6c3a8e3dc56ef4cde"></a><!-- doxytag: member="keys.h::ldns_key_new_frm_fp_dsa" ref="a90c6d382665b96c6c3a8e3dc56ef4cde" args="(FILE *fp)" -->
<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="a91af85cd4a84404187da222881cf564a"></a><!-- doxytag: member="keys.h::ldns_key_new_frm_fp_dsa_l" ref="a91af85cd4a84404187da222881cf564a" args="(FILE *fp, 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="a6a3b5e8880beca1005c218ef48cdf286"></a><!-- doxytag: member="keys.h::ldns_key_new_frm_fp_hmac" ref="a6a3b5e8880beca1005c218ef48cdf286" args="(FILE *fp, 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="a5d014b89d113d9fb10c72c7b85f8c86b"></a><!-- doxytag: member="keys.h::ldns_key_new_frm_fp_hmac_l" ref="a5d014b89d113d9fb10c72c7b85f8c86b" args="(FILE *fp, 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="ae27c72580b947a8ae330a5753cf4c220"></a><!-- doxytag: member="keys.h::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="a92165f884e17f7c067a185442085a5aa"></a><!-- doxytag: member="keys.h::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.h::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.h::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="a631eb1d2915d9c72cd12a0e44a549f45"></a><!-- doxytag: member="keys.h::ldns_key_EVP_load_gost_id" ref="a631eb1d2915d9c72cd12a0e44a549f45" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ldns_key_EVP_load_gost_id </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the PKEY id for GOST, loads GOST into openssl as a side effect. </p>
<p>Only available if GOST is compiled into the library and openssl. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the gost id for EVP_CTX creation. </dd></dl>

</div>
</div>
<a class="anchor" id="a52726afb8fc5290a6fecbd412eed49f2"></a><!-- doxytag: member="keys.h::ldns_key_EVP_unload_gost" ref="a52726afb8fc5290a6fecbd412eed49f2" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_key_EVP_unload_gost </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Release the engine reference held for the GOST engine. </p>

</div>
</div>
<a class="anchor" id="a385ccd045bc926c760dad28dc35dfaaf"></a><!-- doxytag: member="keys.h::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="aa747b3ab48f451e2a156cbdff7e76425"></a><!-- doxytag: member="keys.h::ldns_key_set_external_key" ref="aa747b3ab48f451e2a156cbdff7e76425" args="(ldns_key *key, 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="ab66e843127443126bb93edb7e8a58f7c"></a><!-- doxytag: member="keys.h::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="a8d14084f74652791362a77846546bcc8"></a><!-- doxytag: member="keys.h::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.h::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.h::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.h::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.h::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="aa640f76d23a320af96538a1ae95436e8"></a><!-- doxytag: member="keys.h::ldns_key_set_flags" ref="aa640f76d23a320af96538a1ae95436e8" args="(ldns_key *k, uint16_t flags)" -->
<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="a05eb2cce01ec9ebbe9ff6ac8c724e668"></a><!-- doxytag: member="keys.h::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.h::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="ae89bbcf27c4ff67cda1369b583dec02f"></a><!-- doxytag: member="keys.h::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.h::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="ab6d8d9d2a11f73c09c83c6ff4cd2bb98"></a><!-- doxytag: member="keys.h::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="a1b18028c1c2b8bca296f099461dc747a"></a><!-- doxytag: member="keys.h::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="ae3f85392da83f13ba7556373816b350d"></a><!-- doxytag: member="keys.h::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="a906b7cc79acd016fb1f400aff16b9f1c"></a><!-- doxytag: member="keys.h::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.h::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.h::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="a4ddd291d05ea2a66c7dc8896ffb5bfd0"></a><!-- doxytag: member="keys.h::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="a727d06b70953304b1ebb426414506e91"></a><!-- doxytag: member="keys.h::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="a84da4a777c99c6e96dea4c4d6e9cb269"></a><!-- doxytag: member="keys.h::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="a603a4e9fe16f00a7a69dea73f25bd797"></a><!-- doxytag: member="keys.h::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="aab487cf33d6af3c24bf4c500772d951e"></a><!-- doxytag: member="keys.h::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.h::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.h::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.h::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.h::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="ad4359824295f24c7cef57b616288947d"></a><!-- doxytag: member="keys.h::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="a2202111bbdbcd68df9e4bb89985ca95a"></a><!-- doxytag: member="keys.h::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.h::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="a743980d6a4c1f3cd2a87e4e323a34dac"></a><!-- doxytag: member="keys.h::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="aa7fa8dda901db59cd5bc66d0da4c0cba"></a><!-- doxytag: member="keys.h::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.h::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.h::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.h::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.h::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.h::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.h::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.h::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">

<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>