<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>rpm: rpmkeyring.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">rpm  <span id="projectnumber">4.13.0.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',false,false,'search.php','Search'); }); </script> <div id="main-nav"></div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_14c931ba4d22b4eaaf008543ee4d9331.html">rpmio</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">rpmkeyring.h</div> </div> </div><!--header--> <div class="contents"> <a href="rpmkeyring_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef _RPMKEYRING_H</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define _RPMKEYRING_H</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include <rpm/rpmtypes.h></span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#include <rpm/rpmpgp.h></span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <a class="code" href="rpmtypes_8h.html#aca17e1e8702595af21a0840859675440">rpmKeyring</a> <a class="code" href="group__rpmkeyring.html#ga95f7a662b881b4e3d218ab51d11fc974">rpmKeyringNew</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <a class="code" href="rpmtypes_8h.html#aca17e1e8702595af21a0840859675440">rpmKeyring</a> <a class="code" href="group__rpmkeyring.html#ga34e86e2a593a3110868620061650b0c5">rpmKeyringFree</a>(<a class="code" href="rpmtypes_8h.html#aca17e1e8702595af21a0840859675440">rpmKeyring</a> keyring);</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="keywordtype">int</span> <a class="code" href="group__rpmkeyring.html#ga3c223ccd18dd223d3020c5557fc866f7">rpmKeyringAddKey</a>(<a class="code" href="rpmtypes_8h.html#aca17e1e8702595af21a0840859675440">rpmKeyring</a> keyring, <a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> key);</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <a class="code" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a> <a class="code" href="group__rpmkeyring.html#ga0b8a018c21c1f2e7da1baf70f398b260">rpmKeyringLookup</a>(<a class="code" href="rpmtypes_8h.html#aca17e1e8702595af21a0840859675440">rpmKeyring</a> keyring, <a class="code" href="group__rpmpgp.html#ga86ebfc5fd71a3aa075ddac16b2cba230">pgpDig</a> sig);</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <a class="code" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a> <a class="code" href="group__rpmkeyring.html#gaf3cb4a518d879987da6c025cf95b8208">rpmKeyringVerifySig</a>(<a class="code" href="rpmtypes_8h.html#aca17e1e8702595af21a0840859675440">rpmKeyring</a> keyring, <a class="code" href="group__rpmpgp.html#gaa8cd8da48cba60b831e1894d3c120e51">pgpDigParams</a> sig, <a class="code" href="group__rpmpgp.html#gace514f14ffbbaee3c09c4a1558b627db">DIGEST_CTX</a> ctx);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <a class="code" href="rpmtypes_8h.html#aca17e1e8702595af21a0840859675440">rpmKeyring</a> <a class="code" href="group__rpmkeyring.html#ga8cd06e7abb87f752baddf13d051a5d6c">rpmKeyringLink</a>(<a class="code" href="rpmtypes_8h.html#aca17e1e8702595af21a0840859675440">rpmKeyring</a> keyring);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> <a class="code" href="group__rpmkeyring.html#ga87619bcba5702eb234d9de15da7de488">rpmPubkeyNew</a>(<span class="keyword">const</span> uint8_t *pkt, <span class="keywordtype">size_t</span> pktlen);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> *<a class="code" href="group__rpmkeyring.html#gae542c9abf9a6f99a67dbbd5f27a71dca">rpmGetSubkeys</a>(<a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> mainkey, <span class="keywordtype">int</span> *count);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> <a class="code" href="group__rpmkeyring.html#ga0a0e326a6502a3f91dd3e5dee2c38600">rpmPubkeyRead</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *filename);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> <a class="code" href="group__rpmkeyring.html#ga96009e0ecc40679a73308b1c9441fbe8">rpmPubkeyFree</a>(<a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> key);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> <a class="code" href="group__rpmkeyring.html#gaddea69e6ce6990cfc61d056ddde610ab">rpmPubkeyLink</a>(<a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> key);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <a class="code" href="group__rpmpgp.html#ga86ebfc5fd71a3aa075ddac16b2cba230">pgpDig</a> <a class="code" href="group__rpmkeyring.html#gacc7b0729f094eb5d9ceb5ccb37996ec6">rpmPubkeyDig</a>(<a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> key);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">char</span> * <a class="code" href="group__rpmkeyring.html#gad7c1cab57774695a5c383196c1392914">rpmPubkeyBase64</a>(<a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> key);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <a class="code" href="group__rpmpgp.html#gaa8cd8da48cba60b831e1894d3c120e51">pgpDigParams</a> <a class="code" href="group__rpmkeyring.html#ga9cff5c6891a399e547970bf23c12b419">rpmPubkeyPgpDigParams</a>(<a class="code" href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a> key);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor">#endif </span><span class="comment">/* _RPMKEYDB_H */</span><span class="preprocessor"></span></div><div class="ttc" id="group__rpmkeyring_html_ga9cff5c6891a399e547970bf23c12b419"><div class="ttname"><a href="group__rpmkeyring.html#ga9cff5c6891a399e547970bf23c12b419">rpmPubkeyPgpDigParams</a></div><div class="ttdeci">pgpDigParams rpmPubkeyPgpDigParams(rpmPubkey key)</div><div class="ttdoc">Return pgp params of key. </div></div> <div class="ttc" id="group__rpmpgp_html_gace514f14ffbbaee3c09c4a1558b627db"><div class="ttname"><a href="group__rpmpgp.html#gace514f14ffbbaee3c09c4a1558b627db">DIGEST_CTX</a></div><div class="ttdeci">struct DIGEST_CTX_s * DIGEST_CTX</div><div class="ttdef"><b>Definition:</b> <a href="rpmpgp_8h_source.html#l00025">rpmpgp.h:25</a></div></div> <div class="ttc" id="group__rpmpgp_html_ga86ebfc5fd71a3aa075ddac16b2cba230"><div class="ttname"><a href="group__rpmpgp.html#ga86ebfc5fd71a3aa075ddac16b2cba230">pgpDig</a></div><div class="ttdeci">struct pgpDig_s * pgpDig</div><div class="ttdef"><b>Definition:</b> <a href="rpmpgp_8h_source.html#l00030">rpmpgp.h:30</a></div></div> <div class="ttc" id="rpmtypes_8h_html_aca17e1e8702595af21a0840859675440"><div class="ttname"><a href="rpmtypes_8h.html#aca17e1e8702595af21a0840859675440">rpmKeyring</a></div><div class="ttdeci">struct rpmKeyring_s * rpmKeyring</div><div class="ttdef"><b>Definition:</b> <a href="rpmtypes_8h_source.html#l00080">rpmtypes.h:80</a></div></div> <div class="ttc" id="group__rpmkeyring_html_ga3c223ccd18dd223d3020c5557fc866f7"><div class="ttname"><a href="group__rpmkeyring.html#ga3c223ccd18dd223d3020c5557fc866f7">rpmKeyringAddKey</a></div><div class="ttdeci">int rpmKeyringAddKey(rpmKeyring keyring, rpmPubkey key)</div><div class="ttdoc">Add a public key to keyring. </div></div> <div class="ttc" id="group__rpmkeyring_html_ga0b8a018c21c1f2e7da1baf70f398b260"><div class="ttname"><a href="group__rpmkeyring.html#ga0b8a018c21c1f2e7da1baf70f398b260">rpmKeyringLookup</a></div><div class="ttdeci">rpmRC rpmKeyringLookup(rpmKeyring keyring, pgpDig sig)</div><div class="ttdoc">Perform keyring lookup for a key matching a signature. </div></div> <div class="ttc" id="rpmtypes_8h_html_a5b63464bc6a0dbe83ef2d3dbbf6d59e6"><div class="ttname"><a href="rpmtypes_8h.html#a5b63464bc6a0dbe83ef2d3dbbf6d59e6">rpmPubkey</a></div><div class="ttdeci">struct rpmPubkey_s * rpmPubkey</div><div class="ttdef"><b>Definition:</b> <a href="rpmtypes_8h_source.html#l00079">rpmtypes.h:79</a></div></div> <div class="ttc" id="group__rpmkeyring_html_ga0a0e326a6502a3f91dd3e5dee2c38600"><div class="ttname"><a href="group__rpmkeyring.html#ga0a0e326a6502a3f91dd3e5dee2c38600">rpmPubkeyRead</a></div><div class="ttdeci">rpmPubkey rpmPubkeyRead(const char *filename)</div><div class="ttdoc">Create a new rpmPubkey from ASCII-armored pubkey file. </div></div> <div class="ttc" id="group__rpmkeyring_html_gaddea69e6ce6990cfc61d056ddde610ab"><div class="ttname"><a href="group__rpmkeyring.html#gaddea69e6ce6990cfc61d056ddde610ab">rpmPubkeyLink</a></div><div class="ttdeci">rpmPubkey rpmPubkeyLink(rpmPubkey key)</div><div class="ttdoc">Reference a pubkey. </div></div> <div class="ttc" id="group__rpmkeyring_html_gad7c1cab57774695a5c383196c1392914"><div class="ttname"><a href="group__rpmkeyring.html#gad7c1cab57774695a5c383196c1392914">rpmPubkeyBase64</a></div><div class="ttdeci">char * rpmPubkeyBase64(rpmPubkey key)</div><div class="ttdoc">Return base64 encoding of pubkey. </div></div> <div class="ttc" id="group__rpmkeyring_html_gae542c9abf9a6f99a67dbbd5f27a71dca"><div class="ttname"><a href="group__rpmkeyring.html#gae542c9abf9a6f99a67dbbd5f27a71dca">rpmGetSubkeys</a></div><div class="ttdeci">rpmPubkey * rpmGetSubkeys(rpmPubkey mainkey, int *count)</div><div class="ttdoc">Return array of subkeys belonging to maikey param mainkey main rpmPubkey param count count of returne...</div></div> <div class="ttc" id="group__rpmkeyring_html_ga34e86e2a593a3110868620061650b0c5"><div class="ttname"><a href="group__rpmkeyring.html#ga34e86e2a593a3110868620061650b0c5">rpmKeyringFree</a></div><div class="ttdeci">rpmKeyring rpmKeyringFree(rpmKeyring keyring)</div><div class="ttdoc">Free keyring and the keys within it. </div></div> <div class="ttc" id="group__rpmpgp_html_gaa8cd8da48cba60b831e1894d3c120e51"><div class="ttname"><a href="group__rpmpgp.html#gaa8cd8da48cba60b831e1894d3c120e51">pgpDigParams</a></div><div class="ttdeci">struct pgpDigParams_s * pgpDigParams</div><div class="ttdef"><b>Definition:</b> <a href="rpmpgp_8h_source.html#l00034">rpmpgp.h:34</a></div></div> <div class="ttc" id="group__rpmkeyring_html_ga95f7a662b881b4e3d218ab51d11fc974"><div class="ttname"><a href="group__rpmkeyring.html#ga95f7a662b881b4e3d218ab51d11fc974">rpmKeyringNew</a></div><div class="ttdeci">rpmKeyring rpmKeyringNew(void)</div><div class="ttdoc">Create a new, empty keyring. </div></div> <div class="ttc" id="group__rpmkeyring_html_gacc7b0729f094eb5d9ceb5ccb37996ec6"><div class="ttname"><a href="group__rpmkeyring.html#gacc7b0729f094eb5d9ceb5ccb37996ec6">rpmPubkeyDig</a></div><div class="ttdeci">pgpDig rpmPubkeyDig(rpmPubkey key)</div><div class="ttdoc">Parse OpenPGP pubkey parameters. </div></div> <div class="ttc" id="group__rpmkeyring_html_ga87619bcba5702eb234d9de15da7de488"><div class="ttname"><a href="group__rpmkeyring.html#ga87619bcba5702eb234d9de15da7de488">rpmPubkeyNew</a></div><div class="ttdeci">rpmPubkey rpmPubkeyNew(const uint8_t *pkt, size_t pktlen)</div><div class="ttdoc">Create a new rpmPubkey from OpenPGP packet. </div></div> <div class="ttc" id="group__rpmkeyring_html_ga8cd06e7abb87f752baddf13d051a5d6c"><div class="ttname"><a href="group__rpmkeyring.html#ga8cd06e7abb87f752baddf13d051a5d6c">rpmKeyringLink</a></div><div class="ttdeci">rpmKeyring rpmKeyringLink(rpmKeyring keyring)</div><div class="ttdoc">Reference a keyring. </div></div> <div class="ttc" id="group__rpmkeyring_html_gaf3cb4a518d879987da6c025cf95b8208"><div class="ttname"><a href="group__rpmkeyring.html#gaf3cb4a518d879987da6c025cf95b8208">rpmKeyringVerifySig</a></div><div class="ttdeci">rpmRC rpmKeyringVerifySig(rpmKeyring keyring, pgpDigParams sig, DIGEST_CTX ctx)</div><div class="ttdoc">Perform combined keyring lookup and signature verification. </div></div> <div class="ttc" id="group__rpmtypes_html_ga06da857c39457bfb6ea9049643fdb706"><div class="ttname"><a href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a></div><div class="ttdeci">enum rpmRC_e rpmRC</div><div class="ttdoc">Package read return codes. </div></div> <div class="ttc" id="group__rpmkeyring_html_ga96009e0ecc40679a73308b1c9441fbe8"><div class="ttname"><a href="group__rpmkeyring.html#ga96009e0ecc40679a73308b1c9441fbe8">rpmPubkeyFree</a></div><div class="ttdeci">rpmPubkey rpmPubkeyFree(rpmPubkey key)</div><div class="ttdoc">Free a pubkey. </div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.13 </small></address> </body> </html>