sop-java/sop-java-picocli
Paul Schaub fa52df385e
Split message resources into separate per-command resource files.
Since picocli 4.7.0, subcommands inherit resources from their
parent commands, so we can store shared stuff like error msgs
etc. in the parent (sop) resources file.

This enables us to rename the parent command downstream (e.g. in
pgpainless-cli).

Only the help command breaks when renaming the parent command.
TODO: Fix
2022-07-25 19:15:47 +02:00
..
src Split message resources into separate per-command resource files. 2022-07-25 19:15:47 +02:00
build.gradle Move jsr305 version to version.gradle 2022-04-26 00:34:48 +02:00
README.md Switch to version agnostic SOP spec URLs 2022-05-07 22:17:41 +02:00

SOP-Java-Picocli

javadoc Maven Central

Implementation of the Stateless OpenPGP Command Line Interface specification. This terminal application allows generation of OpenPGP keys, extraction of public key certificates, armoring and de-armoring of data, as well as - of course - encryption/decryption of messages and creation/verification of signatures.

Install a SOP backend

This module comes without a SOP backend, so in order to function you need to extend it with an implementation of the interfaces defined in sop-java. An implementation using PGPainless can be found in the module pgpainless-sop, but it is of course possible to provide your own implementation.

Just install your SOP backend by calling

// static method call prior to execution of the main method
SopCLI.setSopInstance(yourSopImpl);

Usage

To get an overview of available commands of the application, execute

java -jar sop-java-picocli-XXX.jar help

If you just want to get started encrypting messages, see the module pgpainless-cli which initializes sop-java-picocli with pgpainless-sop, so you can get started right away without the need to manually wire stuff up.

Enjoy!