#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 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) |
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 | pgpPrtPkt (const byte *pkt, unsigned int pleft) |
Print/parse next OpenPGP packet. | |
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 [] |
pgpDig | pgpNewDig (void) |
Definition in file rpmpgp.c.
|
|
|
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
|
|
Wrap a OpenPGP packets in ascii armor for transport.
Definition at line 1277 of file rpmpgp.c. References _free(), pgpValStr(), stpcpy(), VERSION, and xmalloc(). Referenced by armorFormat(), and processPubkeyFile(). |
|
Release (malloc'd) data from container.
Definition at line 1036 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(). |
|
Destroy a container for parsed OpenPGP packates.
Definition at line 1071 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_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(). |
|
Definition at line 326 of file rpmpgp.c. References _debug, _free(), _print, byte, pgpMpiBits(), pgpMpiHex(), and xmalloc(). Referenced by pgpPrtSigParams(). |
|
Definition at line 313 of file rpmpgp.c. References byte, pgpHexCvt(), and pgpMpiLen(). Referenced by pgpHexSet(), pgpPrtPubkeyParams(), and pgpPrtSigParams(). |
|
Print/parse an OpenPGP comment packet.
Definition at line 931 of file rpmpgp.c. References byte, pgpPrtHex(), pgpPrtNL(), pgpPrtVal(), and pgpTag. Referenced by pgpPrtPkt(). |
|
Definition at line 290 of file rpmpgp.c. References _print, byte, and pgpHexStr(). Referenced by pgpPrtComment(), pgpPrtPkt(), pgpPrtSeckeyParams(), pgpPrtSig(), and pgpPrtSubType(). |
|
Definition at line 270 of file rpmpgp.c. References _print. Referenced by pgpPrtSeckeyParams(). |
|
Print/parse an OpenPGP key packet.
Definition at line 850 of file rpmpgp.c. References byte, pgpGrab(), pgpPrtNL(), pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), pgpPrtVal(), pgpTag, PGPTAG_PUBLIC_KEY, PGPTAG_PUBLIC_SUBKEY, 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(). |
|
Definition at line 262 of file rpmpgp.c. References _print. Referenced by pgpPrtComment(), pgpPrtKey(), pgpPrtPkt(), pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), pgpPrtSig(), pgpPrtSigParams(), pgpPrtSubType(), and pgpPrtUserID(). |
|
Print/parse next OpenPGP packet.
Definition at line 957 of file rpmpgp.c. References byte, pgpGrab(), pgpLen(), pgpPrtComment(), pgpPrtHex(), pgpPrtKey(), pgpPrtNL(), pgpPrtSig(), pgpPrtUserID(), pgpPrtVal(), 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, and PGPTAG_USER_ID. Referenced by pgpPrtPkts(). |
|
Print/parse a OpenPGP packet(s).
Definition at line 1124 of file rpmpgp.c. References _print, byte, pgpPrtPkt(), pgpTag, PGPTAG_SIGNATURE, pgpDig_s::pubkey, pgpDig_s::signature, and pgpDigParams_s::tag. Referenced by getSignid(), headerCheck(), pgpsigFormat(), rpmcliImportPubkey(), rpmdbAdd(), rpmdbRemove(), rpmReadPackageFile(), rpmts_PgpPrtPkts(), rpmtsFindPubkey(), and rpmVerifySignatures(). |
|
Definition at line 687 of file rpmpgp.c. References _debug, _print, byte, 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, pgpDigParams_s::signid, and pgpDig_s::y. Referenced by pgpPrtKey(). |
|
Definition at line 776 of file rpmpgp.c. References byte, pgpMpiLen(), pgpMpiStr(), pgpPrtHex(), pgpPrtInt(), pgpPrtNL(), pgpPrtStr(), pgpPrtVal(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_ELGAMAL_ENCRYPT, PGPPUBKEYALGO_RSA, pgpSecretDSA, pgpSecretELGAMAL, and pgpSecretRSA. Referenced by pgpPrtKey(). |
|
Print/parse an OpenPGP signature packet.
Definition at line 529 of file rpmpgp.c. References _debug, _print, 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(), pgpHexStr(), pgpPrtHex(), pgpPrtNL(), pgpPrtSigParams(), pgpPrtSubType(), pgpPrtVal(), pgpTag, 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(). |
|
Definition at line 468 of file rpmpgp.c. References _debug, _print, byte, pgpDig_s::c, pgpHexSet(), pgpMpiHex(), pgpMpiLen(), pgpMpiStr(), pgpPrtNL(), pgpPrtStr(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_RSA, pgpSigDSA, pgpSigRSA, PGPSIGTYPE_BINARY, PGPSIGTYPE_TEXT, pgpTag, pgpDig_s::r, and pgpDig_s::s. Referenced by pgpPrtSig(). |
|
Definition at line 280 of file rpmpgp.c. References _print. Referenced by pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), and pgpPrtSigParams(). |
|
|
Print/parse an OpenPGP userid packet.
Definition at line 914 of file rpmpgp.c. References byte, pgpPrtNL(), pgpPrtVal(), pgpTag, pgpDigParams_s::userid, and xmalloc(). Referenced by pgpPrtPkt(). |
|
Print an OpenPGP value.
Definition at line 300 of file rpmpgp.c. References _print, byte, pgpValStr(), and pgpValTbl. Referenced by pgpPrtComment(), pgpPrtKey(), pgpPrtPkt(), pgpPrtSeckeyParams(), pgpPrtSig(), pgpPrtSubType(), and pgpPrtUserID(). |
|
Parse armored OpenPGP packets from a file.
Definition at line 1153 of file rpmpgp.c. References _free(), byte, pgpArmor, PGPARMOR_ERROR, PGPARMOR_NONE, PGPARMOR_PUBKEY, pgpCRC(), pgpGrab(), pgpIsPkt(), pgpValTok(), and rpmioSlurp(). Referenced by processPubkeyFile(), rpmcliImportPubkeys(), and rpmtsFindPubkey(). |
|
Definition at line 15 of file rpmpgp.c. Referenced by pgpHexSet(), pgpPrtPubkeyParams(), pgpPrtSig(), and pgpPrtSigParams(). |
|
|
|
|
|
Definition at line 18 of file rpmpgp.c. Referenced by pgpHexSet(), pgpPrtHex(), pgpPrtInt(), pgpPrtNL(), pgpPrtPkts(), pgpPrtPubkeyParams(), pgpPrtSig(), pgpPrtSigParams(), pgpPrtStr(), and pgpPrtVal(). |
|
Initial value: { { PGPARMORKEY_VERSION, "Version: " }, { PGPARMORKEY_COMMENT, "Comment: " }, { PGPARMORKEY_MESSAGEID, "MessageID: " }, { PGPARMORKEY_HASH, "Hash: " }, { PGPARMORKEY_CHARSET, "Charset: " }, { -1, "Unknown armor key" } }
|
|
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" } }
|
|
Initial value: { { PGPCOMPRESSALGO_NONE, "Uncompressed" }, { PGPCOMPRESSALGO_ZIP, "ZIP" }, { PGPCOMPRESSALGO_ZLIB, "ZLIB" }, { -1, "Unknown compression algorithm" }, }
|
|
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" }, }
|
|
Initial value: { { 0x80, "No-modify" }, { -1, "Unknown key server preference" }, } |
|
|
|
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" }, } |
|
Initial value: { " p =", " q =", " g =", " y =", NULL, } Definition at line 658 of file rpmpgp.c. Referenced by pgpPrtPubkeyParams(). |
|
Initial value: { " p =", " g =", " y =", NULL, } Definition at line 673 of file rpmpgp.c. Referenced by pgpPrtPubkeyParams(). |
|
Initial value: { " n =", " e =", NULL, } Definition at line 642 of file rpmpgp.c. Referenced by pgpPrtPubkeyParams(). |
|
Initial value: {
" x =",
NULL,
} Definition at line 667 of file rpmpgp.c. Referenced by pgpPrtSeckeyParams(). |
|
Initial value: {
" x =",
NULL,
} Definition at line 681 of file rpmpgp.c. Referenced by pgpPrtSeckeyParams(). |
|
Initial value: { " d =", " p =", " q =", " u =", NULL, } Definition at line 649 of file rpmpgp.c. Referenced by pgpPrtSeckeyParams(). |
|
Initial value: { " r =", " s =", NULL, } Definition at line 461 of file rpmpgp.c. Referenced by pgpPrtSigParams(). |
|
Initial value: {
" m**d =",
NULL,
} Definition at line 455 of file rpmpgp.c. Referenced by pgpPrtSigParams(). |
|
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" }, } |
|
Subtype (string, value) pairs.
|
|
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" }, }
|
|
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" }, } |