X.509 is the ITU-T standard (first published in 1988, currently at version 3) that defines the structure of a digital certificate: a signed data structure that binds a public key to an identity and a set of constraints, issued by a Certificate Authority whose signature vouches for the binding. It is the near-universal format for certificates in PKI, TLS, code signing, S/MIME encrypted email, SPIFFE X.509-SVIDs, and SSH host certificates. When someone refers to a TLS certificate, a CA certificate, or a code-signing certificate, they are referring to an X.509 certificate. The format is defined using ASN.1 (Abstract Syntax Notation One) and most commonly serialised as DER (Distinguished Encoding Rules, binary) or PEM (base64-wrapped DER with -----BEGIN CERTIFICATE----- headers, the format seen in most configuration files).
An X.509 v3 certificate contains a fixed set of fields and an extensible Extensions section that carries the semantically rich parts of modern certificates. The core fields include: the Subject (a Distinguished Name — CN, O, OU, C fields — identifying the certificate holder), the Issuer (the DN of the signing CA), the Validity period (Not Before and Not After timestamps), the Subject Public Key Info (the algorithm and public key being certified), and the Serial Number (unique per issuer, used in revocation). The Extensions section, mandatory in v3, carries: Subject Alternative Names (SANs), which contain the actual hostnames, IP addresses, email addresses, or URIs (including SPIFFE IDs) that the certificate authenticates — the SAN is what TLS implementations check against the server name, not the CN; Key Usage and Extended Key Usage, which constrain the operations the key may be used for (digital signature, key encipherment, TLS server authentication, TLS client authentication, code signing); Basic Constraints, which marks a certificate as a CA certificate and optionally caps the length of certificate chains beneath it; Authority Key Identifier and Subject Key Identifier, which allow relying parties to locate the issuing CA’s certificate efficiently; and CRL Distribution Points and Authority Information Access, which provide URLs for revocation checking and OCSP. A certificate is verified by checking the cryptographic signature against the issuer’s public key, validating that the current time falls within the validity period, checking that no extension in the chain is violated, and confirming that the certificate has not been revoked.
X.509 certificate handling is operationally pervasive and a frequent source of outages and security incidents. The most common failures are expired certificates (automated renewal via ACME or Vault’s PKI engine is the standard mitigation), hostname mismatches (the requested hostname is not in the certificate’s SAN list — a frequent consequence of using the deprecated CN field for hostname validation), missing intermediate CA certificates (the server sends only the leaf certificate, and the client cannot build a chain to a trusted root), and trust store divergence (a certificate chains to a root trusted by some clients but not others, as is common with corporate CAs on managed devices). In the PQC transition, X.509 certificates are directly affected: the signature algorithm field must change from ecdsa-with-SHA256 or sha256WithRSAEncryption to an ML-DSA OID, and the Subject Public Key Info must carry an ML-DSA or ML-KEM public key; both the IETF and CA/Browser Forum are standardising the necessary OIDs and profile constraints for PQC X.509 certificates. Hybrid certificates — carrying both a classical and a PQC key — are under active development but not yet standardised for production use.
