Sophie

Sophie

distrib > CentOS > 5 > x86_64 > by-pkgid > 67e32647b06c0323bf90c6b54a6438d1 > files > 315

rpm-apidocs-4.4.2.3-34.el5.x86_64.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>rpm: SIGNATURE.</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul></div>
<h1>SIGNATURE.</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Files</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmlib_8h.html">rpmlib.h</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">In Memoriam: Steve Taylor &lt;<a href="mailto:staylor@redhat.com">staylor@redhat.com</a>&gt; was here, now he's not. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signature_8c.html">signature.c</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="signature_8h.html">signature.h</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate and verify signatures. <br></td></tr>

<p>
<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="digest_8c.html">digest.c</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmpgp_8c.html">rpmpgp.c</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Routines to handle RFC-2440 detached signatures. <br></td></tr>

<p>
<tr><td colspan="2"><br><h2>RPMK</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#g42c7580fde696ff3b0f70bfb7bdade59">rpmtagSignature</a> { <br>
&nbsp;&nbsp;<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade599ce79a6dc5f08f628da38c4f0ed8461f">RPMSIGTAG_SIZE</a> =  1000, 
<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade590e8bbec8af85b808a50323497f3318e9">RPMSIGTAG_LEMD5_1</a> =  1001, 
<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59ad2717c301116c93390eb57f1a5bdfc6">RPMSIGTAG_PGP</a> =  1002, 
<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade593308808e75374022ddc3f68b33d823ef">RPMSIGTAG_LEMD5_2</a> =  1003, 
<br>
&nbsp;&nbsp;<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade5998404587b2537b1a0913f4bf84857b66">RPMSIGTAG_MD5</a> =  1004, 
<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade590ed5d0c19de281d46d38e0210dc9faa7">RPMSIGTAG_GPG</a> =  1005, 
<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59bf5438c2d5c3e85d660be9588869ad7d">RPMSIGTAG_PGP5</a> =  1006, 
<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59c2542a062d446e7a5b5642feaac2c278">RPMSIGTAG_PAYLOADSIZE</a> =  1007, 
<br>
&nbsp;&nbsp;<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59a35edddd0dc76b6026707e221c5adcd4">RPMSIGTAG_BADSHA1_1</a> =  RPMTAG_BADSHA1_1, 
<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade596144d0f409709c7e1327f23f100da92d">RPMSIGTAG_BADSHA1_2</a> =  RPMTAG_BADSHA1_2, 
<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade591f0885c883cbf3c6a56b43378b2abb44">RPMSIGTAG_SHA1</a> =  RPMTAG_SHA1HEADER, 
<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59b52ed4e5aa7d330de398f3e92334d828">RPMSIGTAG_DSA</a> =  RPMTAG_DSAHEADER, 
<br>
&nbsp;&nbsp;<a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59d5ce205120582b92319e8e686b7e5886">RPMSIGTAG_RSA</a> =  RPMTAG_RSAHEADER
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tags found in signature header from package.  <a href="group__signature.html#g42c7580fde696ff3b0f70bfb7bdade59">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="rpmlib_8h.html#06da857c39457bfb6ea9049643fdb706">rpmRC</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#gf8998cbf765cb5af427bba5648bd5443">rpmVerifySignature</a> (const <a class="el" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a> ts, char *result)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Verify a signature from a package.  <a href="#gf8998cbf765cb5af427bba5648bd5443"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structheaderToken__s.html">Header</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#gfe211addadae046d1ae9b66fe80d6aa9">rpmFreeSignature</a> (<a class="el" href="structheaderToken__s.html">Header</a> h)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy signature header from package.  <a href="#gfe211addadae046d1ae9b66fe80d6aa9"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group__signature.html#g79af55ea6949058cea8ac4e967a4eb43">sigType_e</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#g76f741a06ca02aa698c8d84c2f5ceec0">sigType</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signature types stored in rpm lead.  <a href="#g76f741a06ca02aa698c8d84c2f5ceec0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group__signature.html#g1d966dd5b3912fd9ad31dcbc2d18bf95">pgpVersion_e</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#ge1789e90ac0546a99a17e2c63567798c">pgpVersion</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Identify PGP versions.  <a href="#ge1789e90ac0546a99a17e2c63567798c"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#g79af55ea6949058cea8ac4e967a4eb43">sigType_e</a> { <a class="el" href="group__signature.html#gg79af55ea6949058cea8ac4e967a4eb4318db96ffe5c787a97b239ca7dfc66ba8">RPMSIGTYPE_HEADERSIG</a> =  5
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signature types stored in rpm lead.  <a href="group__signature.html#g79af55ea6949058cea8ac4e967a4eb43">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#g1d966dd5b3912fd9ad31dcbc2d18bf95">pgpVersion_e</a> { <a class="el" href="group__signature.html#gg1d966dd5b3912fd9ad31dcbc2d18bf952606afd97b623ff43251e020fedd0ed2">PGP_NOTDETECTED</a> =  -1, 
<a class="el" href="group__signature.html#gg1d966dd5b3912fd9ad31dcbc2d18bf95ab5d2b5e12a46791008961354900524d">PGP_UNKNOWN</a> =  0, 
<a class="el" href="group__signature.html#gg1d966dd5b3912fd9ad31dcbc2d18bf9541f784d0a4dd74e20fa71788f20a0638">PGP_2</a> =  2, 
<a class="el" href="group__signature.html#gg1d966dd5b3912fd9ad31dcbc2d18bf95fd31bb850e17d4ea70203167a75ac5b4">PGP_5</a> =  5
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Identify PGP versions.  <a href="group__signature.html#g1d966dd5b3912fd9ad31dcbc2d18bf95">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structheaderToken__s.html">Header</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#ged413fb092ff3a54957df00c4298f550">rpmNewSignature</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return new, empty (signature) header instance.  <a href="#ged413fb092ff3a54957df00c4298f550"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="rpmlib_8h.html#06da857c39457bfb6ea9049643fdb706">rpmRC</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#ga624a140cf244d9c933a15690c192ae6">rpmReadSignature</a> (<a class="el" href="struct__FD__s.html">FD_t</a> fd, <a class="el" href="structheaderToken__s.html">Header</a> *sighp, <a class="el" href="group__signature.html#g76f741a06ca02aa698c8d84c2f5ceec0">sigType</a> sig_type, const char **msg)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read (and verify header+payload size) signature header.  <a href="#ga624a140cf244d9c933a15690c192ae6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#g29c4083297ecdc3ffc62fa25a84ed084">rpmWriteSignature</a> (<a class="el" href="struct__FD__s.html">FD_t</a> fd, <a class="el" href="structheaderToken__s.html">Header</a> h)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write signature header.  <a href="#g29c4083297ecdc3ffc62fa25a84ed084"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#gc5ed7e34b9ab5dfa371d69d136b8cfa4">rpmAddSignature</a> (<a class="el" href="structheaderToken__s.html">Header</a> sigh, const char *<a class="el" href="parseScript_8c.html#f0baa3ccdd9d2a6adf03b72e2bea5789">file</a>, <a class="el" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a> sigTag, const char *passPhrase)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generate signature(s) from a header+payload file, save in signature header.  <a href="#gc5ed7e34b9ab5dfa371d69d136b8cfa4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#ga229e3e1d9c9d9846be8f72792e6d33e">rpmLookupSignatureType</a> (int action)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return type of signature needed for signing/building.  <a href="#ga229e3e1d9c9d9846be8f72792e6d33e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#g1c54fff472c95990f2d4038782c33621">rpmGetPassPhrase</a> (const char *prompt, const int sigTag)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a pass phrase using getpass(3), confirm with gpg/pgp helper binaries.  <a href="#g1c54fff472c95990f2d4038782c33621"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__signature.html#gfb3f904eeef3bf7f947114df3dfda939">rpmDetectPGPVersion</a> (<a class="el" href="group__signature.html#ge1789e90ac0546a99a17e2c63567798c">pgpVersion</a> *pgpVer)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return path to pgp executable of given type, or NULL when not found.  <a href="#gfb3f904eeef3bf7f947114df3dfda939"></a><br></td></tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="ge1789e90ac0546a99a17e2c63567798c"></a><!-- doxytag: member="signature.h::pgpVersion" ref="ge1789e90ac0546a99a17e2c63567798c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="group__signature.html#g1d966dd5b3912fd9ad31dcbc2d18bf95">pgpVersion_e</a>  <a class="el" href="group__signature.html#ge1789e90ac0546a99a17e2c63567798c">pgpVersion</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Identify PGP versions. 
<p>
<dl compact><dt><b>Note:</b></dt><dd>Greater than 0 is a valid PGP version. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g76f741a06ca02aa698c8d84c2f5ceec0"></a><!-- doxytag: member="signature.h::sigType" ref="g76f741a06ca02aa698c8d84c2f5ceec0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="group__signature.html#g79af55ea6949058cea8ac4e967a4eb43">sigType_e</a>  <a class="el" href="group__signature.html#g76f741a06ca02aa698c8d84c2f5ceec0">sigType</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signature types stored in rpm lead. 
<p>

