rpm 4.19.1.1 The RPM Package Manager

Loading...
Searching...
No Matches
Data Fields
pgpPktKeyV4_s Struct Reference
OpenPGP API.

`#include <rpmpgp.h>`

## Data Fields
uint8_t | version
pgpTime_t | time
uint8_t | pubkey_algo

## Detailed Description

The version 4 format is similar to the version 3 format except for the absence of a validity period. This has been moved to the signature packet. In addition, fingerprints of version 4 keys are calculated differently from version 3 keys, as described in section "Enhanced Key Formats."

A version 4 packet contains:

- A one-octet version number (4).
- A four-octet number denoting the time that the key was created.
- A one-octet number denoting the public key algorithm of this key

- A series of multi-precision integers comprising the key material. This algorithm-specific portion is:

  Algorithm Specific Fields for RSA public keys:

  - multiprecision integer (MPI) of RSA public modulus n;
  - MPI of RSA public encryption exponent e.

  Algorithm Specific Fields for DSA public keys:

  - MPI of DSA prime p;
  - MPI of DSA group order q (q is a prime divisor of p-1);
  - MPI of DSA group generator g;
  - MPI of DSA public key value y (= g**x where x is secret).

  Algorithm Specific Fields for Elgamal public keys:

  - MPI of Elgamal prime p;
  - MPI of Elgamal group generator g;
  - MPI of Elgamal public key value y (= g**x where x is secret).

  Algorithm Specific Fields for EdDSA public keys:

  - variable length field containing a curve OID
  - MPI of an EC point representing a public key Q (a compressed point prefixed with the octet 0x40)

## Field Documentation

## ◆ pubkey_algo

uint8_t pgpPktKeyV4_s::pubkey_algo

public key algorithm.

## ◆ time

pgpTime_t pgpPktKeyV4_s::time

time that the key was created.

## ◆ version

uint8_t pgpPktKeyV4_s::version

version number (4).

The documentation for this struct was generated from the following file:

- /tmp/rpm-20240229-5467-git1p2/rpm-4.19.1.1/include/rpm/rpmpgp.h