Start a new topic

Why am I getting "SignatureDoesNotMatch" error when uploading a file?

I am trying to upload a file using the File API version 3, and I am getting a "signature does not match" error when I hit the Google API upload URL. Here is a copy of the request and response. Is this an issue with my request configuration?


PUT /kinvey_production_34dsfd343a1b695328f48c7a967122772540e24/f343asd-b4ed-dfda44d44324343-77acedd7f041/g8392fdssds-3432sdf-a89b-5d341e12cd19b5a? HTTP/1.1

Content-Type: image/png


Content-Length: 427


HTTP/1.1 403 Forbidden

Content-Type: application/xml; charset=UTF-8

Content-Length: 413

Date: Wed, 03 Jul 2013 13:55:48 GMT

Server: HTTP Upload Server Built on Jun 28 2013 13:27:54 (1372451274)

SignatureDoesNotMatchThe request signature we calculated does not match the signature you provided. Check your Google secret key and signing method.PUT




Hi Janaka, can you post the exact error you are getting from GCS (the body of the SignatureDoesNotMatch error) ?
I have the same problem, even though I am not setting a Content-Type. I only provide the Content-Length as stated in the documentation. I get this same error.

I have tried file upload with Android SDK as well with no luck. Question regarding that problem is here:

Are you including the X-Kinvey-Content-Type header when making the initial PUT request to Kinvey?

Due to the way in which URL signatures are generated, if you are uploading a file to Google Cloud Storage and wish to specify a Content-Type, you must include the same content type in the X-Kinvey-Content-Type header when making the original request to Kinvey, so that the signature of the _uploadURL is properly created. See for an example.

Login or Signup to post a comment