OpenPGP constants and structures from RFC-2440.  
|  | 
| 
 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 | 
| struct | pgpPktEdata_s | 
| struct | pgpPktLdata_s | 
| struct | pgpPktTrust_s | 
| struct | pgpPktUid_s | 
| union | pgpPktPre_u | 
| 
 Defines | 
| #define | PGPARMOR_ERROR   PGPARMOR_ERR_NO_BEGIN_PGP | 
| 
 Typedefs | 
| typedef struct DIGEST_CTX_s * | DIGEST_CTX | 
| typedef struct pgpDig_s * | pgpDig | 
| typedef struct pgpDigParams_s * | pgpDigParams | 
| typedef uint8_t | pgpKeyID_t [8] | 
| typedef uint8_t | pgpTime_t [4] | 
| 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 enum pgpHashAlgo_e | pgpHashAlgo | 
|  | 9.4. 
 | 
| 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 | 
| typedef struct pgpPktEdata_s | pgpPktEdata | 
| typedef struct pgpPktLdata_s | pgpPktLdata | 
| typedef struct pgpPktTrust_s | pgpPktTrust | 
| typedef struct pgpPktUid_s | pgpPktUid | 
| typedef enum pgpArmor_e | pgpArmor | 
| typedef enum pgpArmorKey_e | pgpArmorKey | 
| typedef enum rpmDigestFlags_e | rpmDigestFlags | 
|  | Bit(s) to control digest operation. 
 | 
| 
 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
 }
 | 
|  | 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 | pgpHashAlgo_e { PGPHASHALGO_MD5 =  1, 
PGPHASHALGO_SHA1 =  2, 
PGPHASHALGO_RIPEMD160 =  3, 
PGPHASHALGO_MD2 =  5,
 PGPHASHALGO_TIGER192 =  6, 
PGPHASHALGO_HAVAL_5_160 =  7, 
PGPHASHALGO_SHA256 =  8, 
PGPHASHALGO_SHA384 =  9,
 PGPHASHALGO_SHA512 =  10
 }
 | 
|  | 9.4.  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_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
 }
 | 
| enum | rpmDigestFlags_e { RPMDIGEST_NONE =  0
 } | 
|  | Bit(s) to control digest operation.  More... 
 | 
| 
 Functions | 
| static unsigned int | pgpGrab (const uint8_t *s, size_t nbytes) | 
|  | Return (native-endian) integer from big-endian representation. 
 | 
| static size_t | pgpLen (const uint8_t *s, size_t *lenp) | 
|  | Return length of an OpenPGP packet. 
 | 
| char * | pgpHexStr (const uint8_t *p, size_t plen) | 
|  | Return hex formatted representation of bytes. 
 | 
| int | pgpPubkeyFingerprint (const uint8_t *pkt, size_t pktlen, pgpKeyID_t keyid) | 
|  | Calculate OpenPGP public key fingerprint. 
 | 
| int | pgpExtractPubkeyFingerprint (const char *b64pkt, pgpKeyID_t keyid) | 
|  | Extract OpenPGP public key fingerprint from base64 encoded packet. 
 | 
| int | pgpPrtPkts (const uint8_t *pkts, size_t pktlen, pgpDig dig, int printing) | 
|  | Print/parse a OpenPGP packet(s). 
 | 
| pgpArmor | pgpReadPkts (const char *fn, uint8_t **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. 
 | 
| 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 | rpmInitCrypto (void) | 
|  | Perform cryptography initialization. 
 | 
| int | rpmFreeCrypto (void) | 
|  | Shutdown cryptography. 
 | 
| DIGEST_CTX | rpmDigestDup (DIGEST_CTX octx) | 
|  | Duplicate a digest context. 
 | 
| size_t | rpmDigestLength (pgpHashAlgo hashalgo) | 
|  | Obtain digest length in bytes. 
 | 
| DIGEST_CTX | rpmDigestInit (pgpHashAlgo hashalgo, rpmDigestFlags flags) | 
|  | Initialize digest. 
 | 
| int | rpmDigestUpdate (DIGEST_CTX ctx, const void *data, size_t len) | 
|  | Update context with next plain text buffer. 
 | 
| int | rpmDigestFinal (DIGEST_CTX ctx, void **datap, size_t *lenp, int asAscii) | 
|  | Return digest and destroy context. 
 | 
OpenPGP constants and structures from RFC-2440. 
Text from RFC-2440 in comments is Copyright (C) The Internet Society (1998). All Rights Reserved.