Record what the consolidated verifier's tests actually establish
All checks were successful
Build and Publish Container Image / build-and-push (push) Successful in 34s
All checks were successful
Build and Publish Container Image / build-and-push (push) Successful in 34s
KEY-WP-0019-T05 rested on "existing tests pass unchanged", which shows the move onto internal/jose preserved behaviour but not that the behaviour is checked. Disabling the RSA comparison in jose.Verify fails both callers' suites, so the shared verifier is load-bearing on each path. Correct the comment on the caller-side cases added with the move. It claimed the existing tamper case fails on the signature segment's shape before any key is used; it does not — appending eight characters leaves a decodable segment, so that case does reach and does check the signature. The two new cases are still worth their place for what a byte-level tamper cannot reach: a structurally valid token signed by an unpublished key under a published kid tests that key selection is bound to the key set, and an undersized modulus in the published set tests that ParseJWKS strictness denies rather than falling through to the claims. Record both in the workplan and in G01's status. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012WAsfsfQmDu4vcBhiMcmQp Assistant: claude-code Assistant-Model: opus Assistant-Process: 867844@bnt-lap001 Assistant-Session: 3d45905e-0016-4b49-b828-231406881f7b
This commit is contained in:
parent
2be6c73d99
commit
8707d375a2
3 changed files with 26 additions and 7 deletions
|
|
@ -106,9 +106,16 @@ configured correctly, which is the assumption it was meant to remove.
|
|||
Verification holds regardless of how the token arrived, so the absence of HTTPS
|
||||
validation here is a choice, not an oversight.
|
||||
|
||||
Both verification paths — the upstream adapter and the caller-side
|
||||
`authclient` — now run on one implementation in `internal/jose`, so the strict
|
||||
RS256/JWKS rules cannot drift apart or be fixed in only one copy. Claim policy
|
||||
stays with each caller, whose issuer, audience and nonce bindings genuinely
|
||||
differ.
|
||||
|
||||
Verified the tests catch the original defect: with the unverified parse restored,
|
||||
all thirteen rejection cases plus the algorithm and rotation cases fail. Complete
|
||||
profile conformance is still not claimed.
|
||||
all thirteen rejection cases plus the algorithm and rotation cases fail, and with
|
||||
the shared signature check disabled both callers' suites fail. Complete profile
|
||||
conformance is still not claimed.
|
||||
|
||||
### G02 — Machine-readable contract and discovery lag the runtime
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue