# All Classes and Interfaces

Class
Description
AbstractSignatureBuilder<B>
AEADAlgorithm
List of AEAD algorithms defined in crypto-refresh-06.
AlgorithmSuite
The `AlgorithmSuite` class is consulted when new OpenPGP keys are being generated to set preferred algorithms on the key.
ArmoredInputStreamFactory
Factory class for instantiating preconfigured `ArmoredInputStreams`.
ArmoredOutputStreamFactory
Factory to create configured `ArmoredOutputStreams`.
ArmorUtils
Utility class for dealing with ASCII armored OpenPGP data.
BaseSecretKeyRingProtector
Basic `SecretKeyRingProtector` implementation that respects the users `KeyRingProtectionSettings` when encrypting keys.
BaseSignatureSubpackets
BaseSignatureSubpackets.Callback
BcHashContextSigner
BcImplementationFactory
BouncyCastleProviderFactory
Implementation of `ProviderFactory` using a `BouncyCastleProvider`.
CachingBcPublicKeyDataDecryptorFactory
Implementation of the `PublicKeyDataDecryptorFactory` which caches decrypted session keys.
CachingSecretKeyRingProtector
Implementation of the `SecretKeyRingProtector` which holds a map of key ids and their passwords.
CertificateAuthenticity
CertificateAuthenticity.CertificationChain
CertificateAuthenticity.ChainLink
A chain link contains a node in the trust chain.
CertificateAuthority
Interface for a CA that can authenticate trust-worthy certificates.
CertificateValidator
A collection of static methods that validate signing certificates (public keys) and verify signature correctness.
CertificationSubpackets
CertificationSubpackets.Callback
CertificationType
Subset of `SignatureType`, reduced to certification types.
CertifyCertificate
API for creating certifications and delegations (Signatures) on keys.
CertifyCertificate.CertificationOnUserId
CertifyCertificate.CertificationOnUserIdWithSubpackets
CertifyCertificate.CertificationResult
CertifyCertificate.DelegationOnCertificate
CertifyCertificate.DelegationOnCertificateWithSubpackets
ClearsignedMessageUtil
Utility class to deal with cleartext-signed messages.
CollectionUtils
CompressionAlgorithm
Enumeration of possible compression algorithms.
ConsumerOptions
Options for decryption and signature verification.
ConsumerOptions.CertificateSource
Source for OpenPGP certificates.
CRCingArmoredInputStreamWrapper
Utility class that causes read(bytes, offset, length) to properly throw exceptions caused by faulty CRC checksums.
CRLFGeneratorStream
`OutputStream` which applies CR-LF encoding of its input data, based on the desired `StreamEncoding`.
CustomPublicKeyDataDecryptorFactory
Custom `PublicKeyDataDecryptorFactory` which can enable customized implementations of message decryption using public keys.
DateUtil
DecryptionBuilder
Builder class that takes an `InputStream` of ciphertext (or plaintext signed data) and combines it with a configured `ConsumerOptions` object to form a `DecryptionStream` which can be used to decrypt an OpenPGP message or verify signatures.
DecryptionBuilderInterface
DecryptionBuilderInterface.DecryptWith
DecryptionStream
Abstract definition of an `InputStream` which can be used to decrypt / verify OpenPGP messages.
DirectKeySelfSignatureBuilder
DocumentSignatureType
Subset of `SignatureType`, used for signatures over documents.
ECDH
ECDSA
EdDSA
Edwards-curve Digital Signature Algorithm (EdDSA).
EdDSACurve
ElGamal
Deprecated.
the use of ElGamal is not recommended anymore.
ElGamalLength
Deprecated.
the use of ElGamal keys is no longer recommended.
EllipticCurve
Elliptic curves for use with `ECDH`/`ECDSA`.
EncryptionBuilder
EncryptionBuilderInterface
EncryptionBuilderInterface.WithOptions
EncryptionOptions
Options for the encryption process.
EncryptionOptions.EncryptionKeySelector
EncryptionPurpose
EncryptionResult
EncryptionResult.Builder
EncryptionStream
OutputStream that produces an OpenPGP message.
ExactUserId
Implementations of `KeyRingSelectionStrategy` which select key rings based on the exact user-id.
ExactUserId.PubRingSelectionStrategy
`PublicKeyRingSelectionStrategy` which accepts `PGPPublicKeyRings` if those have a user-id which exactly matches the given
ExactUserId.SecRingSelectionStrategy
`SecretKeyRingSelectionStrategy` which accepts `PGPSecretKeyRings` if those have a user-id which exactly matches the given
Feature
An enumeration of features that may be set in the `Features` subpacket.
GnuPGDummyExtension
GnuPGDummyKeyUtil
This class can be used to remove private keys from secret software-keys by replacing them with stub secret keys in the style of GnuPGs proprietary extensions.
GnuPGDummyKeyUtil.Builder
GnuPGDummyKeyUtil.KeyFilter
Filter for selecting keys.
HardwareSecurity
Enable integration of hardware-backed OpenPGP keys.
HardwareSecurity.DecryptionCallback
HardwareSecurity.HardwareDataDecryptorFactory
Implementation of `PublicKeyDataDecryptorFactory` which delegates decryption of encrypted session keys to a `HardwareSecurity.DecryptionCallback`.
HardwareSecurity.HardwareSecurityException
HashAlgorithm
An enumeration of different hashing algorithms.
HashAlgorithmNegotiator
Interface for a class that negotiates `HashAlgorithms`.
ImplementationFactory
InMemoryMultiPassStrategy
Implementation of the `MultiPassStrategy`.
InputSymbol
IntegrityProtectedInputStream
JceImplementationFactory
KeyAccessor
KeyAccessor.SubKey
KeyAccessor.ViaKeyId
Address the key via key-id.
KeyAccessor.ViaUserId
Address the key via a user-id (e.g.
KeyException
KeyException.ExpiredKeyException
KeyException.MissingSecretKeyException
KeyException.PublicKeyAlgorithmPolicyException
KeyException.RevokedKeyException
KeyException.UnacceptableEncryptionKeyException
KeyException.UnacceptableSelfSignatureException
KeyException.UnacceptableSigningKeyException
KeyException.UnboundUserIdException
KeyFlag
Enumeration of different key flags.
KeyIdUtil
KeyInfo
KeyIntegrityException
This exception gets thrown, when the integrity of an OpenPGP key is broken.
KeyLength
KeyRingBuilder
KeyRingBuilderInterface<B>
KeyRingInfo
Utility class to quickly extract certain information from a `PGPPublicKeyRing`/`PGPSecretKeyRing`.
KeyRingInfo.Signatures
KeyRingProtectionSettings
Secret key protection settings for iterated and salted S2K.
KeyRingReader
KeyRingSelectionStrategy<R,C,O>
Filter for selecting public / secret key rings based on identifiers (e.g.
KeyRingTemplates
KeyRingUtils
KeySpec
KeySpecBuilder
KeySpecBuilderInterface
KeyType
MalformedOpenPgpMessageException
Exception that gets thrown if the OpenPGP message is malformed.
MapBasedPassphraseProvider
Implementation of the `SecretKeyPassphraseProvider` that holds a map of different `passphrases`.
MessageInspector
Inspect an OpenPGP message to determine IDs of its encryption keys or whether it is passphrase protected.
MessageInspector.EncryptionInfo
MessageMetadata
View for extracting metadata about a `MessageMetadata.Message`.
MessageMetadata.CompressedData
MessageMetadata.EncryptedData
MessageMetadata.Function<A,B>
MessageMetadata.Layer
MessageMetadata.LiteralData
MessageMetadata.Message
MessageMetadata.Nested
MessageMetadata.Packet
MessageNotIntegrityProtectedException
MissingDecryptionMethodException
Exception that is thrown when decryption fails due to a missing decryption key or decryption passphrase.
MissingKeyPassphraseStrategy
Strategy defining how missing secret key passphrases are handled.
MissingPassphraseException
MissingPublicKeyCallback
ModificationDetectionException
Exception that gets thrown when the verification of a modification detection code failed.
MultiMap<K,V>
MultiPassStrategy
Since for verification of cleartext signed messages, we need to read the whole data twice in order to verify signatures, a strategy for how to cache the read data is required.
NotationRegistry
Registry for known notations.
OnePassSignatureCheck
Tuple-class that bundles together a `PGPOnePassSignature` object, a `PGPPublicKeyRing` destined to verify the signature, the `PGPSignature` itself and a record of whether the signature was verified.
OpenPgpFingerprint
Abstract super class of different version OpenPGP fingerprints.
OpenPgpInputStream
InputStream used to determine the nature of potential OpenPGP data.
OpenPgpKeyAttributeUtil
OpenPgpMessageInputStream
OpenPgpMessageSyntax
This class describes the syntax for OpenPGP messages as specified by rfc4880.
OpenPgpMetadata
Legacy class containing metadata about an OpenPGP message.
OpenPgpMetadata.Builder
OpenPgpPacket
OpenPgpV4Fingerprint
This class represents a hex encoded, uppercase OpenPGP v4 fingerprint.
OpenPgpV5Fingerprint
This class represents a hex encoded, upper case OpenPGP v5 fingerprint.
OpenPgpV6Fingerprint
This class represents a hex encoded, upper case OpenPGP v6 fingerprint.
Passphrase
PasswordBasedSecretKeyRingProtector
Provides `PBESecretKeyDecryptor` and `PBESecretKeyEncryptor` objects while getting the passphrases from a `SecretKeyPassphraseProvider` and using settings from an `KeyRingProtectionSettings`.
PDA
Pushdown Automaton for validating context-free languages.
PGPainless
PGPKeyRingCollection
This class describes a logic of handling a collection of different `PGPKeyRing`.
Policy
Policy class used to configure acceptable algorithm suites etc.
Policy.CompressionAlgorithmPolicy
Policy.HashAlgorithmPolicy
Policy.PublicKeyAlgorithmPolicy
Policy.SignerUserIdValidationLevel
Policy.SymmetricKeyAlgorithmPolicy
PrimaryKeyBindingSignatureBuilder
ProducerOptions
ProviderFactory
Allow the use of different `Provider` implementations to provide cryptographic primitives by setting a `ProviderFactory` singleton.
PublicKeyAlgorithm
Enumeration of public key algorithms as defined in RFC4880.
PublicKeyParameterValidationUtil
Utility class to verify keys against Key Overwriting (KO) attacks.
PublicKeyRingSelectionStrategy<O>
Abstract `KeyRingSelectionStrategy` for `PGPPublicKeyRings`.
RevocationAttributes
RevocationAttributes.Reason
Reason for revocation.
RevocationAttributes.RevocationType
RevocationAttributes.WithDescription
RevocationAttributes.WithReason
RevocationSignatureBuilder
RevocationSignatureSubpackets
RevocationSignatureSubpackets.Callback
RevocationState
RevocationStateType
RSA
Key type that specifies the RSA_GENERAL algorithm.
RsaLength
S2KUsageFix
Repair class to fix keys which use S2K usage of value `SecretKeyPacket.USAGE_CHECKSUM`.
SecretKeyPassphraseProvider
Interface to allow the user to provide a `Passphrase` for an encrypted OpenPGP secret key.
SecretKeyRingEditor
SecretKeyRingEditorInterface
SecretKeyRingEditorInterface.WithKeyRingEncryptionSettings
SecretKeyRingEditorInterface.WithPassphrase
SecretKeyRingProtector
Task of the `SecretKeyRingProtector` is to map encryptor/decryptor objects to key-ids.
SecretKeyRingSelectionStrategy<O>
Abstract `KeyRingSelectionStrategy` for `PGPSecretKeyRings`.
SelectUserId
Filter for selecting user-ids from keys and from lists.
SelfSignatureBuilder
SelfSignatureSubpackets
SelfSignatureSubpackets.Callback
SessionKey
A `SessionKey` is the symmetric key that is used to encrypt/decrypt an OpenPGP message.
SignatureCheck
Tuple-class which bundles together a signature, the signing key that created the signature, an identifier of the signing key and a record of whether the signature was verified.
SignatureCreationDateComparator
Comparator which can be used to sort signatures with regard to their creation time.
SignatureCreationDateComparator.Order
SignaturePicker
Pick signatures from keys.
SignatureSubpacket
Enumeration of possible subpackets that might be found in the hashed and unhashed area of an OpenPGP signature.
SignatureSubpacketCallback<S>
SignatureSubpackets
SignatureSubpackets.Callback
SignatureSubpacketsHelper
SignatureSubpacketsUtil
Utility class to access signature subpackets from signatures.
SignatureType
Enum that enlists all the Signature Types defined in rfc4880 section 5.2.1 See `PGPSignature` for comparison.
SignatureUtils
Utility methods related to signatures.
SignatureValidationException
SignatureValidator
A collection of validators that perform validation steps over signatures.
SignatureValidityComparator
Comparator which sorts signatures based on an ordering and on revocation hardness.
SignatureVerification
Tuple of a signature and an identifier of its corresponding verification key.
SignatureVerification.Failure
Tuple object of a `SignatureVerification` and the corresponding `SignatureValidationException` that caused the verification to fail.
SignatureVerifier
Collection of static methods for signature verification.
SigningOptions
SigningOptions.SigningMethod
A method of signing.
SolitaryPassphraseProvider
Implementation of the `SecretKeyPassphraseProvider` that holds a single `Passphrase`.
StackSymbol
State
Set of states of the automaton.
StreamEncoding
Enumeration of possible encoding formats of the content of the literal data packet.
SubkeyBindingSignatureBuilder
SubkeyIdentifier
Tuple class used to identify a subkey by fingerprints of the primary key of the subkeys key ring, as well as the subkeys fingerprint.
SymmetricKeyAlgorithm
Enumeration of possible symmetric encryption algorithms.
SymmetricKeyAlgorithmNegotiator
Interface for symmetric key algorithm negotiation.
Syntax
This interface can be used to define a custom syntax for the `PDA`.
TeeBCPGInputStream
Since we need to update signatures with data from the underlying stream, this class is used to tee out the data.
TeeBCPGInputStream.DelayedTeeInputStream
ThirdPartyCertificationSignatureBuilder
Certification signature builder used to certify other users keys.
ThirdPartyDirectKeySignatureBuilder
Transition
Result of applying a transition rule.
Trustworthiness
Facade class for `TrustSignature`.
Trustworthiness.Builder
Tuple<A,B>
UnacceptableAlgorithmException
Exception that gets thrown if unacceptable algorithms are encountered.
UniversalSignatureBuilder
Signature builder without restrictions on subpacket contents.
UnlockSecretKey
UnprotectedKeysProtector
Implementation of the `SecretKeyRingProtector` which assumes that all handled keys are not password protected.
UserId
UserId.Builder
UserId.DefaultComparator
UserId.DefaultIgnoreCaseComparator
Whitelist
Implementations of `KeyRingSelectionStrategy` which accept PGP KeyRings based on a whitelist of acceptable keyIds.
Whitelist.PubRingSelectionStrategy<O>
`KeyRingSelectionStrategy` which accepts `PGPPublicKeyRings` if the
Whitelist.SecRingSelectionStrategy<O>
`KeyRingSelectionStrategy` which accepts `PGPSecretKeyRings` if the
Wildcard
Implementations of `KeyRingSelectionStrategy` which accept all keyRings.
Wildcard.PubRingSelectionStrategy<O>
Wildcard.SecRingSelectionStrategy<O>
WriteToFileMultiPassStrategy
Implementation of the `MultiPassStrategy`.
WrongConsumingMethodException
WrongPassphraseException
XDH
XDHSpec
XMPP
Implementations of `KeyRingSelectionStrategy` which accept KeyRings containing a given XMPP address of the format "xmpp:alice@pgpainless.org".
XMPP.PubRingSelectionStrategy
`PublicKeyRingSelectionStrategy` which accepts a given `PGPPublicKeyRing` if its primary key has a user-id that matches the given
XMPP.SecRingSelectionStrategy
`SecretKeyRingSelectionStrategy` which accepts a given `PGPSecretKeyRing` if its primary key has a user-id that matches the given
_64DigitFingerprint
This class represents a hex encoded, upper case OpenPGP v5 or v6 fingerprint.