我've been trying explore the use of Http REST api' s . 我遇到了另一个SO帖子,指向AWS如何使用其秘密密钥签署其请求here . 密钥用于对消息的一部分(时间戳,请求路径,参数等)进行签名,并认为这些部分都不能在不产生不同散列的情况下进行更改 .

两个问题:

1)作为AWS标准的一部分,客户端形成的“字符串到符号”的一部分是消息体的散列 . 对于从客户端接收消息的服务器,它需要在计算消息签名之前计算该消息体的散列 . 我的问题围绕着如何实施?对于servlet,您可以在其中放置一个身份验证servlet过滤器来预处理请求,过滤器需要在计算签名之前下载整个主体 . 这是不是意味着“黑客”可能通过向服务器发出大的POST请求来压倒服务器,因为必须首先下载整个主体?

2)由于签名消息,我可以在没有SSL / TLS的情况下使用AWS . 密钥最初如何发送给用户?那不需要超过TLS吗?

谢谢!