crypto: Correct s2k type constants. They are 0,1,3 according to both the RFC: http://tools.ietf.org/html/rfc4880#section-3.7 And according to the gpg implementation: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git&a=search&h=refs%2Fheads%2FSTABLE-BRANCH-2-0&st=grep&s=s2kmode R=agl CC=evn, golang-dev https://golang.org/cl/11355046
diff --git a/openpgp/s2k/s2k.go b/openpgp/s2k/s2k.go index c8b9bbd..c466a8d 100644 --- a/openpgp/s2k/s2k.go +++ b/openpgp/s2k/s2k.go
@@ -97,12 +97,12 @@ } switch buf[0] { - case 1: + case 0: f := func(out, in []byte) { Simple(out, h, in) } return f, nil - case 2: + case 1: _, err = io.ReadFull(r, buf[:8]) if err != nil { return
diff --git a/openpgp/s2k/s2k_test.go b/openpgp/s2k/s2k_test.go index 3a094a1..4898828 100644 --- a/openpgp/s2k/s2k_test.go +++ b/openpgp/s2k/s2k_test.go
@@ -66,9 +66,9 @@ spec, in, out string }{ /* Simple with SHA1 */ - {"0102", "hello", "aaf4c61d"}, + {"0002", "hello", "aaf4c61d"}, /* Salted with SHA1 */ - {"02020102030405060708", "hello", "f4f7d67e"}, + {"01020102030405060708", "hello", "f4f7d67e"}, /* Iterated with SHA1 */ {"03020102030405060708f1", "hello", "f2a57b7c"}, }