Routines to handle RFC-2440 detached signatures. More...
#include "system.h"
#include "rpmio_internal.h"
#include <rpmbc.h>
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | pgpPkt_s |
Defines | |
#define | _RPMPGP_INTERNAL |
#define | TOKEQ(_s, _tok) (!strncmp((_s), (_tok), sizeof(_tok)-1)) |
Functions | |
static void | pgpPrtNL (void) |
static void | pgpPrtInt (const char *pre, int i) |
static void | pgpPrtStr (const char *pre, const char *s) |
static void | pgpPrtHex (const char *pre, const uint8_t *p, size_t plen) |
void | pgpPrtVal (const char *pre, pgpValTbl vs, uint8_t val) |
Print an OpenPGP value. | |
int | pgpPrtSubType (const uint8_t *h, size_t hlen, pgpSigType sigtype) |
Print/parse an OpenPGP subtype packet. | |
static int | pgpPrtSigParams (const pgpPkt pp, uint8_t pubkey_algo, uint8_t sigtype, const uint8_t *p) |
int | pgpPrtSig (const pgpPkt pp) |
Print/parse an OpenPGP signature packet. | |
static const uint8_t * | pgpPrtPubkeyParams (const pgpPkt pp, uint8_t pubkey_algo, const uint8_t *p) |
static const uint8_t * | pgpPrtSeckeyParams (const pgpPkt pp, uint8_t pubkey_algo, const uint8_t *p) |
int | pgpPrtKey (const pgpPkt pp) |
Print/parse an OpenPGP key packet. | |
int | pgpPrtUserID (const pgpPkt pp) |
Print/parse an OpenPGP userid packet. | |
int | pgpPrtComment (const pgpPkt pp) |
Print/parse an OpenPGP comment packet. | |
int | pgpPktLen (const uint8_t *pkt, size_t pleft, pgpPkt pp) |
Return lenth of a OpenPGP packet. | |
int | pgpPubkeyFingerprint (const uint8_t *pkt, size_t pktlen, uint8_t *keyid) |
Calculate OpenPGP public key fingerprint. | |
int | pgpExtractPubkeyFingerprint (const char *b64pkt, uint8_t *keyid) |
Extract OpenPGP public key fingerprint from base64 encoded packet. | |
int | pgpPrtPkt (const uint8_t *pkt, size_t pleft) |
Print/parse next OpenPGP packet. | |
pgpDig | XpgpDigUnlink (pgpDig dig, const char *msg, const char *fn, unsigned ln) |
pgpDig | XpgpDigLink (pgpDig dig, const char *msg, const char *fn, unsigned ln) |
void | pgpDigClean (pgpDig dig) |
Release (malloc'd) data from container. | |
pgpDig | pgpDigFree (pgpDig dig) |
Destroy a container for parsed OpenPGP packates. | |
pgpDig | pgpDigNew (pgpVSFlags vsflags) |
Create a container for parsed OpenPGP packates. | |
pgpDigParams | pgpGetSignature (pgpDig dig) |
Return OpenPGP signature parameters. | |
pgpDigParams | pgpGetPubkey (pgpDig dig) |
Return OpenPGP pubkey parameters. | |
uint32_t | pgpGetSigtag (pgpDig dig) |
Get signature tag. | |
uint32_t | pgpGetSigtype (pgpDig dig) |
Get signature tag type. | |
const void * | pgpGetSig (pgpDig dig) |
Get signature tag data, i.e. | |
uint32_t | pgpGetSiglen (pgpDig dig) |
Get signature tag data length, i.e. | |
int | pgpSetSig (pgpDig dig, uint32_t sigtag, uint32_t sigtype, const void *sig, uint32_t siglen) |
Set signature tag info, i.e. | |
void * | pgpStatsAccumulator (pgpDig dig, int opx) |
Return pgpDig container accumulator structure. | |
int | pgpSetFindPubkey (pgpDig dig, int(*findPubkey)(void *ts, void *dig), void *_ts) |
Set find pubkey vector. | |
int | pgpFindPubkey (pgpDig dig) |
Call find pubkey vector. | |
static int | pgpGrabPkts (const uint8_t *pkts, size_t pktlen, uint8_t ***pppkts, int *pnpkts) |
int | pgpPrtPkts (const uint8_t *pkts, size_t pktlen, pgpDig dig, int printing) |
Print/parse a OpenPGP packet(s). | |
pgpArmor | pgpReadPkts (const char *fn, const uint8_t **pkt, size_t *pktlen) |
Parse armored OpenPGP packets from a file. | |
char * | pgpArmorWrap (int atype, const unsigned char *s, size_t ns) |
Wrap a OpenPGP packets in ascii armor for transport. | |
int | pgpHashAlgoStringToNumber (const char *name, size_t name_len) |
Convert a hash algorithm <name> to the internal PGPHASHALGO_<name> number. | |
Variables | |
int | _pgp_debug = 0 |
int | _pgp_print = 0 |
pgpImplVecs_t * | pgpImplVecs |
static pgpDig | _dig = NULL |
static pgpDigParams | _digp = NULL |
struct pgpValTbl_s | pgpSigTypeTbl [] |
struct pgpValTbl_s | pgpPubkeyTbl [] |
struct pgpValTbl_s | pgpSymkeyTbl [] |
Symmetric key (string, value) pairs. | |
struct pgpValTbl_s | pgpCompressionTbl [] |
Compression (string, value) pairs. | |
struct pgpValTbl_s | pgpHashTbl [] |
Hash (string, value) pairs. | |
struct pgpValTbl_s | pgpKeyServerPrefsTbl [] |
struct pgpValTbl_s | pgpSubTypeTbl [] |
Subtype (string, value) pairs. | |
struct pgpValTbl_s | pgpTagTbl [] |
struct pgpValTbl_s | pgpArmorTbl [] |
Armor (string, value) pairs. | |
struct pgpValTbl_s | pgpArmorKeyTbl [] |
Armor key (string, value) pairs. | |
static const char * | pgpSigRSA [] |
static const char * | pgpSigDSA [] |
static const char * | pgpPublicRSA [] |
static const char * | pgpPublicDSA [] |
static const char * | pgpPublicELGAMAL [] |
pgpVSFlags | pgpDigVSFlags |
Disabler bits(s) for signature/digest checking. |
Routines to handle RFC-2440 detached signatures.
Definition in file rpmpgp.c.
#define TOKEQ | ( | _s, | |||
_tok | ) | (!strncmp((_s), (_tok), sizeof(_tok)-1)) |
Referenced by pgpReadPkts().
static int pgpGrabPkts | ( | const uint8_t * | pkts, | |
size_t | pktlen, | |||
uint8_t *** | pppkts, | |||
int * | pnpkts | |||
) | [static] |
Definition at line 1178 of file rpmpgp.c.
References _free(), alloca(), pgpPktLen(), pgpPkt_s::pktlen, and xcalloc().
Referenced by pgpPrtPkts().
static void pgpPrtHex | ( | const char * | pre, | |
const uint8_t * | p, | |||
size_t | plen | |||
) | [static] |
Definition at line 234 of file rpmpgp.c.
References _pgp_print, and pgpHexStr().
Referenced by pgpPrtComment(), pgpPrtPkt(), pgpPrtSeckeyParams(), pgpPrtSig(), and pgpPrtSubType().
static void pgpPrtInt | ( | const char * | pre, | |
int | i | |||
) | [static] |
static void pgpPrtNL | ( | void | ) | [static] |
Definition at line 206 of file rpmpgp.c.
References _pgp_print.
Referenced by pgpPrtComment(), pgpPrtKey(), pgpPrtPkt(), pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), pgpPrtSig(), pgpPrtSigParams(), pgpPrtSubType(), and pgpPrtUserID().
static const uint8_t* pgpPrtPubkeyParams | ( | const pgpPkt | pp, | |
uint8_t | pubkey_algo, | |||
const uint8_t * | p | |||
) | [static] |
Definition at line 586 of file rpmpgp.c.
References _dig, _pgp_print, pgpPkt_s::h, pgpPkt_s::hlen, pgpImplMpiItem(), pgpMpiLen(), pgpMpiStr(), pgpPrtNL(), pgpPrtStr(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_ELGAMAL_ENCRYPT, PGPPUBKEYALGO_RSA, pgpPublicDSA, pgpPublicELGAMAL, and pgpPublicRSA.
Referenced by pgpPrtKey().
static const uint8_t* pgpPrtSeckeyParams | ( | const pgpPkt | pp, | |
uint8_t | pubkey_algo, | |||
const uint8_t * | p | |||
) | [static] |
Definition at line 644 of file rpmpgp.c.
References _pgp_print, pgpPkt_s::h, pgpPkt_s::hlen, pgpMpiLen(), pgpMpiStr(), pgpPrtHex(), pgpPrtInt(), pgpPrtNL(), pgpPrtStr(), pgpPrtVal(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_ELGAMAL_ENCRYPT, and PGPPUBKEYALGO_RSA.
Referenced by pgpPrtKey().
static int pgpPrtSigParams | ( | const pgpPkt | pp, | |
uint8_t | pubkey_algo, | |||
uint8_t | sigtype, | |||
const uint8_t * | p | |||
) | [static] |
Definition at line 368 of file rpmpgp.c.
References _dig, _pgp_print, pgpPkt_s::h, pgpPkt_s::hlen, pgpImplMpiItem(), pgpMpiLen(), pgpMpiStr(), pgpPrtNL(), pgpPrtStr(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, pgpSigDSA, pgpSigRSA, PGPSIGTYPE_BINARY, and PGPSIGTYPE_TEXT.
Referenced by pgpPrtSig().
static void pgpPrtStr | ( | const char * | pre, | |
const char * | s | |||
) | [static] |
Definition at line 224 of file rpmpgp.c.
References _pgp_print.
Referenced by pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), and pgpPrtSigParams().
Definition at line 999 of file rpmpgp.c.
References _pgp_debug.
Definition at line 988 of file rpmpgp.c.
References _pgp_debug.
Definition at line 34 of file rpmpgp.c.
Referenced by pgpPrtPkts(), pgpPrtPubkeyParams(), and pgpPrtSigParams().
pgpDigParams _digp = NULL [static] |
Definition at line 37 of file rpmpgp.c.
Referenced by pgpPrtKey(), pgpPrtPkt(), pgpPrtPkts(), pgpPrtSig(), pgpPrtSubType(), and pgpPrtUserID().
int _pgp_debug = 0 |
Definition at line 20 of file rpmpgp.c.
Referenced by pgpPrtSig(), XpgpDigLink(), and XpgpDigUnlink().
int _pgp_print = 0 |
Definition at line 23 of file rpmpgp.c.
Referenced by pgpPrtComment(), pgpPrtHex(), pgpPrtInt(), pgpPrtKey(), pgpPrtNL(), pgpPrtPkts(), pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), pgpPrtSig(), pgpPrtSigParams(), pgpPrtStr(), pgpPrtSubType(), pgpPrtUserID(), and pgpPrtVal().
Disabler bits(s) for signature/digest checking.
Definition at line 986 of file rpmpgp.c.
Referenced by headerCheck(), pgpDigNew(), rpmcliAllArgCallback(), rpmReadPackageFile(), rpmtsSetVSFlags(), and rpmtsVSFlags().
&rpmbcImplVecs
Definition at line 26 of file rpmpgp.c.
Referenced by rpmcliAllArgCallback().
struct pgpValTbl_s pgpKeyServerPrefsTbl[] |
const char* pgpPublicDSA[] [static] |
{ " p =", " q =", " g =", " y =", NULL, }
Definition at line 553 of file rpmpgp.c.
Referenced by pgpPrtPubkeyParams().
const char* pgpPublicELGAMAL[] [static] |
{ " p =", " g =", " y =", NULL, }
Definition at line 570 of file rpmpgp.c.
Referenced by pgpPrtPubkeyParams().
const char* pgpPublicRSA[] [static] |
{ " n =", " e =", NULL, }
Definition at line 535 of file rpmpgp.c.
Referenced by pgpPrtPubkeyParams().
const char* pgpSigDSA[] [static] |
{ " r =", " s =", NULL, }
Definition at line 361 of file rpmpgp.c.
Referenced by pgpPrtSigParams().
const char* pgpSigRSA[] [static] |
{
" m**d =",
NULL,
}
Definition at line 355 of file rpmpgp.c.
Referenced by pgpPrtSigParams().