Verify the signature of a package. More...
#include "system.h"
#include <rpmio_internal.h>
#include <rpmbc.h>
#include <rpmtag.h>
#include <rpmcli.h>
#include <rpmevr.h>
#include <rpmts.h>
#include "rpmdb.h"
#include "rpmgi.h"
#include <rpmxar.h>
#include <pkgio.h>
#include "signature.h"
#include "debug.h"
Go to the source code of this file.
Defines | |
#define | _RPMEVR_INTERNAL |
Functions | |
static int | manageFile (FD_t *fdp, const char **fnp, int flags, int rc) |
static int | copyFile (FD_t *sfdp, const char **sfnp, FD_t *tfdp, const char **tfnp) |
Copy header+payload, calculating digest(s) on the fly. | |
static int | getSignid (Header sigh, int sigtag, unsigned char *signid) |
Retrieve signer fingerprint from an OpenPGP signature tag. | |
static int | rpmReSign (rpmts ts, QVA_t qva, const char **argv) |
Create/modify elements in signature header. | |
rpmRC | rpmcliImportPubkey (const rpmts ts, const unsigned char *pkt, ssize_t pktlen) |
Import public key packet(s). | |
static int | rpmcliImportPubkeys (const rpmts ts, QVA_t qva, const char **argv) |
Import public key(s). | |
static rpmRC | readFile (FD_t fd, const char *fn) |
int | rpmVerifySignatures (QVA_t qva, rpmts ts, FD_t fd, const char *fn) |
Check package and header signatures. | |
int | rpmcliSign (rpmts ts, QVA_t qva, const char **argv) |
Create/Modify/Check elements from signature header. | |
Variables | |
int | _print_pkts = 0 |
Verify the signature of a package.
Definition in file rpmchecksig.c.
#define _RPMEVR_INTERNAL |
Definition at line 12 of file rpmchecksig.c.
Copy header+payload, calculating digest(s) on the fly.
Definition at line 93 of file rpmchecksig.c.
References _, Fflush(), Fread(), Fstrerror(), Fwrite(), manageFile(), rpmlog(), and RPMLOG_ERR.
Referenced by rpmReSign().
static int getSignid | ( | Header | sigh, |
int | sigtag, | ||
unsigned char * | signid | ||
) | [static] |
Retrieve signer fingerprint from an OpenPGP signature tag.
sigh | signature header |
sigtag | signature tag |
signid | signer fingerprint |
Definition at line 142 of file rpmchecksig.c.
References _free(), alloca(), _HE_s::c, headerGet(), _HE_s::p, pgpDigFree(), pgpDigNew(), pgpPrtPkts(), rpmDataType_u::ptr, and _HE_s::tag.
Referenced by rpmReSign().
static int manageFile | ( | FD_t * | fdp, |
const char ** | fnp, | ||
int | flags, | ||
int | rc | ||
) | [static] |
Definition at line 36 of file rpmchecksig.c.
References _, Fclose(), fdFree(), fdLink(), Ferror(), Fopen(), Fstrerror(), rpmlog(), RPMLOG_ERR, and rpmTempFile().
Referenced by copyFile(), and rpmReSign().
Definition at line 769 of file rpmchecksig.c.
References _, _free(), alloca(), _HE_s::c, fdGetDig(), fdGetXAR(), fdStealDigest(), Ferror(), Fread(), Fstrerror(), headerFree(), headerGet(), headerGetMagic(), headerIsEntry(), headerSizeof(), _HE_s::p, PGPHASHALGO_SHA1, rpmDataType_u::ptr, RPMDIGEST_NONE, rpmDigestInit(), rpmDigestUpdate(), rpmlog(), RPMLOG_ERR, rpmpkgRead(), RPMRC_FAIL, RPMRC_NOTFOUND, RPMRC_OK, RPMTAG_HEADERIMMUTABLE, and _HE_s::tag.
Referenced by rpmVerifySignatures().
Check package and header signatures.
qva | parsed query/verify options |
ts | transaction set |
fd | package file handle |
fn | package file name |
Definition at line 852 of file rpmchecksig.c.
References _, _free(), _print_pkts, alloca(), _HE_s::c, fdInitDigest(), fdSetDig(), headerFini(), headerFree(), headerGet(), headerInit(), headerIsEntry(), headerNext(), _HE_s::p, pgpDigClean(), pgpGetSignature(), PGPHASHALGO_MD5, pgpPrtPkts(), pgpSetSig(), rpmDataType_u::ptr, rpmQVKArguments_s::qva_flags, readFile(), rpmIsDebug, rpmIsVerbose, rpmlog(), RPMLOG_ERR, RPMLOG_NOTICE, rpmpkgRead(), RPMRC_OK, RPMSIGTAG_DSA, RPMSIGTAG_MD5, RPMSIGTAG_RSA, RPMSIGTAG_SHA1, RPMSIGTAG_SIZE, rpmtsCleanDig(), rpmtsDBMode(), rpmtsDig(), rpmtsOpenDB(), rpmVerifySignature(), stpcpy(), _HE_s::t, _HE_s::tag, VERIFY_DIGEST, and VERIFY_SIGNATURE.
Referenced by rpmcliSign().
int _print_pkts = 0 |
Definition at line 32 of file rpmchecksig.c.