Stateless Command-Line Interface implementation for GopenPGP.
The Stateless OpenPGP CLI, 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 reports results using several SOP implementations. For more information, please refer to the specification.
mkdir -p $GOPATH/src/github.com/ProtonMail/
cd $GOPATH/src/github.com/ProtonMail/
git clone git@github.com:ProtonMail/gosop.git && cd gosop
go install
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
for all currently supported subcommands and flags, or run gosop help
.
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
If you are providing new commands or flags according to the specification, 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