Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 我还是不知道';无法获取HMAC或签名请求的工作方式_Asp.net_Security_Hmac - Fatal编程技术网

Asp.net 我还是不知道';无法获取HMAC或签名请求的工作方式

Asp.net 我还是不知道';无法获取HMAC或签名请求的工作方式,asp.net,security,hmac,Asp.net,Security,Hmac,我在ASP.NET上工作,刚刚从amazon目录中读到这篇文章 非正式地,我们称这个过程为“签署请求”,我们称之为 HMAC算法的输出是“签名”,因为它模拟 实签名的安全属性。最后,您添加了这个 签名作为请求的参数,使用中描述的语法 本节 当系统接收到经过身份验证的请求时,它将获取AWS 您声称拥有并以相同方式使用的秘密访问密钥 为接收到的消息计算“签名”。然后进行比较 它根据客户提供的签名计算的签名 请求者 但我认为这两个要求不会是相同的。请求已签名(很好!!),但来自客户端浏览器的响应的HM

我在ASP.NET上工作,刚刚从amazon目录中读到这篇文章

非正式地,我们称这个过程为“签署请求”,我们称之为 HMAC算法的输出是“签名”,因为它模拟 实签名的安全属性。最后,您添加了这个 签名作为请求的参数,使用中描述的语法 本节

当系统接收到经过身份验证的请求时,它将获取AWS 您声称拥有并以相同方式使用的秘密访问密钥 为接收到的消息计算“签名”。然后进行比较 它根据客户提供的签名计算的签名 请求者


但我认为这两个要求不会是相同的。请求已签名(很好!!),但来自客户端浏览器的响应的HMAC将有所不同,因为它包含额外的数据,对吗?因此,即使请求是有效的,为什么请求也可以进行验证呢?

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

要对请求进行身份验证,首先要连接请求的选定元素以形成字符串。然后使用AWS秘密访问密钥计算该字符串的HMAC


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

我想是这样,但恐怕我不能确定。我对密钥验证略知一二,但对ASP.NET了解不多。:)