我正在执行 EC2 API 查询并面临错误“我们计算的请求签名与您提供的签名不匹配”。
事实是我已经处理了 EC2 文档(SignatureVersion 2)中的所有内容,但我仍然面临这个错误并且无法找出问题所在。
以下是详细信息:
1)登录字符串:
s="""GET\n
ec2.amazonaws.com\n
/\n
AWSAccessKeyId=access_id&Action=DescribeSecurityGroups&SignatureMethod=HmacSHA256
&SignatureVersion=2&Timestamp=2013-10-06T14%3A15%3A30&Version=2013-08-15"""
2)生成签名的Python代码:
#!/bin/env python2.7
import hmac
import hashlib
import base64
s="""GET\n
ec2.amazonaws.com\n
/\n
AWSAccessKeyId=acces_id&Action=DescribeSecurityGroups&
SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2013-10-
06T14%3A15%3A30&Version=2013-08-15"""
signature=base64.b64encode(hmac.new("secret_key_id", msg=s,
digestmod=hashlib.sha256).digest())
print(signature)
3)浏览器请求:
谢谢