title: Chef Upload to Sandbox Fails with 403 (Unauthorized)
body: <p>We're calling the Chef API from a .Net application. We have successfully used GET and PUT and POST methods, signing and passing information as required.</p>
  
  <p>However, we have hit a brick wall when attempting to upload files to the Sandbox. And this appears to be an area of Chef that has no documentation.</p>
  
  <p>Firstly we POST to the Sandbox with our file checksum (calculated using MD5). This then returns a signed URL.</p>
  
  <p>Our expectation from this point is that we should be making a PUT to the URL provided and sending our data (I have attempted a GET too, with the same problem). However, whatever we try, we're getting back an error of <strong>403 - The request signature we calculated does not match the signature you provided. Check your key and signing method.</strong></p>
  
  <p>We've tried:</p>
  
  <ul>
  <li>Creating a signature as before and sending that with the PUT, no success.</li>
  <li>Not using a signature (relying upon the signature within the URL, no success.</li>
  <li>Attempting to mirror what knife appears to be doing (using -VV), no success.</li>
  </ul>
  
  <p>We would really appreciate any help available on this, pointers to existing documentation and or source code.</p>
  
  <p>TIA</p>
  
  <p>James</p>