是否有一个.NET库可以使用AWS V4签名对请求进行签名?

是否有一个.NET库可以使用AWS V4签名对请求进行签名?,.net,amazon-web-services,aws-sdk,aws-api-gateway,aws-lambda,.net,Amazon Web Services,Aws Sdk,Aws Api Gateway,Aws Lambda,我有一个API网关,在这里我将身份验证设置为使用AWS_IAM。这要求我使用AWS V4签名对每个请求进行签名,并在头中附加HMAC。我在nodejs中找到了使用V4签名对请求进行签名的库。但是我找不到一个图书馆可以为我签名。即使是用于.NET的aws sdk也针对其特定的用例进行了抽象。有图书馆吗(我在谷歌上快速搜索了一下,没有找到结果)?或者我需要自己写下hmac吗?你可以阅读签名是如何完成的,你也可以(如果你愿意的话)。 我建议引入AWS SDK for.NET,并使用SDK中的功能来实际

我有一个API网关,在这里我将身份验证设置为使用AWS_IAM。这要求我使用AWS V4签名对每个请求进行签名,并在头中附加HMAC。我在nodejs中找到了使用V4签名对请求进行签名的库。但是我找不到一个图书馆可以为我签名。即使是用于.NET的aws sdk也针对其特定的用例进行了抽象。有图书馆吗(我在谷歌上快速搜索了一下,没有找到结果)?或者我需要自己写下hmac吗?

你可以阅读签名是如何完成的,你也可以(如果你愿意的话)。 我建议引入AWS SDK for.NET,并使用SDK中的功能来实际执行签名

以下是SDK的签名人表单:


您可能需要对其进行调整(即默认情况下它了解AWS服务和端点)

这是一个老问题,因为AWS没有按照上述评论中所述对.NET AWS SDK“进行相应的优先级排序”,而这在今天仍然是一个相关问题,我找到了一个很好的库,可以为您处理AWSV4请求签名


此外,我发现,要使我的API网关AWS_IAM授权使用临时安全凭据,您还需要在请求中包含“x-amz-security-token”头以及当前会话令牌的值

is的另一种选择。我认为它的API更容易使用,但我有偏见,因为我是后者的作者。

这是不适用的吗?实现肯定会使用标准.net库来执行实际的HMAC,但涉及如何生成密钥以及HMAC的内容。是对aws v4签名请求进行签名的nodejs实现。他们的库将加快整个过程,但我仍然必须将标准HttpRequestMessage转换为他们的IRequest格式,或者至少编写一个包装器以返回类似的参数。我们(API网关)意识到需要官方的.NET SDK支持,并相应地确定了优先级。同时,我建议按照@Mircea的建议,1)根据或2)重复使用现有的.NET AWS SDKHi,我是该库的合著者,可以接受请求或反馈。您好,我正在使用AWS elasticsearch,希望对请求进行签名。我正在使用asp.net elasticsearch NEST sdk,不知道您的AwsSignatureVersion4是否可以使用它?var客户端=新的ElasticClient(设置);我其实不知道,但尝试一下会很有趣!您是否能够使用示例代码创建一个GitHub存储库,我们可以看看我们是否可以一起工作?