</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="g1d966dd5b3912fd9ad31dcbc2d18bf95"></a><!-- doxytag: member="signature.h::pgpVersion_e" ref="g1d966dd5b3912fd9ad31dcbc2d18bf95" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__signature.html#g1d966dd5b3912fd9ad31dcbc2d18bf95">pgpVersion_e</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Identify PGP versions. 
<p>
<dl compact><dt><b>Note:</b></dt><dd>Greater than 0 is a valid PGP version. </dd></dl>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg1d966dd5b3912fd9ad31dcbc2d18bf952606afd97b623ff43251e020fedd0ed2"></a><!-- doxytag: member="PGP_NOTDETECTED" ref="gg1d966dd5b3912fd9ad31dcbc2d18bf952606afd97b623ff43251e020fedd0ed2" args="" -->PGP_NOTDETECTED</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg1d966dd5b3912fd9ad31dcbc2d18bf95ab5d2b5e12a46791008961354900524d"></a><!-- doxytag: member="PGP_UNKNOWN" ref="gg1d966dd5b3912fd9ad31dcbc2d18bf95ab5d2b5e12a46791008961354900524d" args="" -->PGP_UNKNOWN</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg1d966dd5b3912fd9ad31dcbc2d18bf9541f784d0a4dd74e20fa71788f20a0638"></a><!-- doxytag: member="PGP_2" ref="gg1d966dd5b3912fd9ad31dcbc2d18bf9541f784d0a4dd74e20fa71788f20a0638" args="" -->PGP_2</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg1d966dd5b3912fd9ad31dcbc2d18bf95fd31bb850e17d4ea70203167a75ac5b4"></a><!-- doxytag: member="PGP_5" ref="gg1d966dd5b3912fd9ad31dcbc2d18bf95fd31bb850e17d4ea70203167a75ac5b4" args="" -->PGP_5</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="signature_8h-source.html#l00022">22</a> of file <a class="el" href="signature_8h-source.html">signature.h</a>.
</div>
</div><p>
<a class="anchor" name="g42c7580fde696ff3b0f70bfb7bdade59"></a><!-- doxytag: member="rpmlib.h::rpmtagSignature" ref="g42c7580fde696ff3b0f70bfb7bdade59" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__signature.html#g42c7580fde696ff3b0f70bfb7bdade59">rpmtagSignature</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tags found in signature header from package. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade599ce79a6dc5f08f628da38c4f0ed8461f"></a><!-- doxytag: member="RPMSIGTAG_SIZE" ref="gg42c7580fde696ff3b0f70bfb7bdade599ce79a6dc5f08f628da38c4f0ed8461f" args="" -->RPMSIGTAG_SIZE</em>&nbsp;</td><td>
internal Header+Payload size in bytes. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade590e8bbec8af85b808a50323497f3318e9"></a><!-- doxytag: member="RPMSIGTAG_LEMD5_1" ref="gg42c7580fde696ff3b0f70bfb7bdade590e8bbec8af85b808a50323497f3318e9" args="" -->RPMSIGTAG_LEMD5_1</em>&nbsp;</td><td>
internal Broken MD5, take 1<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000011">Deprecated:</a></b></dt><dd>legacy. </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade59ad2717c301116c93390eb57f1a5bdfc6"></a><!-- doxytag: member="RPMSIGTAG_PGP" ref="gg42c7580fde696ff3b0f70bfb7bdade59ad2717c301116c93390eb57f1a5bdfc6" args="" -->RPMSIGTAG_PGP</em>&nbsp;</td><td>
internal PGP 2.6.3 signature. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade593308808e75374022ddc3f68b33d823ef"></a><!-- doxytag: member="RPMSIGTAG_LEMD5_2" ref="gg42c7580fde696ff3b0f70bfb7bdade593308808e75374022ddc3f68b33d823ef" args="" -->RPMSIGTAG_LEMD5_2</em>&nbsp;</td><td>
internal Broken MD5, take 2<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated:</a></b></dt><dd>legacy. </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade5998404587b2537b1a0913f4bf84857b66"></a><!-- doxytag: member="RPMSIGTAG_MD5" ref="gg42c7580fde696ff3b0f70bfb7bdade5998404587b2537b1a0913f4bf84857b66" args="" -->RPMSIGTAG_MD5</em>&nbsp;</td><td>
internal MD5 signature. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade590ed5d0c19de281d46d38e0210dc9faa7"></a><!-- doxytag: member="RPMSIGTAG_GPG" ref="gg42c7580fde696ff3b0f70bfb7bdade590ed5d0c19de281d46d38e0210dc9faa7" args="" -->RPMSIGTAG_GPG</em>&nbsp;</td><td>
internal GnuPG signature. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade59bf5438c2d5c3e85d660be9588869ad7d"></a><!-- doxytag: member="RPMSIGTAG_PGP5" ref="gg42c7580fde696ff3b0f70bfb7bdade59bf5438c2d5c3e85d660be9588869ad7d" args="" -->RPMSIGTAG_PGP5</em>&nbsp;</td><td>
internal PGP5 signature<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000013">Deprecated:</a></b></dt><dd>legacy. </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade59c2542a062d446e7a5b5642feaac2c278"></a><!-- doxytag: member="RPMSIGTAG_PAYLOADSIZE" ref="gg42c7580fde696ff3b0f70bfb7bdade59c2542a062d446e7a5b5642feaac2c278" args="" -->RPMSIGTAG_PAYLOADSIZE</em>&nbsp;</td><td>
internal uncompressed payload size in bytes. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade59a35edddd0dc76b6026707e221c5adcd4"></a><!-- doxytag: member="RPMSIGTAG_BADSHA1_1" ref="gg42c7580fde696ff3b0f70bfb7bdade59a35edddd0dc76b6026707e221c5adcd4" args="" -->RPMSIGTAG_BADSHA1_1</em>&nbsp;</td><td>
internal Broken SHA1, take 1. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade596144d0f409709c7e1327f23f100da92d"></a><!-- doxytag: member="RPMSIGTAG_BADSHA1_2" ref="gg42c7580fde696ff3b0f70bfb7bdade596144d0f409709c7e1327f23f100da92d" args="" -->RPMSIGTAG_BADSHA1_2</em>&nbsp;</td><td>
internal Broken SHA1, take 2. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade591f0885c883cbf3c6a56b43378b2abb44"></a><!-- doxytag: member="RPMSIGTAG_SHA1" ref="gg42c7580fde696ff3b0f70bfb7bdade591f0885c883cbf3c6a56b43378b2abb44" args="" -->RPMSIGTAG_SHA1</em>&nbsp;</td><td>
internal sha1 header digest. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade59b52ed4e5aa7d330de398f3e92334d828"></a><!-- doxytag: member="RPMSIGTAG_DSA" ref="gg42c7580fde696ff3b0f70bfb7bdade59b52ed4e5aa7d330de398f3e92334d828" args="" -->RPMSIGTAG_DSA</em>&nbsp;</td><td>
internal DSA header signature. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="gg42c7580fde696ff3b0f70bfb7bdade59d5ce205120582b92319e8e686b7e5886"></a><!-- doxytag: member="RPMSIGTAG_RSA" ref="gg42c7580fde696ff3b0f70bfb7bdade59d5ce205120582b92319e8e686b7e5886" args="" -->RPMSIGTAG_RSA</em>&nbsp;</td><td>
internal RSA header signature. </td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="rpmlib_8h-source.html#l01207">1207</a> of file <a class="el" href="rpmlib_8h-source.html">rpmlib.h</a>.
</div>
</div><p>
<a class="anchor" name="g79af55ea6949058cea8ac4e967a4eb43"></a><!-- doxytag: member="signature.h::sigType_e" ref="g79af55ea6949058cea8ac4e967a4eb43" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__signature.html#g79af55ea6949058cea8ac4e967a4eb43">sigType_e</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Signature types stored in rpm lead. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="gg79af55ea6949058cea8ac4e967a4eb4318db96ffe5c787a97b239ca7dfc66ba8"></a><!-- doxytag: member="RPMSIGTYPE_HEADERSIG" ref="gg79af55ea6949058cea8ac4e967a4eb4318db96ffe5c787a97b239ca7dfc66ba8" args="" -->RPMSIGTYPE_HEADERSIG</em>&nbsp;</td><td>
Header style signature </td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="signature_8h-source.html#l00014">14</a> of file <a class="el" href="signature_8h-source.html">signature.h</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="gc5ed7e34b9ab5dfa371d69d136b8cfa4"></a><!-- doxytag: member="signature.h::rpmAddSignature" ref="gc5ed7e34b9ab5dfa371d69d136b8cfa4" args="(Header sigh, const char *file, int_32 sigTag, const char *passPhrase)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmAddSignature           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structheaderToken__s.html">Header</a>&nbsp;</td>
          <td class="paramname"> <em>sigh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="header_8h.html#e5c5e6fe946fcce0d2156db86ffffa8a">int_32</a>&nbsp;</td>
          <td class="paramname"> <em>sigTag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>passPhrase</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generate signature(s) from a header+payload file, save in signature header. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sigh</em>&nbsp;</td><td>signature header </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>header+payload file name </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sigTag</em>&nbsp;</td><td>type of signature(s) to add </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>passPhrase</em>&nbsp;</td><td>private key pass phrase </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on failure </dd></dl>

