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 [email protected]: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