Skip to content
ecdsa.com

x5c (X.509 certificate chain header)

The JOSE header and JWK member that carries an X.509 certificate chain as an array of base64-encoded (not base64url) DER certificates, the first containing the signing key.
Also written asx5cx5t#S256x5uX.509 certificate chain parameter

RFC 7515 §4.1.6 specifies standard base64 with padding for each certificate, unlike every other JOSE value, which trips up parsers. Related members are x5t (SHA-1 certificate thumbprint) and x5t#S256 (SHA-256), plus x5u, a URL from which to fetch the chain.

A chain in the token header proves nothing by itself: anyone can attach a self-signed certificate. The verifier must validate the chain to a trust anchor it chose, check the certificate's identity and usage, and only then use the key. Systems that verify against the embedded certificate without path validation have been forgeable. Legitimate uses include Apple and Google device attestation payloads and European eIDAS-related signatures, where verification against trusted lists is part of the protocol.

Standards and references

All terms