title: AWS SQS error : SignatureDoesNotMatch HTTP error: 403
body: <p>I'm working on a face tracking thought video <code>AWS Rekognition</code> (<code>StartFaceSearch</code>). It will return the job id. I have setup everything <code>SQS</code> <code>SNS</code> parts. <strong>Here my problem</strong> is i can't able to get a message from SQS using <code>receiveMessage()</code>. Even <code>listQueues()</code> also not working. It gives this below error. </p>
  
  <blockquote>
    <p>"ListQueues" on "<a href="https://sqs.us-east-1.amazonaws.com" rel="nofollow noreferrer">https://sqs.us-east-1.amazonaws.com</a>"; AWS HTTP error: Client error: <code>POST https://sqs.us-east-1.amazonaws.com</code> resulted in a <code>403 Forbidden</code> response:
    &lt; ErrorResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">Sender&lt; Code >S (truncated...)
    SignatureDoesNotMatch (client): 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.</p>
    
    <p>The Canonical String for this request should have been
    'POST
    / ....... &lt; continue.............</p>
  </blockquote>
  
  <p>The code as follow. AWS PHP SDK ver 3.64.11.</p>
  
  <pre><code>$queueUrl = "https://sqs.us-east-1.amazonaws.com/xxxxxxx/facetrackingreceive";
          // Get the client from the builder by namespace
          $sqs_client = new SqsClient(array(
              'credentials' =&gt; array(
                  'key'    =&gt; 'xxxxxxxxxx',
                  'secret' =&gt; 'xxxxxxxxxxxxxxxxxxxxxxx',
              ),
              'version' =&gt; '2012-11-05',
              'region'  =&gt; 'us-east-1',
              'http' =&gt; [ 'verify' =&gt; false ],
  
          ));
  
          $result = $sqs_client-&gt;listQueues();
  
          foreach ($result-&gt;get('QueueUrls') as $queueUrl) {
              echo "$queueUrl\n";
          }
  </code></pre>
  
  <p>Thanks in advance!</p>