spring-projects / spring-projects/spring-security
Consider supporting RFC 9421 HTTP Message Signatures
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 9.6k
- Forks
- 6.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 52
Description
Expected Behavior
RFC 9421 HTTP Message Signatures defines a standard mechanism to create and verify digital signature or MAC at HTTP message level. It could be useful when people want to design a system with webhooks without mTLS.
Spring Security could consider adding RFC 9421 support for both servers and clients:
- For servers:
- Implement RFC 9421 signature verification as a new authentication mechanism
- Provide abstractions for signature credentials management
- For clients: Provide RestClient interceptor and WebClient filter function to create RFC 9421 signature
Current Behavior
Currently, Spring Security doesn't support RFC 9421.
Context
The adoption of RFC 9421 is still emerging. Existing popular webhook-supporting platforms such as GitHub define their ad-hoc webhook signature verification mechanism. If Spring Security as a popular framework supported RFC 9421, it could promote the adoption of this shared standard mechanism.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading RFC 9421 and compare its requirements with Spring Security's existing server authentication and client integration capabilities. Define the scope for signature verification, credential management, RestClient interception, and WebClient filtering; done means agreed server and client support for the standard with a clear implementation plan.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring
- Domain
- api, authentication, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100