<p>
Definition at line <a class="el" href="signature_8c-source.html#l00805">805</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>.
<p>
References <a class="el" href="system_8h.html#eb1df3e83fb069eaa2eb66ace3a0ea52">alloca()</a>, <a class="el" href="legacy_8c-source.html#l00148">domd5()</a>, <a class="el" href="hdrinline_8h-source.html#l00315">headerAddEntry()</a>, <a class="el" href="signature_8c-source.html#l00548">makeGPGSignature()</a>, <a class="el" href="signature_8c-source.html#l00701">makeHDRSignature()</a>, <a class="el" href="signature_8c-source.html#l00399">makePGPSignature()</a>, <a class="el" href="group__header.html#gg24690e18a34d56e178edf27b5cc97fed96437c1222f63450e6ab8d693447d1bd">RPM_BIN_TYPE</a>, <a class="el" href="group__header.html#gg24690e18a34d56e178edf27b5cc97fed033cf2f10106384143d802ede9274dcc">RPM_INT32_TYPE</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59b52ed4e5aa7d330de398f3e92334d828">RPMSIGTAG_DSA</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade590ed5d0c19de281d46d38e0210dc9faa7">RPMSIGTAG_GPG</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade5998404587b2537b1a0913f4bf84857b66">RPMSIGTAG_MD5</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59ad2717c301116c93390eb57f1a5bdfc6">RPMSIGTAG_PGP</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59bf5438c2d5c3e85d660be9588869ad7d">RPMSIGTAG_PGP5</a>, <a class="el" href="rpmlib_8h-source.html#l01220">RPMSIGTAG_RSA</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade591f0885c883cbf3c6a56b43378b2abb44">RPMSIGTAG_SHA1</a>, and <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade599ce79a6dc5f08f628da38c4f0ed8461f">RPMSIGTAG_SIZE</a>.
<p>
Referenced by <a class="el" href="rpmchecksig_8c-source.html#l00172">rpmReSign()</a>, and <a class="el" href="pack_8c-source.html#l00420">writeRPM()</a>.
</div>
</div><p>
<a class="anchor" name="gfb3f904eeef3bf7f947114df3dfda939"></a><!-- doxytag: member="signature.h::rpmDetectPGPVersion" ref="gfb3f904eeef3bf7f947114df3dfda939" args="(pgpVersion *pgpVer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* rpmDetectPGPVersion           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__signature.html#ge1789e90ac0546a99a17e2c63567798c">pgpVersion</a> *&nbsp;</td>
          <td class="paramname"> <em>pgpVer</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return path to pgp executable of given type, or NULL when not found. 
