rpmio/rpmpgp.c File Reference

Routines to handle RFC-2440 detached signatures. More...

#include "system.h"
#include "rpmio_internal.h"
#include "debug.h"

Go to the source code of this file.

Defines

#define TOKEQ(_s, _tok)   (!strncmp((_s), (_tok), sizeof(_tok)-1))

Functions

static void * _free (const void *p)
 Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
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 byte *p, unsigned int plen)
void pgpPrtVal (const char *pre, pgpValTbl vs, byte val)
 Print an OpenPGP value.
static const char * pgpMpiHex (const byte *p)
static int pgpHexSet (const char *pre, int lbits, mpnumber *mpn, const byte *p, const byte *pend)
 
Returns:
0 on success

int pgpPrtSubType (const byte *h, unsigned int hlen, pgpSigType sigtype)
 Print/parse an OpenPGP subtype packet.
static int pgpPrtSigParams (pgpTag tag, byte pubkey_algo, byte sigtype, const byte *p, const byte *h, unsigned int hlen)
int pgpPrtSig (pgpTag tag, const byte *h, unsigned int hlen)
 Print/parse an OpenPGP signature packet.
static const bytepgpPrtPubkeyParams (byte pubkey_algo, const byte *p, const byte *h, unsigned int hlen)
static const bytepgpPrtSeckeyParams (byte pubkey_algo, const byte *p, const byte *h, unsigned int hlen)
int pgpPrtKey (pgpTag tag, const byte *h, unsigned int hlen)
 Print/parse an OpenPGP key packet.
int pgpPrtUserID (pgpTag tag, const byte *h, unsigned int hlen)
 Print/parse an OpenPGP userid packet.
int pgpPrtComment (pgpTag tag, const byte *h, unsigned int hlen)
 Print/parse an OpenPGP comment packet.
int pgpPubkeyFingerprint (const byte *pkt, unsigned int pktlen, byte *keyid)
 Calculate OpenPGP public key fingerprint.
int pgpPrtPkt (const byte *pkt, unsigned int pleft)
 Print/parse next OpenPGP packet.
pgpDig pgpNewDig (void)
 Create a container for parsed OpenPGP packates.
