SAMPLE JWKS — With x5c Certificate Chain
A JWK carrying the full x5c certificate chain and an x5t#S256 thumbprint alongside the raw n/e values. The x5c array is standard Base64 while every other JWK field is base64url — a real and frequently mis-implemented detail.
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"alg": "RS256",
"kid": "novus-p7-rsa-2026-x5c",
"n": "vFQ-FKvpOhgmcptUhCZk9Qi_Lc9ginBBdHVVfX7GBD1Lre3h2zBK0ZuqzKhrXjag-hMcyRVolyoPnfpCGmn-Jr2QtPAE0UjuG07wWf1I6dhg7dPHjkeWAEzDqT2tb244jnYKVPVzTj7X6L3BUveZfFiKqzGZp2peQSJ56Coe13XSRdtDUtoG1VYu50Ps9QJR6oKv9b0ujuKc7dhL_ea6vWrcgVLggKj02auQehLqZ8HOasmxPpr_LW0kcEwCShbHPc2qkgZ7YqNocxbSB9AdO1Fn3GRVAcY1huI3nLPQ4xL7bzmiinyEac0nPRfcyzIrtZI_3LHaNrW7lSbMWX-9tw",
"e": "AQAB",
"x5c": [
"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"
],
"x5t#S256": "5qfK-aZC21G0Gl3Ii89Ko7AfrUgm0hqJcJiV0Pzb6ao"
}
]
}
Specifications
- Keys
- 1
- X5c
- 3
- Thumbprint
- x5t#S256 (base64url SHA-256 of the leaf DER)
- Note
- x5c uses standard base64, the rest of a JWK uses base64url
- Sample Only
- true
- Seed
- 70117
Testing contract
Expected to pass- Scenario
- Decode the x5c entries, confirm the first certificate's public key equals the JWK n/e, and recompute x5t#S256.
- Expected result
- The leaf in x5c matches the JWK key material and the recomputed base64url SHA-256 thumbprint equals the published x5t#S256.
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 — With x5c Certificate Chain” is a deterministic Novus Examples fixture for JWT / JWKS testing, Certificate & key testing. 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-with-x5c.json") as f:
data = json.load(f)
print(type(data), len(data))Related files
- pemSAMPLE RSA Public Key — SubjectPublicKeyInfoThe SAMPLE leaf's public key as a bare SubjectPublicKeyInfo (BEGIN PUBLIC KEY) — the form JWT verifiers and most language runtimes expect when you hand them a key rather than a certificate.

- jsonJWKS (Empty Keys) — SAMPLEEmpty JWKS keys array for edge-case JWKS loaders.

- jsonJWKS (RSA) — SAMPLESAMPLE JWKS document exposing the Wave G RSA public key for JWT signature verification tests.

- jsonSAMPLE JWK — EC P-256 Public KeyA single P-256 public JWK. Its x and y are fixed 32-byte base64url values, left-padded when a coordinate happens to be short — the padding rule that libraries stripping leading zeroes get wrong.

- jsonSAMPLE JWK — Ed25519 Private KeyAn OKP-type JWK holding the Ed25519 key pair as raw 32-byte x and d values. OKP is the newest JWK key type and the one older JOSE libraries reject outright.

- jsonSAMPLE JWK — RSA Private KeyThe full RSA private key as a JWK, including the CRT parameters p, q, dp, dq and qi. It is the input for testing JWK-to-PEM conversion, where dropping the CRT values quietly costs a large amount of signing performance.

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