mirror of
https://codeberg.org/PGPainless/sop-java.git
synced 2025-12-05 04:41:09 +01:00
Stateless OpenPGP Protocol API and CLI for Java
This is done to fix external-sop tests, which rely on environment variables, which do not play nicely with binary data |
||
|---|---|---|
| .github/ISSUE_TEMPLATE | ||
| .woodpecker | ||
| config/checkstyle | ||
| external-sop | ||
| gradle/wrapper | ||
| LICENSES | ||
| sop-java | ||
| sop-java-picocli | ||
| sop-java-testfixtures | ||
| .gitignore | ||
| build.gradle | ||
| CHANGELOG.md | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| README.md | ||
| REUSE.toml | ||
| settings.gradle | ||
| version.gradle | ||
SOP for Java
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.
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-javaAPI 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 |