Amazon Simple Email Service 将于 2020 年 9 月 30 日终止对签名版本 3 的支持

Amazon Simple Email Service is ending support for Signature Version 3 effective September 30, 2020

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

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

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

这让我相信我们只需要确保我们使用的是最新版本的 AWS SDK?这是正确的吗?

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

此外,一项查看哪个版本用于签名的测试似乎正在检查 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 SDK 创建 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)

谢谢 Thomas,如果您的评论是答案,我会接受的:-)

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

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

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

看来我们需要做的就是升级我们的 AWS SDK。谢谢

希望这对其他人有帮助。