rpmio/rpmpgp.c - Routines to handle RFC-2440 detached signatures.
#include 'system.h'
#include 'rpmio_internal.h'
#include 'debug.h'
#define TOKEQ(_s, _tok) (!strncmp((_s), (_tok), sizeof(_tok)-1))
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)
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)
pgpDig_s * pgpNewDig (void)
pgpDig_s * pgpFreeDig (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)
int _debug = 0
int _print = 0
pgpDig_s * _dig = NULL
pgpDigParams_s * _digp = NULL
pgpValTbl_s pgpSigTypeTbl []
pgpValTbl_s pgpPubkeyTbl []
pgpValTbl_s pgpSymkeyTbl []
pgpValTbl_s pgpCompressionTbl []
pgpValTbl_s pgpHashTbl []
pgpValTbl_s pgpKeyServerPrefsTbl []
pgpValTbl_s pgpSubTypeTbl []
pgpValTbl_s pgpTagTbl []
pgpValTbl_s pgpArmorTbl []
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 []
Routines to handle RFC-2440 detached signatures.
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
Parameters:
Returns: NULL always
Definition at line 251 of file rpmpgp.c.
Definition at line 995 of file rpmpgp.c.
References _free(), pgpDig_s::c, pgpDigParams_s::hash, pgpDig_s::hm, pgpDig_s::m, pgpDig_s::md5, pgpDig_s::md5ctx, pgpDigParams_s::params, pgpDig_s::pubkey, pgpDig_s::r, rpmDigestFinal(), pgpDig_s::rsa_pk, pgpDig_s::rsahm, pgpDig_s::s, pgpDig_s::sha1, pgpDig_s::sha1ctx, pgpDig_s::signature, and pgpDigParams_s::userid.
Definition at line 318 of file rpmpgp.c.
References _debug, _free(), _print, pgpMpiBits(), pgpMpiHex(), and xmalloc().
Referenced by pgpPrtSigParams().
Definition at line 309 of file rpmpgp.c.
References pgpHexCvt(), and pgpMpiLen().
Referenced by pgpHexSet(), pgpPrtPubkeyParams(), and pgpPrtSigParams().
Definition at line 989 of file rpmpgp.c.
References xcalloc().
Referenced by rpmdbAdd(), and rpmdbRemove().
Definition at line 894 of file rpmpgp.c.
References pgpPrtHex(), pgpPrtNL(), pgpPrtVal(), and pgpTag.
Definition at line 286 of file rpmpgp.c.
References _print, and pgpHexStr().
Referenced by pgpPrtComment(), pgpPrtPkt(), pgpPrtSeckeyParams(), pgpPrtSig(), and pgpPrtSubType().
Definition at line 266 of file rpmpgp.c.
References _print.
Referenced by pgpPrtSeckeyParams().
Definition at line 815 of file rpmpgp.c.
References 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.
Definition at line 258 of file rpmpgp.c.
References _print.
Referenced by pgpPrtComment(), pgpPrtKey(), pgpPrtPkt(), pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), pgpPrtSig(), pgpPrtSigParams(), pgpPrtSubType(), and pgpPrtUserID().
Definition at line 920 of file rpmpgp.c.
References 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.
Definition at line 1038 of file rpmpgp.c.
References _print, pgpPrtPkt(), pgpTag, PGPTAG_SIGNATURE, pgpDig_s::pubkey, pgpDig_s::signature, and pgpDigParams_s::tag.
Referenced by rpmdbAdd(), and rpmdbRemove().
Definition at line 652 of file rpmpgp.c.
References _debug, _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, pgpDigParams_s::signid, and pgpDig_s::y.
Definition at line 741 of file rpmpgp.c.
References pgpMpiLen(), pgpMpiStr(), pgpPrtHex(), pgpPrtInt(), pgpPrtNL(), pgpPrtStr(), pgpPrtVal(), PGPPUBKEYALGO_DSA, PGPPUBKEYALGO_ELGAMAL_ENCRYPT, PGPPUBKEYALGO_RSA, pgpSecretDSA, pgpSecretELGAMAL, and pgpSecretRSA.
Definition at line 500 of file rpmpgp.c.
References _debug, _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(), 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().
Definition at line 444 of file rpmpgp.c.
References _debug, _print, 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.
Definition at line 276 of file rpmpgp.c.
References _print.
Referenced by pgpPrtPubkeyParams(), pgpPrtSeckeyParams(), and pgpPrtSigParams().
Definition at line 341 of file rpmpgp.c.
References pgpGrab(), 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, PGPTAG_PUBLIC_KEY, pgpDigParams_s::signid, pgpDigParams_s::tag, and pgpDigParams_s::time.
Definition at line 878 of file rpmpgp.c.
References pgpPrtNL(), pgpPrtVal(), pgpTag, pgpDigParams_s::userid, and xmalloc().
Definition at line 296 of file rpmpgp.c.
References _print, pgpValStr(), and pgpValTbl.
Referenced by pgpPrtComment(), pgpPrtKey(), pgpPrtPkt(), pgpPrtSeckeyParams(), pgpPrtSig(), pgpPrtSubType(), and pgpPrtUserID().
Definition at line 1064 of file rpmpgp.c.
References _free(), pgpArmor, PGPARMOR_ERROR, PGPARMOR_NONE, PGPARMOR_PUBKEY, pgpCRC(), pgpGrab(), pgpIsPkt(), pgpValTok(), and rpmioSlurp().
Definition at line 11 of file rpmpgp.c.
Referenced by pgpHexSet(), pgpPrtPubkeyParams(), pgpPrtSig(), and pgpPrtSigParams().
Definition at line 17 of file rpmpgp.c.
Definition at line 20 of file rpmpgp.c.
Definition at line 14 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' } }
Definition at line 236 of file rpmpgp.c.
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.
Initial value:
{ { PGPCOMPRESSALGO_NONE, 'Uncompressed' }, { PGPCOMPRESSALGO_ZIP, 'ZIP' }, { PGPCOMPRESSALGO_ZLIB, 'ZLIB' }, { -1, 'Unknown compression algorithm' }, }
Definition at line 138 of file rpmpgp.c.
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.
Initial value:
{ { 0x80, 'No-modify' }, { -1, 'Unknown key server preference' }, }
Definition at line 157 of file rpmpgp.c.
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.
Initial value:
{ ' p =', ' q =', ' g =', ' y =', NULL, }
Definition at line 623 of file rpmpgp.c.
Referenced by pgpPrtPubkeyParams().
Initial value:
{ ' p =', ' g =', ' y =', NULL, }
Definition at line 638 of file rpmpgp.c.
Referenced by pgpPrtPubkeyParams().
Initial value:
{ ' n =', ' e =', NULL, }
Definition at line 607 of file rpmpgp.c.
Referenced by pgpPrtPubkeyParams().
Initial value:
{ ' x =', NULL, }
Definition at line 632 of file rpmpgp.c.
Referenced by pgpPrtSeckeyParams().
Initial value:
{ ' x =', NULL, }
Definition at line 646 of file rpmpgp.c.
Referenced by pgpPrtSeckeyParams().
Initial value:
{ ' d =', ' p =', ' q =', ' u =', NULL, }
Definition at line 614 of file rpmpgp.c.
Referenced by pgpPrtSeckeyParams().
Initial value:
{ ' r =', ' s =', NULL, }
Definition at line 437 of file rpmpgp.c.
Referenced by pgpPrtSigParams().
Initial value:
{ ' m**d =', NULL, }
Definition at line 431 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' }, }
Definition at line 93 of file rpmpgp.c.
Definition at line 163 of file rpmpgp.c.
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.
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 automatically by Doxygen for rpm from the source code.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |