From 42244ad7ee73f57641f762f129a5928ff45256ee Mon Sep 17 00:00:00 2001 From: Aaron Bieber Date: Fri, 24 Dec 2021 09:03:59 -0700 Subject: [PATCH] Switch to protonmail's openpgp lib - fix a few closing issues while here --- go.mod | 10 +++++++--- go.sum | 15 +++++++-------- main.go | 22 ++++++++++++++-------- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/go.mod b/go.mod index 0afc599..124f1e6 100644 --- a/go.mod +++ b/go.mod @@ -1,9 +1,13 @@ module suah.dev/ogvt -go 1.13 +go 1.17 require ( - golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 - golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20211221144345-a4f6767435ab suah.dev/protect v1.2.0 ) + +require ( + golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 // indirect + golang.org/x/sys v0.0.0-20210917161153-d61c044b1678 // indirect +) diff --git a/go.sum b/go.sum index 2218c64..3360f14 100644 --- a/go.sum +++ b/go.sum @@ -1,14 +1,13 @@ -golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 h1:/pEO3GD/ABYAjuakUS6xSEmmlyVS4kxBNkeA9tLJiTI= -golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +github.com/ProtonMail/go-crypto v0.0.0-20211221144345-a4f6767435ab h1:5FiL/TCaiKCss/BLMIACDxxadYrx767l9kh0qYX+sLQ= +github.com/ProtonMail/go-crypto v0.0.0-20211221144345-a4f6767435ab/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210917161153-d61c044b1678 h1:J27LZFQBFoihqXoegpscI10HpjZ7B5WQLLKL2FZXQKw= golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 h1:TyHqChC80pFkXWraUUf6RuB5IqFdQieMLwwCJokV2pc= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= suah.dev/protect v1.2.0 h1:4G4V43yVYXCjLFzaE9QJR0fLo3rf5vNBS9YxyoI19DU= suah.dev/protect v1.2.0/go.mod h1:Ocn1yqUskqe/is6N2bxQxtT+fegbvQsOFyHbJAQu9XE= diff --git a/main.go b/main.go index e590e69..0580645 100644 --- a/main.go +++ b/main.go @@ -6,12 +6,14 @@ import ( "fmt" "io" "io/ioutil" + "log" "os" "path/filepath" "text/tabwriter" - "golang.org/x/crypto/openpgp" - "golang.org/x/crypto/openpgp/clearsign" + "github.com/ProtonMail/go-crypto/openpgp" + "github.com/ProtonMail/go-crypto/openpgp/clearsign" + "github.com/ProtonMail/go-crypto/openpgp/packet" "suah.dev/protect" ) @@ -60,7 +62,7 @@ func main() { pubFi, err := os.Open(flags.pub) errExit(err) - defer pubFi.Close() + kr, err := openpgp.ReadArmoredKeyRing(pubFi) if err != nil { fmt.Printf("Can't parse public key %q\n%s\n", flags.pub, err) @@ -107,7 +109,6 @@ func main() { os.Exit(1) } errExit(err) - defer messageFi.Close() message = messageFi sig = bytes.NewReader(sigBytes) @@ -118,17 +119,22 @@ func main() { } var ent *openpgp.Entity + var pkt *packet.Config if armored { - ent, err = openpgp.CheckArmoredDetachedSignature(kr, message, sig) + ent, err = openpgp.CheckArmoredDetachedSignature(kr, message, sig, pkt) } else { - ent, err = openpgp.CheckDetachedSignature(kr, message, sig) + ent, err = openpgp.CheckDetachedSignature(kr, message, sig, pkt) } errExit(err) w := tabwriter.NewWriter(os.Stdout, 0, 0, 1, ' ', 0) for _, id := range ent.Identities { - fmt.Fprintf(w, "%q\t(%X)\n", id.Name, ent.PrimaryKey.Fingerprint) + _, err := fmt.Fprintf(w, "%q\t(%X)\n", id.Name, ent.PrimaryKey.Fingerprint) + if err != nil { + log.Println(err) + } } - w.Flush() + err = w.Flush() + errExit(err) fmt.Println("Signature OK.") }