Sophie

Sophie

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

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="headertitle">
<div class="title">keys.h</div>  </div>
</div>
<div class="contents">
<a href="keys_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * </span>
<a name="l00003"></a>00003 <span class="comment"> * keys.h</span>
<a name="l00004"></a>00004 <span class="comment"> *</span>
<a name="l00005"></a>00005 <span class="comment"> * priv key definitions</span>
<a name="l00006"></a>00006 <span class="comment"> *</span>
<a name="l00007"></a>00007 <span class="comment"> * a Net::DNS like library for C</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> * (c) NLnet Labs, 2005-2006</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * See the file LICENSE for the license</span>
<a name="l00012"></a>00012 <span class="comment"> */</span>
<a name="l00013"></a>00013 
<a name="l00021"></a>00021 <span class="preprocessor">#ifndef LDNS_KEYS_H</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define LDNS_KEYS_H</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="common_8h.html" title="Common definitions for LDNS.">ldns/common.h</a>&gt;</span>
<a name="l00025"></a>00025 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#include &lt;openssl/ssl.h&gt;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;<a class="code" href="dnssec_8h.html" title="This module contains base functions for DNSSEC operations (RFC4033 t/m RFC4035).">ldns/dnssec.h</a>&gt;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;<a class="code" href="util_8h.html">ldns/util.h</a>&gt;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;errno.h&gt;</span>
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
<a name="l00034"></a>00034 <span class="preprocessor">#endif</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00036"></a>00036 <span class="keyword">extern</span> <a class="code" href="structldns__struct__lookup__table.html" title="A general purpose lookup table.">ldns_lookup_table</a> <a class="code" href="keys_8c.html#abe875964254b61807ec7953e478db5bf">ldns_signing_algorithms</a>[];
<a name="l00037"></a>00037 
<a name="l00038"></a><a class="code" href="keys_8h.html#ad5f212d6a80316d427f4b068e849ff73">00038</a> <span class="preprocessor">#define LDNS_KEY_ZONE_KEY 0x0100   </span><span class="comment">/* rfc 4034 */</span>
<a name="l00039"></a><a class="code" href="keys_8h.html#a32c73f4b55d4cd43d7303b1351baa84c">00039</a> <span class="preprocessor">#define LDNS_KEY_SEP_KEY 0x0001    </span><span class="comment">/* rfc 4034 */</span>
<a name="l00040"></a><a class="code" href="keys_8h.html#af203e1451884dd5efc670f8c52a6fd62">00040</a> <span class="preprocessor">#define LDNS_KEY_REVOKE_KEY 0x0080 </span><span class="comment">/* rfc 5011 */</span>
<a name="l00041"></a>00041 
<a name="l00045"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10">00045</a> <span class="keyword">enum</span> <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10" title="Algorithms used in dns.">ldns_enum_algorithm</a>
<a name="l00046"></a>00046 {
<a name="l00047"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a13e3a2a9c94b219ec314ac60ee65237c">00047</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a13e3a2a9c94b219ec314ac60ee65237c">LDNS_RSAMD5</a>             = 1,   <span class="comment">/* RFC 4034,4035 */</span>
<a name="l00048"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a9c80e013ab6422f81bd5995312d07bf6">00048</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a9c80e013ab6422f81bd5995312d07bf6">LDNS_DH</a>                 = 2,
<a name="l00049"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a50b87d8f1c4d4d1eb8dfd8881955a4f9">00049</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a50b87d8f1c4d4d1eb8dfd8881955a4f9">LDNS_DSA</a>                = 3,
<a name="l00050"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10acb69374043a01c4baded7ba3681e9f6c">00050</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10acb69374043a01c4baded7ba3681e9f6c">LDNS_ECC</a>                = 4,
<a name="l00051"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10adc4185432973db18dc51adee3f28bf80">00051</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10adc4185432973db18dc51adee3f28bf80">LDNS_RSASHA1</a>            = 5,
<a name="l00052"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a4e557e9b993e25b374c1620dd9c426d0">00052</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a4e557e9b993e25b374c1620dd9c426d0">LDNS_DSA_NSEC3</a>          = 6,
<a name="l00053"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a4ad4fa00be7e34f3745a81ee4effda59">00053</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a4ad4fa00be7e34f3745a81ee4effda59">LDNS_RSASHA1_NSEC3</a>      = 7,
<a name="l00054"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10ae1c2799b23f981474658ae94acbe6ddd">00054</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10ae1c2799b23f981474658ae94acbe6ddd">LDNS_RSASHA256</a>          = 8,   <span class="comment">/* RFC 5702 */</span>
<a name="l00055"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10adc52ea2e33d9e8d3754595a47179977a">00055</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10adc52ea2e33d9e8d3754595a47179977a">LDNS_RSASHA512</a>          = 10,  <span class="comment">/* RFC 5702 */</span>
<a name="l00056"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a7f2a261baef424533a35e039692f9141">00056</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a7f2a261baef424533a35e039692f9141">LDNS_ECC_GOST</a>           = 12,  <span class="comment">/* RFC 5933 */</span>
<a name="l00057"></a>00057 <span class="preprocessor">#if LDNS_BUILD_CONFIG_USE_ECDSA</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span>        <span class="comment">/* this ifdef has to be removed once it is no longer experimental,</span>
<a name="l00059"></a>00059 <span class="comment">         * to be able to use these values outside of the ldns library itself */</span>
<a name="l00060"></a>00060         LDNS_ECDSAP256SHA256    = 13,  <span class="comment">/* draft-hoffman-dnssec-ecdsa */</span>
<a name="l00061"></a>00061         LDNS_ECDSAP384SHA384    = 14,  <span class="comment">/* EXPERIMENTAL */</span>
<a name="l00062"></a>00062 <span class="preprocessor">#endif</span>
<a name="l00063"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a9e4557670de89a9502b050f08a1d1a13">00063</a> <span class="preprocessor"></span>        <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a9e4557670de89a9502b050f08a1d1a13">LDNS_INDIRECT</a>           = 252,
<a name="l00064"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a8b4780eac0f9db1b73c547ed63d1b4ae">00064</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a8b4780eac0f9db1b73c547ed63d1b4ae">LDNS_PRIVATEDNS</a>         = 253,
<a name="l00065"></a><a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a8002ed24f6e433fa1cc884b68953d8d7">00065</a>         <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a8002ed24f6e433fa1cc884b68953d8d7">LDNS_PRIVATEOID</a>         = 254
<a name="l00066"></a>00066 };
<a name="l00067"></a><a class="code" href="keys_8h.html#af4bde8238e05b183cf373f49639a3e58">00067</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10" title="Algorithms used in dns.">ldns_enum_algorithm</a> <a class="code" href="keys_8h.html#af4bde8238e05b183cf373f49639a3e58">ldns_algorithm</a>;
<a name="l00068"></a>00068 
<a name="l00072"></a><a class="code" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820">00072</a> <span class="keyword">enum</span> <a class="code" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820" title="Hashing algorithms used in the DS record.">ldns_enum_hash</a>
<a name="l00073"></a>00073 {
<a name="l00074"></a><a class="code" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820adf4af90b5cdcad12c5aeae3cc9b123e7">00074</a>         <a class="code" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820adf4af90b5cdcad12c5aeae3cc9b123e7">LDNS_SHA1</a>               = 1,  <span class="comment">/* RFC 4034 */</span>
<a name="l00075"></a><a class="code" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820a8d165863f88382ac7f167967a30ebe2f">00075</a>         <a class="code" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820a8d165863f88382ac7f167967a30ebe2f">LDNS_SHA256</a>             = 2,  <span class="comment">/* RFC 4509 */</span>
<a name="l00076"></a><a class="code" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820a32d75cfcd473fc6c34ac32c200b1abcf">00076</a>         <a class="code" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820a32d75cfcd473fc6c34ac32c200b1abcf">LDNS_HASH_GOST</a>          = 3   <span class="comment">/* RFC 5933 */</span>
<a name="l00077"></a>00077 <span class="preprocessor">#if LDNS_BUILD_CONFIG_USE_ECDSA</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span>        <span class="comment">/* this ifdef has to be removed once it is no longer experimental,</span>
<a name="l00079"></a>00079 <span class="comment">         * to be able to use these values outside of the ldns library itself */</span>
<a name="l00080"></a>00080         ,LDNS_SHA384             = 4   <span class="comment">/* draft-hoffman-dnssec-ecdsa EXPERIMENTAL */</span>
<a name="l00081"></a>00081 <span class="preprocessor">#endif</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span>};
<a name="l00083"></a><a class="code" href="keys_8h.html#ab53d559230792e3951c8974631808fc5">00083</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="keys_8h.html#ace93e9ea11837e8a73e24d1851ef3820" title="Hashing algorithms used in the DS record.">ldns_enum_hash</a> <a class="code" href="keys_8h.html#ab53d559230792e3951c8974631808fc5">ldns_hash</a>;
<a name="l00084"></a>00084 
<a name="l00088"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664">00088</a> <span class="keyword">enum</span> <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664" title="Algorithms used in dns for signing.">ldns_enum_signing_algorithm</a>
<a name="l00089"></a>00089 {
<a name="l00090"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a92e7ccac219c462f054e00c8e6c8321b">00090</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a92e7ccac219c462f054e00c8e6c8321b">LDNS_SIGN_RSAMD5</a>         = <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a13e3a2a9c94b219ec314ac60ee65237c">LDNS_RSAMD5</a>,
<a name="l00091"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a062ab8c29c8f73b28bbb552597975dbc">00091</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a062ab8c29c8f73b28bbb552597975dbc">LDNS_SIGN_RSASHA1</a>        = <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10adc4185432973db18dc51adee3f28bf80">LDNS_RSASHA1</a>,
<a name="l00092"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a98ae68498fea31062b1d03a861846aa5">00092</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a98ae68498fea31062b1d03a861846aa5">LDNS_SIGN_DSA</a>            = <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a50b87d8f1c4d4d1eb8dfd8881955a4f9">LDNS_DSA</a>,
<a name="l00093"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a7a8b2b416cc65f7637108b6ba35cad69">00093</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a7a8b2b416cc65f7637108b6ba35cad69">LDNS_SIGN_RSASHA1_NSEC3</a>  = <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a4ad4fa00be7e34f3745a81ee4effda59">LDNS_RSASHA1_NSEC3</a>,
<a name="l00094"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a9f88342b4f9ce95700a72154b6d30269">00094</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a9f88342b4f9ce95700a72154b6d30269">LDNS_SIGN_RSASHA256</a>      = <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10ae1c2799b23f981474658ae94acbe6ddd">LDNS_RSASHA256</a>,
<a name="l00095"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a93fc09210171fbecee85ed84ebfc7dbd">00095</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a93fc09210171fbecee85ed84ebfc7dbd">LDNS_SIGN_RSASHA512</a>      = <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10adc52ea2e33d9e8d3754595a47179977a">LDNS_RSASHA512</a>,
<a name="l00096"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a28624a25c45025703d05de9984c4ee4a">00096</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a28624a25c45025703d05de9984c4ee4a">LDNS_SIGN_DSA_NSEC3</a>      = <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a4e557e9b993e25b374c1620dd9c426d0">LDNS_DSA_NSEC3</a>,
<a name="l00097"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a2f5cc1330edd5c11be92509543402f98">00097</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a2f5cc1330edd5c11be92509543402f98">LDNS_SIGN_ECC_GOST</a>       = <a class="code" href="keys_8h.html#a7263c18ede33d95a849cc07f54bc5b10a7f2a261baef424533a35e039692f9141">LDNS_ECC_GOST</a>,
<a name="l00098"></a>00098 <span class="preprocessor">#if LDNS_BUILD_CONFIG_USE_ECDSA</span>
<a name="l00099"></a>00099 <span class="preprocessor"></span>        <span class="comment">/* this ifdef has to be removed once it is no longer experimental,</span>
<a name="l00100"></a>00100 <span class="comment">         * to be able to use these values outside of the ldns library itself */</span>
<a name="l00101"></a>00101         LDNS_SIGN_ECDSAP256SHA256 = LDNS_ECDSAP256SHA256,
<a name="l00102"></a>00102         LDNS_SIGN_ECDSAP384SHA384 = LDNS_ECDSAP384SHA384,
<a name="l00103"></a>00103 <span class="preprocessor">#endif</span>
<a name="l00104"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a90eafd9721029814659dce35a33cdede">00104</a> <span class="preprocessor"></span>        <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664a90eafd9721029814659dce35a33cdede">LDNS_SIGN_HMACMD5</a>        = 157, <span class="comment">/* not official! This type is for TSIG, not DNSSEC */</span>
<a name="l00105"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664ab4bb484126261b3e71183a0d7ae47404">00105</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664ab4bb484126261b3e71183a0d7ae47404">LDNS_SIGN_HMACSHA1</a>       = 158, <span class="comment">/* not official! This type is for TSIG, not DNSSEC */</span>
<a name="l00106"></a><a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664afec7895ef19516fe5304601d31d3f117">00106</a>         <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664afec7895ef19516fe5304601d31d3f117">LDNS_SIGN_HMACSHA256</a> = 159  <span class="comment">/* ditto */</span>
<a name="l00107"></a>00107 };
<a name="l00108"></a><a class="code" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">00108</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="keys_8h.html#aa9c34fead27309e4540a2c4cee3db664" title="Algorithms used in dns for signing.">ldns_enum_signing_algorithm</a> <a class="code" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a>;
<a name="l00109"></a>00109 
<a name="l00120"></a><a class="code" href="structldns__struct__key.html">00120</a> <span class="keyword">struct </span><a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_struct_key</a> {
<a name="l00121"></a><a class="code" href="structldns__struct__key.html#acd8540a5c581d8f866ff9804e6139cc7">00121</a>         ldns_signing_algorithm <a class="code" href="structldns__struct__key.html#acd8540a5c581d8f866ff9804e6139cc7">_alg</a>;
<a name="l00123"></a><a class="code" href="structldns__struct__key.html#a68c1f16bdc8e0a1d3ce3428bec650770">00123</a>         <span class="keywordtype">bool</span> <a class="code" href="structldns__struct__key.html#a68c1f16bdc8e0a1d3ce3428bec650770" title="Whether to use this key when signing.">_use</a>;
<a name="l00125"></a>00125         <span class="comment">/* TODO remove unions? */</span>
<a name="l00126"></a>00126         <span class="keyword">struct </span>{
<a name="l00127"></a>00127 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00128"></a>00128 <span class="preprocessor"></span><span class="preprocessor">#ifndef S_SPLINT_S</span>
<a name="l00129"></a>00129 <span class="preprocessor"></span>                <span class="comment">/* The key can be an OpenSSL EVP Key</span>
<a name="l00130"></a>00130 <span class="comment">                 */</span>
<a name="l00131"></a><a class="code" href="structldns__struct__key.html#a662c8aa416a359facb8cbe2f1e37707a">00131</a>                 EVP_PKEY *<a class="code" href="structldns__struct__key.html#a662c8aa416a359facb8cbe2f1e37707a">key</a>;
<a name="l00132"></a>00132 <span class="preprocessor">#endif</span>
<a name="l00133"></a>00133 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00134"></a>00134 
<a name="l00137"></a>00137                 <span class="keyword">struct </span>{
<a name="l00138"></a><a class="code" href="structldns__struct__key.html#a6f22419357f50c5c3b84675626a8c78f">00138</a>                         <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structldns__struct__key.html#a6f22419357f50c5c3b84675626a8c78f">key</a>;
<a name="l00139"></a><a class="code" href="structldns__struct__key.html#a604c445334c931d3d8758c8b8728e5b0">00139</a>                         <span class="keywordtype">size_t</span> <a class="code" href="structldns__struct__key.html#a604c445334c931d3d8758c8b8728e5b0">size</a>;
<a name="l00140"></a>00140                 } <a class="code" href="structldns__struct__key.html#af6b4352ba0e83e6da164a47bc694cc85">hmac</a>;
<a name="l00144"></a><a class="code" href="structldns__struct__key.html#ad55bab6d2e0b417032aa20c54d5f7c1c">00144</a>                 <span class="keywordtype">void</span> *<a class="code" href="structldns__struct__key.html#ad55bab6d2e0b417032aa20c54d5f7c1c" title="the key structure can also just point to some external key data">external_key</a>;
<a name="l00145"></a>00145         } <a class="code" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">_key</a>;
<a name="l00147"></a>00147         <span class="keyword">union </span>{
<a name="l00149"></a>00149                 <span class="keyword">struct </span>{
<a name="l00151"></a><a class="code" href="structldns__struct__key.html#af4f951b9be0fba0954fc89508df34a8f">00151</a>                         uint32_t <a class="code" href="structldns__struct__key.html#af4f951b9be0fba0954fc89508df34a8f" title="The TTL of the rrset that is currently signed.">orig_ttl</a>;
<a name="l00153"></a><a class="code" href="structldns__struct__key.html#a005b5ca9576310998cf80db43b8b1931">00153</a>                         uint32_t <a class="code" href="structldns__struct__key.html#a005b5ca9576310998cf80db43b8b1931" title="The inception date of signatures made with this key.">inception</a>;
<a name="l00155"></a><a class="code" href="structldns__struct__key.html#a3315f83bd0407c64fba72b0eed5cdc59">00155</a>                         uint32_t <a class="code" href="structldns__struct__key.html#a3315f83bd0407c64fba72b0eed5cdc59" title="The expiration date of signatures made with this key.">expiration</a>;
<a name="l00157"></a><a class="code" href="structldns__struct__key.html#a167f16c1c092d3a6311ab81a2aa182e7">00157</a>                         uint16_t <a class="code" href="structldns__struct__key.html#a167f16c1c092d3a6311ab81a2aa182e7" title="The keytag of this key.">keytag</a>;
<a name="l00159"></a><a class="code" href="structldns__struct__key.html#addc7414b1a369c68ae392df0b689cafd">00159</a>                         uint16_t <a class="code" href="structldns__struct__key.html#addc7414b1a369c68ae392df0b689cafd" title="The dnssec key flags as specified in RFC4035, like ZSK and KSK.">flags</a>;
<a name="l00160"></a>00160                 }  <a class="code" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">dnssec</a>;
<a name="l00161"></a>00161         } <a class="code" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">_extra</a>;
<a name="l00163"></a><a class="code" href="structldns__struct__key.html#abc331cdc595e9167e5eb81733af7a370">00163</a>         <a class="code" href="structldns__struct__rdf.html" title="Resource record data field.">ldns_rdf</a> *<a class="code" href="structldns__struct__key.html#abc331cdc595e9167e5eb81733af7a370" title="Owner name of the key.">_pubkey_owner</a>;
<a name="l00164"></a>00164 };
<a name="l00165"></a><a class="code" href="keys_8h.html#a7f4a39b1b2b9a8bf834ba4a10dc06420">00165</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_struct_key</a> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a>;
<a name="l00166"></a>00166 
<a name="l00170"></a><a class="code" href="structldns__struct__key__list.html">00170</a> <span class="keyword">struct </span><a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_struct_key_list</a>
<a name="l00171"></a>00171 {
<a name="l00172"></a><a class="code" href="structldns__struct__key__list.html#a09bfe05a526c79151b5b3a1c83a907f0">00172</a>         <span class="keywordtype">size_t</span> <a class="code" href="structldns__struct__key__list.html#a09bfe05a526c79151b5b3a1c83a907f0">_key_count</a>;
<a name="l00173"></a><a class="code" href="structldns__struct__key__list.html#ae37a58c4445d1007a6514e3fe4e36320">00173</a>         <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> **<a class="code" href="structldns__struct__key__list.html#ae37a58c4445d1007a6514e3fe4e36320">_keys</a>;
<a name="l00174"></a>00174 };
<a name="l00175"></a><a class="code" href="keys_8h.html#a9694e5e73a6f6e570f4cf79695fd90c7">00175</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_struct_key_list</a> <a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_key_list</a>;
<a name="l00176"></a>00176 
<a name="l00177"></a>00177 
<a name="l00182"></a>00182 <a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_key_list</a> *<a class="code" href="keys_8c.html#a311eb372cb3180df25cdef98751adb27" title="Creates a new empty key list.">ldns_key_list_new</a>();
<a name="l00183"></a>00183 
<a name="l00188"></a>00188 <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *<a class="code" href="keys_8c.html#aa0f2535ad10be9b2938a67e8e8e3b6b6" title="Creates a new empty key structure.">ldns_key_new</a>();
<a name="l00189"></a>00189 
<a name="l00197"></a>00197 <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *<a class="code" href="keys_8c.html#a4e7e2ac8173cc9e0b7714b40a6d30845" title="Creates a new key based on the algorithm.">ldns_key_new_frm_algorithm</a>(ldns_signing_algorithm a, uint16_t size);
<a name="l00198"></a>00198 
<a name="l00209"></a>00209 <a class="code" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> <a class="code" href="keys_8c.html#a2c1d9ee3695140309e818e3ce16d637f" title="Creates a new priv key based on the contents of the file pointed by fp.">ldns_key_new_frm_fp</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> **k, FILE *fp);
<a name="l00210"></a>00210 
<a name="l00222"></a>00222 <a class="code" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> <a class="code" href="keys_8c.html#a0197f9dd65bae3a3cb408c19683d3db8" title="Creates a new private key based on the contents of the file pointed by fp.">ldns_key_new_frm_fp_l</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> **k, FILE *fp, <span class="keywordtype">int</span> *line_nr);
<a name="l00223"></a>00223 
<a name="l00224"></a>00224 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00225"></a>00225 <span class="preprocessor"></span>
<a name="l00229"></a>00229 <a class="code" href="error_8h.html#aaa6d98f86f535cf87b83b89e91f488f9">ldns_status</a> <a class="code" href="keys_8c.html#ac73013d7e683e0b4d8e9a32c3036da44" title="Read the key with the given id from the given engine and store it in the given ldns_key structure...">ldns_key_new_frm_engine</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> **key, ENGINE *e, <span class="keywordtype">char</span> *key_id, ldns_algorithm);
<a name="l00230"></a>00230 
<a name="l00231"></a>00231 
<a name="l00238"></a>00238 RSA *<a class="code" href="keys_8c.html#abb0f8bdbe3c16887367a9dc7d3a6825a" title="frm_fp helper function.">ldns_key_new_frm_fp_rsa</a>(FILE *fp);
<a name="l00239"></a>00239 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00240"></a>00240 
<a name="l00241"></a>00241 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00242"></a>00242 <span class="preprocessor"></span>
<a name="l00249"></a>00249 RSA *<a class="code" href="keys_8c.html#a2249817ddcd666f22df3b1f3dc8ac7de" title="frm_fp helper function.">ldns_key_new_frm_fp_rsa_l</a>(FILE *fp, <span class="keywordtype">int</span> *line_nr);
<a name="l00250"></a>00250 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00251"></a>00251 
<a name="l00252"></a>00252 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00253"></a>00253 <span class="preprocessor"></span>
<a name="l00259"></a>00259 DSA *<a class="code" href="keys_8c.html#a4f289f32ebb8220a81edb0cead4666ea" title="frm_fp helper function.">ldns_key_new_frm_fp_dsa</a>(FILE *fp);
<a name="l00260"></a>00260 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00261"></a>00261 
<a name="l00262"></a>00262 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00263"></a>00263 <span class="preprocessor"></span>
<a name="l00270"></a>00270 DSA *<a class="code" href="keys_8c.html#a8897b13a4597a7ce543ddafa576a771a" title="frm_fp helper function.">ldns_key_new_frm_fp_dsa_l</a>(FILE *fp, <span class="keywordtype">int</span> *line_nr);
<a name="l00271"></a>00271 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00272"></a>00272 
<a name="l00273"></a>00273 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00274"></a>00274 <span class="preprocessor"></span>
<a name="l00282"></a>00282 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="keys_8c.html#ad0d8d883cfd0e60971c90bbcede6b002" title="frm_fp helper function.">ldns_key_new_frm_fp_hmac</a>(FILE *fp, <span class="keywordtype">size_t</span> *hmac_size);
<a name="l00283"></a>00283 <span class="preprocessor">#endif</span>
<a name="l00284"></a>00284 <span class="preprocessor"></span>
<a name="l00285"></a>00285 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00286"></a>00286 <span class="preprocessor"></span>
<a name="l00295"></a>00295 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="keys_8c.html#ac067b69d6cccf933d9a71fadd663f529" title="frm_fp helper function.">ldns_key_new_frm_fp_hmac_l</a>(FILE *fp, <span class="keywordtype">int</span> *line_nr, <span class="keywordtype">size_t</span> *hmac_size);
<a name="l00296"></a>00296 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00297"></a>00297 
<a name="l00298"></a>00298 <span class="comment">/* acces write functions */</span>
<a name="l00304"></a>00304 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#ae27c72580b947a8ae330a5753cf4c220" title="Set the key&#39;s algorithm.">ldns_key_set_algorithm</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, ldns_signing_algorithm l);
<a name="l00305"></a>00305 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00306"></a>00306 <span class="preprocessor"></span>
<a name="l00311"></a>00311 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a92165f884e17f7c067a185442085a5aa" title="Set the key&#39;s evp key.">ldns_key_set_evp_key</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, EVP_PKEY *e);
<a name="l00312"></a>00312 
<a name="l00318"></a>00318 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#aed378f559db3f0b4206f7f52b0f78762" title="Set the key&#39;s rsa data.">ldns_key_set_rsa_key</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, RSA *r);
<a name="l00324"></a>00324 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a39152994a2369b033721ffa904738f82" title="Set the key&#39;s dsa data.">ldns_key_set_dsa_key</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, DSA *d);
<a name="l00325"></a>00325 
<a name="l00331"></a>00331 <span class="keywordtype">int</span> <a class="code" href="keys_8h.html#a631eb1d2915d9c72cd12a0e44a549f45" title="Get the PKEY id for GOST, loads GOST into openssl as a side effect.">ldns_key_EVP_load_gost_id</a>(<span class="keywordtype">void</span>);
<a name="l00332"></a>00332 
<a name="l00334"></a>00334 <span class="keywordtype">void</span> <a class="code" href="keys_8h.html#a52726afb8fc5290a6fecbd412eed49f2" title="Release the engine reference held for the GOST engine.">ldns_key_EVP_unload_gost</a>(<span class="keywordtype">void</span>);
<a name="l00335"></a>00335 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00336"></a>00336 
<a name="l00342"></a>00342 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a385ccd045bc926c760dad28dc35dfaaf" title="Set the key&#39;s hmac data.">ldns_key_set_hmac_key</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *hmac);
<a name="l00343"></a>00343 
<a name="l00354"></a>00354 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a23e41ca680c1bfe71c1fbe74a5b58c3b" title="Set the key id data.">ldns_key_set_external_key</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *key, <span class="keywordtype">void</span> *external_key);
<a name="l00355"></a>00355 
<a name="l00361"></a>00361 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#ab66e843127443126bb93edb7e8a58f7c" title="Set the key&#39;s hmac size.">ldns_key_set_hmac_size</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, <span class="keywordtype">size_t</span> hmac_size);
<a name="l00367"></a>00367 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a8d14084f74652791362a77846546bcc8" title="Set the key&#39;s original ttl.">ldns_key_set_origttl</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, uint32_t t);
<a name="l00373"></a>00373 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#af1521b6b3c0e84a629d09bf237f40308" title="Set the key&#39;s inception date (seconds after epoch)">ldns_key_set_inception</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, uint32_t i);
<a name="l00379"></a>00379 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a25f9483844dbd83abca56d725923c591" title="Set the key&#39;s expiration date (seconds after epoch)">ldns_key_set_expiration</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, uint32_t e);
<a name="l00385"></a>00385 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a4c0b77f2579a2a6ce4355aa29de237e5" title="Set the key&#39;s pubkey owner.">ldns_key_set_pubkey_owner</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, <a class="code" href="structldns__struct__rdf.html" title="Resource record data field.">ldns_rdf</a> *r);
<a name="l00391"></a>00391 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a9bdf435dfcf6a6a603c3284054a8126c" title="Set the key&#39;s key tag.">ldns_key_set_keytag</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, uint16_t tag);
<a name="l00397"></a>00397 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#aea3bc851574cf6ccc40d850deaea348f" title="Set the key&#39;s flags.">ldns_key_set_flags</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, uint16_t flags);
<a name="l00403"></a>00403 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a05eb2cce01ec9ebbe9ff6ac8c724e668" title="Set the keylist&#39;s key count to count.">ldns_key_list_set_key_count</a>(<a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_key_list</a> *key, <span class="keywordtype">size_t</span> count);
<a name="l00404"></a>00404 
<a name="l00411"></a>00411 <span class="keywordtype">bool</span> <a class="code" href="keys_8c.html#a221251701900a1de52cfe2613a9e6e9d" title="pushes a key to a keylist">ldns_key_list_push_key</a>(<a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_key_list</a> *key_list, <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *key);
<a name="l00412"></a>00412 
<a name="l00418"></a>00418 <span class="keywordtype">size_t</span> <a class="code" href="keys_8c.html#ae89bbcf27c4ff67cda1369b583dec02f" title="returns the number of keys in the key list">ldns_key_list_key_count</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_key_list</a> *key_list);
<a name="l00419"></a>00419 
<a name="l00426"></a>00426 <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *<a class="code" href="keys_8c.html#afe06ede6432e59eb7ccc9d57a285060a" title="returns a pointer to the key in the list at the given position">ldns_key_list_key</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_key_list</a> *key, <span class="keywordtype">size_t</span> nr);
<a name="l00427"></a>00427 
<a name="l00428"></a>00428 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00429"></a>00429 <span class="preprocessor"></span>
<a name="l00434"></a>00434 RSA *<a class="code" href="keys_8c.html#ab6d8d9d2a11f73c09c83c6ff4cd2bb98" title="returns the (openssl) RSA struct contained in the key">ldns_key_rsa_key</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00440"></a>00440 EVP_PKEY *<a class="code" href="keys_8c.html#a1b18028c1c2b8bca296f099461dc747a" title="returns the (openssl) EVP struct contained in the key">ldns_key_evp_key</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00441"></a>00441 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00442"></a>00442 
<a name="l00446"></a>00446 <span class="preprocessor">#if LDNS_BUILD_CONFIG_HAVE_SSL</span>
<a name="l00447"></a>00447 <span class="preprocessor"></span>DSA *<a class="code" href="keys_8c.html#ae3f85392da83f13ba7556373816b350d" title="returns the (openssl) DSA struct contained in the key">ldns_key_dsa_key</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00448"></a>00448 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_BUILD_CONFIG_HAVE_SSL */</span>
<a name="l00449"></a>00449 
<a name="l00455"></a>00455 ldns_signing_algorithm <a class="code" href="keys_8c.html#a906b7cc79acd016fb1f400aff16b9f1c" title="return the signing alg of the key">ldns_key_algorithm</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00461"></a>00461 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a3b7792865c5af9fd4fbc53c04946be01" title="set the use flag">ldns_key_set_use</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k, <span class="keywordtype">bool</span> v);
<a name="l00467"></a>00467 <span class="keywordtype">bool</span> <a class="code" href="keys_8c.html#afee1fabe43cf6dfb43c8b0966350153e" title="return the use flag">ldns_key_use</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00473"></a>00473 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="keys_8c.html#a4ddd291d05ea2a66c7dc8896ffb5bfd0" title="return the hmac key data">ldns_key_hmac_key</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00479"></a>00479 <span class="keywordtype">void</span> *<a class="code" href="keys_8c.html#a727d06b70953304b1ebb426414506e91" title="return the key id key data">ldns_key_external_key</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00485"></a>00485 <span class="keywordtype">size_t</span> <a class="code" href="keys_8c.html#a84da4a777c99c6e96dea4c4d6e9cb269" title="return the hmac key size">ldns_key_hmac_size</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00491"></a>00491 uint32_t <a class="code" href="keys_8c.html#a603a4e9fe16f00a7a69dea73f25bd797" title="return the original ttl of the key">ldns_key_origttl</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00497"></a>00497 uint32_t <a class="code" href="keys_8c.html#aab487cf33d6af3c24bf4c500772d951e" title="return the key&#39;s inception date">ldns_key_inception</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00503"></a>00503 uint32_t <a class="code" href="keys_8c.html#a083d425d1bb74ace49cd4e7aa8d738fb" title="return the key&#39;s expiration date">ldns_key_expiration</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00509"></a>00509 uint16_t <a class="code" href="keys_8c.html#a8cf2ca2fc8d72b28076157beb791b347" title="return the keytag">ldns_key_keytag</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00515"></a>00515 <a class="code" href="structldns__struct__rdf.html" title="Resource record data field.">ldns_rdf</a> *<a class="code" href="keys_8c.html#ab8c7cbd30af086afa9046f059bc245c9" title="return the public key&#39;s owner">ldns_key_pubkey_owner</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00521"></a>00521 <span class="keywordtype">void</span>
<a name="l00522"></a>00522 <a class="code" href="keys_8c.html#a40afb1fed3e89304d547a2b526d3db16" title="Set the &#39;use&#39; flag for all keys in the list.">ldns_key_list_set_use</a>(<a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_key_list</a> *keys, <span class="keywordtype">bool</span> v);
<a name="l00523"></a>00523 
<a name="l00529"></a>00529 uint16_t <a class="code" href="keys_8c.html#ad4359824295f24c7cef57b616288947d" title="return the flag of the key">ldns_key_flags</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00530"></a>00530 
<a name="l00536"></a>00536 <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *<a class="code" href="keys_8c.html#a2202111bbdbcd68df9e4bb89985ca95a" title="pops the last rr from a keylist">ldns_key_list_pop_key</a>(<a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_key_list</a> *key_list);
<a name="l00537"></a>00537 
<a name="l00547"></a>00547 <a class="code" href="structldns__struct__rr.html" title="Resource Record.">ldns_rr</a> *<a class="code" href="keys_8c.html#a45bdcdbe6aac4764bff1ad12a86a6541" title="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">ldns_key2rr</a>(<span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00548"></a>00548 
<a name="l00555"></a>00555 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a743980d6a4c1f3cd2a87e4e323a34dac" title="print a private key to the file ouput">ldns_key_print</a>(FILE *output, <span class="keyword">const</span> <a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *k);
<a name="l00556"></a>00556 
<a name="l00562"></a>00562 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#aa7fa8dda901db59cd5bc66d0da4c0cba" title="frees a key structure, but not its internal data structures">ldns_key_free</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *key);
<a name="l00563"></a>00563 
<a name="l00570"></a>00570 <span class="keywordtype">void</span> <a class="code" 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>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *key);
<a name="l00571"></a>00571 
<a name="l00576"></a>00576 <span class="keywordtype">void</span> <a class="code" href="keys_8c.html#a11dd420fbf4a79250f1261754fbd139e" title="Frees a key list structure.">ldns_key_list_free</a>(<a class="code" href="structldns__struct__key__list.html" title="Same as rr_list, but now for keys.">ldns_key_list</a> *key_list);
<a name="l00577"></a>00577 
<a name="l00583"></a>00583 <a class="code" href="structldns__struct__rr.html" title="Resource Record.">ldns_rr</a> * <a class="code" href="keys_8c.html#a51826a1a298436c885ab77c2afe73bdc" title="Instantiates a DNSKEY or DS RR from file.">ldns_read_anchor_file</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);
<a name="l00584"></a>00584 
<a name="l00595"></a>00595 <span class="keywordtype">char</span> *<a class="code" href="keys_8c.html#aae718af496f2cc9e2580faa4127d0067" title="Returns the &#39;default base name&#39; for key files; IE.">ldns_key_get_file_base_name</a>(<a class="code" href="structldns__struct__key.html" title="General key structure, can contain all types of keys that are used in DNSSEC.">ldns_key</a> *key);
<a name="l00596"></a>00596 
<a name="l00602"></a>00602 <span class="keywordtype">int</span> <a class="code" href="keys_8c.html#a2368ee62953bdea2620daaa9aa3db8c3" title="See if a key algorithm is supported.">ldns_key_algo_supported</a>(<span class="keywordtype">int</span> algo);
<a name="l00603"></a>00603 
<a name="l00609"></a>00609 ldns_signing_algorithm <a class="code" href="keys_8c.html#a222c49989b22e5c138adb61ad62b55e4" title="Get signing algorithm by name.">ldns_get_signing_algorithm_by_name</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name);
<a name="l00610"></a>00610 
<a name="l00611"></a>00611 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00612"></a>00612 <span class="preprocessor"></span>}
<a name="l00613"></a>00613 <span class="preprocessor">#endif</span>
<a name="l00614"></a>00614 <span class="preprocessor"></span>
<a name="l00615"></a>00615 <span class="preprocessor">#endif </span><span class="comment">/* LDNS_KEYS_H */</span>
</pre></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>