首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS SES Boto3 -如何修复“我们计算的请求签名与签名不匹配”错误?

AWS SES Boto3 -如何修复“我们计算的请求签名与签名不匹配”错误?
EN

Stack Overflow用户
提问于 2021-06-02 23:50:45
回答 2查看 265关注 0票数 1

我正在遵循example guide to send email using python,并收到一个错误消息:“我们计算的请求签名与您提供的签名不匹配。请检查您的AWS Secret Access密钥和签名方法。”问题是我不会自己签任何东西。Boto应该在后端处理所有这些事情。

翻阅similar issue raised regarding S3 buckets上的评论,许多人在钥匙中的特殊字符方面遇到了问题。一个人说问题是关键中的+。我尝试创建新的凭据,因为我的凭据确实有一个+。新的凭据中有一个/,而我得到的却是错误“请求中包含的安全令牌无效”。一些人还说,当他们使用正斜杠时,他们会得到标题中的错误,而不是令牌无效错误。

我还设法让AWS生成了一个字母数字密钥,但仍然得到标题错误。似乎使用带有/的任何密钥运行都会生成无效令牌错误,而任何其他密钥都会生成标题错误。boto3中是否有一些配置需要解决才能解决这个问题?

额外信息当我尝试发送电子邮件时,完整的输出是这样的:

代码语言:javascript
运行
复制
The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details. This is being created under the hood by boto3. Is there any way to see what boto3 is sending for myself?

The Canonical String for this request should have been
'POST
/

content-type:application/x-www-form-urlencoded; charset=utf-8
host:email.us-east-1.amazonaws.com
x-amz-date:20210602T203507Z

content-type;host;x-amz-date
f7db71769583b2ac6313966e2c40eef110add591a5008c5b3ba727d66fb1fffe'

The String-to-Sign should have been
'AWS4-HMAC-SHA256
20210602T203507Z
20210602/us-east-1/ses/aws4_request
c7d4af550cec63d9b23b3fcca2d4cad3a9587fc565f211626ae908b7bcb6b737'
EN

回答 2

Stack Overflow用户

发布于 2021-06-03 02:30:30

作为流程,您必须在您的一侧计算签名,并将相同的签名传递给AWS。然后,AWS使用输入值在他们的一侧再次生成签名,并尝试与您提供的签名相匹配。

据我所知,这通常不匹配,因为您的输入数据或电子邮件内容包含一些垃圾字符,如没有ascii字符(这通常发生在您从文档复制内容到HTML或表单值时)。尝试删除垃圾字符。

使用此Python脚本删除非ascii字符,一旦您收到作为输入或内容的电子邮件。

https://gist.github.com/aviboy2006/ca1e50f1cb1a32f7544f2f0af1fb928d

票数 0
EN

Stack Overflow用户

发布于 2021-09-02 13:10:12

确保规范字符串中的URL与您的请求URL相同。

我在尝试触发API网关请求时收到此消息。URL不匹配,我的请求URL类似于:

代码语言:javascript
运行
复制
                                                          vv
https://api-gw-id.execute-api.eu-west-1.amazonaws.com/test//users/user-id/customers

而规范字符串包含URL:

代码语言:javascript
运行
复制
                                                          v
https://api-gw-id.execute-api.eu-west-1.amazonaws.com/test/users/user-id/customers

相关库:boto3aws-requests-auth

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67808476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档