ZF-8671: Signature is invalid for all requests that have space in any of the signed query parameters


Using Amazon_Ec2 Query API requests will fail with the follwing exception:

exception 'Zend_Service_Amazon_Ec2_Exception' with message '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.'

If any of the signed parameters has space it in. This is due to usage of urlencode() instead of rawurlencode() when generating the string-to-sign, despite Amazon's explicit demand that spaces will be encoded as %20 (=rawurlencode()) and not as '+' (=urlencode()).


Patch against SVN rev. 19975 is attached.

Strange enough I ran into this problem myself a few days ago and fixed it but I havn't had time to post file a bug and submit the patch. This was done with r19977 (trunk) and r19978 (release branch)