Hey Anders,
Sending some custom headers, like ones starting with "X-Goog-", can result in a SignatureDoesNotMatch error.
Usually when we've seen this error it's because someone added custom headers to the GET request.
In this case, the response should contain the unexpected headers.
For example, if I make a download request with an "x-goog-test: test" header, the response that comes back looks like
<?xml version='1.0' encoding='UTF-8'?><Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your Google secret key and signing method.</Message>
<StringToSign>GET [newlines omitted]
1464917127
x-goog-test:test
/bucket/object</StringToSign></Error>
There's the header, 'x-goog-test: test' in the response.
Are you sending any custom headers, or do you see any header lines like this in your error response?