<p>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pgpVer</em>&nbsp;</td><td>pgp version </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>path to pgp executable </dd></dl>

<p>
Definition at line <a class="el" href="signature_8c-source.html#l00073">73</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>.
<p>
References <a class="el" href="rpmlib_8h-source.html#l00058">_free()</a>, <a class="el" href="system_8h.html#eb1df3e83fb069eaa2eb66ace3a0ea52">alloca()</a>, <a class="el" href="group__signature.html#gg1d966dd5b3912fd9ad31dcbc2d18bf9541f784d0a4dd74e20fa71788f20a0638">PGP_2</a>, <a class="el" href="group__signature.html#gg1d966dd5b3912fd9ad31dcbc2d18bf95fd31bb850e17d4ea70203167a75ac5b4">PGP_5</a>, <a class="el" href="group__signature.html#gg1d966dd5b3912fd9ad31dcbc2d18bf952606afd97b623ff43251e020fedd0ed2">PGP_NOTDETECTED</a>, <a class="el" href="group__signature.html#gg1d966dd5b3912fd9ad31dcbc2d18bf95ab5d2b5e12a46791008961354900524d">PGP_UNKNOWN</a>, <a class="el" href="macro_8c-source.html#l02286">rpmGetPath()</a>, and <a class="el" href="system_8h.html#890dbcd7c456828c1b6ff714e405fcc1">stpcpy()</a>.
<p>
Referenced by <a class="el" href="signature_8c-source.html#l00858">checkPassPhrase()</a>, <a class="el" href="rpmqv_8c-source.html#l00170">main()</a>, and <a class="el" href="signature_8c-source.html#l00399">makePGPSignature()</a>.
</div>
</div><p>
<a class="anchor" name="gfe211addadae046d1ae9b66fe80d6aa9"></a><!-- doxytag: member="rpmlib.h::rpmFreeSignature" ref="gfe211addadae046d1ae9b66fe80d6aa9" args="(Header h)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structheaderToken__s.html">Header</a> rpmFreeSignature           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structheaderToken__s.html">Header</a>&nbsp;</td>
          <td class="paramname"> <em>h</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy signature header from package. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>signature header </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>NULL always </dd></dl>

