Aws-cli: SignatureDoesNotMatch 错误

创建于 2014-01-22  ·  175评论  ·  资料来源: aws/aws-cli

调用 ListUsers 操作时,我不断收到客户端错误 (SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。 检查您的 AWS 秘密访问密钥和签名方法。 有关详细信息,请参阅服务文档。

我设置了环境变量 AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY 和 AWS_DEFAULT_REGION。

confusing-error

最有用的评论

刚刚这件事发生在我身上,这是我的系统时间过长的结果,即使它没有报告。 针对 pool.ntp.org 运行 ntpdate 并为我解决了这个问题。

所有175条评论

编辑:如果您遇到此问题,我们将感谢您在故障排除方面的帮助。 我正在更新此评论,以便更好地了解故障排除步骤。

故障排除

对此进行故障排除的第一步是确定问题是与凭据本身有关还是与 CLI 有关。 要对此进行测试,请尝试在其他 AWS 开发工具包(javascript、ruby、java 等)中使用这些凭证。 为了解决这个问题,我创建了一个测试脚本,该脚本使用适用于 Python 和 javascript 的 AWS 开发工具包,可在此处获取: https : make installmake test 。 它会提示您输入凭据(类似于 CLI)并对sts.GetCallerIdentity进行 API 调用。

/tmp $ mkdir /tmp/repro-cli-602
/tmp $ cd /tmp/repro-cli-602/
/tmp/repro-cli-602 $ git clone git://github.com/jamesls/aws-creds-test
Cloning into 'aws-creds-test'...
...
/tmp/repro-cli-602 $ cd aws-creds-test/
/tmp/repro-cli-602/aws-creds-test (master u=) $ make install
npm install
[email protected] /private/tmp/repro-cli-602/aws-creds-test
├─┬ [email protected]
...
pip install -r requirements.txt
Requirement already satisfied: botocore<2.0.0,>=1.5.0 in /usr/local/lib/python2.7/site-packages (from -r requirements.txt (line 1))
...



/tmp/repro-cli-602/aws-creds-test (master u=) $ make test
./test-creds.sh
Testing python...
Access Key:
Secret Access Key:
AKID   hash: 4e7c36343646e1fa7495092bffcd4b9b7dd00f2f5014a189ab81f326e6472a62
AKID length: 20

SAK    hash: 941a655993caccb1a1218883b97a88b6f41762c6d03902f1cdd1e2a5de5fd82e
SAK  length: 40
Successfuly made an AWS request with the provided credentials.

Testing javasript...
Access Key: ********************
Secret Access Key: ****************************************
AKID   hash: 4e7c36343646e1fa7495092bffcd4b9b7dd00f2f5014a189ab81f326e6472a62
AKID length: 20


SAK    hash: 941a655993caccb1a1218883b97a88b6f41762c6d03902f1cdd1e2a5de5fd82e
SAK  length: 40
Sucessfully made an AWS request with the provided credentials.

对于遇到此问题的人,请运行测试脚本并共享输出。

这应该让我们更好地了解发生此问题的位置:

  • 如果上述脚本同时适用于 python 和 javascript,但在使用 CLI 时失败,则可能是 CLI 问题。
  • 如果脚本对于 python 失败但对于 javascript 通过,则可能是 botocore(CLI 使用的)的问题。
  • 如果上述脚本对 python 和 javascript 都失败,则可能是实际凭据的问题。

预先感谢任何可以帮助我们解决此问题的人。 如果有任何问题,请告诉我。

这是它的样子:

thomas<strong i="6">@iMac</strong>:~ $ echo $AWS_ACCESS_KEY_ID
AKIAXXXXXXXXXXXXXXXX
thomas<strong i="7">@iMac</strong>:~ $ echo $AWS_SECRET_ACCESS_KEY
abcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+0
thomas<strong i="8">@iMac</strong>:~ $ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
              env    AWS_ACCESS_KEY_ID
              env    AWS_SECRET_ACCESS_KEY
    region                eu-west-1              env    AWS_DEFAULT_REGION

关于这个问题的任何更新? 我也遇到了这个错误,我的凭证文件没有改变。

我有一个类似的问题。 Jenkins s3 插件能够使用我的凭据放置一个对象,但是 aws-cli 给了我以下错误。

aws s3 cp s3://my-bucket/folder/test.txt test.txt
A client error (Forbidden) occurred when calling the HeadObject operation: Forbidden Completed 1 part(s) with ... file(s) remaining

aws s3api get-object --bucket my-bucket --key folder/test.txt test.txt
A client error (SignatureDoesNotMatch) occurred when calling the GetObject operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.

我遇到了同样的问题。 如果我编造了一个秘密,它会给我一个不同的 (AuthFailure) 错误。

[[email protected]]]$ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key     ****************AMKA              env    AWS_ACCESS_KEY_ID
secret_key     ****************jPU2              env    AWS_SECRET_ACCESS_KEY
    region                us-west-2              env    AWS_DEFAULT_REGION

这几乎完全阻止了我。 我可以通过指定 x509 证书来使用 ec2-blah-stuff 实用程序做一些事情,但帮助说这已被弃用,所以我不想依赖它。 任何帮助故障排除或任何将真正感激。

第一步是确保您的访问/秘密密钥实际上有效。 要尝试的几件事:

  • 这些相同的访问/密钥凭据是否适用于其他工具? (java/javascript/ruby/python SDK?)
  • 除了“aws s3”之外的其他命令对你有用吗? “aws ec2 describe-instances”是否仍会产生身份验证错误?

它们不适用于其他工具(例如 ec2-describe-instance)。

我认为我拥有适当的权利,因为使用证书作品。 为了确保它不是工作站的东西,我构建了一个 Amazon Linux 实例,我正在使用它附带的 awscli 版本,但收到相同的消息。

对我来说也是一个问题。 我在使用相同 Dockerfile 构建的 docker 容器中使用它。
它在 EC2 上构建时运行良好,但在 coreos vagrant box 上本地构建时不起作用。

看起来问题出在凭据本身上。 我已经仔细检查了这一点,但我无法重现这个问题。 仔细检查安全凭证页面上的

刚刚这件事发生在我身上,这是我的系统时间过长的结果,即使它没有报告。 针对 pool.ntp.org 运行 ntpdate 并为我解决了这个问题。

如果在使用 env 变量设置 cred 时遇到此错误,请尝试 sudo

如果您在虚拟机中,请确保您的主机操作系统时间与来宾操作系统时间相匹配。 如果不是这种情况,您将遇到您描述的错误。

一个非常相似的错误发生在我拥有良好凭据的情况下,同时列出了一个包含 _lot_ 密钥的存储桶。 这是错误:

A client error (SignatureDoesNotMatch) occurred when calling the ListObjects operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.

这是我从aws configure list

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key     ****************4UNA shared-credentials-file
secret_key     ****************MNOG shared-credentials-file
    region                <not set>             None    None

请注意,这些凭据可以与其他aws调用一起正常工作,事实上,这个list操作在解决此错误之前会运行很长时间(一个多小时)。 我有一个文件,其中包含来自最终失败的命令的超过 82,000 行输出。

我一直遇到这个问题,如果我只是让我的脚本休眠一秒钟然后再试一次,它就会通过。 这几乎就像它受到限制并返回错误的错误或其他东西。

我也可以报告这个问题。 尝试使用 aws cp foo s3://mybucket/foo/bar 上传 11 GB 文件时出现各种错误,例如:

A client error (SignatureDoesNotMatch) occurred when calling the UploadPart operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.

