Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

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

void * _free (const void *p)
 Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
void pgpPrtNL (void)
void pgpPrtInt (const char *pre, int i)
void pgpPrtStr (const char *pre, const char *s)
void pgpPrtHex (const char *pre, const byte *p, unsigned int plen)
void pgpPrtVal (const char *pre, pgpValTbl vs, byte val)
 Print an OpenPGP value.
const char * pgpMpiHex (const byte *p)
int pgpHexSet (const char *pre, int lbits, mpnumber *mpn, const byte *p, const byte *pend)
int pgpPrtSubType (const byte *h, unsigned int hlen, pgpSigType sigtype)
 Print/parse an OpenPGP subtype packet.
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.
const bytepgpPrtPubkeyParams (byte pubkey_algo, const byte *p, const byte *h, unsigned int hlen)
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

int _debug = 0
int _print = 0
pgpDig _dig = NULL
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.
const char * pgpSigRSA []
const char * pgpSigDSA []
const char * pgpPublicRSA []
const char * pgpSecretRSA []
const char * pgpPublicDSA []
const char * pgpSecretDSA []
const char * pgpPublicELGAMAL []
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

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 255 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 1328 of file rpmpgp.c.

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

Referenced by armorFormat(), and processMetadataFile().

void pgpCleanDig pgpDig  dig  ) 
 

Release (malloc'd) data from container.

Parameters:
dig container

Definition at line 1087 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, 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 1122 of file rpmpgp.c.

References _free(), pgpDig_s::c, pgpDig_s::g, pgpDig_s::hdrsha1ctx, pgpDig_s::hm, pgpDig_s::m, pgpDig_s::md5ctx, pgpDig_s::p, pgpCleanDig(), pgpDig, pgpDig_s::q, pgpDig_s::r, rpmDigestFinal(), pgpDig_s::rsa_pk, pgpDig_s::s, pgpDig_s::sha1ctx, and pgpDig_s::y.

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

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

Returns:
0 on success

Definition at line 326 of file rpmpgp.c.

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

Referenced by pgpPrtSigParams().

const char* pgpMpiHex const byte p  )  [static]
 

Definition at line 313 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 1080 of file rpmpgp.c.

References pgpDig, and xcalloc().

Referenced by getSignid(), 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 916 of file rpmpgp.c.

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

Referenced by pgpPrtPkt().

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

Definition at line 290 of file rpmpgp.c.

References pgpHexStr().

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

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

Definition at line 270 of file rpmpgp.c.

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 837 of file rpmpgp.c.

References _digp, byte, pgpGrab(), pgpPktKeyV3, pgpPktKeyV4, pgpPrtNL(), pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), pgpPrtVal(), pgpPubkeyTbl, PGPTAG_PUBLIC_KEY, 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().

void pgpPrtNL void   )  [static]
 

Definition at line 262 of file rpmpgp.c.

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 1000 of file rpmpgp.c.

References _digp, byte, pgpGrab(), pgpLen(), pgpPrtComment(), pgpPrtHex(), pgpPrtKey(), pgpPrtNL(), pgpPrtSig(), pgpPrtUserID(), pgpPrtVal(), pgpPubkeyFingerprint(), pgpTag, 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, and pgpDigParams_s::signid.

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 1175 of file rpmpgp.c.

References _dig, _digp, _print, byte, pgpDig, pgpPrtPkt(), pgpTag, pgpDig_s::pubkey, pgpDig_s::signature, and pgpDigParams_s::tag.

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

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

Definition at line 679 of file rpmpgp.c.

References _debug, _dig, _digp, byte, pgpDig_s::g, pgpDig_s::p, pgpMpiHex(), pgpMpiLen(), pgpMpiStr(), pgpPrtNL(), pgpPrtStr(), pgpPublicDSA, pgpPublicELGAMAL, pgpPublicRSA, pgpDig_s::q, pgpDig_s::rsa_pk, pgpDigParams_s::signid, and pgpDig_s::y.

Referenced by pgpPrtKey().

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

Definition at line 763 of file rpmpgp.c.

