aws预先签名的url - 验证预先签名的url会给出SignatureDoesNotMatch错误

时间:2017-10-27 19:45:19

标签: python amazon-web-services boto3 pre-signed-url

我有一个python脚本来生成预先指定的URL并验证它。这个脚本适用于我的笔记本电脑,但不适用于我同事的笔记本电脑。错误消息表示检查AWS秘密访问密钥和签名方法。 AWS访问/密钥有效,可用于访问其他AWS API。如何进一步排除故障?

import requests
import boto3

url = boto3.client('sts').generate_presigned_url(
    'get_caller_identity',
    Params={},
    ExpiresIn=300)
r = requests.post(url)
print r.status_code
print r.text

错误回复: -

<ErrorResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/">
  <Error>
    <Type>Sender</Type>
    <Code>SignatureDoesNotMatch</Code>
    <Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.</Message>
  </Error>
</ErrorResponse>

1 个答案:

答案 0 :(得分:0)

您的代码对我来说很好。

两个系统都有boto3和botocore的最新版本吗?