The short answer
As of September 2026 you cannot buy a post-quantum code signing certificate from any publicly trusted certificate authority. The algorithms exist — NIST published ML-DSA as FIPS 204 in August 2024 — and the hardware exists, but the CA/Browser Forum's Code Signing Baseline Requirements have not been amended to permit them, so no CA can issue one and stay inside the rules its root programs audit against. The same forum already opened that door for S/MIME with ballot SMC013 in August 2025. Where post-quantum signing does work today is inside your own infrastructure: LMS and XMSS from NIST SP 800-208 for firmware, ML-DSA from a private CA, both supported in current HSM firmware, and both on the CNSA 2.0 clock that ends in 2030.
That answer has a practical consequence worth stating before the detail: there is nothing to wait for. Deferring a code signing purchase until a quantum-safe version appears means going unsigned through 2027, and the OV and EV code signing certificates available today are the only ones any operating system will accept from a third-party publisher for the foreseeable future. What you can act on now is everything around the certificate — where the key lives, whether you timestamp, and whether your own verification code survives an algorithm change.
On this page
- Can you buy a post-quantum code signing certificate today?
- Why code signing is behind S/MIME on this
- Which algorithms are actually on the table?
- Who has a real deadline right now?
- What Microsoft is changing in Windows code signing
- Does a timestamp survive a quantum computer?
- What to do with the certificate you have now
- FAQ
Can you buy a post-quantum code signing certificate today?
No. As of September 2026 no publicly trusted CA issues a code signing certificate keyed to ML-DSA, SLH-DSA or any other post-quantum algorithm, and none can. A public CA issues under the CA/Browser Forum's Code Signing Baseline Requirements, which enumerate the permitted signature algorithms and key sizes. Nothing post-quantum is on that list. Issuing outside it is a misissuance, with the audit and root-program consequences that implies.
This trips people up because the surrounding evidence points the other way. FIPS 204 and FIPS 205 have been final standards since August 2024. Thales, Entrust and Utimaco all ship ML-DSA in current HSM firmware. Microsoft has been publishing post-quantum roadmaps for Windows. From the outside it looks like the parts are on the shelf and somebody just needs to assemble them, and in a private PKI that is roughly true. Public trust is the part that has not moved, and public trust is the entire reason you buy a code signing certificate rather than generating one.
Worth separating from this: the hardware key requirement that has applied to every publicly trusted code signing certificate since June 1, 2023 is not a post-quantum measure. It exists because exportable signing keys kept ending up in malware. It does, though, mean the migration has one problem already solved — your key is in a token or HSM, and the hardware you chose for it is where any future algorithm will have to run.
Why is code signing behind S/MIME on this?
Because they are governed by different working groups moving at different speeds, and S/MIME's got there first. The CA/Browser Forum adopted ballot SMC013 on August 22, 2025, adding ML-DSA and ML-KEM to the S/MIME Baseline Requirements so that issuers could begin experimenting with post-quantum email certificates. The Code Signing Certificate Working Group has discussed the equivalent change and reached consensus to support all three ML-DSA parameter sets, but when it last minuted the ballot in 2026 the text was still short of the endorsements needed to go to vote.
There is a second gate behind the ballot, and it is the slower one. Even a ratified requirement only permits a CA to issue; it does not make anything trust the result. A post-quantum code signing certificate has to chain to a root that Windows, macOS and Java already carry, which means a root program has to accept a new PQC root and ship it in an operating system update. The Microsoft position discussed in the working group during 2026 was that there were no current plans to accept PQC roots for code signing. Root distribution is measured in years even when everyone agrees, because a root is only useful once it is on the machines that will verify against it.
The comparison with TLS is instructive here. A browser talking to a server can negotiate: both ends are online, both can be upgraded, and a failed negotiation falls back. Code signing has no negotiation. You sign once, and the signature has to satisfy a verifier you will never meet, running a Windows build that may be a decade old by then. That asymmetry is why post-quantum TLS could deploy through hybrid key exchange years before any of this, and why code signing will be one of the last things to move.
Which algorithms are actually on the table?
Three, with different jobs. ML-DSA (FIPS 204) is the general-purpose replacement for RSA and ECDSA and the one proposed for code signing certificates. SLH-DSA (FIPS 205) is a stateless hash-based scheme held in reserve as the conservative fallback, since its security rests only on the hash function. LMS and XMSS (NIST SP 800-208) are stateful hash-based schemes approved specifically for software and firmware signing, and they are what the NSA points firmware at.
The number that matters operationally is the signature size. An RSA-3072 signature is 384 bytes. ML-DSA-44 is 2,420 bytes, ML-DSA-65 is 3,309, ML-DSA-87 is 4,627. Multiply that by every certificate in the chain, every signature stored in a catalog file, every verification record in an update system, and the migration cost shows up as bandwidth and storage rather than CPU. Signing itself is fast.
Statefulness is the other operational surprise. An LMS or XMSS key can produce only a fixed number of signatures, decided at key generation, and the state that tracks which one-time keys are spent must never be reused. Restore an HSM from a backup taken an hour ago and you have just rolled the state back, which can leak the private key rather than merely wasting signatures. SP 800-208 handles this by requiring signature generation to happen inside hardware that manages the state itself, which is also why an HSM that merely stores an LMS key is not enough — it has to generate and count.
Who has a real deadline right now?
Firmware and embedded vendors selling into US National Security Systems, and nobody else yet. CNSA 2.0 puts software and firmware signing on the earliest clock of any category the NSA schedules: begin transitioning immediately, support and prefer the suite by 2025, use it exclusively by 2030. The reasoning is specific to firmware rather than general — a root of trust burned into a device is the hardest thing in any estate to replace after it ships, so it has to be the first thing to change.
For that category the tooling is genuinely ready. LMS with SHA-256/192 is the NSA's preferred parameter set, HSMs from the major vendors support LMS and ML-DSA key generation with state management, and because the verifier is your own bootloader rather than an operating system trust store, no CA/Browser Forum ballot is involved. You control both ends. That is exactly why this half of the problem can be solved today and the publicly trusted half cannot.
If you sell commercial software into ordinary channels, CNSA 2.0 is not binding on you. It is still the most useful schedule available, because it tells you what the people with the longest device lifetimes concluded about timing. Treat 2030 as the date by which signing infrastructure should be able to switch algorithms without a rebuild, not as a date on which anything you sell stops working.
What is Microsoft actually changing in Windows code signing?
Microsoft is changing how it signs Windows itself, not what it accepts from you. Its August 2026 guidance sets out three things: the Windows Production PCA 2011 expires on October 19, 2026 and is being replaced; Windows production signing moves to stronger configurations later in 2026, including RSA-3072 and SHA-384; and post-quantum signing is expected to arrive in Windows during 2027. None of those is a deadline for a certificate you buy.
The instruction aimed at software vendors is narrower and easier to miss. Microsoft asks that applications not depend on a specific certificate name, thumbprint, issuer, key size or digest algorithm when they validate signatures, and that they delegate those checks to the platform APIs instead. The warning behind it is concrete: an application can break when Microsoft's signing certificates or algorithms change even though Windows itself considers the file perfectly valid and trusted.
That is the part worth auditing this quarter, and it is not usually in the signing pipeline. It is in installers that pin a Microsoft thumbprint before applying an update, licence checks that assert an issuer name, and self-update routines that hard-code SHA-256 as the only acceptable digest. Code like that has been quietly correct for a decade and stops being correct in October. Anyone who lived through a root certificate expiring has seen this failure shape before.
Does a timestamp survive a quantum computer?
Not on its own, because a timestamp is a signature too. An RFC 3161 timestamp is produced by a timestamp authority signing your signature's hash with the authority's own RSA or ECDSA key. Whatever breaks your key breaks that one, which means the mechanism that keeps a signature valid after its certificate expires inherits the same weakness — and it belongs to somebody else's infrastructure, so you cannot migrate it yourself.
None of this changes the advice to timestamp everything. A timestamped signature outlives its certificate, which is the difference between software that keeps working after renewal and software that starts warning users on a fixed date. The point is narrower: a timestamp is a claim about when, backed by cryptography with the same shelf life as everything else, so it is not a way of making a signature permanent. Long-lived archives handle this by re-timestamping periodically with current algorithms, which is a pattern worth knowing about if you are signing something expected to verify in 2040.
The file digest is the one part that comes through intact. Grover's algorithm offers a quadratic speedup against a hash rather than the exponential break Shor's algorithm offers against RSA and ECC, so SHA-256 retains roughly 128 bits of effective preimage resistance and SHA-384 roughly 192. Both stay workable, which is why nobody proposes replacing your digest and why Microsoft's move to SHA-384 reads as ordinary strengthening rather than a response to quantum risk.
What should you do with the certificate you have now?
Buy and renew normally, and spend the effort on crypto-agility instead. A certificate issued today already expires within 460 days under ballot CSC-31, so the cryptography in your current certificate is not a long-term commitment — you will replace it two or three times before any of the post-quantum rules land. What lasts is the pipeline around it, and that is what to build so it can change algorithm without a rewrite.
| Do this now | Why it pays off later |
|---|---|
| Strip hard-coded thumbprints, issuer names, key sizes and digest algorithms from your own verification code | This is the only item with a date attached, and the date is October 19, 2026 |
| Timestamp every signature, and record which timestamp authority signed it | You need that inventory to know what has to be re-signed if a TSA's algorithm is ever deprecated |
Keep the signing step behind one interface rather than scattered signtool calls | Changing algorithm becomes one change instead of one per build pipeline |
| Confirm your token or HSM has a firmware path to ML-DSA | A device that cannot be upgraded becomes the migration's long pole, and it is procurement rather than engineering |
| Keep an inventory of what you have signed and where it is deployed | Every migration plan starts by asking what would need re-signing, and almost nobody can answer |
One thing not to do: buy a longer certificate hoping to sit out the transition. That option no longer exists anyway, since 460 days is the maximum for anything issued from March 2026. A shorter cycle is genuinely better here — a pipeline that renews every fifteen months is a pipeline that has proved it can swap a certificate, and swapping the algorithm is the same operation with a different input.
If you want the underlying mechanism rather than the schedule, Shor's algorithm explained covers what actually breaks RSA and ECC and how many qubits it would take, and our code signing overview covers what the certificate itself is doing.
FAQ
Signing software between now and the transition
Until the Code Signing Baseline Requirements change and a post-quantum root ships in the trust stores, an RSA or ECDSA certificate from a publicly trusted CA is what Windows, macOS and Java will accept. My-SSL issues through Certum, a publicly trusted certificate authority whose roots ship in the major browser and operating system trust stores, with the private key held in a hardware token or in SimplySign cloud signing as the requirements have demanded since June 2023. The OV and EV code signing options and what each one validates set out which is worth the extra verification for your situation.