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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
Java RESTAPI消息签名-问题_Java_Security_Rest_Servlets_Amazon Web Services - Fatal编程技术网

Java RESTAPI消息签名-问题

Java RESTAPI消息签名-问题,java,security,rest,servlets,amazon-web-services,Java,Security,Rest,Servlets,Amazon Web Services,我一直在尝试探索Http REST api的使用。我看到另一篇SO帖子,指出AWS是如何使用文档中的密钥签署其请求的。密钥用于对消息的某些部分(时间戳、请求路径、参数等)进行签名,其思想是在不生成不同哈希的情况下,无法更改这些部分 两个问题: 1) 作为AWS标准的一部分,客户端形成的“要签名的字符串”的一部分是消息体的散列。对于从客户机接收消息的服务器,在计算消息签名之前,它需要计算该消息体的哈希值。我的问题集中在如何实现这一点上?在servlet的情况下,您将身份验证servlet过滤器放入

我一直在尝试探索Http REST api的使用。我看到另一篇SO帖子,指出AWS是如何使用文档中的密钥签署其请求的。密钥用于对消息的某些部分(时间戳、请求路径、参数等)进行签名,其思想是在不生成不同哈希的情况下,无法更改这些部分

两个问题:

1) 作为AWS标准的一部分,客户端形成的“要签名的字符串”的一部分是消息体的散列。对于从客户机接收消息的服务器,在计算消息签名之前,它需要计算该消息体的哈希值。我的问题集中在如何实现这一点上?在servlet的情况下,您将身份验证servlet过滤器放入预处理请求中,过滤器需要下载整个主体,然后才能计算签名。这难道不意味着“黑客”可以通过向服务器发出大量POST请求来压倒服务器,因为必须首先下载整个主体

2) 由于对消息进行签名,我发现AWS可以在没有SSL/TLS的情况下工作。密钥最初是如何发送给用户的?这不需要结束TLS吗

谢谢