spring-projects / spring-projects/spring-security

Consider supporting RFC 9421 HTTP Message Signatures

Open
#18,502 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: waiting-for-triage type: enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.