<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/>
<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.14.3-rc1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</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="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include <rpm/rpmtypes.h></span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include <rpm/rpmpgp.h></span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</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="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00027"></a><span class="lineno"> 27</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="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</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="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</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="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</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="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</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="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</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="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</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="l00076"></a><span class="lineno"> 76</span> </div><div class="line"><a name="l00082"></a><span class="lineno"> 82</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="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</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="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</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="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00103"></a><span class="lineno"> 103</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="l00104"></a><span class="lineno"> 104</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</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="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00117"></a><span class="lineno"> 117</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="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</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.15
</small></address>
</body>
</html>