Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何创建通过HTTP发送Amazon SES电子邮件所需的HMAC签名?_Amazon Web Services_Email_Hmac_Amazon Ses - Fatal编程技术网

Amazon web services 如何创建通过HTTP发送Amazon SES电子邮件所需的HMAC签名?

Amazon web services 如何创建通过HTTP发送Amazon SES电子邮件所需的HMAC签名?,amazon-web-services,email,hmac,amazon-ses,Amazon Web Services,Email,Hmac,Amazon Ses,我正在使用Amazon SES尝试通过HTTP Post发送电子邮件,例如: https://email.us-east-1.amazonaws.com/?Action=SendEmail&Source=user%40example.com&Destination.ToAddresses.member.1=allan%40example.com&Message.Subject.Data=This%20is%20the%20subject%20line.&Messa

我正在使用Amazon SES尝试通过HTTP Post发送电子邮件,例如:

https://email.us-east-1.amazonaws.com/?Action=SendEmail&Source=user%40example.com&Destination.ToAddresses.member.1=allan%40example.com&Message.Subject.Data=This%20is%20the%20subject%20line.&Message.Body.Text.Data=Hello.%20I%20hope%20you%20are%20having%20a%20good%20day.
但是,在HTTP标头中,它要求X-Amzn-Authorization,其中包括:

X-Amzn-Authorization: AWS3-HTTPS AWSAccessKeyId=<Your AWS Access Key ID>, Algorithm=HmacSHA256, Signature=<Signature>
X-Amzn-Authorization:AWS3-HTTPS AWSAccessKeyId=,算法=HmacSHA256,签名=
我想知道如何计算签名?这只是我的秘密访问密钥吗


此处所示为。

否-您的秘密访问密钥出于某种原因是保密的。千万不要把它传出去,否则你会让任何嗅探到它的人完全访问你的AWS帐户——他们可以用它来关闭你所有的疯狂行为,删除整个S3存储桶——一切

签名是“已签名的请求”。您获取请求的内容,并使用您的密钥作为散列密钥为消息身份验证码(HMAC)散列创建密钥散列。由于您的密钥只有您和Amazon知道,当Amazon收到请求时,他们还将获取您请求的内容,并根据您的密钥对其进行散列-如果他们得到与您的签名请求相同的散列,则他们知道请求未被篡改。如果它们不同,那么请求可能被恶意篡改或泄露,因此他们将拒绝该请求

详情如下:

包括用于计算HMAC的代码