Closed qxconverse closed 1 month ago
Hi @qxconverse , Thank you for submitting the issue. For historical / legacy reasons, (initially) S3 and this SDK were not fully compliant with RFC URL encoding, resulting in a difference between the HTTP path and path used to compute the SigV4 signature.
It seems that you are overriding the service endpoint. I assume that you use some 3-rd party S3 server implementation, in that case you could also enable RFC-compliant encoding via setting options.compliantRfc3986Encoding = true
or SetCompliantRfc3986Encoding(true)
. We've heard that this settings helps with other S3-like API providers.
We are also looking into ways how to fully move to a always compliant RFC encoding by default.
Best regards, Sergey
I attempted to reproduce this error, but all special characters marked as "might require special handling" (&$@=;/:+ ,?) work with this sdk when not overriding the service endpoint. There might be some edge cases, but if you run into those please point them out to us. Can you modify your sample to reproduce this while using AWS S3 buckets?
Greetings! It looks like this issue hasn’t been active in longer than a week. We encourage you to check if this is still an issue in the latest release. Because it has been longer than a week since the last update on this, and in the absence of more information, we will be closing this issue soon. If you find that this is still a problem, please feel free to provide a comment or add an upvote to prevent automatic closure, or if the issue is already closed, please feel free to open a new one.
Describe the bug
When using the regular S3 PUT command, this error is encountered if the object key contains a special character '@'
Expected Behavior
not response a signature error
Current Behavior
The request signature we calculated does not match the signature you provided. Check your key and signing method.
Reproduction Steps
Possible Solution
No response
Additional Information/Context
No response
AWS CPP SDK version used
using git clone the latest version
Compiler and Version used
g++ (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0
Operating System and version
Ubuntu 20.04.1 LTS x86_64