-
Notifications
You must be signed in to change notification settings - Fork 605
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SignatureDoesNotMatch error when S3 key contains * #1896
Comments
Hey @TsvetanMilanov I was able to reproduce this issue, it is currently in our high priority list, the issue will be updated once it has been fixed. |
This happens because encodeURIComponent doesn't escape Currently the additional encoding is only done in signer, and some additional characters will be required to be escaped aws-sdk-js-v3/packages/signature-v4/src/SignatureV4.ts Lines 280 to 283 in 906e4b0
The solution would be to do additional encoding on top of encodeURIComponent output. |
Bump, can the suggest change be implemented? |
This error is being exist. |
|
This also happens when metadata contains special/unicode characters, such as Using the latest SDK and specifically the |
Hi @TsvetanMilanov, @Dids, @dobrynin, @live680g, this issue has been fixed. Please update to the latest version of the SDK you should have not issues. If you folks have anything else that we can help with, please feel free of opening a new issue. Thanks! |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs and link to relevant comments in this thread. |
Describe the bug
When trying to get/put object with key which contains
*
(e.g.te*st
) the S3 client throwsSignatureDoesNotMatch
error.SDK version number
3.2.0
Is the issue in the browser/Node.js/ReactNative?
Node.js
Details of the browser/Node.js/ReactNative version
v12.16.1
To Reproduce (observed behavior)
Expected behavior
Expecting the method invocation to succeed, but it throws
SignatureDoesNotMatch
error.Additional context
There is a similar issue #283 and a related fix #284. The S3 client works with
:
(e.g.te:st
) but not with*
. The aws-sdk v2 works correctly with keyte*st
The text was updated successfully, but these errors were encountered: