问题标签 [aws-signature]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
92 浏览

amazon-web-services - 带有 AWS 签名的 NGINX 反向代理配置

我使用 nginx 作为网关的反向代理。它正在使用普通的api。但是,它不适用于 AWS 签名。说签名不匹配。我添加了代理主机,但它仍然不起作用。请帮忙。已验证 nginx 日志,所有标头都已通过。计算签名的问题。通过邮递员和使用 AWSSign sdk 的工作代码进行了尝试

观察 nginx 的日志,我可以看到签名值和 sha256 值与我在邮递员中看到的完全不同。

0 投票
1 回答
178 浏览

ruby-on-rails - 我正在使用 aws-sigv4 gem 创建签名,但出现错误

我收到以下错误

当我尝试使用带有上面生成的签名的邮递员来点击请求时,我收到以下错误

这是屏幕截图或https://prnt.sc/1al04od

谁能帮我这个

0 投票
0 回答
98 浏览

amazon-web-services - 未签名的有效负载选项不适用于 AWS 签名版本 4

我在使用该UNSIGNED-PAYLOAD选项运行 POST 到 AWS kinesis 时遇到一些问题。

我主要使用此博客中的代码。

为了简单起见,我只签署了这两个标头:SignedHeaders=host;x-amz-date

需要提及的是,签署正文时一切正常(Kinesis 接受此作为有效签名):

但是,如果我尝试切换到未签名的有效负载,我最终会得到InvalidSignatureException

我打给 AWS 的电话是:

所以我在工作版本和非工作版本之间唯一改变的是内容哈希(从我的内容的实际 sha256 到文字“UNSIGNED_PAYLOAD”)。

构建规范请求时正在使用哈希。对于非正文签名版本,这是错误的方法吗?

更新 我还尝试使用来自 aws-sdk-core 的签名者:

使用上面生成的标题,我仍然得到相同的InvalidSignatureException.

这是否意味着 Kinesis PutRecord 不接受未签名的有效负载?

0 投票
1 回答
481 浏览

amazon-web-services - 使用 cURL --aws-sigv4 调用 AWS Elasticsearch Service API

当我执行

我的 AWS Elasticsearch 端点在哪里$ES_DOMAIN_ENDPOINT,我收到以下响应:

{"message":"我们计算的请求签名与您提供的签名不匹配。请检查您的 AWS Secret Access Key 和签名方法。有关详细信息,请参阅服务文档。"}

我相信我的观点$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY是正确的。

但是,当我使用 AWS 身份验证和上述参数发送相同的邮递员请求时,响应就会通过。我比较了两个请求的详细输出,它们有非常小的差异,例如时间戳和签名。

我想知道,--aws-sigv4配置有什么问题?

0 投票
1 回答
365 浏览

java - 找不到 com.github.awslabs:aws-request-signing-apache-interceptor

我正在使用AWS 文档com.github.awslabs:aws-request-signing-apache-interceptor:deb7941e85中建议的 AWS 请求签名

构建.gradle

该构建在 2021 年 9 月 15 日之前一直运行良好,但现在我遇到了以下异常

当我分析时,我可以看到存储库的位置aws-request-signing-apache-interceptor-deb7941e85.jar不可用mulesofthttps://repository.mulesoft.org/nexus/content/repositories/public/com/github/awslabs/

0 投票
0 回答
34 浏览

amazon-web-services - 使用 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 找到的临时凭证到期:在第二个开头还是结尾?

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html中所述,从 ECS 容器请求临时凭证到

http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI

有以下形式的回复:

并且 EXPIRATION_DATE 似乎有第二个分辨率。

凭证是在秒的开始、秒的结束还是其他什么时候过期?所以说,请求是用那个确切的日期时间签署的......他们会成功还是失败?

0 投票
0 回答
73 浏览

javascript - 使用 Javascript 查询 Graphql API 时出现 AWS signature4 计算问题

我是一名 QA 工程师,希望自动化我们的超出 AWS 网关的 graphql API。我想使用 Javascripts 来实现这一点。经过研究,我确实意识到我们需要使用 AWS 访问密钥和 AWS 密钥生成 AWS 签名。我正在使用aws4npm 包生成 AWS 签名并graphql-request作为 graphql 的 Javascript 客户端。我正在尝试使用 appsync URL 查询我们的 graphql API。在执行时使用测试框架写在下面的代码中Javascript mocha,它返回了一个错误说Error: 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.

我确实尝试使用postman桌面客户​​端使用 AWS 签名查询 graphql API 并且工作正常,得到预期的输出!如果我手动使用authentication headers邮递员请求中的相同内容,它会在以编程方式执行时失败!

在此处欣赏任何想法或解决方案,以解决使用 AWS 签名查询 graphl API 的问题。

GraphQLClient控制台输出示例如下所示:

Complete Error Message

References

  1. aws4 签名生成参考来自https://www.npmjs.com/package/aws4中列出的示例
  2. Graphql Javascript 客户端从列表中选择https://graphql.org/code/#javascript
  3. 来自使用部分的 GraphQLCLient https://www.npmjs.com/package/graphql-request
0 投票
0 回答
54 浏览

amazon-web-services - 在 golang 中阅读 Postman AWS 签名详细信息

在此处输入图像描述

我正在使用Authorization > AWS Signature邮递员中的部分传递我的 AWS 访问密钥和秘密。

我正在使用 Golang 项目处理请求。

现在,我收到了这个变量下的请求:r *http.Request 我尝试获取不同的值r.Header.Get()并面临 2 个特定问题:

  1. 我无法获得secret
  2. 我正在获取regionaccess_key使用的价值,r.Header.Get("Authorization")但它在一个长字符串之间。如何正确提取它们?

我想要

0 投票
0 回答
17 浏览

api - 在邮递员中更新“授权”键 (AWS) 的值

我正在尝试发布到 API(需要 AWS 签名)。我正在使用 Postman 应用程序来执行此操作。API 需要以下值作为“SignedHeaders”的一部分

content-type;host;x-ftbapi-trnsid;x-ftbapi-trts

我面临的问题是我无法在 Postman 中设置这些 SignedHeaders。因为,Authorization 密钥被禁用,默认情况下会添加以下标题。host;x-amz-date

如何将以下值添加到“SignedHeaders”content-type;host;x-ftbapi-trnsid;x-ftbapi-trts并删除x-amz-date

我附上截图以供参考。

在此处输入图像描述

0 投票
0 回答
52 浏览

amazon-web-services - AWS SigV4 签名与 AWS 计算的不匹配

我正在尝试遵循AWS SigV4 签名过程文档中的代码,但似乎有些不对劲,因为我不断收到错误 403 - signature does not match

我所做的只是根据需要更改参数。我一直在 Postman 中使用相同的参数,它们完美地工作。

这是我的 Python 代码,直接来自文档:

我尝试将邮递员的amzdatedatetime签名放入此代码中,并且它们起作用了。所以我认为签名计算过程有问题,但我真的说不出来。

我很感激我能得到的所有帮助。提前致谢。