Skip to content
Novus Examples
json748 B

SAMPLE JWKS — Duplicate kid

Two keys of different types published under the same kid — what a botched key rotation leaves behind. A resolver that returns the first match silently verifies against the wrong key type instead of reporting the ambiguity.

Preview — first 22 linesjson
{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "alg": "RS256",
      "kid": "novus-p7-rsa-2026",
      "n": "vFQ-FKvpOhgmcptUhCZk9Qi_Lc9ginBBdHVVfX7GBD1Lre3h2zBK0ZuqzKhrXjag-hMcyRVolyoPnfpCGmn-Jr2QtPAE0UjuG07wWf1I6dhg7dPHjkeWAEzDqT2tb244jnYKVPVzTj7X6L3BUveZfFiKqzGZp2peQSJ56Coe13XSRdtDUtoG1VYu50Ps9QJR6oKv9b0ujuKc7dhL_ea6vWrcgVLggKj02auQehLqZ8HOasmxPpr_LW0kcEwCShbHPc2qkgZ7YqNocxbSB9AdO1Fn3GRVAcY1huI3nLPQ4xL7bzmiinyEac0nPRfcyzIrtZI_3LHaNrW7lSbMWX-9tw",
      "e": "AQAB"
    },
    {
      "kty": "EC",
      "use": "sig",
      "alg": "ES256",
      "kid": "novus-p7-rsa-2026",
      "crv": "P-256",
      "x": "W-DRtkDz4KfDgUk8eD0xdb-UrRrl_ciiSWwJ07uX7Ik",
      "y": "9IE-5maLT4yN_XTTwuR2AEjeuENKSTwGqGGqhmQli-E"
    }
  ]
}

Specifications

Keys
2
Issue
two different keys share one kid
Kid
novus-p7-rsa-2026
Algorithms
RS256 and ES256
Sample Only
true
Seed
70117

Testing contract

Expected to fail
Scenario
Resolve the kid from this set while verifying a token whose alg is RS256.
Expected result
The resolver either narrows by kid and alg to the RSA key or reports an ambiguous-kid error; it never attempts RS256 verification with the EC key.

What is a .json file?

JSON (JavaScript Object Notation) is a lightweight, text-based data-interchange format representing objects, arrays, strings, numbers, booleans, and null. It is language-independent, human-readable, and the dominant format for web APIs and configuration. It requires a single well-formed root value.

How to use this file

Use an example JSON file to test parsers and serializers, schema validation, Unicode and number-precision handling, and API request or response processing.

How to use this file for testing

“SAMPLE JWKS — Duplicate kid” is a deterministic Novus Examples fixture for JWT / JWKS testing, Error handling. Unsigned and SAMPLE-signed JWT variants plus JWKS documents — published sample material only, for auth parser tests.

Documented properties for this file: seed 70117. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

This is published, SAMPLE-only security material — never a real secret. Point certificate, key, or token parsers at it, test PEM/DER decoding and PKCS handling, and confirm your tooling reads the documented fields; any sample password is printed on this page.

These JSON fixtures are synthetic SAMPLE auth or tool-call shapes for harnesses — never production secrets or live tokens. Validate schema fields and alg variants against the documented role.

Code examples

import json

with open("jwks-duplicate-kid.json") as f:
    data = json.load(f)
print(type(data), len(data))

Generated by generation/security_p7.py. Free for any use, no attribution required — license.