<p>
Definition at line <a class="el" href="signature_8c-source.html#l00385">385</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00047">headerFree()</a>.
<p>
Referenced by <a class="el" href="psm_8c-source.html#l01383">rpmpsmStage()</a>, <a class="el" href="package_8c-source.html#l00753">rpmReadPackageFile()</a>, <a class="el" href="rpmchecksig_8c-source.html#l00172">rpmReSign()</a>, <a class="el" href="rpmchecksig_8c-source.html#l00719">rpmVerifySignatures()</a>, and <a class="el" href="pack_8c-source.html#l00420">writeRPM()</a>.
</div>
</div><p>
<a class="anchor" name="g1c54fff472c95990f2d4038782c33621"></a><!-- doxytag: member="signature.h::rpmGetPassPhrase" ref="g1c54fff472c95990f2d4038782c33621" args="(const char *prompt, const int sigTag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* rpmGetPassPhrase           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>prompt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>sigTag</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read a pass phrase using getpass(3), confirm with gpg/pgp helper binaries. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>prompt</em>&nbsp;</td><td>user prompt </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sigTag</em>&nbsp;</td><td>signature type/tag </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>pass phrase </dd></dl>

<p>
Definition at line <a class="el" href="signature_8c-source.html#l00969">969</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>.
<p>
References <a class="el" href="system_8h-source.html#l00478">_</a>, <a class="el" href="rpmlib_8h-source.html#l00058">_free()</a>, <a class="el" href="signature_8c-source.html#l00858">checkPassPhrase()</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b1938a5929132f68f71c7fd763290027d">RPMERR_SIGGEN</a>, <a class="el" href="rpmerr_8h-source.html#l00143">rpmError</a>, <a class="el" href="macro_8c-source.html#l02148">rpmExpand()</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59b52ed4e5aa7d330de398f3e92334d828">RPMSIGTAG_DSA</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade590ed5d0c19de281d46d38e0210dc9faa7">RPMSIGTAG_GPG</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59ad2717c301116c93390eb57f1a5bdfc6">RPMSIGTAG_PGP</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59bf5438c2d5c3e85d660be9588869ad7d">RPMSIGTAG_PGP5</a>, and <a class="el" href="rpmlib_8h-source.html#l01220">RPMSIGTAG_RSA</a>.
<p>
Referenced by <a class="el" href="rpmqv_8c-source.html#l00170">main()</a>.
</div>
</div><p>
<a class="anchor" name="ga229e3e1d9c9d9846be8f72792e6d33e"></a><!-- doxytag: member="signature.h::rpmLookupSignatureType" ref="ga229e3e1d9c9d9846be8f72792e6d33e" args="(int action)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmLookupSignatureType           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>action</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return type of signature needed for signing/building. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>action</em>&nbsp;</td><td>enable/disable/query action </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>sigTag to use, 0 if none, -1 on error </dd></dl>