References byte, pgpHashTbl, pgpMpiLen(), pgpMpiStr(), pgpPrtHex(), pgpPrtInt(), pgpPrtNL(), pgpPrtStr(), pgpPrtVal(), 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 525 of file rpmpgp.c.

References _debug, _digp, byte, 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(), pgpPktSigV3, pgpPktSigV4, 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().

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

Definition at line 468 of file rpmpgp.c.

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

Referenced by pgpPrtSig().

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

Definition at line 280 of file rpmpgp.c.

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 359 of file rpmpgp.c.

References _digp, byte, pgpCompressionTbl, pgpGrab(), pgpHashTbl, pgpKeyServerPrefsTbl, pgpLen(), pgpPrtHex(), pgpPrtNL(), pgpPrtVal(), PGPSUBTYPE_BACKWARD_COMPAT, PGPSUBTYPE_EXPORTABLE_CERT, 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 899 of file rpmpgp.c.

References _digp, 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 300 of file rpmpgp.c.

References pgpValStr(), and pgpValTbl.

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 942 of file rpmpgp.c.

References byte, DIGEST_CTX, PGPHASHALGO_SHA1, pgpMpiLen(), pgpPktKeyV3, pgpPktKeyV4, PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, pgpPktKeyV3_s::pubkey_algo, pgpPktKeyV4_s::pubkey_algo, 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 1204 of file rpmpgp.c.

References _free(), byte, pgpArmor, PGPARMOR_NONE, 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.

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

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(), pgpPrtPubkeyParams(), pgpPrtSig(), pgpPrtSubType(), and pgpPrtUserID().

int _print = 0 [static]
 

Definition at line 18 of file rpmpgp.c.

Referenced by pgpPrtPkts().

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 240 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 229 of file rpmpgp.c.

Referenced by pgpArmorWrap(), and pgpReadPkts().

struct pgpValTbl_s pgpCompressionTbl[]
 

Initial value:

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

Definition at line 142 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" },
    { -1,                       "Unknown hash algorithm" },
}
Hash (string, value) pairs.

Definition at line 149 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 161 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 114 of file rpmpgp.c.

Referenced by pgpPrtKey(), and pgpPrtSig().

const char* pgpPublicDSA[] [static]
 

Initial value:

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

Definition at line 650 of file rpmpgp.c.

Referenced by pgpPrtPubkeyParams().

const char* pgpPublicELGAMAL[] [static]
 

Initial value:

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

Definition at line 665 of file rpmpgp.c.

Referenced by pgpPrtPubkeyParams().

const char* pgpPublicRSA[] [static]
 

Initial value:

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

Definition at line 634 of file rpmpgp.c.

Referenced by pgpPrtPubkeyParams().

const char* pgpSecretDSA[] [static]
 

Initial value:

 {
    "    x =",
    NULL,
}

Definition at line 659 of file rpmpgp.c.

Referenced by pgpPrtSeckeyParams().

const char* pgpSecretELGAMAL[] [static]
 

Initial value:

 {
    "    x =",
    NULL,
}

Definition at line 673 of file rpmpgp.c.

Referenced by pgpPrtSeckeyParams().

const char* pgpSecretRSA[] [static]
 

Initial value:

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

Definition at line 641 of file rpmpgp.c.

Referenced by pgpPrtSeckeyParams().

const char* pgpSigDSA[] [static]
 

Initial value:

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

Definition at line 461 of file rpmpgp.c.

Referenced by pgpPrtSigParams().

const char* pgpSigRSA[] [static]
 

Initial value:

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

Definition at line 455 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 97 of file rpmpgp.c.

Referenced by pgpPrtSig().

struct pgpValTbl_s pgpSubTypeTbl[]
 

Subtype (string, value) pairs.

Definition at line 167 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" },
    { -1,                       "Unknown symmetric key algorithm" },
}
Symmetric key (string, value) pairs.

Definition at line 127 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 203 of file rpmpgp.c.

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


Generated on Thu Aug 14 06:08:43 2008 for rpm by  doxygen 1.3.9.1