通过HTTP

时间:2015-07-30 18:28:38

标签: amazon-web-services amazon-ses

在使用aws ses时,我遇到了SignatureDoesNotMatch错误。我正在使用GMT DATE和安全密钥与HMAC SHA256创建签名密钥,然后将其转换为Base64。

签名= base64(HMAC SHA256(日期,安全密钥));

网址:https://email.us-west-2.amazonaws.com?Action=SendEmail&Source=exmaple%40gmail.com&Destination.ToAddresses.member.1=person2%40gmail.com&Message.Subject.Data=Hey&Message.Body.Text.Data=Hello

输入标题为x-amz-date:星期四,2015年7月30日18:15:51 +0000

X-Amzn-Authorization:AWS3-HTTPS AWSAccessKeyId = AccessKEY,Algorithm = HmacSHA256,签名=使用DATE和安全密钥计算的符号。

请告诉我,如果我以错误的方式计算签名或其他任何问题?

1 个答案:

答案 0 :(得分:0)

前几天我遇到了一个类似的问题与不同的服务,解决方案是我的参数没有按字母顺序排序。您应该尝试使用“Message.Body.Text.Data”切换“Message.Subject.Data”顺序,因为后者应按字典顺序出现。这应该可以解决你的问题。