Skip to content

feat(aws): add SigV4a signing support - #795

Merged
Xuanwo merged 3 commits into
mainfrom
xuanwo/aws-v4a
Jul 27, 2026
Merged

feat(aws): add SigV4a signing support#795
Xuanwo merged 3 commits into
mainfrom
xuanwo/aws-v4a

Conversation

@Xuanwo

@Xuanwo Xuanwo commented Jul 24, 2026

Copy link
Copy Markdown
Member

AWS SigV4 derives signing keys from a single region, so it cannot authenticate one request across multi-region AWS endpoints. SigV4a uses an asymmetric signing key and a signing region set to cover that use case.

This adds a dedicated reqsign-aws-v4a signer and extracts credential providers plus canonicalization into reqsign-aws-core, keeping reqsign-aws-v4 focused on HMAC SigV4. The facade retains the existing reqsign::aws API for compatibility and exposes explicit aws::v4 and aws::v4a modules.

The implementation supports header signing and query presigning, preserves the exact wire URI, and validates failure atomicity. It is cross-checked against AWS SigV4a key derivation vectors and the official Rust aws-sigv4 implementation.

This also makes the Aliyun default-provider unit test hermetic. Its final fallback previously reached the live ECS metadata endpoint during local workspace tests; the test now disables that unrelated provider and asserts that no HTTP request is made.

@Xuanwo
Xuanwo marked this pull request as ready for review July 27, 2026 02:33
@Xuanwo
Xuanwo merged commit 977deca into main Jul 27, 2026
49 checks passed
@Xuanwo
Xuanwo deleted the xuanwo/aws-v4a branch July 27, 2026 02:43
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.

1 participant