Stateless OpenPGP Protocol API and CLI for Java
Find a file
2025-04-14 11:44:22 +02:00
.github/ISSUE_TEMPLATE Update issue templates 2024-02-26 11:03:16 +01:00
.woodpecker Migrate pipeline definition to use from_secret 2025-01-28 12:34:53 +01:00
config/checkstyle Initial commit 2022-01-11 13:46:05 +01:00
external-sop Fix issues in kdoc 2025-04-04 12:16:00 +02:00
gradle/wrapper Bump gradlew to 7.5 2023-01-05 01:42:31 +01:00
LICENSES Restore reuse compliance 2022-01-15 14:45:13 +01:00
sop-java Fix formatting issue 2025-04-14 11:28:14 +02:00
sop-java-picocli Fix issues in kdoc 2025-04-04 12:16:00 +02:00
sop-java-testfixtures Migrate AbortOnUnsupportedOption annotation back to java 2025-04-14 11:26:09 +02:00
.gitignore Initial commit 2022-01-11 13:46:05 +01:00
build.gradle Bump animalsniffer to 2.0.0 2025-04-14 11:29:04 +02:00
CHANGELOG.md SOP-Java 10.1.1 2025-04-14 11:41:50 +02:00
gradlew Bump gradlew to 7.2 2022-11-07 01:18:51 +01:00
gradlew.bat Initial commit 2022-01-11 13:46:05 +01:00
LICENSE Add LICENSE 2022-01-11 15:25:59 +01:00
README.md Update README 2025-03-11 21:18:24 +01:00
REUSE.toml reuse: Migrate to toml format 2025-04-14 11:27:54 +02:00
settings.gradle Move testfixtures to own artifact 2025-01-28 12:33:07 +01:00
version.gradle SOP-Java 10.1.2-SNAPSHOT 2025-04-14 11:44:22 +02:00

SOP for Java

status-badge Spec Revision: 10 Coverage Status REUSE status

The Stateless OpenPGP Protocol specification defines a generic stateless CLI for dealing with OpenPGP messages. Its goal is to provide a minimal, yet powerful API for the most common OpenPGP related operations.

Packaging status Maven Central

Modules

The repository contains the following modules:

  • sop-java defines a set of Java interfaces describing the Stateless OpenPGP Protocol.
  • sop-java-picocli contains a wrapper application that transforms the sop-java API into a command line application compatible with the SOP-CLI specification.
  • external-sop contains an API implementation that can be used to forward API calls to a SOP executable, allowing to delegate the implementation logic to an arbitrary SOP CLI implementation.
  • sop-java-testfixtures contains a test suite that can be shared by downstream implementations of sop-java.

Known Implementations

(Please expand!)

Project Description
pgpainless-sop Implementation of sop-java using PGPainless
external-sop Implementation of sop-java that allows binding to external SOP binaries such as sqop
bcsop Implementation of sop-java using vanilla Bouncy Castle

Implementations in other languages

Project Language
sop-rs Rust
SOP for python Python
rpgpie-sop Rust