2012-12-26 2 views
0

아마존 SQS 서명 오류

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 

는 '\ n을'처음 3 개 선 후 문자하지만 지난 후, 나는 또한 '\ n을 함께 시도하지 있습니다 다음과 같이 내가 서명하는 데 사용하는 문자열입니다 '말에,하지만 결과는 내가 그들을 내가 별도로, 마지막으로 나는 HMAC로 URL을 호출하고있는 HMAC_SHA256의 정확성을 검증 한

HMAC_SHA256(AWSKey,string) 

을 계산 오전 같은

했다 Base 64 encoded

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> 
+0

예, 대기열의 이름이 "Localhost" – Manyu

답변

0

URL의 쿼리 문자열 시작 부분에있는 큐 이름과 물음표 사이에 문제가있을 수 있습니까? 나는 거기에 있어야한다고 생각하지 않는다.

...Localhost/?AWSAccessKeyId... 
      ^remove this 

음은, 어, 그 아니었다? 좋아요, 또 다른 생각이 있습니다 :

당신은 HMAC_SHA256의 정확성을 확인했다고 말하지만 이것이 올바른 순서의 명령입니까? 일부 구현에서는 다음 규칙을 사용합니다.

HMAC_SHA256($data,$key) 

그 반대입니다.

+0

해당 파일을 찾았으며 이미 편집했지만 작동하지 않았습니다. – Manyu