title: botocore.exceptions.ClientError An error occurred (SignatureDoesNotMatch) when calling the GetObject operation
body: <p>While running the following code:</p>
  
  <pre><code>import boto3
  BUCKET = 'bwd-plfb'
  
  s3 = boto3.client('s3',use_ssl = False)
  
  resp = s3.list_objects_v2(Bucket = BUCKET )
  
  s3.download_file(BUCKET,'20171018/OK/OK_All.zip','test.zip')
  </code></pre>
  
  <p>I'm getting the following error: </p>
  
  <pre><code>   botocore.exceptions.ClientError: An error occurred 
     (SignatureDoesNotMatch) when calling the GetObject operation: The request 
     signature we calculated does not match the signature you provided. Check 
     your key and signing method.
  </code></pre>
  
  <p>What I've tried so far:</p>
  
  <ol>
  <li>Double checking Access key ID and Secret access key configured in aws cli (Running aws configure in command prompt) - They're correct.</li>
  <li>Trying to list bucket objects using boto3 - It worked successfully. The problem seems to be occuring when trying to download files.</li>
  <li>Using a chrome plugin to browse bucket contents and download files: <a href="https://chrome.google.com/webstore/detail/s3/dbcicnhojccpninljlaphamnljlmffdj?hl=en" rel="noreferrer">chrome plugin</a> It works successfully. </li>
  </ol>
  
  <p>The interesting thing is downloading works for some files but not all. I downloaded a file which previously worked before 20 times in a row to see if the error was intermittent. It worked all 20 times. I did the same thing for a file which had not previously worked and it did not download any of the 20 times. </p>
  
  <p>I saw some other posts on stackoverflow saying the api key &amp; access key maybe incorrect. However, I don't believe that to be the case if I was able to list objects and download files (one's which did &amp; did not work through boto3) using the Chrome S3 plugin. </p>
  
  <p>Does anyone have any suggestions on what might be the issue here?</p>
  
  <p>Thank You</p>