Skip to content

fix: tolerate legacy JWK alg EdDSA on Ed25519 keys during draft-10 transition - #15

Merged
marcofanti merged 1 commit into
mainfrom
tolerate-legacy-eddsa-jwk-alg
Aug 7, 2026
Merged

fix: tolerate legacy JWK alg EdDSA on Ed25519 keys during draft-10 transition#15
marcofanti merged 1 commit into
mainfrom
tolerate-legacy-eddsa-jwk-alg

Conversation

@marcofanti

Copy link
Copy Markdown
Owner

0.2.x's Jwk.requireConsistentAlg hard-rejects alg: EdDSA, but pre-draft-10 peers — including the Python reference's client scripts — emit it in JWKS. Net effect: Java-side verification of Python-issued resource tokens fails (Forbidden or unsupported JWK alg: EdDSA), found live when aauth-java-person-server's mode-3 interop script broke after the 0.2.1 bump.

This is inconsistent with the library's own transition strategy: token-header verification already accepts both Ed25519 and legacy EdDSA. The fix applies the same policy to JWKs — EdDSA tolerated iff the key is OKP/Ed25519, rejected on any other shape (new negative test: EdDSA on a P-256 key). Both tolerances should flip to strict together when the ecosystem reaches draft-10.

Suggest releasing as 0.2.2 so downstream (person server, full-java-demo) can pick it up from Central.

🤖 Generated with Claude Code

…ansition

Jwk.requireConsistentAlg rejected any JWK carrying alg: EdDSA, but the
pre-draft-10 ecosystem (including the Python reference's clients) emits
exactly that in JWKS — so Java-side verification of Python-issued
resource tokens failed with 'Forbidden or unsupported JWK alg: EdDSA'
(found live via the person server's mode-3 interop script).

Token-header verification already accepts both Ed25519 and legacy EdDSA;
this applies the same transition policy to JWK alg: EdDSA is accepted
when the key is OKP/Ed25519 and rejected on any other key shape. Both
tolerances flip to strict together once the ecosystem is on draft-10.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@marcofanti
marcofanti merged commit 125a8c5 into main Aug 7, 2026
1 check passed
@marcofanti
marcofanti deleted the tolerate-legacy-eddsa-jwk-alg branch August 7, 2026 12:44
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