Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/protonmail/gosop
Stateless CLI for GopenPGP
https://github.com/protonmail/gosop
cryptography openpgp
Last synced: 1 day ago
JSON representation
Stateless CLI for GopenPGP
- Host: GitHub
- URL: https://github.com/protonmail/gosop
- Owner: ProtonMail
- License: mit
- Created: 2020-04-27T06:28:06.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-13T11:43:35.000Z (2 days ago)
- Last Synced: 2024-11-13T12:32:20.787Z (2 days ago)
- Topics: cryptography, openpgp
- Language: Go
- Homepage:
- Size: 108 KB
- Stars: 28
- Watchers: 7
- Forks: 10
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gosop
Stateless Command-Line Interface implementation for
[GopenPGP](https://gopenpgp.org).### What is SOP?
The [Stateless OpenPGP
CLI](https://tools.ietf.org/html/draft-dkg-openpgp-stateless-cli-01), known as
SOP, is an RFC specification that aims to provide a minimal API for any
implementation of the OpenPGP protocol, in the form of a command-line
Interface. SOP can be used to test interoperability between different
implementations of OpenPGP; the [OpenPGP interoperability Test
Suite](https://tests.sequoia-pgp.org/) reports results using several SOP
implementations. For more information, please refer to the
[specification](https://tools.ietf.org/html/draft-dkg-openpgp-stateless-cli-01).### Install
```
mkdir -p $GOPATH/src/github.com/ProtonMail/
cd $GOPATH/src/github.com/ProtonMail/
git clone [email protected]:ProtonMail/gosop.git && cd gosop
go install
```### Usage
You can now invoke `gosop` from the command line:
```
echo "Hello PGP" | gosop encrypt --with-password=PASSWORD_FILE
```
or:
```
echo "Hello PGP" | PWD="password" gosop encrypt --with-password="@ENV:PWD"
```See [commands directory](https://github.com/ProtonMail/gosop/tree/master/cmd)
for all currently supported subcommands and flags, or run `gosop help`.### Test your installation
Given the CLI nature of `gosop`, tests are run with `bash` scripts
outside the Go testing framework.
```
cd $GOPATH/src/github.com/ProtonMail/gosop
make test
```### Contribute
If you are providing new commands or flags according to the
[specification](https://tools.ietf.org/html/draft-dkg-openpgp-stateless-cli-01),
please add the appropriate tests and lint before submitting:
```
go install -u golang.org/x/lint/golint
go install github.com/golangci/golangci-lint/cmd/golangci-lint
make lint
```