flexera-public / right_aws

RightScale Amazon Web Services Ruby Gems
MIT License
451 stars 175 forks source link

Signature error #108

Closed nerdyworm closed 12 years ago

nerdyworm commented 12 years ago

Escaping the path to sign gives the wrong signature when the key contains charaters that would be encoded when signed.

https://github.com/rightscale/right_aws/pull/63#issuecomment-1235867

This issue was raised a while ago and closed.

konstantin-dzreev commented 12 years ago

Hi,

Could you provide an example of s3.get_link that fails? Not sure I can reproduce it...

s3.get_link("devs-us-east","kd/foo.jpg", 3600, {}, 
  { "response-content-disposition" => "attachment; filename=foo_foto.jpg", 
    "response-content-type" => "image/jpg"}) #=> 

    https://devs-us-east.s3.amazonaws.com:443/kd/foo.jpg?response-content-disposition=attachment%3B%20filename%3Dfoo_foto.jpg&response-content-type=image%2Fjpg&Signature=r0uBUwzb7gbmcLO89ybDrN47ZAc%3D&Expires=1325210931&AWSAccessKeyId=AKI...UTA

The link above works fine...

Thank you

Konstantin

nerdyworm commented 12 years ago

s3.get_link("devs-us-east","kd/foo bar.jpg", 3600, {}, { "response-content-disposition" => "attachment; filename=foo_foto.jpg", "response-content-type" => "image/jpg"})

Will cause the SignatureDoesNotMatch error.

konstantin-dzreev commented 12 years ago

Thank you.

Both the requests are merged into "development" branch