Tag: amazon ec2

错误:DescribeRegions API调用上的InvalidAction(Amazon AWS / EC2 API)

我正在编写一个与Amazon EC2 API进行交互的应用程序,因为我之前从未这样做过,所以我决定从像DescribeRegions这样容易的事情开始。 我在C中这样做,因此没有易于使用的库,所以我不得不与libcurl和libcrypto一起破解它。 完全披露,这是我第一次以编程方式与AWS / EC2 API交互,所以这可能是一个愚蠢的新手错误。 我确实读过了stackoverflow; 这与该人试图从bash发送请求并且未引用该字符串的问题不同。 我通过curl_easy_perform()发送请求 在阅读了我能找到的所有文档之后(对于这个示例,让我为我的AWS Access密钥替换AAAAAAAAA,为我的密钥替换BBBBBBB。 我构建了签名请求的参数部分,如下所述: Action=DescribeRegions&AWSAccessKeyId=AAAAAAAA&SignatureMethod=HmacSHA256&”SignatureVersion=2&Timestamp=2013-09-22T02:12:27Z&Version=2013-08-15 然后继续逃避并生成签名请求 GET\n ec2.amazonaws.com\n /\n Action%3DDescribeRegions%26AWSAccessKeyId%AAAAAAAAAAAA%26SignatureMethod%3DHmacSHA256%26SignatureVersion%3D2%26Timestamp%3D2013-09-22T02%3A12%3A27Z&Version=2013-08-15 然后我继续构建一个签名(让我们称之为CCCCCCCC) 并提出一个请求: https://ec2.amazonaws.com/?Action%3DDescribeRegions%26AWSAccessKeyId%3DAAAAAAAAAAAAA%26SignatureMethod%3DHmacSHA256%26SignatureVersion%3D2%26Timestamp%3D2013-09-22T02%3A12%3A27Z&Version=2013-08-15&Signature=CCCCCCCCCCC 当我发送它时,我收到以下错误。 SignatureDoesNotMatchThe 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.585f8932-d27b-42b3-b20e-453d8c7ee1ef 我正在使用的签名机制是一个简单的hmac_sha256; 我还尝试了维基百科文章中引用的hmac_sha256库,可在此处下载 。 我已经validation我的签名算法是正确的,现在我只能假设我签名的字符串不正确。 […]