Commit Graph
7 Commits
Author SHA1 Message Date
Peter Tseng fc08251b06 openpgp/clearsign: Correctly handle whitespace-only lines
clearsign.Encode currently creates bad signatures for inputs containing
lines that that consist of only whitespace (gpg --verify and
clearsign.Decode both agree the signature is bad).

RFC 4880 section 7.1 says trailing whitespace is removed when generating
the signature. The previous code correctly handled this for the case of
not being at the beginning of the line by buffering the whitespace.

The previous code had incorrect behavior for the case of being at the
beginning of a line. It was only special-casing dashes and newlines,
directly hashing all other characters.

This happened to work for lines that had leading whitespace followed by
non-whitespace characters, since in that case the leading whitespace is
not trailing.

However, this behavior is incorrect for whitespace-only lines: The
previous code would incorrectly add the first whitespace character to
the hash, when instead it should have been dropped.

This commit moves the whitespace check so that it always happens,
regardless of whether we are at the beginning of a line.

This adds a few tests to capture the expected behavior. The last three
tests fail without the included code change.

Change-Id: I17848b8aaad6f7a4cee414d486be236f7edddd0b
Reviewed-on: https://go-review.googlesource.com/13681
Reviewed-by: Adam Langley <agl@golang.org>
2015-08-29 19:39:25 +00:00
David Symonds 1fbbd62cfe crypto: add import comments.
Change-Id: I33240faf1b8620d0cd600de661928d8e422ebdbc
Reviewed-on: https://go-review.googlesource.com/1235
Reviewed-by: Andrew Gerrand <adg@golang.org>
2014-12-09 23:26:36 +00:00
Andrew Gerrand a73c6bbfc5 go.crypto: use golang.org/x/... import paths
LGTM=bradfitz
R=rsc, bradfitz
CC=golang-codereviews
https://golang.org/cl/167190043
2014-11-10 08:50:25 +11:00
Adam Langley 18c283559e go.crypto/openpgp: fix clearsigned parsing of messages with leading blank lines.
Fixes golang/go#8508.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/128920043
2014-08-28 10:37:22 -07:00
Adam Langley aeb0262c11 go.crypto/openpgp: fix hash presence checks.
At some point in the distant past, crypto.Hash.New() changed from
returning nil when a hash function wasn't provided, to panicing. Some
of the code in openpgp predates this and was still using the nil check.

LGTM=bradfitz
R=sburford, bradfitz
CC=golang-codereviews
https://golang.org/cl/104850045
2014-06-04 11:40:03 -07:00
Adam Langley 54eafe1dea openpgp: eliminate implicit rand.Reader and time.Now
Fixes golang/go#2501.

R=rsc, bradfitz
CC=golang-dev
https://golang.org/cl/5653067
2012-02-20 10:48:21 -05:00
Adam Langley 303976f059 crypto/openpgp: add clear-signing support.
Clear signed messages are often seen in email and are formatted so
that the plaintext of the signed message is readable without any
special tools.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5604043
2012-02-03 16:46:11 -05:00