<!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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><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="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-attribs">Data Fields</a> </div> <div class="headertitle"> <div class="title">ldns_struct_key Struct Reference</div> </div> </div> <div class="contents"> <!-- doxytag: class="ldns_struct_key" --> <p>General key structure, can contain all types of keys that are used in DNSSEC. <a href="structldns__struct__key.html#details">More...</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="keys_8h.html#a760c6c6be2337ff27f2dcf5d3253549a">ldns_signing_algorithm</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__struct__key.html#acd8540a5c581d8f866ff9804e6139cc7">_alg</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__struct__key.html#a68c1f16bdc8e0a1d3ce3428bec650770">_use</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Whether to use this key when signing. <a href="#a68c1f16bdc8e0a1d3ce3428bec650770"></a><br/></td></tr> <tr><td class="memItemLeft" >struct {</td></tr> <tr><td class="memItemLeft" >   EVP_PKEY *   <a class="el" href="structldns__struct__key.html#a662c8aa416a359facb8cbe2f1e37707a">key</a></td></tr> <tr><td class="memItemLeft" >   struct {</td></tr> <tr><td class="memItemLeft" >      unsigned char *   <a class="el" href="structldns__struct__key.html#a6f22419357f50c5c3b84675626a8c78f">key</a></td></tr> <tr><td class="memItemLeft" >      size_t   <a class="el" href="structldns__struct__key.html#a604c445334c931d3d8758c8b8728e5b0">size</a></td></tr> <tr><td class="memItemLeft" valign="top">   }   <a class="el" href="structldns__struct__key.html#af6b4352ba0e83e6da164a47bc694cc85">hmac</a></td></tr> <tr><td class="memItemLeft" >   void *   <a class="el" href="structldns__struct__key.html#ad55bab6d2e0b417032aa20c54d5f7c1c">external_key</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the key structure can also just point to some external key data <a href="#a19d6aba344f0ff7f797eeb5f5783e85e"></a><br/></td></tr> <tr><td class="memItemLeft" valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">_key</a></td></tr> <tr><td class="memItemLeft" >union {</td></tr> <tr><td class="memItemLeft" >   struct {</td></tr> <tr><td class="memItemLeft" >      uint32_t   <a class="el" href="structldns__struct__key.html#af4f951b9be0fba0954fc89508df34a8f">orig_ttl</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The TTL of the rrset that is currently signed. <a href="#ac0e29c00e760490fc09f84eb948f9027"></a><br/></td></tr> <tr><td class="memItemLeft" >      uint32_t   <a class="el" href="structldns__struct__key.html#a005b5ca9576310998cf80db43b8b1931">inception</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The inception date of signatures made with this key. <a href="#abb19c812ec0c6afb41c70590160ed112"></a><br/></td></tr> <tr><td class="memItemLeft" >      uint32_t   <a class="el" href="structldns__struct__key.html#a3315f83bd0407c64fba72b0eed5cdc59">expiration</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The expiration date of signatures made with this key. <a href="#a37816077a96b2c4ccef467cda771f6c4"></a><br/></td></tr> <tr><td class="memItemLeft" >      uint16_t   <a class="el" href="structldns__struct__key.html#a167f16c1c092d3a6311ab81a2aa182e7">keytag</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The keytag of this key. <a href="#a0199308d8b1df31fe82063f48b7a6468"></a><br/></td></tr> <tr><td class="memItemLeft" >      uint16_t   <a class="el" href="structldns__struct__key.html#addc7414b1a369c68ae392df0b689cafd">flags</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The dnssec key flags as specified in RFC4035, like ZSK and KSK. <a href="#accb6093777e3a7f25b177f8bbe8e73f2"></a><br/></td></tr> <tr><td class="memItemLeft" valign="top">   }   <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">dnssec</a></td></tr> <tr><td class="memItemLeft" valign="top">} </td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">_extra</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structldns__struct__key.html#abc331cdc595e9167e5eb81733af7a370">_pubkey_owner</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Owner name of the key. <a href="#abc331cdc595e9167e5eb81733af7a370"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>General key structure, can contain all types of keys that are used in DNSSEC. </p> <p>Mostly used to store private keys, since public keys can also be stored in a <a class="el" href="rr_8h.html#a34d846d44506c86bc94f244445605e98">ldns_rr</a> with type <a class="el" href="rr_8h.html#a640100112b0009efe3d61bbf799b33daa316efb0ac15f31b6891fa6fba833eae8">LDNS_RR_TYPE_DNSKEY</a>.</p> <p>This structure can also store some variables that influence the signatures generated by signing with this key, for instance the inception date. </p> <p>Definition at line <a class="el" href="keys_8h_source.html#l00120">120</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div><hr/><h2>Field Documentation</h2> <a class="anchor" id="acd8540a5c581d8f866ff9804e6139cc7"></a><!-- doxytag: member="ldns_struct_key::_alg" ref="acd8540a5c581d8f866ff9804e6139cc7" args="" --> <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> <a class="el" href="structldns__struct__key.html#acd8540a5c581d8f866ff9804e6139cc7">ldns_struct_key::_alg</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="keys_8h_source.html#l00121">121</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="a68c1f16bdc8e0a1d3ce3428bec650770"></a><!-- doxytag: member="ldns_struct_key::_use" ref="a68c1f16bdc8e0a1d3ce3428bec650770" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="structldns__struct__key.html#a68c1f16bdc8e0a1d3ce3428bec650770">ldns_struct_key::_use</a></td> </tr> </table> </div> <div class="memdoc"> <p>Whether to use this key when signing. </p> <p>Definition at line <a class="el" href="keys_8h_source.html#l00123">123</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="a662c8aa416a359facb8cbe2f1e37707a"></a><!-- doxytag: member="ldns_struct_key::key" ref="a662c8aa416a359facb8cbe2f1e37707a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">EVP_PKEY* <a class="el" href="structldns__struct__key.html#a662c8aa416a359facb8cbe2f1e37707a">ldns_struct_key::key</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="keys_8h_source.html#l00131">131</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="a6f22419357f50c5c3b84675626a8c78f"></a><!-- doxytag: member="ldns_struct_key::key" ref="a6f22419357f50c5c3b84675626a8c78f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char* <a class="el" href="structldns__struct__key.html#a662c8aa416a359facb8cbe2f1e37707a">ldns_struct_key::key</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="keys_8h_source.html#l00138">138</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="a604c445334c931d3d8758c8b8728e5b0"></a><!-- doxytag: member="ldns_struct_key::size" ref="a604c445334c931d3d8758c8b8728e5b0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">size_t <a class="el" href="structldns__struct__key.html#a604c445334c931d3d8758c8b8728e5b0">ldns_struct_key::size</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="keys_8h_source.html#l00139">139</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="af6b4352ba0e83e6da164a47bc694cc85"></a><!-- doxytag: member="ldns_struct_key::hmac" ref="af6b4352ba0e83e6da164a47bc694cc85" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct { ... } <a class="el" href="structldns__struct__key.html#af6b4352ba0e83e6da164a47bc694cc85">ldns_struct_key::hmac</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="ad55bab6d2e0b417032aa20c54d5f7c1c"></a><!-- doxytag: member="ldns_struct_key::external_key" ref="ad55bab6d2e0b417032aa20c54d5f7c1c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* <a class="el" href="structldns__struct__key.html#ad55bab6d2e0b417032aa20c54d5f7c1c">ldns_struct_key::external_key</a></td> </tr> </table> </div> <div class="memdoc"> <p>the key structure can also just point to some external key data </p> <p>Definition at line <a class="el" href="keys_8h_source.html#l00144">144</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="ad3ed8dad696362317befe6948fb87be7"></a><!-- doxytag: member="ldns_struct_key::_key" ref="ad3ed8dad696362317befe6948fb87be7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct { ... } <a class="el" href="structldns__struct__key.html#ad3ed8dad696362317befe6948fb87be7">ldns_struct_key::_key</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="af4f951b9be0fba0954fc89508df34a8f"></a><!-- doxytag: member="ldns_struct_key::orig_ttl" ref="af4f951b9be0fba0954fc89508df34a8f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint32_t <a class="el" href="structldns__struct__key.html#af4f951b9be0fba0954fc89508df34a8f">ldns_struct_key::orig_ttl</a></td> </tr> </table> </div> <div class="memdoc"> <p>The TTL of the rrset that is currently signed. </p> <p>Definition at line <a class="el" href="keys_8h_source.html#l00151">151</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="a005b5ca9576310998cf80db43b8b1931"></a><!-- doxytag: member="ldns_struct_key::inception" ref="a005b5ca9576310998cf80db43b8b1931" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint32_t <a class="el" href="structldns__struct__key.html#a005b5ca9576310998cf80db43b8b1931">ldns_struct_key::inception</a></td> </tr> </table> </div> <div class="memdoc"> <p>The inception date of signatures made with this key. </p> <p>Definition at line <a class="el" href="keys_8h_source.html#l00153">153</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="a3315f83bd0407c64fba72b0eed5cdc59"></a><!-- doxytag: member="ldns_struct_key::expiration" ref="a3315f83bd0407c64fba72b0eed5cdc59" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint32_t <a class="el" href="structldns__struct__key.html#a3315f83bd0407c64fba72b0eed5cdc59">ldns_struct_key::expiration</a></td> </tr> </table> </div> <div class="memdoc"> <p>The expiration date of signatures made with this key. </p> <p>Definition at line <a class="el" href="keys_8h_source.html#l00155">155</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="a167f16c1c092d3a6311ab81a2aa182e7"></a><!-- doxytag: member="ldns_struct_key::keytag" ref="a167f16c1c092d3a6311ab81a2aa182e7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint16_t <a class="el" href="structldns__struct__key.html#a167f16c1c092d3a6311ab81a2aa182e7">ldns_struct_key::keytag</a></td> </tr> </table> </div> <div class="memdoc"> <p>The keytag of this key. </p> <p>Definition at line <a class="el" href="keys_8h_source.html#l00157">157</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="addc7414b1a369c68ae392df0b689cafd"></a><!-- doxytag: member="ldns_struct_key::flags" ref="addc7414b1a369c68ae392df0b689cafd" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint16_t <a class="el" href="structldns__struct__key.html#addc7414b1a369c68ae392df0b689cafd">ldns_struct_key::flags</a></td> </tr> </table> </div> <div class="memdoc"> <p>The dnssec key flags as specified in RFC4035, like ZSK and KSK. </p> <p>Definition at line <a class="el" href="keys_8h_source.html#l00159">159</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> <a class="anchor" id="a2e2bd2157ba22e6c49bf29f841fe234b"></a><!-- doxytag: member="ldns_struct_key::dnssec" ref="a2e2bd2157ba22e6c49bf29f841fe234b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct { ... } <a class="el" href="structldns__struct__key.html#a2e2bd2157ba22e6c49bf29f841fe234b">ldns_struct_key::dnssec</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="acfa5ac64141c5e52faeebb5ce8613884"></a><!-- doxytag: member="ldns_struct_key::_extra" ref="acfa5ac64141c5e52faeebb5ce8613884" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">union { ... } <a class="el" href="structldns__struct__key.html#acfa5ac64141c5e52faeebb5ce8613884">ldns_struct_key::_extra</a></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="abc331cdc595e9167e5eb81733af7a370"></a><!-- doxytag: member="ldns_struct_key::_pubkey_owner" ref="abc331cdc595e9167e5eb81733af7a370" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structldns__struct__rdf.html">ldns_rdf</a>* <a class="el" href="structldns__struct__key.html#abc331cdc595e9167e5eb81733af7a370">ldns_struct_key::_pubkey_owner</a></td> </tr> </table> </div> <div class="memdoc"> <p>Owner name of the key. </p> <p>Definition at line <a class="el" href="keys_8h_source.html#l00163">163</a> of file <a class="el" href="keys_8h_source.html">keys.h</a>.</p> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Wed Jan 11 2012 for ldns by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>