<p>
Definition at line <a class="el" href="signature_8c-source.html#l00033">33</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>.
<p>
References <a class="el" href="rpmlib_8h-source.html#l00058">_free()</a>, <a class="el" href="macro_8c-source.html#l02148">rpmExpand()</a>, <a class="el" href="signature_8h-source.html#l00083">RPMLOOKUPSIG_DISABLE</a>, <a class="el" href="signature_8h-source.html#l00084">RPMLOOKUPSIG_ENABLE</a>, <a class="el" href="signature_8h-source.html#l00082">RPMLOOKUPSIG_QUERY</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade590ed5d0c19de281d46d38e0210dc9faa7">RPMSIGTAG_GPG</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59ad2717c301116c93390eb57f1a5bdfc6">RPMSIGTAG_PGP</a>, and <a class="el" href="strcasecmp_8c-source.html#l00009">xstrcasecmp()</a>.
<p>
Referenced by <a class="el" href="rpmqv_8c-source.html#l00170">main()</a>, <a class="el" href="rpmchecksig_8c-source.html#l00172">rpmReSign()</a>, and <a class="el" href="pack_8c-source.html#l00420">writeRPM()</a>.
</div>
</div><p>
<a class="anchor" name="ged413fb092ff3a54957df00c4298f550"></a><!-- doxytag: member="signature.h::rpmNewSignature" ref="ged413fb092ff3a54957df00c4298f550" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structheaderToken__s.html">Header</a> rpmNewSignature           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return new, empty (signature) header instance. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>signature header </dd></dl>

<p>
Definition at line <a class="el" href="signature_8c-source.html#l00379">379</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00035">headerNew()</a>.
<p>
Referenced by <a class="el" href="package_8c-source.html#l00178">headerRegenSigHeader()</a>, and <a class="el" href="pack_8c-source.html#l00420">writeRPM()</a>.
</div>
</div><p>
<a class="anchor" name="ga624a140cf244d9c933a15690c192ae6"></a><!-- doxytag: member="signature.h::rpmReadSignature" ref="ga624a140cf244d9c933a15690c192ae6" args="(FD_t fd, Header *sighp, sigType sig_type, const char **msg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="rpmlib_8h.html#06da857c39457bfb6ea9049643fdb706">rpmRC</a> rpmReadSignature           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__FD__s.html">FD_t</a>&nbsp;</td>
          <td class="paramname"> <em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structheaderToken__s.html">Header</a> *&nbsp;</td>
          <td class="paramname"> <em>sighp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__signature.html#g76f741a06ca02aa698c8d84c2f5ceec0">sigType</a>&nbsp;</td>
          <td class="paramname"> <em>sig_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&nbsp;</td>
          <td class="paramname"> <em>msg</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read (and verify header+payload size) signature header. 
<p>
If an old-style signature is found, we emulate a new style one. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>file handle </td></tr>
  </table>
</dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sighp</em>&nbsp;</td><td>address of (signature) header (or NULL) </td></tr>
  </table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>sig_type</em>&nbsp;</td><td>type of signature header to read (from lead) </td></tr>
  </table>
</dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>failure msg </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>rpmRC return code </dd></dl>

<p>
Definition at line <a class="el" href="signature_8c-source.html#l00155">155</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>.
<p>
References <a class="el" href="system_8h-source.html#l00478">_</a>, <a class="el" href="system_8h.html#eb1df3e83fb069eaa2eb66ace3a0ea52">alloca()</a>, <a class="el" href="lparser_8c-source.html#l00952">block()</a>, <a class="el" href="header__internal_8h-source.html#l00064">headerToken_s::flags</a>, <a class="el" href="package_8c-source.html#l00044">header_magic</a>, <a class="el" href="group__header.html#gg2572591faf5430cdf28aaf9f70d74fa4ebb6d0af72ae9d4c607e81796dafa472">HEADER_MAGIC_YES</a>, <a class="el" href="header__internal_8h-source.html#l00066">HEADERFLAG_ALLOCATED</a>, <a class="el" href="hdrinline_8h-source.html#l00047">headerFree()</a>, <a class="el" href="hdrinline_8h-source.html#l00268">headerGetEntry()</a>, <a class="el" href="hdrinline_8h-source.html#l00062">headerLink()</a>, <a class="el" href="hdrinline_8h-source.html#l00175">headerLoad()</a>, <a class="el" href="hdrinline_8h-source.html#l00120">headerSizeof()</a>, <a class="el" href="package_8c-source.html#l00281">headerVerifyInfo()</a>, <a class="el" href="signature_8c-source.html#l00122">printSize()</a>, <a class="el" href="header__internal_8h-source.html#l00034">REGION_TAG_COUNT</a>, <a class="el" href="header__internal_8h-source.html#l00033">REGION_TAG_TYPE</a>, <a class="el" href="rpmlib_8h.html#a30b10f32f3a5e820ec05d099993e8012e6125219f145fbb73353bc6ccac5cfc">RPMRC_FAIL</a>, <a class="el" href="rpmlib_8h.html#a30b10f32f3a5e820ec05d099993e801b6a502fb02cfd2c16380fa6ac52902d4">RPMRC_OK</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade599ce79a6dc5f08f628da38c4f0ed8461f">RPMSIGTAG_SIZE</a>, <a class="el" href="signature_8h-source.html#l00015">RPMSIGTYPE_HEADERSIG</a>, <a class="el" href="rpmlib_8h.html#342756dddb61d125ae851a8b1ab0507b6357cd75999a2729d1dbfec1798d4645">RPMTAG_HEADERIMAGE</a>, <a class="el" href="rpmlib_8h.html#342756dddb61d125ae851a8b1ab0507b74c03e02289fb0348a35ff24e333e331">RPMTAG_HEADERSIGNATURES</a>, <a class="el" href="rpmps_8c-source.html#l00182">snprintf()</a>, <a class="el" href="rpmio_8h-source.html#l00647">timedRead</a>, <a class="el" href="rpmmalloc_8c-source.html#l00024">xmalloc()</a>, and <a class="el" href="rpmmalloc_8c-source.html#l00055">xstrdup()</a>.
<p>
Referenced by <a class="el" href="rpmtool_8c-source.html#l00275">main()</a>, <a class="el" href="package_8c-source.html#l00753">rpmReadPackageFile()</a>, <a class="el" href="rpmchecksig_8c-source.html#l00172">rpmReSign()</a>, and <a class="el" href="rpmchecksig_8c-source.html#l00719">rpmVerifySignatures()</a>.
</div>
</div><p>
<a class="anchor" name="gf8998cbf765cb5af427bba5648bd5443"></a><!-- doxytag: member="rpmlib.h::rpmVerifySignature" ref="gf8998cbf765cb5af427bba5648bd5443" args="(const rpmts ts, char *result)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="rpmlib_8h.html#06da857c39457bfb6ea9049643fdb706">rpmRC</a> rpmVerifySignature           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="rpmlib_8h.html#1a512138316a227059ca128597dbd464">rpmts</a>&nbsp;</td>
          <td class="paramname"> <em>ts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>result</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Verify a signature from a package. 
