为什么无法正确计算Amazon S3授权

时间:2012-05-17 06:15:27

标签: c# amazon-s3 amazon-web-services hmacsha1

我正在关注官方的Amazon S3 REST API documentation here,并且在计算他们在示例中显示的相同授权值时遇到问题。他们为第一个示例显示的base64 HMAC-SHA1哈希是:

xXjDGYUmKxnwqr5KXNPGldn5LbA=

但我一直在想:

bWq2s1WEIj+Ydj0vQ697zp+IXMU=

我在这里撕扯我的头发。我可能做错了什么?

从他们的第一个例子开始:

static string TestS3(string key, string request) 
{
  var hash = new HMACSHA1(Encoding.UTF8.GetBytes(key));
  var data = hash.ComputeHash(Encoding.UTF8.GetBytes(request));
  return Convert.ToBase64String(data);
}

static void Main(string[] args)
{
  string key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";
  string request = "GET\n\n\nTue, 27 Mar 2007 19:36:42 +0000\n/johnsmith/photos/puppy.jpg";         
  Console.Write(TestS3(key, request));
}

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题。示例中使用的密钥are wrong