AWS Signature v4,用于对AWS IoT的HTTP请求

问题描述 投票:0回答:1

我有一个与AWS相关的物联网项目。在我的项目中,我的设备将原始数据传输到云,然后云将以JSON格式解密的信息发送到AWS IoT。云支持使用REST API进行上行链路/下行链路的HTTP协议,因此我认为它可以与AWS IoT一起使用[link]:https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html#http

我想使用带有身份验证的AWS Sig v4发送HTTP请求,如下表所示:

AWS4-HMAC-SHA256 Credential = {1} / {2} / {3} / {4} / aws4_request,SignedHeaders = content-type; host; x-amz-date,Signature = {5}

但是,我不知道如何生成签名{5}。我无法使用脚本生成,因为我的云不支持运行脚本。它只有一些标题和值的框,我可以在其中留下授权等(请参阅此处的屏幕截图https://imgur.com/RI815EZ)任何建议?提前致谢,

amazon-web-services post http-headers postman aws-iot
1个回答
0
投票

通过HTTP访问AWS IoT消息代理不会使用AWS Sig v4进行身份验证。相反,它使用相互TLS身份验证,该身份验证需要配置证书和密钥以对消息代理进行身份验证。

假设您的非AWS云提供商不支持相互TLS身份验证(或MQTT over websockets的替代方案),那么您可以添加一个将JSON发送到AWS IoT的间接层。

实现此目的的一种方法是在AWS中实现一个Lambda,它接收您的JSON并将其发送到AWS IoT代理。 Lambda将负责AWS IoT的身份验证。 AWS SDK通常会为您处理此身份验证。

Lambda需要实现非AWS云提供商支持的身份验证(例如,它可以使用基本身份验证)。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.