Stateless OpenPGP Protocol API and CLI for Java
Find a file
2026-02-09 16:12:34 +01:00
.github/ISSUE_TEMPLATE Update issue templates 2024-02-26 11:03:16 +01:00
.woodpecker Try to fix coveralls repo token 2025-05-15 02:16:52 +02:00
external-sop Assume passed in SOP implementation is ExternalSOP 2026-02-09 16:12:34 +01:00
gradle/wrapper Bump gradle wrapper to 8.8 2025-09-26 21:42:01 +02:00
LICENSES Restore reuse compliance 2022-01-15 14:45:13 +01:00
sop-java Add tests for ByteArrayAndResult and MicAlg classes 2026-02-01 21:47:39 +01:00
sop-java-json-gson Fix spotless complaints 2025-09-25 23:05:30 +02:00
sop-java-picocli Kotlin style improvements 2026-01-29 00:13:06 +01:00
sop-java-testfixtures Add test for validate-userid --addr-spec-only 2026-02-03 01:35:16 +01:00
.gitignore Initial commit 2022-01-11 13:46:05 +01:00
.sdkmanrc Add missing license header 2026-01-29 00:04:56 +01:00
build.gradle Add promoteToMavenCentral task 2025-10-29 13:36:49 +01:00
CHANGELOG.md SOP-Java 15.0.1 2026-02-01 22:18:47 +01: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 README.md: Update SOP spec revision to 15 2026-01-08 19:33:23 +01:00
REUSE.toml reuse: convert dep5 file to toml file 2025-06-17 13:45:02 +02:00
settings.gradle Introduce sop-java-json-gson module 2025-07-25 14:09:06 +02:00
version.gradle SOP-Java 15.0.2-SNAPSHOT 2026-02-01 22:23:31 +01:00

SOP for Java

status-badge Spec Revision: 15 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.
  • sop-java-json-gson contains an optional module for parsing JSON objects from verification strings using GSON.

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