Max retries exceeded with url: /***REDACTED***?partNumber=196&uploadId=B2viwGFF4Lmq5itbs8ipqwBExx0BWGRm3gkG_D5EYTiU8uEO_tmUT.d.i7BcgPnP5npZa.OW7yMfJ3ZhhLJD61zP7EVv.5.ZftCJQbKNdkEBeijGBqWlrxz4vMx3B05Q (Caused by <class 'socket.gaierror'>: [Errno -2] Name or service not known)

我已经检查过我的系统时间是否正确。 我还注意到上传时同一系统上的速度相当慢(在 http 请求超时的级别上),所以这是一个限制问题听起来很合理。 上传具有相同凭据的小文件并使用同一台机器上的 Web 控制台也可以正常工作,因此这似乎是 aws-cli 问题。

这也发生在我身上,aws-cli 1.5.5,将 aws-cli 更新到 1.6.2 解决了它。

1.6.2 发生在我身上

这件事今天发生在我身上。 这对我来说是新的。 使用 awl-cli 几个月没问题,AFAIK 凭据也没有变化。

$ aws configure --profile ye list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                       ye           manual    --profile
access_key     ****************ERMQ shared-credentials-file    
secret_key     ****************E8Id shared-credentials-file    
    region                us-east-1      config-file    ~/.aws/config

我相信这个问题现在已通过https://github.com/boto/botocore/pull/388修复,并将在下一个 AWS CLI 版本中提供。

@jamesls确认已修复 awscli 版本1.6.4 。 我正在使用1.5.4 。 谢谢!

我在新的 ubuntu 系统上遇到了这个问题。

A client error (SignatureDoesNotMatch) occurred when calling the PutObject operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.

通过 pip 安装 aws-cli

$ pip list
ansible (1.5.4)
apt-xapian-index (0.45)
argparse (1.2.1)
awscli (1.6.5)
bcdoc (0.12.2)
botocore (0.76.0)
chardet (2.0.1)
Cheetah (2.4.4)
cloud-init (0.7.5)
colorama (0.2.5)
configobj (4.7.2)
docutils (0.11)
html5lib (0.999)
httplib2 (0.8)
Jinja2 (2.7.2)
jmespath (0.5.0)
jsonpatch (1.3)
jsonpointer (1.0)
Landscape-Client (14.01)
MarkupSafe (0.18)
mercurial (2.8.2)
oauth (1.0.1)
PAM (0.4.2)
Pillow (2.3.0)
pip (1.5.4)
prettytable (0.7.2)
pyasn1 (0.1.7)
pycrypto (2.6.1)
pycurl (7.19.3)
Pygments (1.6)
pyinotify (0.9.4)
pyOpenSSL (0.13)
pyserial (2.6)
python-apt (0.9.3.5)
python-dateutil (2.3)
python-debian (0.1.21-nmu2ubuntu2)
PyYAML (3.10)
requests (2.2.1)
roman (2.0.0)
rsa (3.1.2)
setuptools (3.3)
six (1.5.2)
Sphinx (1.2.2)
ssh-import-id (3.21)
Twisted-Core (13.2.0)
urllib3 (1.7.1)
wsgiref (0.1.2)
zope.interface (4.0.5)

关于如何解决它的任何想法?

我的解决办法是睡几秒钟,然后再试一次,但它
听起来该工具可能也有更新来修复它。

2014 年 12 月 2 日星期二凌晨 3:38,Mark Wolfe [email protected]写道:

我在新的 ubuntu 系统上遇到了这个问题。

调用 PutObject 操作时出现客户端错误 (SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。 检查您的密钥和签名方法。

通过 pip 安装 aws-cli

$点子列表
ansible (1.5.4)
apt-xapian-index (0.45)
argparse (1.2.1)
awscli (1.6.5)
bcdoc (0.12.2)
botocore (0.76.0)
夏尔特 (2.0.1)
猎豹 (2.4.4)
云初始化 (0.7.5)
颜色 (0.2.5)
配置对象(4.7.2)
文档工具 (0.11)
html5lib (0.999)
httplib2 (0.8)
Jinja2 (2.7.2)
jmespath (0.5.0)
jsonpatch (1.3)
jsonpointer (1.0)
景观客户端 (14.01)
标记安全 (0.18)
水银 (2.8.2)
oauth (1.0.1)
PAM (0.4.2)
枕头 (2.3.0)
点子 (1.5.4)
漂亮 (0.7.2)
pyasn1 (0.1.7)
pycrypto (2.6.1)
pycurl (7.19.3)
Pygments (1.6)
pyinotify (0.9.4)
pyOpenSSL (0.13)
pyserial (2.6)
python-apt (0.9.3.5)
python-dateutil (2.3)
python-debian (0.1.21-nmu2ubuntu2)
PyYAML (3.10)
请求 (2.2.1)
罗马 (2.0.0)
RSA (3.1.2)
设置工具 (3.3)
六 (1.5.2)
狮身人面像 (1.2.2)
ssh-import-id (3.21)
扭曲核心 (13.2.0)
urllib3 (1.7.1)
wsgiref (0.1.2)
zope.interface (4.0.5)

关于如何解决它的任何想法?


直接回复此邮件或在 GitHub 上查看
https://github.com/aws/aws-cli/issues/602#issuecomment -65198065。

@wolfeidau是的,我说得太早了。 本地 pip 安装的 awscli 再次给出 SignatureDoesNotMatch 错误。 哎呀!

A client error (SignatureDoesNotMatch) occurred when calling the DeregisterInstancesFromLoadBalancer operation: 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.

The Canonical String for this request should have been
'POST
/

host:elasticloadbalancing.us-east-1.amazonaws.com
user-agent:aws-cli/1.6.5 Python/2.7.8 Darwin/13.4.0
x-amz-date:20141203T015747Z

host;user-agent;x-amz-date
1d9dafbf4bfa9b1225d91bdbf99d8645503484d174b9094e4c3af637e6664b5b'

The String-to-Sign should have been
'AWS4-HMAC-SHA256
20141203T015747Z
20141203/us-east-1/elasticloadbalancing/aws4_request
5a56d12a4920502f4124e37a92aad475c36edda93d9865871e6a4fe1e49045c3'

只有在重试请求时才会出现此问题吗? 还是每次运行 deregister-instances-from-load-balancer 命令时都会发生这种情况?

@jamesls现在每次都会发生:(

我知道这个问题已经解决,但想分享一下,在休眠的 VM 中运行时,您可以看到此错误。 在这种情况下,如果您使用的是 Ubuntu,系统时钟不会始终跟上。 只需更新修复时间(即 sudo ntpdate -s time.nist.gov)。

你好,请问有最终解决办法吗?

+1

使用 1.7.8 版 CLI 时,我在尝试以下操作时看到了相同的 SignatureDoesNotMatch 错误:
$ aws iam list-users

并为此获得 AuthFailure:
$ aws ec2 describe-security-groups

删除我的密钥并尝试新的密钥后,这两个命令都有效。

这是可能导致我的问题的旧秘密访问密钥,请注意百分比、加号和正斜杠字符: H2J7/oT3Fib15SwFVB1s3EnTCmg+SC7wF7qoP+dw%

:+1:@gsterndale。 我的带有%访问密钥不起作用。 我不得不生成新的密钥。

我也多次遇到过这个问题。 每次重新生成密钥,直到我得到一个没有任何特殊字符的密钥(特别是我在秘密中遇到+符号的问题)修复它。

说实话,当我从在 ubuntu 机器上运行命令而不是在本地 mac homebrew 安装上运行命令时,我所有的签名密钥问题都消失了。

我对 AWS 很陌生,马上就在 node js 上遇到了这个问题

              ^

SignatureDoesNotMatch:我们计算的请求签名与您提供的签名不匹配。 检查您的 AWS 秘密访问密钥和签名方法。 咨询s
有关详细信息,请参阅副文档。

此请求的规范字符串应该是
'邮政
/

主机:email.us-west-2.amazonaws.com
x-amz-content-sha256:89cdc817a829111278fbed35aacc694db71669f3845874beaecaf00ff2be1a39
x-amz-日期:20150809T053346Z

主机;x-amz-content-sha256;x-amz-date
89cdc817a829111278fbed35aacc694db71669f3845874beaecaf00ff2be1a39'

String-to-Sign 应该是
'AWS4-HMAC-SHA256
20150809T053346Z
20150809/us-west-2/ses/aws4_request
0b908b0248bae550b814b37629a418707742416377816b5a5e78e1897b72293e'

+1

对于所有 aws s3 命​​令(ubuntu 14.04 LTS 上的 awscli 1.8.6),我都遇到了这个问题。
是否有任何已知的解决方案? 我尝试删除我的凭据文件并运行 aws configure、重新启动、重新安装 awscli。

@mcobzarenco ,你试过新钥匙吗?

@gsterndale我看到了上面关于旧密钥中有斜杠的评论,但事实并非如此,我的密钥是最近生成的(2015 年 6 月)。 我只在 AWS Ubuntu 14.04 LTS 上有这个问题。 在我的笔记本电脑 (14.04) 上,awscli(相同版本)工作正常。

@mcobzarenco我不认为这是键的年龄,而是其中的特殊字符。 当我最初创建密钥时,它们碰巧有百分比、加号和正斜杠字符。 在调试问题时,我尝试删除和创建新密钥。 幸运的是,这些新角色没有这些角色中的任何一个,而且它们可以工作。

刚刚在 ubuntu 上遇到了这个问题。 当我通过 cli 输入密钥时,它会将它们存储在 ~/.aws/config 中,但去掉了“+”字符。 手动编辑文件以添加“+”允许我连接。

@gsterndale感谢您的提示,我可以确认生成一个不包含+的新密钥也对我有用。 如果更换钥匙不方便, @stebl的解决方案很好。

在将 AWS SDk 与 node js 一起使用时,我遇到了同样的问题。 为了解决这个问题,我遵循了这里提到的完全相同的步骤
http://aws.amazon.com/developers/getting-started/nodejs/

我认为 AWS SDK 是使用特定版本的 node js 开发的,node js 中的不匹配会导致这样的问题。

我有同样的问题,是的,是通过使用没有特殊符号的键解决的(在我的特定情况下为+

我们遇到了这个错误(其中一台机器可以使用 awscli 描述实例,但另一台机器使用相同的访问密钥出现访问被拒绝错误。在后一台机器上,我是列表用户给出了这个 SignatureDoesNotMatch 错误)。 通过在有问题的机器上更正系统时钟时间来解决。

正如@tukaaa所说,如果秘密访问密钥包含非字母字符(例如 +),则会出现错误。 我认为逃到某处不好;-(

@ebuildy你能确认你在 ( aws --version ) 上看到的 CLI 版本吗? 如果这是 CLI 的原因版本,我将继续并重新打开此问题。

我在aws-cli/1.9.1 Python/3.5.0 Windows/7 botocore/1.1.8上收到这个

我在一个 Windows 机器上遇到了同样的问题,使用了一个没有任何非字母字符的密钥。 我通过在另一个盒子上使用相同的粘贴缓冲区来检查它不是复制/粘贴错误。 卸载/重新安装 AWS cli 并删除凭证/配置文件,然后重新运行 aws 配置修复了它。

刚刚在aws-cli/1.10.3 Python/2.7.10 Darwin/14.5.0 botocore/1.3.25上看到了这个。

重新生成没有特殊字符的密钥修复了它。 FWIW 在我的情况下特殊字符是/并且我使用的是 INI 文件。

好的,重新打开,我们将深入研究。

@我可以确认我有与@gsterndale描述的相同的问题。

aws --version
aws-cli/1.10.6 Python/2.7.11 Linux/3.10.0-327.4.5.el7.x86_64 botocore/1.3.28

但是我的密钥不包含任何特殊符号。

我在使用 s3-cli 节点模块时遇到了同样的错误。 我的密钥包含一个[

我终于知道出了什么问题。 我不小心在键上添加了几个字符。 这就是原因。

我在以下场景中遇到了这个问题; 在 rhel7 和 ubuntu 上。 我认为它与其他人提到的非字母字符有关

  • 为单个角色保护的 s3 存储桶
  • 具有所述角色的 ec2 实例在访问受保护的 s3 存储桶之前需要承担相同的角色
aws sts assume-role --role-arn <role_name> --role-session-name default --output json --query Credentials > credentials.json
export AWS_ACCESS_KEY_ID=`sed -n 's/.*"AccessKeyId": "\(.*\)"/\1/p' credentials.json`
export AWS_SECRET_ACCESS_KEY=`sed -n 's/.*"SecretAccessKey": "\(.*\)",/\1/p' credentials.json`
export AWS_SESSION_TOKEN=`sed -n 's/.*"SessionToken": "\(.*\)",/\1/p' credentials.json`

我相信 --query 的某些东西弄乱了凭据。 手动运行命令并复制和粘贴值时; 然后设置环境变量它似乎工作得很好。

在 Mac(通过 pip 安装)与 Ubuntu(亚马逊映像)awscli 1.2.9 版上运行 awscli 1.10 版时,我遇到了同样的问题。 aws configure --profile user在每个下产生两个不同的配置。 1.10 版生成了两个文件:配置和凭据。 版本 1.2.9 刚刚生成了一个配置文件(但带有凭据信息)。 当我删除 1.10 版生成的凭据和配置文件并复制 1.2.9 版生成的配置文件时,一切正常,即使使用特殊字符并运行 awscli 1.10 版也是如此。 1.2.9版本产生的配置文件是

[profile FOO0]
aws_secret_access_key = FOO1
aws_access_key_id = FOO2
output = FOO3
region = FOO4

可以确认这是由于非字母数字字符造成的。

我对包含 + 的密钥有同样的问题。 但是,我不是 S3 帐户的所有者,因此无法轻松创建新帐户。 除了创建一个没有特殊字符的新密钥之外,有没有人找到任何修复方法?

tl;dr 解决方案:反复重新创建凭据,直到您的 aws_secret_access_key 不包含非字母数字字符......在我的情况下,aws_secret_access_key 包含一个 +(加号)

我刚刚做了一个全新的安装......同样的问题......这是在Ubuntu上......它不是本地操作系统问题它是亚马逊API问题所以忽略其他评论,这些评论说移除OSX修复了它

aws ec2 描述实例

调用 DescribeInstances 操作时发生错误 (AuthFailure):AWS 无法验证提供的访问凭证

------------------------------------------------

aws ec2 描述安全组

调用 DescribeSecurityGroups 操作时发生错误 (AuthFailure):AWS 无法验证提供的访问凭证

------------------------------------------------

aws ecr 获取登录

调用 GetAuthorizationToken 操作时发生错误(InvalidSignatureException):我们计算的请求签名与您提供的签名不匹配。 检查您的 AWS 秘密访问密钥和签名方法。 有关详细信息,请参阅服务文档。

此请求的规范字符串应该是
'邮政
/

内容类型:应用程序/x-amz-json-1.1
主机:ecr.us-east-1.amazonaws.com
x-amz-日期:20160615T182955Z
x-amz-目标:AmazonEC2ContainerRegistry_V20150921.GetAuthorizationToken

内容类型;主机;x-amz-date;x-amz-target
44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a'

String-to-Sign 应该是
'AWS4-HMAC-SHA256
20160615T182955Z
20160615/us-east-1/ecr/aws4_request
86c2e3c850acd6765a1ca6aa626c6e9a6c85284f3954f45e170f51b5b89961c7'

------------------------------------------------

aws iam 列出用户

调用 ListUsers 操作时发生错误 (SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。 检查您的 AWS 秘密访问密钥和签名方法。 有关详细信息,请参阅服务文档。

此请求的规范字符串应该是
'邮政
/

主机:iam.amazonaws.com
x-amz-日期:20160615T183516Z

主机;x-amz-日期
b6359072c78d70ebee1e81adcbab4f01bf2c23245fa365ef83fe8f1f955085e2'

String-to-Sign 应该是
'AWS4-HMAC-SHA256
20160615T183516Z
20160615/us-east-1/iam/aws4_request
ad9f7581f0bf25ecae56355a6c96b60f3dc3188efbbdb3d0d4806e9f2c5cf8a9'

------------------------------------------------

aws --version
aws-cli/1.10.38 Python/2.7.11+ Linux/4.4.0-22-generic botocore/1.4.28

------------------------------------------------

猫 /root/.aws/credentials
[默认]
aws_access_key_id = AKIAJ7FCEUVVSGX7KZGQ
aws_secret_access_key = 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

    Notice the plus sign ( + ) in above aws_secret_access_key   !!!!

   aws only works when aws_secret_access_key does NOT contain non-alpha chars

------------------------------------------------

解决方案 :
删除并创建新凭据后
其中 aws_secret_access_key 没有加号 (+) 一切都远高于命令开始工作正常

我有同样的问题。 重新创建凭据,直到我没有特殊字符为止。

我发现当我复制并粘贴凭据时,它们的末尾有 ^M 字符,这导致了错误。

获取没有+密钥也为我修复了它...

注意 - 如果您在 (boot2docker VM'd) docker 下看到此问题,则可能是 VM 时钟不同步。
请参阅: http :

我有同样的问题。 如果我无权重新生成凭据怎么办.. 使用其他方式进行任何可能的修复怎么办?

更新:我通过运行rm -rf .aws/cli/cache/解决了这个问题

我现在也有这个问题。 尝试担任角色时

版本:
aws-cli/1.11.17 Python/2.7.10 Darwin/16.1.0 botocore/1.4.74

编辑:现在也尝试再次更新,同样的问题:
aws-cli/1.11.18 Python/2.7.12 Darwin/16.1.0 botocore/1.4.75

输出:

Assuming role arn:aws:iam::XXXXXXXX:role/XXXX-staging using profile default

An error occurred (SignatureDoesNotMatch) when calling the AssumeRole operation: 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.

The Canonical String for this request should have been
'POST
/

host:sts.amazonaws.com
x-amz-date:20161118T102600Z

host;x-amz-date
41db88384d54dc0783e616aa0662ebffce8832b35025195052029a5dc0e33c0e'

The String-to-Sign should have been
'AWS4-HMAC-SHA256
20161118T102600Z
20161118/us-east-1/sts/aws4_request
786b3d624f5aeea9ffcb2b802b177a4c2aebbfed608a2464ee684c6972bc6bc6'

最新(最新)版本的 AWS CLI 仍然存在相同的问题。 我刚刚将我的 1.8.3 CLI 升级到 1.11.19 - 并且无法使用我创建的新用户/密钥执行任何命令。 在我得到一对没有任何非字母字符的密钥之前,不得不回收大约 5 个密钥。 一旦我偶然发现了这样的一对 - CLI 工作正常。

非常烦人 - 我希望亚马逊不会生成他们无法处理的无效密钥......

@mpopova-yottaa 您是否尝试过完全清除 awe-cli 缓存? 尝试删除整个~/.aws目录(复制您的配置/凭据文件)

aws ec2 describe-instances为我运行,但是在尝试创建云形成堆栈时:

```线程“main”中的异常com.amazonaws.services.cloudformation.model.AmazonCloudFormationException:我们计算的请求签名与您提供的签名不匹配。 检查您的 AWS 秘密访问密钥和签名方法。 有关详细信息,请参阅服务文档。

此请求的规范字符串应该是
'邮政
/

amz-sdk-invocation-id:18d13b66-80ae-f676-c0cf-dbf875edb1aa
amz-sdk-重试:3/345/470
主机:cloudformation.us-west-1.amazonaws.com
用户代理:aws-sdk-java/1.11.20 Mac_OS_X/10.10.5 Java_HotSpot(TM)_64-Bit_Server_VM/25.91-b14/1.8.0_91
x-amz-日期:20161127T194448Z

amz-sdk-invocation-id;amz-sdk-retry;host;user-agent;x-amz-date
aca0973fb4ac4029ec038d9c80b4afa23b6d305822b10e6bc32751ee1bd311d5'

String-to-Sign 应该是
'AWS4-HMAC-SHA256
20161127T194448Z
20161127/us-west-1/cloudformation/aws4_request
cb0286a8727afcc465171ab991accde0aaa7210e160a9ba3196e2a5e4305f428'(服务:AmazonCloudFormation;状态代码:403;错误代码:SignatureDoesNotMatch;请求ID:f5295-bdcd9d7d9d5e44bd4e428

config details:

`$: aws --version`           >>       `aws-cli/1.11.21 Python/2.7.12 Darwin/14.5.0 botocore/1.4.78`

`$: aws configure list`     >>
```   Name                Value                Type     Location
      ----                   -----                  ----        --------
profile                    not set>             None    None
access_key     ****************RTSA                env
secret_key     ****************UC3r                  env
region                us-west-1              env       AWS_DEFAULT_REGION

密钥只包含字母数字,所以我被卡住了。

@ aebrow4它在 awe-cli 的缓存中。 尝试删除: .aws/cli/cache/

@cultavix .aws没有cli目录

使用--archive-description "`date`"运行aws glacier upload-archive时出现此错误。 当我使用--archive-description "`date +%Y/%m/%d`"它工作正常,所以似乎存在一些转义问题。

我遇到了类似的问题:

λ aws s3 sync s3://foo-bar-assets/ . --exclude "*/*.mp4" --exclude "*.mp4" fatal error: An error occurred (SignatureDoesNotMatch) when calling the ListObjects operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.

