rpm
5.2.1
|
OpenPGP constants and structures from RFC-2440. More...
Go to the source code of this file.
Data Structures | |
struct | pgpValTbl_s |
struct | pgpPktPubkey_s |
5.1. More... | |
struct | pgpPktSigV3_s |
5.2.2. More... | |
struct | pgpPktSigV4_s |
5.2.3. More... | |
union | pgpPktSig_u |
5.2. More... | |
struct | pgpPktSymkey_s |
5.3. More... | |
struct | pgpPktOnepass_s |
5.4. More... | |
struct | pgpPktKeyV3_s |
5.5.1. More... | |
struct | pgpPktKeyV4_s |
The version 4 format is similar to the version 3 format except for the absence of a validity period. More... | |
union | pgpPktKey_u |
5.5.3. More... | |
struct | pgpPktCdata_s |
5.6. More... | |
struct | pgpPktEdata_s |
5.7. More... | |
struct | pgpPktLdata_s |
5.8. More... | |
struct | pgpPktTrust_s |
5.10. More... | |
struct | pgpPktUid_s |
5.11. More... | |
union | pgpPktPre_u |
struct | pgpImplVecs_s |
Defines | |
#define | PGPARMOR_ERROR PGPARMOR_ERR_NO_BEGIN_PGP |
#define | pgpDigUnlink(_dig, _msg) ((pgpDig)rpmioUnlinkPoolItem((rpmioItem)(_dig), _msg, __FILE__, __LINE__)) |
#define | pgpDigLink(_dig, _msg) ((pgpDig)rpmioLinkPoolItem((rpmioItem)(_dig), _msg, __FILE__, __LINE__)) |
#define | pgpDigFree(_dig, _msg) ((pgpDig)rpmioFreePoolItem((rpmioItem)(_dig), _msg, __FILE__, __LINE__)) |
#define | CRC24_INIT 0xb704ce |
#define | CRC24_POLY 0x1864cfb |
Typedefs | |
typedef struct pgpValTbl_s * | pgpValTbl |
typedef enum pgpTag_e | pgpTag |
4.3. | |
typedef struct pgpPktPubkey_s | pgpPktPubkey |
5.1. | |
typedef enum pgpSigType_e | pgpSigType |
5.2.1. | |
typedef enum pgpPubkeyAlgo_e | pgpPubkeyAlgo |
9.1. | |
typedef enum pgpSymkeyAlgo_e | pgpSymkeyAlgo |
9.2. | |
typedef enum pgpCompressAlgo_e | pgpCompressAlgo |
9.3. | |
typedef struct pgpPktSigV3_s * | pgpPktSigV3 |
5.2.2. | |
typedef struct pgpPktSigV4_s * | pgpPktSigV4 |
5.2.3. | |
typedef enum pgpSubType_e | pgpSubType |
5.2.3.1. | |
typedef union pgpPktSig_u * | pgpPktSig |
5.2. | |
typedef struct pgpPktSymkey_s | pgpPktSymkey |
5.3. | |
typedef struct pgpPktOnepass_s * | pgpPktOnepass |
5.4. | |
typedef struct pgpPktKeyV3_s * | pgpPktKeyV3 |
5.5.1. | |
typedef struct pgpPktKeyV4_s * | pgpPktKeyV4 |
The version 4 format is similar to the version 3 format except for the absence of a validity period. | |
typedef union pgpPktKey_u | pgpPktKey |
5.5.3. | |
typedef struct pgpPktCdata_s | pgpPktCdata |
5.6. | |
typedef struct pgpPktEdata_s | pgpPktEdata |
5.7. | |
typedef struct pgpPktLdata_s | pgpPktLdata |
5.8. | |
typedef struct pgpPktTrust_s | pgpPktTrust |
5.10. | |
typedef struct pgpPktUid_s | pgpPktUid |
5.11. | |
typedef enum pgpArmor_e | pgpArmor |
typedef enum pgpArmorKey_e | pgpArmorKey |
typedef int(* | pgpImplSet_t )(DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) |
typedef int(* | pgpImplVerify_t )(pgpDig dig) |
typedef int(* | pgpImplMpiItem_t )(const char *pre, pgpDig dig, int itemno, const rpmuint8_t *p, const rpmuint8_t *pend) |
typedef void(* | pgpImplClean_t )(void *impl) |
typedef void *(* | pgpImplFree_t )(void *impl) |
typedef void *(* | pgpImplInit_t )(void) |
typedef struct pgpImplVecs_s | pgpImplVecs_t |
Enumerations | |
enum | pgpTag_e { PGPTAG_RESERVED = 0, PGPTAG_PUBLIC_SESSION_KEY = 1, PGPTAG_SIGNATURE = 2, PGPTAG_SYMMETRIC_SESSION_KEY = 3, PGPTAG_ONEPASS_SIGNATURE = 4, PGPTAG_SECRET_KEY = 5, PGPTAG_PUBLIC_KEY = 6, PGPTAG_SECRET_SUBKEY = 7, PGPTAG_COMPRESSED_DATA = 8, PGPTAG_SYMMETRIC_DATA = 9, PGPTAG_MARKER = 10, PGPTAG_LITERAL_DATA = 11, PGPTAG_TRUST = 12, PGPTAG_USER_ID = 13, PGPTAG_PUBLIC_SUBKEY = 14, PGPTAG_COMMENT_OLD = 16, PGPTAG_PHOTOID = 17, PGPTAG_ENCRYPTED_MDC = 18, PGPTAG_MDC = 19, PGPTAG_PRIVATE_60 = 60, PGPTAG_COMMENT = 61, PGPTAG_PRIVATE_62 = 62, PGPTAG_CONTROL = 63 } |
4.3. More... | |
enum | pgpSigType_e { PGPSIGTYPE_BINARY = 0x00, PGPSIGTYPE_TEXT = 0x01, PGPSIGTYPE_STANDALONE = 0x02, PGPSIGTYPE_GENERIC_CERT = 0x10, PGPSIGTYPE_PERSONA_CERT = 0x11, PGPSIGTYPE_CASUAL_CERT = 0x12, PGPSIGTYPE_POSITIVE_CERT = 0x13, PGPSIGTYPE_SUBKEY_BINDING = 0x18, PGPSIGTYPE_SIGNED_KEY = 0x1F, PGPSIGTYPE_KEY_REVOKE = 0x20, PGPSIGTYPE_SUBKEY_REVOKE = 0x28, PGPSIGTYPE_CERT_REVOKE = 0x30, PGPSIGTYPE_TIMESTAMP = 0x40, PGPSIGTYPE_CONFIRM = 0x50 } |
5.2.1. More... | |
enum | pgpPubkeyAlgo_e { PGPPUBKEYALGO_RSA = 1, PGPPUBKEYALGO_RSA_ENCRYPT = 2, PGPPUBKEYALGO_RSA_SIGN = 3, PGPPUBKEYALGO_ELGAMAL_ENCRYPT = 16, PGPPUBKEYALGO_DSA = 17, PGPPUBKEYALGO_EC = 18, PGPPUBKEYALGO_ECDSA = 19, PGPPUBKEYALGO_ELGAMAL = 20, PGPPUBKEYALGO_DH = 21 } |
9.1. More... | |
enum | pgpSymkeyAlgo_e { PGPSYMKEYALGO_PLAINTEXT = 0, PGPSYMKEYALGO_IDEA = 1, PGPSYMKEYALGO_TRIPLE_DES = 2, PGPSYMKEYALGO_CAST5 = 3, PGPSYMKEYALGO_BLOWFISH = 4, PGPSYMKEYALGO_SAFER = 5, PGPSYMKEYALGO_DES_SK = 6, PGPSYMKEYALGO_AES_128 = 7, PGPSYMKEYALGO_AES_192 = 8, PGPSYMKEYALGO_AES_256 = 9, PGPSYMKEYALGO_TWOFISH = 10, PGPSYMKEYALGO_NOENCRYPT = 110 } |
9.2. More... | |
enum | pgpCompressAlgo_e { PGPCOMPRESSALGO_NONE = 0, PGPCOMPRESSALGO_ZIP = 1, PGPCOMPRESSALGO_ZLIB = 2, PGPCOMPRESSALGO_BZIP2 = 3 } |
9.3. More... | |
enum | pgpSubType_e { PGPSUBTYPE_NONE = 0, PGPSUBTYPE_SIG_CREATE_TIME = 2, PGPSUBTYPE_SIG_EXPIRE_TIME = 3, PGPSUBTYPE_EXPORTABLE_CERT = 4, PGPSUBTYPE_TRUST_SIG = 5, PGPSUBTYPE_REGEX = 6, PGPSUBTYPE_REVOCABLE = 7, PGPSUBTYPE_KEY_EXPIRE_TIME = 9, PGPSUBTYPE_ARR = 10, PGPSUBTYPE_PREFER_SYMKEY = 11, PGPSUBTYPE_REVOKE_KEY = 12, PGPSUBTYPE_ISSUER_KEYID = 16, PGPSUBTYPE_NOTATION = 20, PGPSUBTYPE_PREFER_HASH = 21, PGPSUBTYPE_PREFER_COMPRESS = 22, PGPSUBTYPE_KEYSERVER_PREFERS = 23, PGPSUBTYPE_PREFER_KEYSERVER = 24, PGPSUBTYPE_PRIMARY_USERID = 25, PGPSUBTYPE_POLICY_URL = 26, PGPSUBTYPE_KEY_FLAGS = 27, PGPSUBTYPE_SIGNER_USERID = 28, PGPSUBTYPE_REVOKE_REASON = 29, PGPSUBTYPE_FEATURES = 30, PGPSUBTYPE_SIG_TARGET = 31, PGPSUBTYPE_EMBEDDED_SIG = 32, PGPSUBTYPE_INTERNAL_100 = 100, PGPSUBTYPE_INTERNAL_101 = 101, PGPSUBTYPE_INTERNAL_102 = 102, PGPSUBTYPE_INTERNAL_103 = 103, PGPSUBTYPE_INTERNAL_104 = 104, PGPSUBTYPE_INTERNAL_105 = 105, PGPSUBTYPE_INTERNAL_106 = 106, PGPSUBTYPE_INTERNAL_107 = 107, PGPSUBTYPE_INTERNAL_108 = 108, PGPSUBTYPE_INTERNAL_109 = 109, PGPSUBTYPE_INTERNAL_110 = 110, PGPSUBTYPE_CRITICAL = 128 } |
5.2.3.1. More... | |
enum | pgpArmor_e { PGPARMOR_ERR_CRC_CHECK = -7, PGPARMOR_ERR_BODY_DECODE = -6, PGPARMOR_ERR_CRC_DECODE = -5, PGPARMOR_ERR_NO_END_PGP = -4, PGPARMOR_ERR_UNKNOWN_PREAMBLE_TAG = -3, PGPARMOR_ERR_UNKNOWN_ARMOR_TYPE = -2, PGPARMOR_ERR_NO_BEGIN_PGP = -1, PGPARMOR_NONE = 0, PGPARMOR_MESSAGE = 1, PGPARMOR_PUBKEY = 2, PGPARMOR_SIGNATURE = 3, PGPARMOR_SIGNED_MESSAGE = 4, PGPARMOR_FILE = 5, PGPARMOR_PRIVKEY = 6, PGPARMOR_SECKEY = 7 } |
enum | pgpArmorKey_e { PGPARMORKEY_VERSION = 1, PGPARMORKEY_COMMENT = 2, PGPARMORKEY_MESSAGEID = 3, PGPARMORKEY_HASH = 4, PGPARMORKEY_CHARSET = 5 } |
Functions | |
static unsigned int | pgpGrab (const rpmuint8_t *s, size_t nbytes) |
Return (native-endian) integer from big-endian representation. | |
static unsigned int | pgpLen (const rpmuint8_t *s, unsigned int *lenp) |
Return length of an OpenPGP packet. | |
static unsigned int | pgpMpiBits (const rpmuint8_t *p) |
Return no. | |
static unsigned int | pgpMpiLen (const rpmuint8_t *p) |
Return no. | |
static char * | pgpHexCvt (char *t, const rpmuint8_t *s, size_t nbytes) |
Convert to hex. | |
static char * | pgpHexStr (const rpmuint8_t *p, size_t plen) |
Return hex formatted representation of bytes. | |
static const char * | pgpMpiStr (const rpmuint8_t *p) |
Return hex formatted representation of a multiprecision integer. | |
static const char * | pgpValStr (pgpValTbl vs, rpmuint8_t val) |
Return string representation of am OpenPGP value. | |
static int | pgpValTok (pgpValTbl vs, const char *s, const char *se) |
Return value of an OpenPGP string. | |
void | pgpPrtVal (const char *pre, pgpValTbl vs, rpmuint8_t val) |
Print an OpenPGP value. | |
int | pgpPrtSubType (const rpmuint8_t *h, size_t hlen, pgpSigType sigtype) |
Print/parse an OpenPGP subtype packet. | |
int | pgpPrtSig (const pgpPkt pp) |
Print/parse an OpenPGP signature packet. | |
int | pgpPrtKey (const pgpPkt pp) |
Print/parse an OpenPGP key packet. | |
int | pgpPrtUserID (const pgpPkt pp) |
Print/parse an OpenPGP userid packet. | |
int | pgpPrtComment (const pgpPkt pp) |
Print/parse an OpenPGP comment packet. | |
int | pgpPubkeyFingerprint (const rpmuint8_t *pkt, size_t pktlen, rpmuint8_t *keyid) |
Calculate OpenPGP public key fingerprint. | |
int | pgpExtractPubkeyFingerprint (const char *b64pkt, rpmuint8_t *keyid) |
Extract OpenPGP public key fingerprint from base64 encoded packet. | |
int | pgpPktLen (const rpmuint8_t *pkt, size_t pleft, pgpPkt pp) |
Return lenth of a OpenPGP packet. | |
int | pgpPrtPkt (const rpmuint8_t *pkt, size_t pleft) |
Print/parse next OpenPGP packet. | |
int | pgpPrtPkts (const rpmuint8_t *pkts, size_t pktlen, pgpDig dig, int printing) |
Print/parse a OpenPGP packet(s). | |
pgpArmor | pgpReadPkts (const char *fn, rpmuint8_t **pkt, size_t *pktlen) |
Parse armored OpenPGP packets from a file. | |
char * | pgpArmorWrap (rpmuint8_t atype, const unsigned char *s, size_t ns) |
Wrap a OpenPGP packets in ascii armor for transport. | |
pgpHashAlgo | pgpHashAlgoStringToNumber (const char *name, size_t name_len) |
Convert a hash algorithm "foo" to the internal PGPHASHALGO_FOO number. | |
pgpDig | pgpDigUnlink (pgpDig dig, const char *msg) |
Unreference a signature parameters instance. | |
pgpDig | pgpDigLink (pgpDig dig, const char *msg) |
Reference a signature parameters instance. | |
pgpDig | pgpDigFree (pgpDig dig) |
Destroy a container for parsed OpenPGP packates. | |
pgpDig | pgpDigNew (pgpVSFlags vsflags) |
Create a container for parsed OpenPGP packates. | |
void | pgpDigClean (pgpDig dig) |
Release (malloc'd) data from container. | |
pgpDigParams | pgpGetPubkey (const pgpDig dig) |
Return OpenPGP pubkey parameters. | |
pgpDigParams | pgpGetSignature (const pgpDig dig) |
Return OpenPGP signature parameters. | |
rpmuint32_t | pgpGetSigtag (const pgpDig dig) |
Get signature tag. | |
rpmuint32_t | pgpGetSigtype (const pgpDig dig) |
Get signature tag type. | |
const void * | pgpGetSig (const pgpDig dig) |
Get signature tag data, i.e. | |
rpmuint32_t | pgpGetSiglen (const pgpDig dig) |
Get signature tag data length, i.e. | |
int | pgpSetSig (pgpDig dig, rpmuint32_t sigtag, rpmuint32_t sigtype, const void *sig, rpmuint32_t siglen) |
Set signature tag info, i.e. | |
void * | pgpStatsAccumulator (pgpDig dig, int opx) |
Return pgpDig container accumulator structure. | |
int | pgpSetFindPubkey (pgpDig dig, int(*findPubkey)(void *ts, void *dig), void *_ts) |
Set find pubkey vector. | |
int | pgpFindPubkey (pgpDig dig) |
Call find pubkey vector. | |
static int | pgpIsPkt (const rpmuint8_t *p, pgpTag *tagp) |
Is buffer at beginning of an OpenPGP packet? | |
static unsigned int | pgpCRC (const rpmuint8_t *octets, size_t len) |
Return CRC of a buffer. | |
static int | pgpImplSetRSA (DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) |
static int | pgpImplVerifyRSA (pgpDig dig) |
static int | pgpImplSetDSA (DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) |
static int | pgpImplVerifyDSA (pgpDig dig) |
static int | pgpImplSetECDSA (DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) |
static int | pgpImplVerifyECDSA (pgpDig dig) |
static int | pgpImplMpiItem (const char *pre, pgpDig dig, int itemno, const rpmuint8_t *p, const rpmuint8_t *pend) |
static void | pgpImplClean (void *impl) |
static void * | pgpImplFree (void *impl) |
static void * | pgpImplInit (void) |
Variables | |
struct pgpValTbl_s | pgpTagTbl [] |
struct pgpValTbl_s | pgpSigTypeTbl [] |
struct pgpValTbl_s | pgpPubkeyTbl [] |
struct pgpValTbl_s | pgpSymkeyTbl [] |
Symmetric key (string, value) pairs. | |
struct pgpValTbl_s | pgpCompressionTbl [] |
Compression (string, value) pairs. | |
struct pgpValTbl_s | pgpHashTbl [] |
Hash (string, value) pairs. | |
struct pgpValTbl_s | pgpSubTypeTbl [] |
Subtype (string, value) pairs. | |
struct pgpValTbl_s | pgpArmorTbl [] |
Armor (string, value) pairs. | |
struct pgpValTbl_s | pgpArmorKeyTbl [] |
Armor key (string, value) pairs. | |
pgpVSFlags | pgpDigVSFlags |
Disabler bits(s) for signature/digest checking. | |
pgpImplVecs_t * | pgpImplVecs |
OpenPGP constants and structures from RFC-2440.
Text from RFC-2440 in comments is Copyright (C) The Internet Society (1998). All Rights Reserved.
Definition in file rpmpgp.h.
#define CRC24_INIT 0xb704ce |
#define CRC24_POLY 0x1864cfb |
#define pgpDigFree | ( | _dig, | |
_msg | |||
) | ((pgpDig)rpmioFreePoolItem((rpmioItem)(_dig), _msg, __FILE__, __LINE__)) |
#define pgpDigLink | ( | _dig, | |
_msg | |||
) | ((pgpDig)rpmioLinkPoolItem((rpmioItem)(_dig), _msg, __FILE__, __LINE__)) |
#define pgpDigUnlink | ( | _dig, | |
_msg | |||
) | ((pgpDig)rpmioUnlinkPoolItem((rpmioItem)(_dig), _msg, __FILE__, __LINE__)) |
typedef void(* pgpImplClean_t)(void *impl) |
typedef void*(* pgpImplFree_t)(void *impl) |
typedef void*(* pgpImplInit_t)(void) |
typedef int(* pgpImplMpiItem_t)(const char *pre, pgpDig dig, int itemno, const rpmuint8_t *p,const rpmuint8_t *pend) |
typedef int(* pgpImplSet_t)(DIGEST_CTX ctx, pgpDig dig, pgpDigParams sigp) |
typedef struct pgpImplVecs_s pgpImplVecs_t |
typedef int(* pgpImplVerify_t)(pgpDig dig) |
typedef struct pgpValTbl_s * pgpValTbl |
static void pgpImplClean | ( | void * | impl | ) | [inline, static] |
Definition at line 1709 of file rpmpgp.h.
References pgpImplVecs_s::_pgpClean.
Referenced by pgpDigClean().
static void* pgpImplFree | ( | void * | impl | ) | [inline, static] |
Definition at line 1721 of file rpmpgp.h.
References pgpImplVecs_s::_pgpFree.
Referenced by pgpDigFini().
static void* pgpImplInit | ( | void | ) | [inline, static] |
Definition at line 1730 of file rpmpgp.h.
References pgpImplVecs_s::_pgpInit.
Referenced by pgpDigNew().
static int pgpImplMpiItem | ( | const char * | pre, |
pgpDig | dig, | ||
int | itemno, | ||
const rpmuint8_t * | p, | ||
const rpmuint8_t * | pend | ||
) | [inline, static] |
Definition at line 1699 of file rpmpgp.h.
References pgpImplVecs_s::_pgpMpiItem.
Referenced by pgpPrtPubkeyParams(), and pgpPrtSigParams().
static int pgpImplSetDSA | ( | DIGEST_CTX | ctx, |
pgpDig | dig, | ||
pgpDigParams | sigp | ||
) | [inline, static] |
Definition at line 1663 of file rpmpgp.h.
References pgpImplVecs_s::_pgpSetDSA.
Referenced by rpmnsProbeSignature(), and verifyDSA().
static int pgpImplSetECDSA | ( | DIGEST_CTX | ctx, |
pgpDig | dig, | ||
pgpDigParams | sigp | ||
) | [inline, static] |
Definition at line 1681 of file rpmpgp.h.
References pgpImplVecs_s::_pgpSetECDSA.
static int pgpImplSetRSA | ( | DIGEST_CTX | ctx, |
pgpDig | dig, | ||
pgpDigParams | sigp | ||
) | [inline, static] |
Definition at line 1645 of file rpmpgp.h.
References pgpImplVecs_s::_pgpSetRSA.
Referenced by rpmnsProbeSignature(), and verifyRSA().
static int pgpImplVerifyDSA | ( | pgpDig | dig | ) | [inline, static] |
Definition at line 1672 of file rpmpgp.h.
References pgpImplVecs_s::_pgpVerifyDSA.
Referenced by rpmnsProbeSignature(), and verifyDSA().
static int pgpImplVerifyECDSA | ( | pgpDig | dig | ) | [inline, static] |
Definition at line 1690 of file rpmpgp.h.
References pgpImplVecs_s::_pgpVerifyECDSA.
static int pgpImplVerifyRSA | ( | pgpDig | dig | ) | [inline, static] |
Definition at line 1654 of file rpmpgp.h.
References pgpImplVecs_s::_pgpVerifyRSA.
Referenced by rpmnsProbeSignature(), and verifyRSA().
Disabler bits(s) for signature/digest checking.
Definition at line 1013 of file rpmpgp.c.
Referenced by headerCheck(), pgpDigNew(), rpmcliAllArgCallback(), rpmReadPackageFile(), rpmtsSetVSFlags(), and rpmtsVSFlags().
Definition at line 32 of file rpmpgp.c.
Referenced by rpmioAllArgCallback().