title: How to translate AWS Task 1: Create a Canonical Request for Signature Version 4
body: <p>(<em>Disclaimer: This is intended as a "How-to", since I could not find any CF examples when I was implementing AWS Signature Version 4</em>)</p>
  
  <p>How do you implement <a href="http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html" rel="noreferrer">Task 1: Create a Canonical Request for Signature Version 4</a> in CF? </p>
  
  <p><em>Summary:</em></p>
  
  <ol>
  <li>Start with the HTTP request method (GET, PUT, POST, etc.), followed by a newline character. </li>
  <li>Add the canonical URI parameter, followed by a newline character. </li>
  <li>Add the canonical query string, followed by a newline character</li>
  <li>Add the canonical headers, followed by a newline character. </li>
  <li>Add the signed headers, followed by a newline character.</li>
  <li>Use a hash (digest) function like SHA256 to create a hashed value from the payload in the body of the request</li>
  <li>Construct the finished canonical request, by combining the components from each step as a single string.</li>
  <li>Create a digest (hash) of the canonical request with the same algorithm used to hash the payload. </li>
  </ol>