署名に使用する文字列は次のとおりです
GET
sqs.us-east-1.amazonaws.com
/XXXXXXXXXXX/Localhost
AWSAccessKeyId=XXXXXNGOTNJCTGAXXXXX&Action=ReceiveMessage&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-12-26T07%3A56%3A37Z&Version=2012-11-05
最初の 3 行の後に「\n」文字がありますが、最後の行の後ではありません。最後に「\n」も試しましたが、結果は同じでした
私は彼らが計算しています
HMAC_SHA256(AWSKey,string)
HMAC_SHA256 の正確性を個別に検証しました。最後に、HMAC Base 64 でエンコードされた URL を呼び出しています。
https://sqs.us-east-1.amazonaws.com/XXXXXXXXXXX/Localhost?AWSAccessKeyId=XXXXXNGOTNJCTGAXXXXX&Action=ReceiveMessage&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-12-26T07%3A56%3A38Z&Version=2012-11-05&Signature=06nzru1EroDLJTJDjExLbyUyQzEcct3wAp%2Bm7TOBTjb0aPWSJTIXXXXX
XX..XX は私が追加したものです。
ドキュメントを何度か確認した後、同じエラーが見つかりませんが、署名が一致しないというエラーが表示されます。
<Code>SignatureDoesNotMatch</Code>
<Message>
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.
</Message>