是否有可以使用 AWS V4 签名签署请求的 .NET 库?
Is there a .NET library that can sign a request with AWS V4 Signature?
我有一个 API 网关,我在其中设置身份验证以使用 AWS_IAM。这要求我使用 AWS V4 签名对每个请求进行签名,并在 header 中附加 HMAC。我发现库可以在 nodejs 中使用 V4 签名签署请求。但是我找不到可以为我签名的图书馆。即使是 .NET 的 aws-sdk 也针对他们自己的特定用例进行了抽象。那里有图书馆吗(我快速 google 搜索但没有找到任何结果)?或者我需要自己写出 hmac 吗?
您可以阅读签名是如何完成的并且您可以(如果需要)。
我建议引入适用于 .NET 的 AWS SDK 并使用 SDK 中的功能来实际执行签名。
这是 SDK 的签名者:
您可能需要对其进行调整(即它默认了解 AWS 服务和端点)
虽然这是一个老问题,但由于 AWS 没有 "prioritized accordingly" 关于 .NET AWS SDK,如他们上面的评论所述,这在今天仍然是一个相关问题,我找到了一个很好的库将为您处理 AWS V4 请求签名。
Here is the GitHub source and implementation documentation.
此外,我发现对于我的 API 网关 AWS_IAM 使用临时安全凭证的授权,您还需要包括 "x-amz-security-token" header使用当前的 session 令牌作为它在您的请求中的价值。
Aws4RequestSigner is AwsSignatureVersion4 的替代方法。我认为它 API 更容易使用,但我有偏见,因为我是后者的作者。
我有一个 API 网关,我在其中设置身份验证以使用 AWS_IAM。这要求我使用 AWS V4 签名对每个请求进行签名,并在 header 中附加 HMAC。我发现库可以在 nodejs 中使用 V4 签名签署请求。但是我找不到可以为我签名的图书馆。即使是 .NET 的 aws-sdk 也针对他们自己的特定用例进行了抽象。那里有图书馆吗(我快速 google 搜索但没有找到任何结果)?或者我需要自己写出 hmac 吗?
您可以阅读签名是如何完成的并且您可以(如果需要)。 我建议引入适用于 .NET 的 AWS SDK 并使用 SDK 中的功能来实际执行签名。
这是 SDK 的签名者:
您可能需要对其进行调整(即它默认了解 AWS 服务和端点)
虽然这是一个老问题,但由于 AWS 没有 "prioritized accordingly" 关于 .NET AWS SDK,如他们上面的评论所述,这在今天仍然是一个相关问题,我找到了一个很好的库将为您处理 AWS V4 请求签名。
Here is the GitHub source and implementation documentation.
此外,我发现对于我的 API 网关 AWS_IAM 使用临时安全凭证的授权,您还需要包括 "x-amz-security-token" header使用当前的 session 令牌作为它在您的请求中的价值。
Aws4RequestSigner is AwsSignatureVersion4 的替代方法。我认为它 API 更容易使用,但我有偏见,因为我是后者的作者。