我在ASP.NET上工作,只是从亚马逊目录http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAuthentication.html中读取它,并在其中声明
非正式地,我们将此流程称为“签署请求”,我们致电 HMAC算法的输出是“签名”,因为它模拟 真实签名的安全属性。最后,你添加这个 签名作为请求的参数,使用中描述的语法 这部分。
当系统收到经过身份验证的请求时,它会获取AWS 您声称拥有的秘密访问密钥,并以相同的方式使用它 计算收到的邮件的“签名”。然后比较 它根据签名提出的签名计算出的签名 请求者。
但我认为这两个请求都不一样。请求已签名(很棒!!)但来自客户端浏览器的响应的HMAC将会有所不同,因为它包含额外的数据对吗?那么请求如何验证即使它们是有效的
答案 0 :(得分:3)
您需要阅读引用的所有段落。在你引用它之前,它说:
要对请求进行身份验证,首先要连接请求的选定元素以形成字符串。然后,您可以使用AWS Secret Access Key计算该字符串的HMAC。
因此,您从这些选定的元素计算HMAC,并且当您提交请求时,服务器会根据这些元素计算HMAC,然后对它们进行比较。