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

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

void* _free (const void *p)
 Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. More...

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)
const char* pgpMpiHex (const byte *p)
void pgpHexSet (const char *pre, int lbits, mp32number *mpn, const byte *p)
int pgpPrtSubType (const byte *h, unsigned int hlen)
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)
const byte* pgpPrtPubkeyParams (byte pubkey_algo, const byte *p, const byte *h, unsigned int hlen)
const byte* pgpPrtSeckeyParams (byte pubkey_algo, const byte *p, const byte *h, unsigned int hlen)
int pgpPrtKey (pgpTag tag, const byte *h, unsigned int hlen)
int pgpPrtUserID (pgpTag tag, const byte *h, unsigned int hlen)
int pgpPrtComment (pgpTag tag, const byte *h, unsigned int hlen)
int pgpPrtPkt (const byte *pkt)
struct pgpDig_spgpNewDig (void)
struct pgpDig_spgpFreeDig (struct pgpDig_s *dig)
int pgpPrtPkts (const byte *pkts, unsigned int plen, struct pgpDig_s *dig, int printing)
pgpArmor pgpReadPkts (const char *fn, const byte **pkt, size_t *pktlen)

Variables

int _debug = 0
int _print = 0
struct pgpDig_s_dig = NULL
struct pgpDigParams_s_digp = NULL
struct pgpValTbl_s pgpSigTypeTbl []
struct pgpValTbl_s pgpPubkeyTbl []
struct pgpValTbl_s pgpSymkeyTbl []
struct pgpValTbl_s pgpCompressionTbl []
struct pgpValTbl_s pgpHashTbl []
struct pgpValTbl_s pgpKeyServerPrefsTbl []
struct pgpValTbl_s pgpSubTypeTbl []
struct pgpValTbl_s pgpTagTbl []
struct pgpValTbl_s pgpArmorTbl []
struct pgpValTbl_s pgpArmorKeyTbl []
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 251 of file rpmpgp.c.

struct pgpDig_s * pgpFreeDig ( struct pgpDig_s * dig )
 

Definition at line 995 of file rpmpgp.c.

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

Definition at line 318 of file rpmpgp.c.

Referenced by pgpPrtSigParams().

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

Definition at line 309 of file rpmpgp.c.

Referenced by pgpHexSet().

struct pgpDig_s * pgpNewDig ( void )
 

Definition at line 989 of file rpmpgp.c.

Referenced by rpmdbAdd(), and rpmdbRemove().

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

Definition at line 894 of file rpmpgp.c.

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

Definition at line 286 of file rpmpgp.c.

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

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

Definition at line 266 of file rpmpgp.c.

Referenced by pgpPrtSeckeyParams().

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

Definition at line 815 of file rpmpgp.c.

void pgpPrtNL ( void ) [static]
 

Definition at line 258 of file rpmpgp.c.

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

int pgpPrtPkt ( const byte * pkt )
 

Definition at line 920 of file rpmpgp.c.

int pgpPrtPkts ( const byte * pkts,
unsigned int plen,
struct pgpDig_s * dig,
int printing )
 

Definition at line 1038 of file rpmpgp.c.

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

Definition at line 652 of file rpmpgp.c.

Referenced by pgpPrtKey().

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

Definition at line 741 of file rpmpgp.c.

Referenced by pgpPrtKey().

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

Definition at line 500 of file rpmpgp.c.

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

Definition at line 444 of file rpmpgp.c.

Referenced by pgpPrtSig().

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

Definition at line 276 of file rpmpgp.c.

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

int pgpPrtSubType ( const byte * h,
unsigned int hlen )
 

Definition at line 341 of file rpmpgp.c.

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

Definition at line 878 of file rpmpgp.c.

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

Definition at line 296 of file rpmpgp.c.

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

Definition at line 1064 of file rpmpgp.c.


Variable Documentation

int _debug = 0 [static]
 

Definition at line 11 of file rpmpgp.c.

struct pgpDig_s* _dig = NULL [static]
 

Definition at line 17 of file rpmpgp.c.

struct pgpDigParams_s* _digp = NULL [static]
 

Definition at line 20 of file rpmpgp.c.

int _print = 0 [static]
 

Definition at line 14 of file rpmpgp.c.

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" }
}

Definition at line 236 of file rpmpgp.c.

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" }
}

Definition at line 225 of file rpmpgp.c.

struct pgpValTbl_s pgpCompressionTbl
 

Initial value:

 {
    { PGPCOMPRESSALGO_NONE,     "Uncompressed" },
    { PGPCOMPRESSALGO_ZIP,      "ZIP" },
    { PGPCOMPRESSALGO_ZLIB,     "ZLIB" },
    { -1,                       "Unknown compression algorithm" },
}

Definition at line 138 of file rpmpgp.c.

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" },
}

Definition at line 145 of file rpmpgp.c.

struct pgpValTbl_s pgpKeyServerPrefsTbl[]
 

Initial value:

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

Definition at line 157 of file rpmpgp.c.

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

const char* pgpPublicDSA[] [static]
 

Initial value:

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

Definition at line 623 of file rpmpgp.c.

const char* pgpPublicELGAMAL[] [static]
 

Initial value:

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

Definition at line 638 of file rpmpgp.c.

const char* pgpPublicRSA[] [static]
 

Initial value:

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

Definition at line 607 of file rpmpgp.c.

const char* pgpSecretDSA[] [static]
 

Initial value:

 {
    "    x =",
    NULL,
}

Definition at line 632 of file rpmpgp.c.

const char* pgpSecretELGAMAL[] [static]
 

Initial value:

 {
    "    x =",
    NULL,
}

Definition at line 646 of file rpmpgp.c.

const char* pgpSecretRSA[] [static]
 

Initial value:

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

Definition at line 614 of file rpmpgp.c.

const char* pgpSigDSA[] [static]
 

Initial value:

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

Definition at line 437 of file rpmpgp.c.

const char* pgpSigRSA[] [static]
 

Initial value:

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

Definition at line 431 of file rpmpgp.c.

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

struct pgpValTbl_s pgpSubTypeTbl
 

Definition at line 163 of file rpmpgp.c.

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" },
}

Definition at line 123 of file rpmpgp.c.

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


Generated at Fri Aug 2 00:04:17 2002 for rpm by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001