Expand description

Primitive types.

This module provides types used in OpenPGP, like enumerations describing algorithms.

Common Operations

Data structures


Allows adjusting the amount of effort spent on compressing encoded data. This structure additionally has several helper methods for commonly used compression strategies.


Describes particular features supported by the given OpenPGP implementation.


Holds imformation about a key in particular how the given key can be used.


Describes a key that has been designated to issue revocation signatures.


Describes preferences regarding to key servers.

Timestamp and Duration

In OpenPGP time is represented as the number of seconds since the UNIX epoch stored as an u32. These two data structures allow manipulating OpenPGP time ensuring that adding or subtracting durations will never overflow or underflow without notice.


A variable-sized set of boolean flags.

Compression level.

A duration representable by OpenPGP.

Describes the features supported by an OpenPGP implementation.

Describes how a key may be used, and stores additional information.

Describes preferences regarding key servers.

Designates a key as a valid third-party revoker.

A timestamp representable by OpenPGP.


The AEAD algorithms as defined in Section 9.6 of RFC 4880bis.

The OpenPGP compression algorithms as defined in Section 9.3 of RFC 4880.

Elliptic curves used in OpenPGP.

Describes the format of the body of a literal data packet.

The OpenPGP hash algorithms as defined in Section 9.4 of RFC 4880.

The OpenPGP public key algorithms as defined in Section 9.1 of RFC 4880, and Section 5 of RFC 6637.

Describes the reason for a revocation.

The revocation status.

Describes whether a ReasonForRevocation should be consider hard or soft.

Signature type as defined in Section 5.2.1 of RFC 4880.

The symmetric-key algorithms as defined in Section 9.2 of RFC 4880.