在C中使用aws版本4签名

时间:2018-02-09 02:42:47

标签: c linux amazon-web-services

我正在尝试使用通用C在aws(在Linux机器上)上使用SQS。不使用任何sdk(不是有一个用于C)。我找不到一个与之相关的例子。对不起,我不喜欢这些新奇的语言。我精通Cobol,fortran,pascal和C.不是python,c ++,c#或java。有"步骤"在亚马逊网站上,但老实说,他们希望能够熟练掌握aws和面向对象的语言。我只是想创建自己的https get命令来访问SQS / SNS,任何人都可以提供一个' C'使用版本4签名创建完整URL的snipet?或者指出我正确的方向?

2 个答案:

答案 0 :(得分:2)

查看https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html

如果您精通任何编程语言,您应该能够理解所有代码。它只是字符串操作和一些哈希,你必须使用另一个库。还有很多评论可以帮助您了解详细信息。

答案 1 :(得分:1)

您可以使用 libcurl 进行调用:

使用 CURLOPT_AWS_SIGV4 参数作为签名 https://curl.se/libcurl/c/CURLOPT_AWS_SIGV4.html

如果要将结果存储到变量中,可以查看 CURLOPT_WRITEFUNCTION:https://curl.se/libcurl/c/CURLOPT_WRITEFUNCTION.html

出于调试目的,CURLOPT_VERBOSE 也很有用:https://curl.se/libcurl/c/CURLOPT_VERBOSE.html

请注意,您需要一个高于 7.75 的 libcurl 版本。