- SHA256 mismatches should trip XAmzContentSHA256Mismatch errors,
not BadDigest. This should include ClientComputedContentSHA256 and
S3ComputedContentSHA256 elements.
- BadDigest responses should include ExpectedDigest elements.
- Fix a typo in InvalidDigest error message.
- Requests with a v4 authorization header require a sha256 header,
rejecting with InvalidRequest on failure (and pretty darn early!).
- Requests with a v4 authorization header perform a
looks-like-a-valid-sha256 check, rejecting with InvalidArgument
on failure.
- Invalid SHA256 should take precedence over invalid MD5.
- v2-signed requests can still raise XAmzContentSHA256Mismatch errors
(though they *don't* do the looks-like-a-valid-sha256 check).
- If provided, SHA256 should be used in calculating canonical request
for v4 pre-signed URLs.
Change-Id: I06c2a16126886bab8807d704294b9809844be086