我尝试将时间与 NTP 服务器同步(成功),但这并没有解决问题。 重新生成密钥,直到我有一个没有特殊字符的集合修复它。

λ aws --version aws-cli/1.11.16 Python/2.7.9 Windows/8 botocore/1.4.73

我在使用 awscli 和示例 python 代码(boto3)时遇到了同样的问题。
请注意,我使用的是与 IBM 对象存储 S3 api 兼容的,我可以列出存储桶及其内容但不能上传(对于 pyhton 代码和 cli)。
我用ruby aws-sdk测试了这个场景,它工作正常(上传/下载)。
- 配置
aws-cli/1.2.9 Python/3.4.3 Linux/3.19.0-33-generic

我几个月来一直在使用一个脚本来将分段上传存入 Glacier,因此刚开始遇到同样的问题。 仍然可以通过 aws cli 存款,所以凭证仍然有效,但使用 boto3 的脚本失败:

“botocore.exceptions.ClientError:调用InitiateMultipartUpload 操作时发生错误(InvalidSignatureException):我们计算的请求签名与您提供的签名不匹配。检查您的AWS 秘密访问密钥和签名方法。有关详细信息,请参阅服务文档。”

aws --version 是
aws-cli/1.11.38 Python/2.7.10 Darwin/15.6.0 botocore/1.5.1

