我仍然没有获得HMAC或签署请求如何工作

时间:2012-10-08 15:28:24

标签: asp.net security hmac

我在ASP.NET上工作,只是从亚马逊目录http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAuthentication.html中读取它,并在其中声明

  

非正式地,我们将此流程称为“签署请求”,我们致电   HMAC算法的输出是“签名”,因为它模拟   真实签名的安全属性。最后,你添加这个   签名作为请求的参数,使用中描述的语法   这部分。

     

当系统收到经过身份验证的请求时,它会获取AWS   您声称拥有的秘密访问密钥,并以相同的方式使用它   计算收到的邮件的“签名”。然后比较   它根据签名提出的签名计算出的签名   请求者。

但我认为这两个请求都不一样。请求已签名(很棒!!)但来自客户端浏览器的响应的HMAC将会有所不同,因为它包含额外的数据对吗?那么请求如何验证即使它们是有效的

1 个答案:

答案 0 :(得分:3)

您需要阅读引用的所有段落。在你引用它之前,它说:

  

要对请求进行身份验证,首先要连接请求的选定元素以形成字符串。然后,您可以使用AWS Secret Access Key计算该字符串的HMAC。

因此,您从这些选定的元素计算HMAC,并且当您提交请求时,服务器会根据这些元素计算HMAC,然后对它们进行比较。