void pgpCleanDig (pgpDig dig)
 Release (malloc'd) data from container.
pgpDig pgpFreeDig (pgpDig dig)
 Destroy a container for parsed OpenPGP packates.
int pgpPrtPkts (const byte *pkts, unsigned int pktlen, pgpDig dig, int printing)
 Print/parse a OpenPGP packet(s).
pgpArmor pgpReadPkts (const char *fn, const byte **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.

Variables

static int _debug = 0
static int _print = 0
static pgpDig _dig = NULL
static pgpDigParams _digp = NULL
pgpValTbl_s pgpSigTypeTbl []
pgpValTbl_s pgpPubkeyTbl []
pgpValTbl_s pgpSymkeyTbl []
 Symmetric key (string, value) pairs.
pgpValTbl_s pgpCompressionTbl []
 Compression (string, value) pairs.
pgpValTbl_s pgpHashTbl []
 Hash (string, value) pairs.
pgpValTbl_s pgpKeyServerPrefsTbl []
pgpValTbl_s pgpSubTypeTbl []
 Subtype (string, value) pairs.
pgpValTbl_s pgpTagTbl []
pgpValTbl_s pgpArmorTbl []
 Armor (string, value) pairs.
pgpValTbl_s pgpArmorKeyTbl []
 Armor key (string, value) pairs.
static const char * pgpSigRSA []
static const char * pgpSigDSA []
static const char * pgpPublicRSA []
static const char * pgpSecretRSA []
static const char * pgpPublicDSA []
static const char * pgpSecretDSA []
static const char * pgpPublicELGAMAL []
static const char * pgpSecretELGAMAL []


Detailed Description

Routines to handle RFC-2440 detached signatures.

Definition in file rpmpgp.c.


Define Documentation

#define TOKEQ ( _s,
_tok   )     (!strncmp((_s), (_tok), sizeof(_tok)-1))

Referenced by pgpReadPkts().


Function Documentation

static void* _free ( const void *  p  )  [inline, static]

Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.

Parameters:
p memory to free
Returns:
NULL always

Definition at line 192 of file rpmpgp.c.

char* pgpArmorWrap ( int  atype,
const unsigned char *  s,
size_t  ns 
)

Wrap a OpenPGP packets in ascii armor for transport.

Parameters:
atype type of armor
s binary pkt data
ns binary pkt data length
Returns:
formatted string

Definition at line 1285 of file rpmpgp.c.

References _free(), pgpArmorTbl, pgpValStr(), stpcpy(), pgpValTbl_s::val, VERSION, and xmalloc().

Referenced by armorFormat(), and processMetadataFile().

void pgpCleanDig ( pgpDig  dig  ) 

Release (malloc'd) data from container.

Parameters:
dig container

Definition at line 1021 of file rpmpgp.c.

References _free(), pgpDig_s::c, pgpDigParams_s::hash, pgpDig_s::hm, pgpDig_s::m, pgpDig_s::md5, pgpDigParams_s::params, pgpDig_s::pubkey, pgpDig_s::r, pgpDig_s::rsa_pk, pgpDig_s::rsahm, pgpDig_s::s, pgpDig_s::sha1, pgpDig_s::signature, and pgpDigParams_s::userid.

Referenced by pgpFreeDig(), and rpmVerifySignatures().

pgpDig pgpFreeDig ( pgpDig  dig  ) 

Destroy a container for parsed OpenPGP packates.

Parameters:
dig container
Returns:
NULL always

Definition at line 1056 of file rpmpgp.c.

References _free(), pgpCleanDig(), and rpmDigestFinal().

Referenced by getSignid(), makeGPGSignature(), makePGPSignature(), pgpsigFormat(), rpmcliImportPubkey(), and rpmtsCleanDig().

static int pgpHexSet ( const char *  pre,
int  lbits,
mpnumber *  mpn,
const byte p,
const byte pend 
) [static]

Returns:
0 on success

Definition at line 263 of file rpmpgp.c.

References _debug, _free(), _print, pgpMpiBits(), pgpMpiHex(), and xmalloc().

Referenced by pgpPrtSigParams().

static const char* pgpMpiHex ( const byte p  )  [static]

Definition at line 250 of file rpmpgp.c.

References pgpHexCvt(), and pgpMpiLen().

Referenced by pgpHexSet(), pgpPrtPubkeyParams(), and pgpPrtSigParams().

pgpDig pgpNewDig ( void   ) 

Create a container for parsed OpenPGP packates.

Returns:
container

Definition at line 1014 of file rpmpgp.c.

References xcalloc().

Referenced by getSignid(), makeGPGSignature(), makePGPSignature(), pgpsigFormat(), rpmcliImportPubkey(), rpmdbAdd(), rpmdbRemove(), and rpmtsDig().

int pgpPrtComment ( pgpTag  tag,
const byte h,
unsigned int  hlen 
)

Print/parse an OpenPGP comment packet.

Parameters:
tag packet tag
h packet contents
hlen packet length (no. of bytes)
Returns:
0 on success

Definition at line 844 of file rpmpgp.c.

References _print, pgpPrtHex(), pgpPrtNL(), pgpPrtVal(), and pgpTagTbl.

Referenced by pgpPrtPkt().

static void pgpPrtHex ( const char *  pre,
const byte p,
unsigned int  plen 
) [static]

Definition at line 227 of file rpmpgp.c.

References _print, and pgpHexStr().

Referenced by pgpPrtComment(), pgpPrtPkt(), pgpPrtSeckeyParams(), pgpPrtSig(), and pgpPrtSubType().

static void pgpPrtInt ( const char *  pre,
int  i 
) [static]

Definition at line 207 of file rpmpgp.c.

References _print.

Referenced by pgpPrtSeckeyParams().

int pgpPrtKey ( pgpTag  tag,
const byte h,
unsigned int  hlen 
)

Print/parse an OpenPGP key packet.

Parameters:
tag packet tag
h packet contents
hlen packet length (no. of bytes)
Returns:
0 on success

Definition at line 765 of file rpmpgp.c.

References _digp, _print, pgpGrab(), pgpPrtNL(), pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), pgpPrtVal(), pgpPubkeyTbl, PGPTAG_PUBLIC_KEY, PGPTAG_PUBLIC_SUBKEY, pgpTagTbl, pgpPktKeyV3_s::pubkey_algo, pgpDigParams_s::pubkey_algo, pgpPktKeyV4_s::pubkey_algo, pgpDigParams_s::tag, pgpPktKeyV3_s::time, pgpDigParams_s::time, pgpPktKeyV4_s::time, pgpPktKeyV3_s::valid, pgpDigParams_s::version, pgpPktKeyV3_s::version, and pgpPktKeyV4_s::version.

Referenced by pgpPrtPkt().

static void pgpPrtNL ( void   )  [static]

Definition at line 199 of file rpmpgp.c.

References _print.

Referenced by pgpPrtComment(), pgpPrtKey(), pgpPrtPkt(), pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), pgpPrtSig(), pgpPrtSigParams(), pgpPrtSubType(), and pgpPrtUserID().

