PQC PKI & Certificate Migration
The certificate infrastructure is the hardest part of PQC migration. X.509, CAs, hybrid certificates, ACME, browser trust — here is the complete reference.
The PKI Migration Challenge
Public Key Infrastructure (PKI) underpins HTTPS, code signing, email signing, VPN, and authentication. Every X.509 certificate today uses RSA or ECDSA — both completely broken by Shor's algorithm. Migrating PKI requires coordinated changes across every layer of the trust hierarchy.
The trust chain problem
X.509 certificate changes for PQC
| Certificate Field | Classical Value | PQC Value | Notes |
|---|---|---|---|
| Subject Public Key Algorithm | rsaEncryption (1.2.840.113549.1.1.1) or id-ecPublicKey | id-ML-DSA-65 (2.16.840.1.101.3.4.3.18) or id-ML-DSA-87 | OID assignments for FIPS 204 ML-DSA now defined in IETF RFC 9629 |
| Signature Algorithm | sha256WithRSAEncryption or ecdsa-with-SHA256 | id-ML-DSA-65 or id-ML-DSA-87 | Same algorithm signs the cert as the key type of the issuing CA |
| Public Key Size | RSA-2048: 256 bytes. P-256: 64 bytes | ML-DSA-65 public key: 1,952 bytes | ~7× larger than ECDSA. Impacts TLS handshake size — monitor latency |
| Signature Size | RSA-2048: 256 bytes. ECDSA P-256: ~72 bytes | ML-DSA-65 signature: 3,293 bytes | ~45× larger than ECDSA. Certificate chain size increases significantly |
| Key Usage | digitalSignature, keyEncipherment (RSA) | digitalSignature only — ML-KEM handles key exchange separately | No more combined sign+encrypt in one cert — separation is cleaner |
Hybrid Certificates — The Transition Mechanism
A hybrid certificate contains both a classical (RSA/ECDSA) signature and a PQC (ML-DSA) signature. This allows the same certificate to be validated by both classical clients (using the RSA/ECDSA part) and PQC-capable clients (using the ML-DSA part). This is the primary transition mechanism for the 2025–2028 migration period.
Hybrid certificate approaches
| Approach | Standard | How It Works | Status | Trade-off |
|---|---|---|---|---|
| Composite certificates | draft-ietf-lamps-pq-composite-sigs | Single X.509 cert with composite public key and composite signature — both classical and PQC algorithms required to validate. | IETF LAMPS WG — active draft, pre-RFC | Larger certificate. Both algorithms must be verified — increases computation. |
| Dual-certificate (cert pair) | No IETF standard — implementation choice | Issue two separate certificates for the same entity — one RSA/ECDSA, one ML-DSA. Server selects based on client capability. | Implementable today. Used by some CAs in trials. | Operational complexity — two certs to manage. No standard negotiation mechanism. |
| X.509 Alt-Sig extension | draft-ietf-lamps-cert-binding-for-multi-auth | Classical cert with additional PQC signature in an extension field. Backward compatible — old clients ignore the extension. | Active IETF draft | Less overhead than full composite. Cleaner backward compatibility. |
| Catalyst / chameleon certs | Research / Cloudflare experiments | Certificate appears as standard RSA cert to classical verifiers but contains hidden PQC signature verified by PQC-aware clients. | Research stage — not standard | Complex to implement. Clever but creates hidden dependencies. |
Generate a hybrid certificate today (OpenSSL + OQS provider)
CA & Browser Support Status (2024–2025)
| Organisation | PQC Certificate Support | Status | Notes |
|---|---|---|---|
| DigiCert | ML-DSA hybrid certificates | Pilot available (2024) | DigiCert has issued PQC test certificates. Working with enterprise customers on migration planning. |
| Entrust | PQC certificate trial programme | Pilot available | Entrust CryptoCenter supports PQC certificate issuance for enterprise customers. |
| Sectigo | PQC certificate research | In development | Working on hybrid cert support — no public pilot at time of writing. |
| Let's Encrypt / ISRG | ACME PQC extension in development | Not yet — monitoring IETF ACME WG | Let's Encrypt dependent on ACME protocol PQC extension (draft-ietf-acme-pqc). Expected ~2025–2026. |
| Microsoft CA (ADCS) | PQC support in development | Not yet — expected in Windows Server update | Microsoft has committed to PQC support in Active Directory Certificate Services. |
| AWS Private CA | PQC roadmap committed | Not yet — vendor roadmap | AWS Private CA PQC support expected when FIPS 140-3 validated modules available. |
| Google Trust Services | PQC research | Research stage | Google running internal PQC cert experiments — not publicly available. |
| Open Quantum Safe (OQS) | Full PQC test CA | Available — testing only | OQS provides a test CA hierarchy for development and testing. Not trusted by browsers. |
| Chrome | ML-DSA certificate validation | In development (V8/BoringSSL) | Chrome 2024+ has partial ML-DSA verification capability. Full cert chain support coming. |
| Firefox | ML-DSA certificate validation | In development | NSS library (Firefox crypto) being updated for ML-DSA cert verification. |
| Safari / Apple | PQC certificate support | In development | Apple has not announced timeline but iOS/macOS cert validation will follow. |
PKI Migration — Step by Step
ACME Protocol & Let's Encrypt — PQC Path
The ACME protocol (RFC 8555) is used by Let's Encrypt and other CAs for automated certificate issuance. ACME itself uses RSA/ECDSA for account key signatures and certificate request signing. Full PQC migration of Let's Encrypt requires updates to both the ACME protocol and Let's Encrypt's backend.