[ 
https://issues.apache.org/jira/browse/JCLOUDS-1595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17480550#comment-17480550
 ] 

Andrew Gaul commented on JCLOUDS-1595:
--------------------------------------

Sounds reasonable but please compare with what AWS does.

> Aws4SignerBase.getCanonicalizedQueryString should not escape the slash char
> ---------------------------------------------------------------------------
>
>                 Key: JCLOUDS-1595
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1595
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-blobstore
>    Affects Versions: 2.4.0
>            Reporter: Jim Sermersheim
>            Priority: Minor
>              Labels: s3
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> org.jclouds.s3.filters.Aws4SignerBase#getCanonicalizedQueryString should 
> leave the '/' char unescaped when it is being used by 
> org.jclouds.s3.filters.Aws4SignerBase#createStringToSign
> As it is, it's escaping the '/' char in the query string, and this is not 
> consistent with the actual query string that is used in the URL when making 
> the HTTP request (the '/' is unescaped in that case).
> This is currently causing a bug when jclouds is used to list with a prefix 
> against NetApp's ONTAP S3 server (version 9.10.1). The calculation of the S3 
> V4 signature differs between JClouds and the NetApp because the NetApp is 
> calculating the signature witn unescaped slashes (which is what the client 
> sent in the URL)
> For reference, the error coming back from the NetApp ONTAP is a 403 with the 
> message: "The request signature we calculated does not match the signature 
> you provided. Check your key and signing method."
> Other S3 servers must be more lenient in this regard, or perhaps don't 
> validate the signature.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to