int pgpPrtPkt ( const byte pkt,
unsigned int  pleft 
)

Print/parse next OpenPGP packet.

Parameters:
pkt OpenPGP packet
pleft no. bytes remaining
Returns:
-1 on error, otherwise this packet length

Definition at line 932 of file rpmpgp.c.

References _digp, PGPDIG_SAVED_ID, pgpGrab(), pgpLen(), pgpPrtComment(), pgpPrtHex(), pgpPrtKey(), pgpPrtNL(), pgpPrtSig(), pgpPrtUserID(), pgpPrtVal(), pgpPubkeyFingerprint(), PGPTAG_COMMENT, PGPTAG_COMMENT_OLD, PGPTAG_COMPRESSED_DATA, PGPTAG_CONTROL, PGPTAG_ENCRYPTED_MDC, PGPTAG_LITERAL_DATA, PGPTAG_MARKER, PGPTAG_MDC, PGPTAG_PHOTOID, PGPTAG_PRIVATE_60, PGPTAG_PRIVATE_62, PGPTAG_PUBLIC_KEY, PGPTAG_PUBLIC_SESSION_KEY, PGPTAG_PUBLIC_SUBKEY, PGPTAG_RESERVED, PGPTAG_SECRET_KEY, PGPTAG_SECRET_SUBKEY, PGPTAG_SIGNATURE, PGPTAG_SYMMETRIC_DATA, PGPTAG_SYMMETRIC_SESSION_KEY, PGPTAG_TRUST, PGPTAG_USER_ID, pgpTagTbl, pgpDigParams_s::saved, pgpDigParams_s::signid, and pgpValTbl_s::val.

Referenced by pgpPrtPkts().

int pgpPrtPkts ( const byte pkts,
unsigned int  pktlen,
pgpDig  dig,
int  printing 
)

Print/parse a OpenPGP packet(s).

Parameters:
pkts OpenPGP packet(s)
pktlen OpenPGP packet(s) length (no. of bytes)
Return values:
dig parsed output of signature/pubkey packet parameters
Parameters:
printing should packets be printed?
Returns:
-1 on error, 0 on success

Definition at line 1109 of file rpmpgp.c.

References _dig, _digp, _print, pgpPrtPkt(), PGPTAG_SIGNATURE, pgpDig_s::pubkey, pgpDig_s::signature, pgpDigParams_s::tag, and pgpValTbl_s::val.

Referenced by getSignid(), makeGPGSignature(), makePGPSignature(), pgpsigFormat(), rpmcliImportPubkey(), rpmdbAdd(), rpmdbRemove(), rpmReadPackageFile(), rpmts_PgpPrtPkts(), rpmtsFindPubkey(), and rpmVerifySignatures().

static const byte* pgpPrtPubkeyParams ( byte  pubkey_algo,
const byte p,
const byte h,
unsigned int  hlen 
) [static]

Definition at line 621 of file rpmpgp.c.