(是的,我更新了所有认为可能解决问题的内容......没有这样的运气。)

获得一对没有任何特殊字符的新密钥(在我的例子中是+ )为我解决了这个问题

此处再次确认+在密钥中的错误处理。

大家好,这是我用来尝试重现此问题的脚本: https :

  • 通过循环中的aws iam create-access-key创建一个新的 access_key/secret_key 对,直到找到具有+/字符的凭据。
  • 它使用这些新生成的凭据创建一个新的“testcreds”配置文件
  • 它尝试调用各种 AWS CLI 命令以确保这些凭证有效

它在无限循环中执行此操作,直到 API 调用失败。 到目前为止,我还没有让它失败。 具有+/密钥对我有用。

在这一点上,我们已经确认绝对可以使用具有+/ secret_keys,所以我认为根本原因不像我们签名代码中的错误那么简单当+存在时会中断。 重新阅读此线程中的评论,可能是如何将凭据输入~/.aws/config~/.aws/credentials文件的问题。 也许有一些特定于平台的东西正在改变包含+/的字符。

因此,对于仍然遇到此问题的任何人,如果您能提供一些其他信息,那将非常有帮助:

  1. 您如何获取凭据(从控制台复制/粘贴, aws iam create-access-key ,来自控制台的 CSV 文件等)?
  2. 您如何配置 CLI 以使用这些凭据? 您是否正在运行aws configure并在出现提示时输入值? 您是否通过运行aws configure set编程方式执行此操作? 您是否手动编辑~/.aws/config和/或~/.aws/credentials ? 设置各种AWS_*变量?

如果可能的话,额外的东西会更有帮助:

  1. 如果您使用其他开发工具包,这些在 CLI 中不起作用的凭证是否在其他 AWS 开发工具包中起作用?
  2. 如果您有测试账户或测试 IAM 用户,运行我用来测试

任何可能有助于我们重现此问题的其他信息都会很棒。

我仍然有这个问题。 回答您的问题:
在亚马逊控制台中创建凭据并剪切/粘贴到 ~/.aws/credentials(在 mac 上使用 emacs 编辑)

从我到目前为止所做的故障排除(我是新手......)“规范字符串”是正确的,但“字符串到签名”是错误的,有不同的最后一行。 即,当我打印 auth.py string_to_sign 的返回值时,从 'sha256(canonical_request.encode('utf-8')).hexdigest())' 产生的数字与返回的错误“字符串”中报告的数字不同-to-Sign 应该是”。

我的凭据中没有特殊字符,并且在使用其他工具时可以正常工作,例如 CrossFTP(我不想使用!!!)

任何见解将不胜感激!

@samato88 在那里似乎是一个不同的问题。 如果您可以分享任何有帮助的调试信息(确保删除任何敏感信息)。

string_to_sign 不受 secret_access_key 的影响。 当我们对一个请求进行签名时,我们将即将发送的 HTTP 请求转换为字符串(即字符串 ot 符号),然后使用密钥,我们用密钥对该字符串进行签名(跳过一些详情在这里)。 因此,要签名的字符串的任何问题都将与此问题分开。

您能否打开另一个问题并提供--debug输出(或包括来自服务的完整请求和错误消息)? 我们很乐意为您调查此事。

谢谢 jamesls - 我在以下位置打开了一个单独的问题:
https://github.com/aws/aws-cli/issues/2474

非常感谢任何见解。

如果您的系统时间超过 5 分钟,您将无法使用 CLI

就跑... sudo ntpdate -s time.nist.gov

然后再试一次

我有同样的问题,我的密钥包含“+”号。 我删除了我的 .aws/credentials 文件并重新运行 aws configure。 之后,我对 sqs 队列的查询以接收消息工作。

谢谢@AlexParra03 。 我遇到了同样的问题,您的评论帮助我解决了....:-)

@robotzero你还记得你是如何输入凭据的吗? 您是否运行aws configure然后从 Web 控制台复制/粘贴值?

是的,我运行了 aws configure 并复制粘贴了值。

是的,我的秘密中有一个 +,这仍然导致了这个错误。 制作没有特殊字符的新键解决了这个问题。

aws --version
aws-cli/1.11.78 Python/3.6.1 Darwin/15.6.0 botocore/1.5.41

在我的秘密中有一个 + 和一个 /。 没有这些的秘密为我解决了这个问题。

也遇到过这个问题。

$ aws --version
aws-cli/1.11.44 Python/3.5.3 Linux/4.10.0-19-generic botocore/1.5.7

$ lsb_release -sd 
Ubuntu 17.04

凭证中有一个“+”。 通过在没有它们的情况下重新生成访问密钥来解​​决。 注意:“/”是一个很好的字符。

@adityanatraj @shwetapurushe @damienrj你们在这里回答这些问题吗? 此时,我们正在尝试获取有关您的环境以及您如何输入凭据的更多信息。 如该评论中所述,使用+生成密钥不会为我们重现该问题,因此它可能与您的环境和/或您输入凭据的方式的组合有关。

