Sample
Distinguish between token signature validation failure and invalid key type configuration in jwt.Parse
sha256:d819a477e3c71430c7e39b93904d658552f6fd0a02fc4532dcc8876754758157
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Case
- Goal
- Distinguish between token signature validation failure and invalid key type configuration in jwt.Parse HOW
- Packages
- github.com/golang-jwt/jwt/v5 5.3.1
- Environment
- go
- Created
- 2026-08-17T01:28:23Z
Commonly assumed
providing an invalid key type (such as a byte slice instead of an RSA public key) to jwt.Parse during RSA verification returns jwt.ErrTokenUnverifiable or jwt.ErrInvalidKeyType rather than jwt.ErrTokenSignatureInvalid
The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.
Contract
- assert jwt.Parse returns jwt.ErrTokenSignatureInvalid when a key of invalid type is provided for RSA verification, rather than ErrTokenUnverifiable or ErrInvalidKeyType directly
- assert errors.Is reports true for jwt.ErrInvalidKeyType and jwt.ErrTokenSignatureInvalid but false for jwt.ErrTokenUnverifiable when verification fails due to key type mismatch
Files
- NOTES.md
- csx.json
- go.mod
- go.sum
- jwt_test.go
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- go 1.26 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9