Skip to content

Fix PresignedUrl issue with case convertion of header names#2057

Open
jderusse wants to merge 1 commit intoasync-aws:masterfrom
jderusse:header-case
Open

Fix PresignedUrl issue with case convertion of header names#2057
jderusse wants to merge 1 commit intoasync-aws:masterfrom
jderusse:header-case

Conversation

@jderusse
Copy link
Copy Markdown
Member

an alternative to #2044
that should fix #2043 without breaking #2035

Could you test this patch @root-aza and @ryanmab ?

@ryanmab
Copy link
Copy Markdown

ryanmab commented Mar 29, 2026

Hey @jderusse,

Thanks for the work on this PR!

I've just pulled this version in locally on my side, but no change I'm afraid - the signed PUT requests are still rejected by S3 with the error response of:

<Error>
	<Code>SignatureDoesNotMatch</Code>
	<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
        // .....
</Error>

For what it's worth, I wanted to rule out that I'd not tested the patch correctly, so also tried pinning async-aws/core to 1.28.0 and then applying the changes in the core and s3 packages manually file by file.

Before applying the changes, the signed PUT requests worked against S3 (i.e. just plain 1.28.0 of async-aws/core), but after applying this patch to each file manually, the signed URLs to began failing - so I believe I'm exercising the Signer correctly.

I realise thats not a while lot to go on though, so let me know if theres anything outside of the original issue or my follow-up PR which might help you track it down.

Ryan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pre-signing S3 PUT requests with object metadata causing SignatureDoesNotMatch error

2 participants