The PGPainless Ecosystem
PGPainless consists of an ecosystem of different libraries and projects.
The diagram below shows, how the different projects relate to one another.
Libraries and Tools
The main repository contains the following components:
pgpainless-core- core implementation - powerful, yet easy to use OpenPGP API
pgpainless-sop- super simple OpenPGP implementation. Drop-in for
pgpainless-cli- SOP CLI implementation using PGPainless
An API definition and CLI implementation of the Stateless OpenPGP Protocol (SOP). Consumers of the SOP API can simply depend on
sop-javaand then switch out the backend as they wish. Read more about the SOP protocol here.
sop-java- generic OpenPGP API definition
sop-java-picocli- CLI frontend for
Implementation of the Web Key Directory.
wkd-java- generic WKD discovery implementation
wkd-java-cli- CLI frontend for WKD discovery using PGPainless
wkd-test-suite- Generator for test vectors for testing WKD implementations
Client-side API for communicating with Verifying Key Servers, such as https://keys.openpgp.org/.
vks-java- VKS client implementation
vks-java-cli- CLI frontend for
Implementations of the Shared OpenPGP Certificate Directory specification.
pgp-certificate-store- abstract definitions of OpenPGP certificate stores
pgp-cert-d-java- implementation of
pgp-certificate-storefollowing the PGP-CERT-D spec
pgp-cert-d-java-jdbc-sqlite-lookup- subkey lookup using sqlite database
Implementation of the Shared OpenPGP Certificate Directory specification using PGPainless.
pgpainless-cert-d- PGPainless-based implementation of
pgpainless-cert-d-cli- CLI frontend for
Prototypical, comprehensive OpenPGP CLI application
pgpeasy- CLI application