2

与大多数 AWS Simple Email Service 客户一样,我们已获悉,Amazon Simple Email Service 将于 2020 年 9 月 30 日终止对 Signature Version 3 的支持。

https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html

上面的链接和这个(https://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html)似乎表明如果我们使用AWS SDK,签名过程会自动处理。

这让我相信我们只需要确保我们使用的是最新版本的 AWS 开发工具包?这个对吗?

==================================================== =======================

此外,一项查看用于签名的版本的测试似乎是检查 HTTP API 请求:

GET https://iam.amazonaws.com/?Action=ListUsers&Version=2010-05-08 HTTP/1.1
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7
content-type: application/x-www-form-urlencoded; charset=utf-8
host: iam.amazonaws.com
x-amz-date: 20150830T123600Z

换句话说,如果是版本 4,将会看到“Authorization: AWS4-HMAC-SHA256”。我不确定何时发送此 HTTP API 请求。

这是我们使用 AWS 开发工具包创建 AmazonSimpleEmailServiceClient 的时候吗?

 Dim client As New Amazon.SimpleEmail.AmazonSimpleEmailServiceClient("<Access-key-id>", "<Secret-access-key-id>", Amazon.RegionEndPoint.<EndPoint>)

或者当我们发送电子邮件请求时?

Dim mailObj As New SendEmailRequest
...
Dim response = client.SendEmail(mailObj)
4

1 回答 1

3

谢谢托马斯,如果你的评论是一个答案,我会接受它:-)

我在发送电子邮件时使用 fiddler 检查了 HTTP 请求标头。

在此处输入图像描述

并且可以确认它使用的是 Signature 版本 3。

然后我转到 AWS SDK 3.3,检查 HTTP 标头,发现签名是版本 4。

在此处输入图像描述

所以看起来我们需要做的就是升级我们的 AWS 开发工具包。谢谢。

希望这对其他人有帮助。

于 2020-08-06T23:50:25.457 回答