rpm 4.19.0
The RPM Package Manager
|
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <rpm/rpmtypes.h>
#include <rpm/rpmstring.h>
#include <rpm/rpmcrypto.h>
Go to the source code of this file.
Classes | |
struct | pgpPktPubkey_s |
struct | pgpPktSigV3_s |
struct | pgpPktSigV4_s |
union | pgpPktSig_u |
struct | pgpPktSymkey_s |
struct | pgpPktOnepass_s |
struct | pgpPktKeyV3_s |
struct | pgpPktKeyV4_s |
union | pgpPktKey_u |
struct | pgpPktCdata_s |
struct | pgpPktEdata_s |
struct | pgpPktLdata_s |
struct | pgpPktTrust_s |
struct | pgpPktUid_s |
union | pgpPktPre_u |
Macros | |
#define | PGP_KEYID_LEN 8 |
#define | PGPARMOR_ERROR PGPARMOR_ERR_NO_BEGIN_PGP |
Typedefs | |
typedef struct pgpDigParams_s * | pgpDigParams |
typedef uint8_t | pgpKeyID_t[PGP_KEYID_LEN] |
typedef uint8_t | pgpTime_t[4] |
typedef enum pgpTag_e | pgpTag |
typedef struct pgpPktPubkey_s | pgpPktPubkey |
typedef enum pgpSigType_e | pgpSigType |
typedef enum pgpPubkeyAlgo_e | pgpPubkeyAlgo |
typedef enum pgpSymkeyAlgo_e | pgpSymkeyAlgo |
typedef enum pgpCompressAlgo_e | pgpCompressAlgo |
typedef enum pgpHashAlgo_e | pgpHashAlgo |
typedef enum pgpCurveId_e | pgpCurveId |
typedef struct pgpPktSigV3_s * | pgpPktSigV3 |
typedef struct pgpPktSigV4_s * | pgpPktSigV4 |
typedef enum pgpSubType_e | pgpSubType |
typedef union pgpPktSig_u * | pgpPktSig |
typedef struct pgpPktSymkey_s | pgpPktSymkey |
typedef struct pgpPktOnepass_s * | pgpPktOnepass |
typedef struct pgpPktKeyV3_s * | pgpPktKeyV3 |
typedef struct pgpPktKeyV4_s * | pgpPktKeyV4 |
typedef union pgpPktKey_u | pgpPktKey |
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 pgpValType_e | pgpValType |
Functions | |
const char * | pgpValString (pgpValType type, uint8_t val) |
int | pgpPubkeyFingerprint (const uint8_t *pkt, size_t pktlen, uint8_t **fp, size_t *fplen) |
int | pgpPubkeyKeyID (const uint8_t *pkt, size_t pktlen, pgpKeyID_t keyid) |
int | pgpPrtParams (const uint8_t *pkts, size_t pktlen, unsigned int pkttype, pgpDigParams *ret) |
int | pgpPrtParams2 (const uint8_t *pkts, size_t pktlen, unsigned int pkttype, pgpDigParams *ret, char **lints) |
int | pgpPrtParamsSubkeys (const uint8_t *pkts, size_t pktlen, pgpDigParams mainkey, pgpDigParams **subkeys, int *subkeysCount) |
pgpArmor | pgpReadPkts (const char *fn, uint8_t **pkt, size_t *pktlen) |
pgpArmor | pgpParsePkts (const char *armor, uint8_t **pkt, size_t *pktlen) |
int | pgpPubKeyCertLen (const uint8_t *pkts, size_t pktslen, size_t *certlen) |
rpmRC | pgpPubKeyLint (const uint8_t *pkts, size_t pktslen, char **explanation) |
char * | pgpArmorWrap (int atype, const unsigned char *s, size_t ns) |
int | pgpDigParamsCmp (pgpDigParams p1, pgpDigParams p2) |
unsigned int | pgpDigParamsAlgo (pgpDigParams digp, unsigned int algotype) |
const uint8_t * | pgpDigParamsSignID (pgpDigParams digp) |
const char * | pgpDigParamsUserID (pgpDigParams digp) |
int | pgpDigParamsVersion (pgpDigParams digp) |
uint32_t | pgpDigParamsCreationTime (pgpDigParams digp) |
pgpDigParams | pgpDigParamsFree (pgpDigParams digp) |
rpmRC | pgpVerifySignature (pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx) |
rpmRC | pgpVerifySignature2 (pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx, char **lints) |
int | pgpSignatureType (pgpDigParams sig) |
char * | pgpIdentItem (pgpDigParams digp) |
OpenPGP constants and structures from RFC-2440.
Text from RFC-2440 in comments is Copyright (C) The Internet Society (1998). All Rights Reserved.
EdDSA algorithm identifier value taken from https://datatracker.ietf.org/doc/draft-ietf-openpgp-rfc4880bis/ This value is used in gnupg since version 2.1.0
typedef struct pgpPktSymkey_s pgpPktSymkey |
5.3. Symmetric-Key Encrypted Session-Key Packets (Tag 3)
The Symmetric-Key Encrypted Session Key packet holds the symmetric- key encryption of a session key used to encrypt a message. Zero or more Encrypted Session Key packets and/or Symmetric-Key Encrypted Session Key packets may precede a Symmetrically Encrypted Data Packet that holds an encrypted message. The message is encrypted with a session key, and the session key is itself encrypted and stored in the Encrypted Session Key packet or the Symmetric-Key Encrypted Session Key packet.
If the Symmetrically Encrypted Data Packet is preceded by one or more Symmetric-Key Encrypted Session Key packets, each specifies a passphrase that may be used to decrypt the message. This allows a message to be encrypted to a number of public keys, and also to one or more pass phrases. This packet type is new, and is not generated by PGP 2.x or PGP 5.0.
The body of this packet consists of: