Amazon Signature V2 SignatureDoesNotMatch错误的主机,没有查询

时间:2017-09-06 22:46:28

标签: amazon-web-services amazon-s3

根据此处所述的v2过程手动签名时,我收到带有意外StringToSign(隐含的内容)的SignatureDoesNotMatch错误:http://docs.aws.amazon.com/general/latest/gr/signature-version-2.html

StringToSign显示一个没有查询的StringToSign,并且在我编写的规范请求字符串中,主机名是一个数字,而不是s3.amazonaws.com

为什么会发生这种情况?我看到错误上方的网址请求完全不同。

1 个答案:

答案 0 :(得分:0)

S3不会对要签名的字符串使用相同的规则。

StringToSign = HTTP-VERB + "\n" +
Content-MD5 + "\n" +
Content-Type + "\n" +
Expires + "\n" +
CanonicalizedAmzHeaders +
CanonicalizedResource;  

您看到的号码不是主机名,而是过期时间。 Content-MD5和Content-Type是GET个请求的空字符串。 (\n仍然存在。对XML错误执行“查看源代码” - 您的浏览器可能隐藏了空白行。)

http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html