<p>
This needs the following variables from the transaction set:<ul>
<li>ts-&gt;sigtag type of signature</li><li>ts-&gt;sig signature itself (from signature header)</li><li>ts-&gt;siglen no. of bytes in signature</li><li>ts-&gt;dig signature/pubkey parameters (malloc'd workspace)</li></ul>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ts</em>&nbsp;</td><td>transaction set </td></tr>
  </table>
</dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>detailed text result of signature verification </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>result of signature verification </dd></dl>

<p>
Definition at line <a class="el" href="signature_8c-source.html#l01477">1477</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>.
<p>
References <a class="el" href="system_8h-source.html#l00478">_</a>, <a class="el" href="rpmio__internal_8h-source.html#l00036">pgpDigParams_s::hash_algo</a>, <a class="el" href="rpmio__internal_8h-source.html#l00067">pgpDig_s::hdrmd5ctx</a>, <a class="el" href="rpmio__internal_8h-source.html#l00059">pgpDig_s::hdrsha1ctx</a>, <a class="el" href="rpmio__internal_8h-source.html#l00065">pgpDig_s::md5ctx</a>, <a class="el" href="rpmpgp_8h.html#8d48cf9c33d66a07d2fee34b0875d54ed06371dade65fdf985086d1461218820">PGPHASHALGO_MD5</a>, <a class="el" href="rpmlib_8h.html#a30b10f32f3a5e820ec05d099993e80163a651497a21974d2993a25d9b60208d">RPMRC_NOTFOUND</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59b52ed4e5aa7d330de398f3e92334d828">RPMSIGTAG_DSA</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade590ed5d0c19de281d46d38e0210dc9faa7">RPMSIGTAG_GPG</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade590e8bbec8af85b808a50323497f3318e9">RPMSIGTAG_LEMD5_1</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade593308808e75374022ddc3f68b33d823ef">RPMSIGTAG_LEMD5_2</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade5998404587b2537b1a0913f4bf84857b66">RPMSIGTAG_MD5</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59ad2717c301116c93390eb57f1a5bdfc6">RPMSIGTAG_PGP</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59bf5438c2d5c3e85d660be9588869ad7d">RPMSIGTAG_PGP5</a>, <a class="el" href="rpmlib_8h-source.html#l01220">RPMSIGTAG_RSA</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade591f0885c883cbf3c6a56b43378b2abb44">RPMSIGTAG_SHA1</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade599ce79a6dc5f08f628da38c4f0ed8461f">RPMSIGTAG_SIZE</a>, <a class="el" href="rpmts_8c-source.html#l01171">rpmtsDig()</a>, <a class="el" href="rpmts_8c-source.html#l01139">rpmtsSig()</a>, <a class="el" href="rpmts_8c-source.html#l01147">rpmtsSiglen()</a>, <a class="el" href="rpmts_8c-source.html#l01123">rpmtsSigtag()</a>, <a class="el" href="rpmio__internal_8h-source.html#l00057">pgpDig_s::sha1ctx</a>, <a class="el" href="rpmio__internal_8h-source.html#l00051">pgpDig_s::signature</a>, <a class="el" href="signature_8c-source.html#l01382">verifyDSASignature()</a>, <a class="el" href="signature_8c-source.html#l01076">verifyMD5Signature()</a>, <a class="el" href="signature_8c-source.html#l01210">verifyRSASignature()</a>, <a class="el" href="signature_8c-source.html#l01135">verifySHA1Signature()</a>, and <a class="el" href="signature_8c-source.html#l01039">verifySizeSignature()</a>.
<p>
Referenced by <a class="el" href="package_8c-source.html#l00753">rpmReadPackageFile()</a>, and <a class="el" href="rpmchecksig_8c-source.html#l00719">rpmVerifySignatures()</a>.
</div>
</div><p>
<a class="anchor" name="g29c4083297ecdc3ffc62fa25a84ed084"></a><!-- doxytag: member="signature.h::rpmWriteSignature" ref="g29c4083297ecdc3ffc62fa25a84ed084" args="(FD_t fd, Header h)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rpmWriteSignature           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct__FD__s.html">FD_t</a>&nbsp;</td>
          <td class="paramname"> <em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structheaderToken__s.html">Header</a>&nbsp;</td>
          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Write signature header. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>file handle </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>(signature) header </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 on success, 1 on error </dd></dl>

<p>
Definition at line <a class="el" href="signature_8c-source.html#l00357">357</a> of file <a class="el" href="signature_8c-source.html">signature.c</a>.
<p>
References <a class="el" href="system_8h-source.html#l00478">_</a>, <a class="el" href="rpmio_8c-source.html#l02846">Fwrite()</a>, <a class="el" href="group__header.html#gg2572591faf5430cdf28aaf9f70d74fa4ebb6d0af72ae9d4c607e81796dafa472">HEADER_MAGIC_YES</a>, <a class="el" href="hdrinline_8h-source.html#l00120">headerSizeof()</a>, <a class="el" href="hdrinline_8h-source.html#l00214">headerWrite()</a>, <a class="el" href="rpmmessages_8h-source.html#l00011">RPMMESS_DEBUG</a>, and <a class="el" href="rpmmessages_8h-source.html#l00020">rpmMessage</a>.
<p>
Referenced by <a class="el" href="psm_8c-source.html#l01383">rpmpsmStage()</a>, <a class="el" href="rpmchecksig_8c-source.html#l00172">rpmReSign()</a>, and <a class="el" href="pack_8c-source.html#l00420">writeRPM()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on 1 Oct 2013 for rpm by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>