rpm
4.18.0
|
OpenPGP constants and structures from RFC-2440. More...
#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.
Data Structures | |
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 |
Macros | |
#define | PGP_KEYID_LEN 8 |
The length (in bytes) of a binary (not hex encoded) key ID. More... | |
#define | PGPARMOR_ERROR PGPARMOR_ERR_NO_BEGIN_PGP |
Functions | |
const char * | pgpValString (pgpValType type, uint8_t val) |
Return string representation of am OpenPGP value. More... | |
static unsigned int | pgpGrab (const uint8_t *s, size_t nbytes) |
Return (native-endian) integer from big-endian representation. More... | |
int | pgpPubkeyFingerprint (const uint8_t *pkt, size_t pktlen, uint8_t **fp, size_t *fplen) |
Calculate OpenPGP public key fingerprint. More... | |
int | pgpPubkeyKeyID (const uint8_t *pkt, size_t pktlen, pgpKeyID_t keyid) |
Calculate OpenPGP public key Key ID. More... | |
int | pgpPrtParams (const uint8_t *pkts, size_t pktlen, unsigned int pkttype, pgpDigParams *ret) |
Parse a OpenPGP packet(s). More... | |
int | pgpPrtParamsSubkeys (const uint8_t *pkts, size_t pktlen, pgpDigParams mainkey, pgpDigParams **subkeys, int *subkeysCount) |
Parse subkey parameters from OpenPGP packet(s). More... | |
int | pgpPrtPkts (const uint8_t *pkts, size_t pktlen, pgpDig dig, int printing) |
Print/parse a OpenPGP packet(s). More... | |
pgpArmor | pgpReadPkts (const char *fn, uint8_t **pkt, size_t *pktlen) |
Parse armored OpenPGP packets from a file. More... | |
pgpArmor | pgpParsePkts (const char *armor, uint8_t **pkt, size_t *pktlen) |
Parse armored OpenPGP packets from memory. More... | |
int | pgpPubKeyCertLen (const uint8_t *pkts, size_t pktslen, size_t *certlen) |
Return a length of the first public key certificate in a buffer given by pkts that contains one or more certificates. More... | |
rpmRC | pgpPubKeyLint (const uint8_t *pkts, size_t pktslen, char **explanation) |
Lints the certificate. More... | |
char * | pgpArmorWrap (int atype, const unsigned char *s, size_t ns) |
Wrap a OpenPGP packets in ascii armor for transport. More... | |
pgpDig | pgpNewDig (void) |
Create a container for parsed OpenPGP packet(s). More... | |
void | pgpCleanDig (pgpDig dig) |
Release (malloc'd) data from container. More... | |
pgpDig | pgpFreeDig (pgpDig dig) |
Destroy a container for parsed OpenPGP packet(s). More... | |
pgpDigParams | pgpDigGetParams (pgpDig dig, unsigned int pkttype) |
Retrieve parameters for parsed OpenPGP packet(s). More... | |
int | pgpDigParamsCmp (pgpDigParams p1, pgpDigParams p2) |
Compare OpenPGP packet parameters param p1 1st parameter container param p2 2nd parameter container return 1 if the parameters differ, 0 otherwise. More... | |
unsigned int | pgpDigParamsAlgo (pgpDigParams digp, unsigned int algotype) |
Retrieve OpenPGP algorithm parameters param digp parameter container param algotype PGPVAL_HASHALGO / PGPVAL_PUBKEYALGO return algorithm value, 0 on error. More... | |
const uint8_t * | pgpDigParamsSignID (pgpDigParams digp) |
Returns the issuer or the object's Key ID. More... | |
const char * | pgpDigParamsUserID (pgpDigParams digp) |
Retrieve the primary User ID, if any. More... | |
int | pgpDigParamsVersion (pgpDigParams digp) |
Retrieve the object's version. More... | |
uint32_t | pgpDigParamsCreationTime (pgpDigParams digp) |
Retrieve the object's creation time. More... | |
pgpDigParams | pgpDigParamsFree (pgpDigParams digp) |
Destroy parsed OpenPGP packet parameter(s). More... | |
rpmRC | pgpVerifySignature (pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx) |
Verify a PGP signature. More... | |
rpmRC | pgpVerifySig (pgpDig dig, DIGEST_CTX hashctx) |
Verify a PGP signature. More... | |
int | pgpSignatureType (pgpDigParams sig) |
Return the type of a PGP signature. More... | |
char * | pgpIdentItem (pgpDigParams digp) |
Return a string identification of a PGP signature/pubkey. More... | |
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
Definition in file rpmpgp.h.
#define PGPARMOR_ERROR PGPARMOR_ERR_NO_BEGIN_PGP |
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:
typedef enum pgpValType_e pgpValType |
enum pgpValType_e |