换句话说,我们需要人们提供更多信息,以便对发生的事情进行故障排除。

@jamesls

  1. 我是如何获得凭据的?

我通过从 Web 控制台复制凭据来获取凭据。

  1. 如何配置 CLI 以使用它们?

我手动创建了两个文件:

~/.aws/config

[default]
region = us-east-1
output = json

~/.aws/凭证

[default]
aws_access_key_id = ACCESS_KEY_HERE 
aws_secret_access_key = SECRET_ACCESS_KEY_THAT_BREAKS_WITH_A_+_SIGN

抱歉,我无法解决奖励问题,因为我已经清除了包含“+”号的访问密钥,因此问题没有出现。

@adityanatraj谢谢,每一点都有帮助。

帮助我们进行故障排除的下一步是确定这是 CLI 的问题还是凭据本身的问题。 对于仍然遇到此问题的任何人,如果您可以在其他 AWS 开发工具包中尝试这些凭证,将会非常有帮助。 为了帮助解决这个问题,我将示例 repo/script 放在一起,如果您不想自己设置它,它会使这变得容易: https : make installmake test

/tmp $ mkdir /tmp/repro-cli-602
/tmp $ cd /tmp/repro-cli-602/
/tmp/repro-cli-602 $ git clone git://github.com/jamesls/aws-creds-test
Cloning into 'aws-creds-test'...
...
/tmp/repro-cli-602 $ cd aws-creds-test/
/tmp/repro-cli-602/aws-creds-test (master u=) $ make install
npm install
[email protected] /private/tmp/repro-cli-602/aws-creds-test
├─┬ [email protected]
...
pip install -r requirements.txt
Requirement already satisfied: botocore<2.0.0,>=1.5.0 in /usr/local/lib/python2.7/site-packages (from -r requirements.txt (line 1))
...



/tmp/repro-cli-602/aws-creds-test (master u=) $ make test
./test-creds.sh
Testing python...
Access Key:
Secret Access Key:
AKID   hash: 4e7c36343646e1fa7495092bffcd4b9b7dd00f2f5014a189ab81f326e6472a62
AKID length: 20

SAK    hash: 941a655993caccb1a1218883b97a88b6f41762c6d03902f1cdd1e2a5de5fd82e
SAK  length: 40
Successfuly made an AWS request with the provided credentials.

Testing javasript...
Access Key: ********************
Secret Access Key: ****************************************
AKID   hash: 4e7c36343646e1fa7495092bffcd4b9b7dd00f2f5014a189ab81f326e6472a62
AKID length: 20


SAK    hash: 941a655993caccb1a1218883b97a88b6f41762c6d03902f1cdd1e2a5de5fd82e
SAK  length: 40
Sucessfully made an AWS request with the provided credentials.

对于遇到此问题的人,请运行测试脚本并共享输出。

每当对象元数据包含 Unicode 字符时,我都会在 PutObject 请求 (C#) 上发生同样的异常。

我遇到过同样的问题。 带有 + 和 / 的新密钥不起作用。 我生成了没有这些字符的新密钥,它们工作正常。
您的测试脚本适用于 linux,而我正在运行 Windows。
我使用 Windows shell 和 _aws configure_ 使用 Control-C 和 Control-V 粘贴了我的凭据
我只使用 _aws cp_

也对此进行了测试,只要密钥没有符号,它就可以正常工作,如上所述。

希望尽快解决这个问题,在我得到一个有效的凭据之前,必须不断地重新生成凭据是一种痛苦!

我昨天向 AWS 提出了支持票,今天似乎已解决

我已经测试了多次,+ 和/现在似乎都可以工作? 我无法再重现此错误。

我的 Pi 也有同样的问题。
使用最新的 awscli (aws-cli/1.11.85 Python/3.4.2 Linux/4.9.24-v7+ botocore/1.5.48) 我仍然有问题:

root@pi :~# aws s3 ls s3://
调用 ListBuckets 操作时发生错误 (SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。
检查您的秘密访问密钥和签名方法。 有关更多信息,请参阅 REST 身份验证和 SOAP 身份验证以获取详细信息。

即使使用没有特殊字符(+ 或 /)的密钥,访问也不起作用。 时间总是同步的,不幸的是这也不是问题。

在“.aws/config”文件中,我添加了一个有效区域(仅用于测试..),突然它起作用了。 因为我使用的是兼容的 s3 存储(不是来自亚马逊的 s3)

[默认]
aws_secret_access_key = MYKEY
aws_access_key_id = MYID
region = us-east-1 <-- 之前有一个“虚拟”值。

看起来,该区域必须具有“正确”的值。 当我将它改回“dummyvalue”之类的不同内容时,我得到了与上面提到的相同的错误。
现在有了值“us-east-1”,它就可以工作了!
希望这可以帮助某人。

我也刚遇到这个。 密钥中的“+”似乎也有问题。 如果我在环境变量中有凭据,则会收到错误消息。 如果我将它们放在 ~/.aws/credentials 文件中(通过手动编辑),我不会收到错误消息。

[编辑] 刚刚注意到环境变量在一个为 dos 格式化的文件中(在 vim 中为 ff=dos)。 这是因为我刚刚下载了 .csv 文件并对其进行了编辑以将条目更改为环境变量。 当我将文件重新格式化为 'ff=unix' 时,我不再收到错误消息。 两者之间的唯一区别是行返回,dos 使用“CR-NL”,而 unix 只是“NL”。 我的猜测是,问题实际上是“CR”字符。

我也是,并确认“+”问题

如果您在使用 Docker for Mac 时遇到这种情况,只需重新启动 Docker 即可修复系统时间差异。

我面临着同样的问题。
检查了这个秘密,里面有 +/。
必须创建一个没有特殊字符的新 id 对才能使其工作

创建新的密钥对,直到我得到一个没有特殊字符的密钥对,它也为我解决了; 特殊字符(特别是 +)在 ~/.aws/credentials 中根本不起作用。

生成的没有特殊字符的密钥(特别是+ )也为我解决了这个问题。

根据@eikenb的评论格式化文件也可以解决问题。

删除密钥并创建新密钥对我有用。

刚刚收到这个错误。 更新的系统时间似乎与格林威治标准时间相差 6 分钟以上。 立即修复了该问题。

这对我来说是如此奇怪和棘手。
我一直在努力解决这个问题,我尝试了很多次来解决它。
此刻它突然起作用了! 我很惊讶,所以我做了新的桶,但没有用。 因为除了修改代码我什么都没做,我就等了几个小时。 最后,虽然我什么也没做,但效果很好。 我不敢相信...

使用aws configure在Windows 7上我是bash shell发现我有两个aws_secret_access_key在我行.aws/credentials ,第二行是在那里我倒是打错废话. 删除了第二行,一切正常。

aws-cli/1.11.119 Python/2.7.12 Linux/4.4.0-53-generic botocore/1.5.82

在这里在 Linux Mint 上看到这个问题,我的密钥或秘密中没有 +。

测试脚本的输出:

/aws-creds-test $ make test
./test-creds.sh
Testing python...
Access Key: 
Secret Access Key: 
AKID   hash: 36b0df669bfc2fa232f31ada2b40e8f58ec152b0afee875f28b21e32e2d59a30
AKID length: 20

SAK    hash: 02b21158d3ab7d2691ceef468951c3b3551704a8eea19ad4a8f59c7be38378f6
SAK  length: 40
Error making AWS request: An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: 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.

Testing javasript...
Access Key: ********************
Secret Access Key: ****************************************
AKID   hash: 36b0df669bfc2fa232f31ada2b40e8f58ec152b0afee875f28b21e32e2d59a30
AKID length: 20


SAK    hash: 02b21158d3ab7d2691ceef468951c3b3551704a8eea19ad4a8f59c7be38378f6
SAK  length: 40
Error making AWS request
{ SignatureDoesNotMatch: 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.
    at Request.extractError (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/protocol/query.js:47:29)
    at Request.callListeners (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
    at Request.emit (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
  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.',
  code: 'SignatureDoesNotMatch',
  time: 2017-09-18T20:33:23.951Z,
  requestId: '9e62c6c2-9cb0-11e7-9856-a5fd5c3e417d',
  statusCode: 403,
  retryable: false,
  retryDelay: 60.66602455065775 }
Makefile:6: recipe for target 'test' failed
make: *** [test] Error 1

将 awscli 升级到aws-cli/1.11.154 Python/2.7.12 Linux/4.4.0-53-generic botocore/1.7.12

$ make test
./test-creds.sh
Testing python...
Access Key: 
Secret Access Key: 
AKID   hash: 0cdf83ac8cf800ca46738682ff5a0ab35d94891a568fc6fd9115ecf13dcce542
AKID length: 20

SAK    hash: 7ae856b46f3d5cd23b94f60765adbeb13215f6c226a2953ab93eed9e26d51694
SAK  length: 40
Error making AWS request: An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: 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.

Testing javasript...
Access Key: ********************
Secret Access Key: ****************************************
AKID   hash: 0cdf83ac8cf800ca46738682ff5a0ab35d94891a568fc6fd9115ecf13dcce542
AKID length: 20


SAK    hash: 7ae856b46f3d5cd23b94f60765adbeb13215f6c226a2953ab93eed9e26d51694
SAK  length: 40
Error making AWS request
{ SignatureDoesNotMatch: 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.
    at Request.extractError (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/protocol/query.js:47:29)
    at Request.callListeners (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
    at Request.emit (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/home/kev/projects/external/aws-creds-test/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
  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.',
  code: 'SignatureDoesNotMatch',
  time: 2017-09-18T20:43:21.662Z,
  requestId: '02ab939a-9cb2-11e7-a1f3-87975b0dbd52',
  statusCode: 403,
  retryable: false,
  retryDelay: 86.52138921193912 }
Makefile:6: recipe for target 'test' failed
make: *** [test] Error 1

我刚刚重新创建了我的密钥 - 我的新密钥仍然包含一个“+”,但现在可以使用 cli

就这么简单

@DanAbbz92确实,我现在碰巧找到了相同的解决方案。 不知道为什么旧的钥匙从来没有用过,但使用相同的过程新的钥匙很好用。

我的密钥中有一个 ^V 来自一次错误的粘贴尝试。 在检查密钥中的错误字符时发出更强烈的警告可能是谨慎的。 将防止进一步不必要的升级。

这个问题是在 2014 年报告的。今天是 2017 年 10 月 26 日。我遇到了这个问题,我的秘密里面有一个“+”。 我创建了一个新密钥并将其放入 ~/.aws/configure
来吧亚马逊,你有没有计划修复这个错误 * ???

我今天在安装 cli 并运行aws configure后遇到了这个问题。 我的密钥中没有特殊字符,但以下确实解决了我的问题:

  • rm -r ~/.aws/
  • 重新创建 .aws 文件夹和credentials文件并手动添加凭据

tl;博士关掉然后再打开对我有用¯_(ツ)_/¯

对于使用 Hadoop 的人来说: Hadoop 2.8.0 已经修复了一个相关的错误:
s3:” 当密钥包含斜杠时 URL 会中断,即使已编码

你好,今天我也遇到了同样的问题。
盒子上的时间不对。 更新时间后一切正常。

添加另一个“我也是”

我有一个密钥,里面有两个“+”字符,它在我的 Windows VM 上的 .aws/credentials 文件中起作用(当被 .NET 应用程序使用时),但是当我在 MacBook Pro 上从 brew 安装 awscli 时,并复制 .aws 文件(测试文件编码、行尾格式等),它因 SignatureDoesNotMatch 而失败。

我尝试重新创建凭据,直到我得到一个没有任何非字母数字的密钥,现在它可以在我的 Mac 上通过 awscli 运行。 将这些凭据复制回我的 Windows 机器并运行 .NET 应用程序,这仍然有效。

我没有对任何一台机器上的时间进行任何更改(Mac 已经在使用 NTP,而 Windows VM 看起来比实际时间晚了大约 12 分钟)

我安装了 awscli: brew install awscli

和 aws --version 返回:aws-cli/1.14.30 Python/3.6.4 Darwin/16.7.0 botocore/1.8.34

好吧,我今天下午将代码推送到 lambdas(美国东部标准时间 2018-02-01 15:48,在 us-east-1 中使用 lambda)。
现在在下午 6 点,我在办公室的每个系统上都收到签名错误。
回顾这个帖子:我的时代是正确的,什么都没有改变,凭据还不到一年,从他们建立的那一天起就一直在工作,使用自制版本aws-cli/1.14.30 Python/3.6.4 Darwin/17.4.0 botocore/1.8.34 (确实尝试降级到 1.14。 2x 版本,没有爱)

这是一些恶意

遇到同样的问题并解决了在没有任何特殊字符(如 /、+ 等)的情况下生成新密钥的问题。

感谢@hellais的输入!

刚刚遇到同样的问题,通过更正我的笔记本电脑时钟解决了它。 显然我落后了。

我刚遇到这个问题,看来我的 ntp 客户端落后了 10 分钟。 我做了一个ntpdate现在一切都已解决。

我可以确认重新创建我的访问密钥,直到我得到一个没有特殊字符的访问密钥为止。 多么可笑的错误,哇。

鉴于这是一个长期存在的问题,更新错误消息以向用户提供指向潜在修复的链接(例如重建密钥)是否明智? 而不是表明问题比“是的,当您的密钥中有特殊字符时我们出错,对不起!”复杂得多的东西。

同样的问题听到:

版本:

aws-cli/1.14.58 Python/2.7.10 Darwin/17.4.0 botocore/1.9.11

命令:

aws s3 ls
得到以下错误:
Unknown Signature Version: s3v3.

没有解决方案:

我更新了我的斗篷并生成了一个没有任何特殊角色的 Secret

更新 - 通过以下方式修复

aws configure set default.s3.signature_version s3v4

是的,这仍然是一个问题 - 我的密钥以+字符结尾,但我发现没有修复。 重新生成新密钥,密钥末尾没有+ ,并且运行良好。

这到底是怎么回事?

调用 CreateMultipartUpload 操作时出现错误 (SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。 检查您的密钥和签名方法。
请帮忙。

我的秘密以+符号开头,直到今天我才知道有这个问题。 我使用 boto3 python 来访问我的 s3。 当我将凭据作为原始字符串传递时它不起作用,但如果我使用configparser.RawConfigParser()从 config.ini 作为变量加载它,它就可以正常工作。 当然,在末尾或开头生成一个没有+符号的新秘密也可以解决这个问题。

尽管如此,如果这(出于某种原因)无法修复,则可能会将异常消息更改为“我们不允许 + 符号,如果您想以自己的方式访问它,请生成一个新的”。

我在 osx 上使用 aws cli,我还有一个似乎不正确的秘密。 我的原始文件中有+= ,当我尝试将cp文件传输到 s3 时收到SignatureDoesNotMatch错误。 我重新生成了密钥,我的新秘密现在是一个字母数字字符串。 只需添加另一个确认再生有效。 :松了口气:

希望这可以提供洞察力,这个问题(不处理+在秘密密钥中)在 RHEL5 上用这个版本暴露自己

aws-cli/1.15.25 Python/3.4.7 Linux/3.2.45-0.6.wd.865.49.315.metal1.x86_64 botocore/1.10.25

但在 Ubuntu 上此版本不会发生

aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-121-generic botocore/1.4.70

从 2014 年 1 月开始,现在是 2018 年 6 月,超过 4 年,我遇到了与SignatureDoesNotMatch错误相同的问题。 我的解决方案与这里的所有大多数解决方案相同,获得一个没有任何特殊字符的新密钥,因为我以前的密钥有一个冒号: ,尝试了时间同步,但对我不起作用。 我正在使用 WSL。

aws-cli/1.15.27 Python/3.6.5 Linux/4.4.0-17134-Microsoft botocore/1.10.27

只是更新@gchiu在 2017 年 4 月所说的话:在 2018 年 6 月仍然是这样,其中包含斜杠 (/) 字符的机密可能会使 PHP 客户端无法运行(在我的情况下,Windows 10 上的 PHP 7),返回_签名不匹配_错误。 在这种情况下,只需生成另一对更安全的密钥。

我被这个弄糊涂了大约 30 分钟。

关注此问题并检查当地时间等 - 一切都很好。

无奈之下,取消了~/.aws/credentials文件并再次登录(基本上是重新创建文件),瞧,就可以了。

想知道为什么它会抛出这个错误!

编辑:
在我的情况下似乎与密钥无关; 它们大多是简单的字符串。

在这个问题上 +1,我的密钥以=开头。 重新生成了一个只有/的密钥,一切都很好。 尝试将密钥封装在"标记中,但无济于事。

我不希望从 AWS CLI 看到什么。

在这里添加相同的问题,我无法相信我的密钥中的 / 会导致这种情况。 感谢您浪费的时间!

我有这个问题。 我相信这是最初以 root 用户身份安装 aws cli 的结果。 解决方法似乎是卸载 aws cli,删除当前用户主文件夹和根文件夹中的 .aws 文件夹,然后以当前用户身份再次运行“aws configure”。

我在 Ubuntu 上使用 systemd 计时器运行 bash 脚本时遇到了这个问题。 当我的用户手动运行脚本时,一切正常。 但是,计时器会继续抛出 (SignatureDoesNotMatch) 错误。 然后我注意到 (SignatureDoesNotMatch) 是为以 root 身份运行的任何 aws 命令生成的,并且“aws configure”没有保存提供的新值。

为了解决这个问题,我以 root 'su -i' 登录,更改为 'cd ~/.aws/' 并使用 'sudo rm -r 凭据' 删除配置,再次运行 'aws configure',这次是新值被救了。 从那里一切都按预期工作了!

可以确认这个问题在 aws-cli/1.15.4 Python/2.7.15rc1 Linux/4.15.0-42-generic botocore/1.12.8 上仍然存在。

An error occurred (SignatureDoesNotMatch) when calling the <whatever> operation: 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.

事实证明,我的秘密中有一个+ 。 我重生了,现在一切都很好。 我们什么时候可以修复这个@jamesls? 或者有什么我可以帮忙的吗?

在我的 aws cli 上面临同样的问题,因为密钥包含+ ...(如上所述)在重新生成新密钥之后..(正如我从上面的 delmartechdude 评论中看到的那样)...问题已解决。

我的两分钱。 它给了我这个错误,因为我试图以这种方式通过加速传输将内容上传到 s3(过去它曾经工作过): --endpoint-url http://imaat.s3-accelerate.amazonaws.com ( --endpoint-url http://<bucket-name>.s3-accelerate.amazonaws.com ) as specified in加速端点属性:
screenshot-s3 console aws amazon com-2019 01 09-17-58-00

按照官方文档中的说明: https : --endpoint-url http://s3-accelerate.amazonaws.com并运行命令aws configure set s3.addressing_style virtual以动态方式构建主机名。 检查: https: //docs.aws.amazon.com/cli/latest/topic/s3-config.html#addressing -style

我不知道为什么,但现在它起作用了。 我的存储桶名称(“imaat”)没有任何可能导致 DNS 失败的特殊字符,但由于最新的 cli 更新而失败。

通过文本编辑添加配置文件并失败。 通过aws 配置集更新配置文件访问 ID 和机密,并且它起作用了。 这是一个带有“+”和aws-cli/1.16.23 Python/2.7.15 Windows/10 botocore/1.12.13 的秘密

@dave-miles 您正在做某事,感谢您的评论! 我正在扩展您在下面的发现:

我在使用一些 docker 图像时遇到了这个问题。 最初我在 dockerfile 中使用 ADD 将 ~/.aws/credentials 文件添加到容器中。

如果我们这样做,我们会在尝试从 s3 下载时遇到 SignatureDoesNotMatch 错误。

我删除了 dockerfile 中的 ADD 行,重建并启动了一个新的 docker 容器。 在这个新容器中,我手动运行了aws configure set aws_access_key_id <access key id goes here>aws configure set aws_secret_access_key <secret access key goes here>这是第一次在这个容器中输入凭证信息(即容器是一个“新鲜”的 centos 镜像)。

使用aws configure set命令后,我能够从 s3 成功下载。

对于将它与 dockerfile 一起使用的任何人,您可以使用 dockerfile 中的 RUN 语句来运行这两个命令,或者您可以使用 ADD 语句将脚本推送到您的 docker 容器:

#!/bin/sh

aws 配置集 aws_access_key_id _access-key-id-goes-here_
aws 配置集 aws_secret_access_key _secret-access-key-goes-here_

我遇到了与@villasenor相同的问题 - 在 docker 中使用 env vars 配置 awscli 时,密钥中的+会导致错误。 旋转钥匙解决了这个问题。

此处同上,但访问密钥或秘密密钥中没有特殊字符。
为同一个IAM用户重新生成一个新集合,新的可以列出bucket,旧的不能。

这发生在 AWS cli 和 Java SDK 调用中。 暗示故障不在客户...

两套都还活着。 如果亚马逊的任何人想要更多详细信息,请联系。

我的同事也刚刚遇到了这个。 我尝试通过创建访问密钥进行调试,直到我在开始时得到一个带有 + 或 / 的访问密钥。 虽然无法重现。

我有一个同事经历过这个。 我们确定这特别发生在 Ubuntu 18.04 中,密钥中带有 + 或 /。

今天遇到了同样的错误,目前使用的是 Windows 10。但是,当我在另一台笔记本电脑 (mac) 上使用相同的访问密钥时,它对我来说很好用。 然后我在 WSL 中尝试了访问密钥,这也很好。 不确定原因,aws 键中没有特殊字符。

我在使用一组访问密钥而不是另一组时遇到此错误。
正如这里的其他几篇文章中提到的,我的密钥是其中的“/”。 对我来说,这个问题似乎是服务器或客户端使用 RFC URI 编码标准进行编码/解码而另一个不使用它的简单问题。
我计划运行这些提到的测试脚本并尝试重现错误。

对于这里的其他人,我遇到了错误,但我的 ~/.aws 文件夹中缓存了不正确的凭据。 它首先查看那里,然后查看环境变量。

我在使用 Git Bash 的 Windows 10 上遇到了这个问题。 它与 Powershell 一起工作得很好。 Python 调用显然不同,但它是相同的 Python 和 Python 模块。 我的密钥中还有+/

我刚刚遇到了这个问题,对我来说,解决方法是删除空格。 例子。
而不是默认值:
[profilename]
aws_access_key_id = MYAWSACCESSKEYID
aws_secret_access_key = MYAWSSECRETACCESKEY
我把它改成:
[profilename]
aws_access_key_id=MYAWSACCESSKEYID
aws_secret_access_key=MYAWSSECRETACCESKEY

请注意 = 周围缺少空格。 这为我修复了它,顺便说一句,我的密钥中也有 + 和 /。

总之,这里有一些很棒的故障排除技巧。 我将把它们变成 CLI 用户指南中故障排除部分的一个页面。 感谢您的贡献!

大家好,

我可以看到这里有很多答案,但对我来说是 AWS Secret Access Key 中的特殊字符。 我的以“=+”开头,但是当我从 Web 控制台生成一个没有特殊字符的新文件时,它立即开始工作。

我在 Windows 上的 Ubuntu 上的 Zsh shell 中运行 awscli:

jonathan<strong i="8">@SurfaceBook</strong>  ~  aws --version aws-cli/1.16.216 Python/2.7.12 Linux/4.4.0-17134-Microsoft botocore/1.12.206

我希望这对其他人有帮助。

谢谢
乔纳森

只花了 4 个小时的调试时间,直到我找到了这个线程。 我可以在本地使用 s3 cli 没有任何问题,但是在 circleci 中运行它们时,我收到了这个错误: SignatureDoesNotMatch ..

正如其他人所建议的那样,我的秘密访问密钥包含一个+字符,在生成新密钥后,一切都开始工作了。

没有这个线程几乎不可能调试

谢谢@blbradley 。 这正是我遇到的问题。

有同样的问题 - 解决方案是使用过时的 AWS 凭证删除 Windows 环境变量

我在 Python3 boto3 上也遇到了这个问题。
我的以=/开头

我在一个虚拟机中,使主机 Time&Region 类似于来宾 Time&Region 解决了问题。

只是想补充一下,今天我也遇到了一个新创建的密钥 - 在经历了很多挫折之后,来到这里并看到密钥中提到了/ 。 果然,这就是问题所在——没有它的新密钥有效。 噗?!

我不敢相信这个问题是在 2014 年提出的,但仍然没有修复它,这个错误迫使我为自己制作一组新的 AWS 凭证,我什至尝试对“/”进行编码,但它没有用:(

用“/”消除凭据为我解决了这个问题。 感谢大家指出这一点。

现在就在 2020 年打这个。 密钥有一个“+”。

aws-cli — 由 aws 项目开发 — 使用有效的 aws 密钥失败...... 6 年?

2020 年 1 月同样的问题。 密钥有一个“/”斜线字符。

我使用 AWS IAM 控制台生成了一个新的凭证集,并确保密钥全是字母数字,没有“/”和“+”等等。 我在 ~/.aws/credentials 文件中用新密钥替换了旧密钥,然后重试。

这解决了它。

2020 年也有同样的问题。但我无法删除任何字母数字字符,因为它们本身就是我凭据的一部分,而且我无法控制

只需重新生成凭据,直到您摆脱字符。 通常只需要再试一两次。

莫里斯

来源:columb1a [email protected]
发送:2020 年 1 月 21 日,星期二 1:47 PM
至:aws/aws-cli [email protected]
抄送:莫里斯·比扎里 [email protected] ; 评论[email protected]
主题: Re: [aws/aws-cli] SignatureDoesNotMatch 错误 (#602)

2020 年也有同样的问题。但我无法删除任何字母数字字符,因为它们本身就是我凭据的一部分,而且我无法控制


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Faws%2Faws-cli%2Fissues%2F602%3Femail_source%3Dnotifications %26email_token%3DAAAXXM3CF63PVTWMVHJN2FTQ65UMRA5CNFSM4ALOPGL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJRMFFA%23issuecomment-576897684和数据= 02%7C01%7Cmaurice%40bizzarrisoftware.com%7Cf6f2e8a571954134b76b08d79ebb6bee%7C9aa15552370449f5ac56c2850c165d32%7C1%7C0%7C637152400117352225&SDATA = 2Z6PQRSvKD0P8Eu0yrs15Ypi6GgtFvaDi7qewAq5yH4%3D&保留= 0 ,或退订https://nam04.safelinks.protection.outlook.com /?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAAXXM34MIXB32H3RMQL2FTQ65UMRANCNFSM4ALOPGLQ&data=02%7C01%7Cmaurice%40bizzarrisoftware.com%7Cf6f2e8a571954134b76b08d79ebb6bee%7C9aa15552370449f5ac56c2850c165d32%7C1%7C0%7C637152400117362212&sdata=53%2F78BXqn3FRxlkfzXYHnJPEEbs7Ta1XmJhW%2BZdBjXo%3D&reserved= 0 .

我首先遇到超时问题,在更新我的 awscli 后遇到了这个问题。 你以为 6 年就足以让它发挥作用...

我也有这个通过 gitlab 部署 Vue.js 应用程序到 AWS S3 存储桶有人可以告诉我该怎么做
msg:fatal错误:调用 ListObjectsV2 操作时发生错误 (SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。 检查您的密钥和签名方法。

我没有任何非字母数字字符,但是对于单个配置文件,使用 profiled 不起作用。 我使用控制台重新生成了凭据,新的凭据刚刚工作。

今天也遇到此类错误,并重新生成没有特殊字符(“+”或“/”)的凭据对我有用。

我仍然有同样的问题,但它突然发生,我使用 Get 和 Put 操作,一个有效,另一个无效。 是的,我的密钥不包含任何特殊字符。 有什么帮助吗? 我首先调用 getIntent(亚马逊 lex 模型 API)来检索意图校验和,然后调用 putIntent 来更新该意图。 Get 方法有效(并非一直有效)但 put 方法出现相同的签名问题,而如果我从代码中删除 Get 方法 API,Put 方法三分之二有效。

我有这个问题,我建议你生成新的密钥
并重新配置您的 aws 配置文件

aws 配置

AWS 访问密钥 ID [ * * * * QD5E]:AWS_ACCESS_KEY_ID
AWS 秘密访问密钥 [ * * * * ANjA]:AWS_SECRET_ACCESS_KEY
默认区域名称 [eu-west-3]:AWS_REGION
默认输出格式 [json]:OUTPUT_FORMAT

你好 !

使用返回给我的客户端的预签名 URL 时,我遇到了同样的问题
URL 在服务器中生成(限时)。 服务器是 python,我在那里没有看到任何错误,但客户端是 JS - 只获取 URL 并打开它。 URL 的一部分是为此资源生成的凭据)

该错误是时断时续的,所以我认为它与此处所说的有关凭据中特殊键的内容有关,但是由于我使用的是服务器中生成的凭据 - 我无法更改它们!

有什么办法可以在代码中解决这个问题? 以某种方式解析特殊键?

你好 !

使用返回给我的客户端的预签名 URL 时,我遇到了同样的问题
URL 在服务器中生成(限时)。 服务器是 python,我在那里没有看到任何错误,但客户端是 JS - 只获取 URL 并打开它。 URL 的一部分是为此资源生成的凭据)

该错误是时断时续的,所以我认为它与此处所说的有关凭据中特殊键的内容有关,但是由于我使用的是服务器中生成的凭据 - 我无法更改它们!

有什么办法可以在代码中解决这个问题? 以某种方式解析特殊键?

@maya-harel 您可以从 IAM 更改凭证 -> 用户选择您创建的用户并重新生成密钥安全凭证选项卡。

代码中的计时也是非常致命的,对于您在后端发出的每个请求,获取当前时间以在标头中使用它来生成签名。

顺便说一句,有很多盲目的“重新生成您的 IAM 凭证”建议给明确表示这不是他们的选择的用户。

这对用户没有帮助,并且分散了以下事实:这是一个已知错误,该错误继续影响尝试使用有效 IAM 凭证的 aws-cli 用户。

也遇到了这个。
$ aws --version
aws-cli/1.16.300 Python/2.7.16 Linux/4.14.152-127.182.amzn2.x86_64 botocore/1.13.36

我的键完全是字母数字,没有特殊字符。

这些键在 shell 中工作,但是当通过 Jenkins 在 Makefile 目标中使用时,会发生此错误。 不知道这里发生了什么。

我的密钥同时包含/+ 。 遇到这个问题并尝试过:

  • 通过 aws-cli > aws iam get-user (使用~/.aws/credentials文件)
  • boto3(通过python 3.6.8)

    • 硬编码密钥

    • 环境变量

    • 参数boto3.Session(profile_name=PROFILE) (从 ~/.aws/credentials 中提取)

所有这些都会导致SignatureDoesNotMatch错误。

我目前无法重新生成密钥。

我不明白的是我可以在 Cyber​​duck (https://cyberduck.io/) 中使用 S3 协议并且它按预期工作。 怎么会这样?

这一定是我遇到过的最令人沮丧的错误之一,而且还没有修复它真是太疯狂了。 在 CircleCI 中获得没有“+”的信用对我有用。

还在崩溃吗? 面对同样的问题,哇,我不可能...

是的,这令人沮丧。 我有+密钥在 Jenkins 管道中不起作用,但是当我生成一个新的,只有几个/ ,工作正常。

我在 Ubuntu 16.04 上的 awscli 软件包安装版本上遇到了这个问题。 我通过将 awscli 安装为 python pip 包来修复它。
有关说明,请点击使用 Python PIP 安装 AWS CLI部分下的链接

_遇到的问题_

1) 重新生成Access Key后遇到InvalidSignatureException错误
2) 部分错误日志如下。

$ python SetupAWS.py list_things
回溯(最近一次调用最后一次):
文件“SetupAWS.py”,第 222 行,在
list_things()
文件“SetupAWS.py”,第 182 行,在 list_things 中
东西 = client.list_things()['东西']
文件“c:Program Files (x86)Python38-32libsite-packagesbotocore-1.16.6-py3.8.eggbotocoreclient.py”,第 316 行,在 _api_call
返回 self._make_api_call(operation_name, kwargs)
文件“c:Program Files (x86)Python38-32libsite-packagesbotocore-1.16.6-py3.8.eggbotocoreclient.py”,第 626 行,在 _make_api_call
引发 error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: 调用 ListThings 操作时发生错误 (InvalidSignatureException):我们计算的请求签名与您提供的签名不匹配。 检查您的 AWS 秘密访问密钥和签名方法。 有关详细信息,请参阅服务文档。

_根本原因分析_

1)正如许多人在上面的评论中所建议的那样,我的秘密访问密钥中存在“+”导致了上述错误。

_分辨率_

1) 作为 IAM 用户生成新的访问密钥并验证新的秘密访问密钥在字符串中不包含“+”
2) 运行aws configure命令并提供新值。
3)运行python SetupAWS.py list_things命令,成功列出了我的东西,如下图,

$ python SetupAWS.py list_things
[{'thingName': 'myThingName', 'thingArn': 'myThingArn', 'attributes': {}, 'version': 1}]

这个问题已经开放了六年,感谢您的耐心、坚持和您提供的信息。 通过您的评论 (https://github.com/aws/aws-cli/issues/602#issuecomment-520469209) 确定了一些根本原因,并编译到命令行用户指南故障排除错误一章中。 这些原因包括时钟偏差和某些操作系统错误处理带有特殊字符的键。

我尝试使用许多不同的环境来重现这一点。 我使用了 Ubuntu 16.04、Ubuntu 18.04 和 Amazon Linux 2,以及 Python 3.6.8 和 3.8.3。 虽然许多评论者使用 Python 2,但我没有尝试重现,因为它不再受支持。 我使用了最新的 v1 aws-cli(撰写本文时为 1.18.80)以及本期中引用的旧版本 (1.11.78)。 我使用了@jamesls提供的脚本 (https://github.com/aws/aws-cli/issues/602#issuecomment-281866173),该脚本创建新的凭证对,直到遇到具有特殊字符的凭证对并让它们运行最多每人一个小时。 我没有出现任何SignatureDoesNotMatch错误。 我偶尔会收到关于 describe-instances 命令的AuthFailure错误,但使用相同凭据重试该命令会成功。

大量评论使得新用户很难找到我们的开发团队提出的故障排除建议。 为了帮助我们的团队和社区确定此错误的原因,我正在关闭此问题并创建一个特定的 GitHub 问题模板,其中包含针对遇到此错误的用户的指导和评论要求。

如果您遇到此错误,请转到问题选项卡,单击“新问题”按钮,然后使用SignatureDoesNotMatch错误报告模板(或使用下面的链接)。

由于发生此错误的用户环境的变化,请提交单独的问题而不是评论现有的问题。

单击此处提交SignatureDoesNotMatch错误报告

此页面是否有帮助?
0 / 5 - 0 等级