gosop
Stateless Command-Line Interface implementation for
GopenPGP.
What is SOP?
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.
Install
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
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
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,
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