References _debug, _dig, _print, pgpDig_s::g, pgpDig_s::p, pgpMpiHex(), pgpMpiLen(), pgpMpiStr(), pgpPrtNL(), pgpPrtStr(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_ELGAMAL_ENCRYPT, PGPPUBKEYALGO_RSA, pgpPublicDSA, pgpPublicELGAMAL, pgpPublicRSA, pgpDig_s::q, pgpDig_s::rsa_pk, and pgpDig_s::y.

Referenced by pgpPrtKey().

static const byte* pgpPrtSeckeyParams ( byte  pubkey_algo,
const byte p,
const byte h,
unsigned int  hlen 
) [static]

Definition at line 691 of file rpmpgp.c.

References _print, pgpHashTbl, pgpMpiLen(), pgpMpiStr(), pgpPrtHex(), pgpPrtInt(), pgpPrtNL(), pgpPrtStr(), pgpPrtVal(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_ELGAMAL_ENCRYPT, PGPPUBKEYALGO_RSA, pgpSecretDSA, pgpSecretELGAMAL, pgpSecretRSA, and pgpSymkeyTbl.

Referenced by pgpPrtKey().

int pgpPrtSig ( pgpTag  tag,
const byte h,
unsigned int  hlen 
)

Print/parse an OpenPGP signature packet.

Parameters:
tag packet tag
h packet contents
hlen packet length (no. of bytes)
Returns:
0 on success

Definition at line 467 of file rpmpgp.c.

References _debug, _digp, _print, pgpDigParams_s::hash, pgpPktSigV3_s::hash_algo, pgpDigParams_s::hash_algo, pgpPktSigV4_s::hash_algo, pgpPktSigV3_s::hashlen, pgpDigParams_s::hashlen, pgpPktSigV4_s::hashlen, pgpGrab(), pgpHashTbl, pgpHexStr(), pgpPrtHex(), pgpPrtNL(), pgpPrtSigParams(), pgpPrtSubType(), pgpPrtVal(), pgpPubkeyTbl, pgpSigTypeTbl, pgpTagTbl, pgpPktSigV3_s::pubkey_algo, pgpDigParams_s::pubkey_algo, pgpPktSigV4_s::pubkey_algo, pgpPktSigV3_s::signhash16, pgpDigParams_s::signhash16, pgpPktSigV3_s::signid, pgpDigParams_s::signid, pgpPktSigV3_s::sigtype, pgpDigParams_s::sigtype, pgpPktSigV4_s::sigtype, pgpPktSigV3_s::time, pgpDigParams_s::time, pgpDigParams_s::version, pgpPktSigV3_s::version, pgpPktSigV4_s::version, and xmalloc().

Referenced by pgpPrtPkt().

static int pgpPrtSigParams ( pgpTag  tag,
byte  pubkey_algo,
byte  sigtype,
const byte p,
const byte h,
unsigned int  hlen 
) [static]

Definition at line 410 of file rpmpgp.c.

References _debug, _dig, _print, pgpDig_s::c, pgpHexSet(), pgpMpiHex(), pgpMpiLen(), pgpMpiStr(), pgpPrtNL(), pgpPrtStr(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, pgpSigDSA, pgpSigRSA, PGPSIGTYPE_BINARY, PGPSIGTYPE_TEXT, pgpDig_s::r, and pgpDig_s::s.

Referenced by pgpPrtSig().

static void pgpPrtStr ( const char *  pre,
const char *  s 
) [static]

Definition at line 217 of file rpmpgp.c.

References _print.

Referenced by pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), and pgpPrtSigParams().

int pgpPrtSubType ( const byte h,
unsigned int  hlen,
pgpSigType  sigtype 
)

Print/parse an OpenPGP subtype packet.

Parameters:
h packet
hlen packet length (no. of bytes)
sigtype signature type
Returns:
0 on success

Definition at line 296 of file rpmpgp.c.

References _digp, _print, pgpCompressionTbl, PGPDIG_SAVED_ID, PGPDIG_SAVED_TIME, pgpGrab(), pgpHashTbl, pgpKeyServerPrefsTbl, pgpLen(), pgpPrtHex(), pgpPrtNL(), pgpPrtVal(), PGPSIGTYPE_BINARY, PGPSIGTYPE_POSITIVE_CERT, PGPSIGTYPE_STANDALONE, PGPSIGTYPE_TEXT, PGPSUBTYPE_ARR, PGPSUBTYPE_CRITICAL, PGPSUBTYPE_EMBEDDED_SIG, PGPSUBTYPE_EXPORTABLE_CERT, PGPSUBTYPE_FEATURES, PGPSUBTYPE_INTERNAL_100, PGPSUBTYPE_INTERNAL_101, PGPSUBTYPE_INTERNAL_102, PGPSUBTYPE_INTERNAL_103, PGPSUBTYPE_INTERNAL_104, PGPSUBTYPE_INTERNAL_105, PGPSUBTYPE_INTERNAL_106, PGPSUBTYPE_INTERNAL_107, PGPSUBTYPE_INTERNAL_108, PGPSUBTYPE_INTERNAL_109, PGPSUBTYPE_INTERNAL_110, PGPSUBTYPE_ISSUER_KEYID, PGPSUBTYPE_KEY_EXPIRE_TIME, PGPSUBTYPE_KEY_FLAGS, PGPSUBTYPE_KEYSERVER_PREFERS, PGPSUBTYPE_NOTATION, PGPSUBTYPE_POLICY_URL, PGPSUBTYPE_PREFER_COMPRESS, PGPSUBTYPE_PREFER_HASH, PGPSUBTYPE_PREFER_KEYSERVER, PGPSUBTYPE_PREFER_SYMKEY, PGPSUBTYPE_PRIMARY_USERID, PGPSUBTYPE_REGEX, PGPSUBTYPE_REVOCABLE, PGPSUBTYPE_REVOKE_KEY, PGPSUBTYPE_REVOKE_REASON, PGPSUBTYPE_SIG_CREATE_TIME, PGPSUBTYPE_SIG_EXPIRE_TIME, PGPSUBTYPE_SIGNER_USERID, PGPSUBTYPE_TRUST_SIG, pgpSubTypeTbl, pgpSymkeyTbl, pgpDigParams_s::saved, pgpDigParams_s::signid, and pgpDigParams_s::time.

Referenced by pgpPrtSig().

int pgpPrtUserID ( pgpTag  tag,
const byte h,
unsigned int  hlen 
)

Print/parse an OpenPGP userid packet.

Parameters:
tag packet tag
h packet contents
hlen packet length (no. of bytes)
Returns:
0 on success

Definition at line 827 of file rpmpgp.c.

References _digp, _print, pgpPrtNL(), pgpPrtVal(), pgpTagTbl, pgpDigParams_s::userid, and xmalloc().

Referenced by pgpPrtPkt().

void pgpPrtVal ( const char *  pre,
pgpValTbl  vs,
byte  val 
)

Print an OpenPGP value.

Parameters:
pre output prefix
vs table of (string,value) pairs
val byte value to print

Definition at line 237 of file rpmpgp.c.

References _print, and pgpValStr().

Referenced by pgpPrtComment(), pgpPrtKey(), pgpPrtPkt(), pgpPrtSeckeyParams(), pgpPrtSig(), pgpPrtSubType(), and pgpPrtUserID().

int pgpPubkeyFingerprint ( const byte pkt,
unsigned int  pktlen,
byte keyid 
)

Calculate OpenPGP public key fingerprint.

Todo:
V3 non-RSA public keys not implemented.
Parameters:
pkt OpenPGP packet (i.e. PGPTAG_PUBLIC_KEY)
pktlen OpenPGP packet length (no. of bytes)
Return values:
keyid publick key fingerprint
Returns:
0 on sucess, else -1

Definition at line 870 of file rpmpgp.c.

References PGPHASHALGO_SHA1, pgpMpiLen(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, RPMDIGEST_NONE, rpmDigestFinal(), rpmDigestInit(), and rpmDigestUpdate().

Referenced by pgpPrtPkt().

pgpArmor pgpReadPkts ( const char *  fn,
const byte **  pkt,
size_t *  pktlen 
)

Parse armored OpenPGP packets from a file.

Parameters:
fn file name
Return values:
pkt dearmored OpenPGP packet(s)
pktlen dearmored OpenPGP packet(s) length in bytes
Returns:
type of armor found

Definition at line 1138 of file rpmpgp.c.

References _free(), PGPARMOR_ERR_BODY_DECODE, PGPARMOR_ERR_CRC_CHECK, PGPARMOR_ERR_CRC_DECODE, PGPARMOR_ERR_NO_BEGIN_PGP, PGPARMOR_ERR_NO_END_PGP, PGPARMOR_ERR_UNKNOWN_ARMOR_TYPE, PGPARMOR_NONE, PGPARMOR_PUBKEY, pgpArmorKeyTbl, pgpArmorTbl, pgpCRC(), pgpGrab(), pgpIsPkt(), pgpValTok(), rpmioSlurp(), and TOKEQ.

Referenced by processMetadataFile(), rpmcliImportPubkeys(), and rpmtsFindPubkey().


Variable Documentation

int _debug = 0 [static]

Definition at line 15 of file rpmpgp.c.

pgpDig _dig = NULL [static]

Definition at line 21 of file rpmpgp.c.

Referenced by pgpPrtPkts(), pgpPrtPubkeyParams(), and pgpPrtSigParams().

pgpDigParams _digp = NULL [static]

Definition at line 24 of file rpmpgp.c.

Referenced by pgpPrtKey(), pgpPrtPkt(), pgpPrtPkts(), pgpPrtSig(), pgpPrtSubType(), and pgpPrtUserID().

int _print = 0 [static]

Definition at line 18 of file rpmpgp.c.

Referenced by pgpHexSet(), pgpPrtComment(), pgpPrtHex(), pgpPrtInt(), pgpPrtKey(), pgpPrtNL(), pgpPrtPkts(), pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), pgpPrtSig(), pgpPrtSigParams(), pgpPrtStr(), pgpPrtSubType(), pgpPrtUserID(), and pgpPrtVal().

struct pgpValTbl_s pgpArmorKeyTbl[]

Initial value:

 {
    { PGPARMORKEY_VERSION,      "Version: " },
    { PGPARMORKEY_COMMENT,      "Comment: " },
    { PGPARMORKEY_MESSAGEID,    "MessageID: " },
    { PGPARMORKEY_HASH,         "Hash: " },
    { PGPARMORKEY_CHARSET,      "Charset: " },
    { -1,                       "Unknown armor key" }
}
Armor key (string, value) pairs.

Definition at line 177 of file rpmpgp.c.

Referenced by pgpReadPkts().

struct pgpValTbl_s pgpArmorTbl[]

Initial value:

 {
    { PGPARMOR_MESSAGE,         "MESSAGE" },
    { PGPARMOR_PUBKEY,          "PUBLIC KEY BLOCK" },
    { PGPARMOR_SIGNATURE,       "SIGNATURE" },
    { PGPARMOR_SIGNED_MESSAGE,  "SIGNED MESSAGE" },
    { PGPARMOR_FILE,            "ARMORED FILE" },
    { PGPARMOR_PRIVKEY,         "PRIVATE KEY BLOCK" },
    { PGPARMOR_SECKEY,          "SECRET KEY BLOCK" },
    { -1,                       "Unknown armor block" }
}
Armor (string, value) pairs.

Definition at line 166 of file rpmpgp.c.

Referenced by pgpArmorWrap(), and pgpReadPkts().

struct pgpValTbl_s pgpCompressionTbl[]

Initial value:

 {
    { PGPCOMPRESSALGO_NONE,     "Uncompressed" },
    { PGPCOMPRESSALGO_ZIP,      "ZIP" },
    { PGPCOMPRESSALGO_ZLIB,     "ZLIB" },
    { PGPCOMPRESSALGO_BZIP2,    "BZIP2" },
    { -1,                       "Unknown compression algorithm" },
}
Compression (string, value) pairs.

Definition at line 72 of file rpmpgp.c.

Referenced by pgpPrtSubType().

struct pgpValTbl_s pgpHashTbl[]

Initial value:

 {
    { PGPHASHALGO_MD5,          "MD5" },
    { PGPHASHALGO_SHA1,         "SHA1" },
    { PGPHASHALGO_RIPEMD160,    "RIPEMD160" },
    { PGPHASHALGO_MD2,          "MD2" },
    { PGPHASHALGO_TIGER192,     "TIGER192" },
    { PGPHASHALGO_HAVAL_5_160,  "HAVAL-5-160" },
    { PGPHASHALGO_SHA256,       "SHA256" },
    { PGPHASHALGO_SHA384,       "SHA384" },
    { PGPHASHALGO_SHA512,       "SHA512" },
    { -1,                       "Unknown hash algorithm" },
}
Hash (string, value) pairs.

Definition at line 80 of file rpmpgp.c.

Referenced by pgpPrtSeckeyParams(), pgpPrtSig(), and pgpPrtSubType().

struct pgpValTbl_s pgpKeyServerPrefsTbl[]

Initial value:

 {
    { 0x80,                     "No-modify" },
    { -1,                       "Unknown key server preference" },
}

Definition at line 95 of file rpmpgp.c.

Referenced by pgpPrtSubType().

struct pgpValTbl_s pgpPubkeyTbl[]

Initial value:

 {
    { PGPPUBKEYALGO_RSA,        "RSA" },
    { PGPPUBKEYALGO_RSA_ENCRYPT,"RSA(Encrypt-Only)" },
    { PGPPUBKEYALGO_RSA_SIGN,   "RSA(Sign-Only)" },
    { PGPPUBKEYALGO_ELGAMAL_ENCRYPT,"Elgamal(Encrypt-Only)" },
    { PGPPUBKEYALGO_DSA,        "DSA" },
    { PGPPUBKEYALGO_EC,         "Elliptic Curve" },
    { PGPPUBKEYALGO_ECDSA,      "ECDSA" },
    { PGPPUBKEYALGO_ELGAMAL,    "Elgamal" },
    { PGPPUBKEYALGO_DH,         "Diffie-Hellman (X9.42)" },
    { -1,                       "Unknown public key algorithm" },
}

Definition at line 43 of file rpmpgp.c.

Referenced by pgpPrtKey(), and pgpPrtSig().

const char* pgpPublicDSA[] [static]

Initial value:

 {
    "    p =",
    "    q =",
    "    g =",
    "    y =",
    NULL,
}

Definition at line 592 of file rpmpgp.c.

Referenced by pgpPrtPubkeyParams().

const char* pgpPublicELGAMAL[] [static]

Initial value:

 {
    "    p =",
    "    g =",
    "    y =",
    NULL,
}

Definition at line 607 of file rpmpgp.c.

Referenced by pgpPrtPubkeyParams().

const char* pgpPublicRSA[] [static]

Initial value:

 {
    "    n =",
    "    e =",
    NULL,
}

Definition at line 576 of file rpmpgp.c.

Referenced by pgpPrtPubkeyParams().

const char* pgpSecretDSA[] [static]

Initial value:

 {
    "    x =",
    NULL,
}

Definition at line 601 of file rpmpgp.c.

Referenced by pgpPrtSeckeyParams().

const char* pgpSecretELGAMAL[] [static]

Initial value:

 {
    "    x =",
    NULL,
}

Definition at line 615 of file rpmpgp.c.

Referenced by pgpPrtSeckeyParams().

const char* pgpSecretRSA[] [static]

Initial value:

 {
    "    d =",
    "    p =",
    "    q =",
    "    u =",
    NULL,
}

Definition at line 583 of file rpmpgp.c.

Referenced by pgpPrtSeckeyParams().

const char* pgpSigDSA[] [static]

Initial value:

 {
    "    r =",
    "    s =",
    NULL,
}

Definition at line 403 of file rpmpgp.c.

Referenced by pgpPrtSigParams().

const char* pgpSigRSA[] [static]

Initial value:

 {
    " m**d =",
    NULL,
}

Definition at line 397 of file rpmpgp.c.

Referenced by pgpPrtSigParams().

struct pgpValTbl_s pgpSigTypeTbl[]

Initial value:

 {
    { PGPSIGTYPE_BINARY,        "Binary document signature" },
    { PGPSIGTYPE_TEXT,          "Text document signature" },
    { PGPSIGTYPE_STANDALONE,    "Standalone signature" },
    { PGPSIGTYPE_GENERIC_CERT,  "Generic certification of a User ID and Public Key" },
    { PGPSIGTYPE_PERSONA_CERT,  "Persona certification of a User ID and Public Key" },
    { PGPSIGTYPE_CASUAL_CERT,   "Casual certification of a User ID and Public Key" },
    { PGPSIGTYPE_POSITIVE_CERT, "Positive certification of a User ID and Public Key" },
    { PGPSIGTYPE_SUBKEY_BINDING,"Subkey Binding Signature" },
    { PGPSIGTYPE_SIGNED_KEY,    "Signature directly on a key" },
    { PGPSIGTYPE_KEY_REVOKE,    "Key revocation signature" },
    { PGPSIGTYPE_SUBKEY_REVOKE, "Subkey revocation signature" },
    { PGPSIGTYPE_CERT_REVOKE,   "Certification revocation signature" },
    { PGPSIGTYPE_TIMESTAMP,     "Timestamp signature" },
    { -1,                       "Unknown signature type" },
}

Definition at line 26 of file rpmpgp.c.

Referenced by pgpPrtSig().

struct pgpValTbl_s pgpSubTypeTbl[]

Subtype (string, value) pairs.

Definition at line 101 of file rpmpgp.c.

Referenced by pgpPrtSubType().

struct pgpValTbl_s pgpSymkeyTbl[]

Initial value:

 {
    { PGPSYMKEYALGO_PLAINTEXT,  "Plaintext" },
    { PGPSYMKEYALGO_IDEA,       "IDEA" },
    { PGPSYMKEYALGO_TRIPLE_DES, "3DES" },
    { PGPSYMKEYALGO_CAST5,      "CAST5" },
    { PGPSYMKEYALGO_BLOWFISH,   "BLOWFISH" },
    { PGPSYMKEYALGO_SAFER,      "SAFER" },
    { PGPSYMKEYALGO_DES_SK,     "DES/SK" },
    { PGPSYMKEYALGO_AES_128,    "AES(128-bit key)" },
    { PGPSYMKEYALGO_AES_192,    "AES(192-bit key)" },
    { PGPSYMKEYALGO_AES_256,    "AES(256-bit key)" },
    { PGPSYMKEYALGO_TWOFISH,    "TWOFISH(256-bit key)" },
    { PGPSYMKEYALGO_NOENCRYPT,  "no encryption" },
    { -1,                       "Unknown symmetric key algorithm" },
}
Symmetric key (string, value) pairs.

Definition at line 56 of file rpmpgp.c.

Referenced by pgpPrtSeckeyParams(), and pgpPrtSubType().

struct pgpValTbl_s pgpTagTbl[]

Initial value:

 {
    { PGPTAG_PUBLIC_SESSION_KEY,"Public-Key Encrypted Session Key" },
    { PGPTAG_SIGNATURE,         "Signature" },
    { PGPTAG_SYMMETRIC_SESSION_KEY,"Symmetric-Key Encrypted Session Key" },
    { PGPTAG_ONEPASS_SIGNATURE, "One-Pass Signature" },
    { PGPTAG_SECRET_KEY,        "Secret Key" },
    { PGPTAG_PUBLIC_KEY,        "Public Key" },
    { PGPTAG_SECRET_SUBKEY,     "Secret Subkey" },
    { PGPTAG_COMPRESSED_DATA,   "Compressed Data" },
    { PGPTAG_SYMMETRIC_DATA,    "Symmetrically Encrypted Data" },
    { PGPTAG_MARKER,            "Marker" },
    { PGPTAG_LITERAL_DATA,      "Literal Data" },
    { PGPTAG_TRUST,             "Trust" },
    { PGPTAG_USER_ID,           "User ID" },
    { PGPTAG_PUBLIC_SUBKEY,     "Public Subkey" },
    { PGPTAG_COMMENT_OLD,       "Comment (from OpenPGP draft)" },
    { PGPTAG_PHOTOID,           "PGP's photo ID" },
    { PGPTAG_ENCRYPTED_MDC,     "Integrity protected encrypted data" },
    { PGPTAG_MDC,               "Manipulaion detection code packet" },
    { PGPTAG_PRIVATE_60,        "Private #60" },
    { PGPTAG_COMMENT,           "Comment" },
    { PGPTAG_PRIVATE_62,        "Private #62" },
    { PGPTAG_CONTROL,           "Control (GPG)" },
    { -1,                       "Unknown packet tag" },
}

Definition at line 140 of file rpmpgp.c.

Referenced by pgpPrtComment(), pgpPrtKey(), pgpPrtPkt(), pgpPrtSig(), and pgpPrtUserID().


Generated on Fri Oct 12 08:44:56 2007 for rpm by  doxygen 1.5.2