3 Terminology
Paul Schaub edited this page 2023-06-07 16:09:56 +02:00

Since PGPainless is based on Bouncycastle, it follows some of the terminology introduced by Bouncycastle. That might be confusing for new users, especially for users coming from GnuPG.

Keys, KeyRings, KeyRingCollections

What is considered a KeyRing in GnuPG (a collection of keys) is called a KeyRingCollection in Bouncycastle/PGPainless. Similarly a Key in GnuPG is called a KeyRing in BC/PGPainless. This is due to the fact, that an OpenPGP key can actually consist of more than one key (primary - subkey structures). A Key in BC/PGPainless is either a primary key or a sub key.

PGPainless Term GnuPG Term Description
KeyRingCollection KeyRing/KeyBox Collection of OpenPGP keys (either of a single user or of multiple users
KeyRing Key Primary key which might have sub keys
Key Single key which might be a primary key or a sub key

Public, Secret, Private

In GnuPG, the terms PrivateKey and SecretKey are mostly used as synonyms. In Bouncycastle there is a distinction. A PGPSecretKey names a private key which might be encrypted with a password. From the PGPSecretKey the private key can be obtained by providing the password. The PGPPrivateKey is never encrypted. It is possible to obtain a PGPPublicKey from a PGPSecretKey.

PGPainless Term Description
PGPPrivateKey Decrypted OpenPGP private key
PGPSecretKey (Possibly) password protected OpenPGP private key
PGPPublicKey OpenPGP public key
PGPSecretKeyRing (Possibly) password protected private primary key with sub keys
PGPPublicKeyRing OpenPGP public primary key with public sub keys
PGPSecretKeyRingCollection Collection of PGPSecretKeyRings
PGPPublicKeyRingCollection Collection of PGPPublicKeyRings