Blog

Post Quantum Code Signing

Software signed today runs for fifteen years. How to prepare digital signing for post-quantum, which algorithms to use, and why timestamps are critical.

Preparing code signing for post-quantum cryptography

Code signing carries the longest verification horizon of any signing use case. Firmware signed today may be verified for fifteen years or more, and a forged signing key allows an adversary to distribute malicious software that every relying party accepts as genuine. It is the signing function that warrants earliest attention.

Why code signing is different from other digital signing

Three properties separate it from document or transaction signing.

The verification horizon is long. A signed binary distributed in 2026 may still be installed and verified in 2041. An embedded firmware image may be verified for the entire service life of the device, which in industrial and medical estates runs to twenty or thirty years.

The consequence of forgery is immediate and severe. Unlike encrypted data, where compromise produces disclosure, a forged code signing key produces execution. Automatic update mechanisms become remote code execution vectors, and the compromise propagates to every system that trusts the key.

The verifiers are slow-moving and outside the signer's control. Operating system loaders, package managers, container registries and device bootloaders all validate signatures, and each moves on its own schedule. A signer can adopt a new algorithm only when its relying parties can process it.

Which algorithms to use for which artefacts

Signature size, which constrains TLS heavily, matters far less here. An ML-DSA-65 signature of 3,309 bytes is immaterial against a multi-megabyte installer. The constraints that do bind are device-side verification cost, which favours hash-based schemes on constrained hardware, and relying party support.

CNSA 2.0 requires post-quantum software and firmware signing for US national security systems ahead of the general timeline, which makes this the area where regulated organisations encounter the requirement first.

Where the ecosystem has reached

Microsoft added ML-DSA support to Authenticode in Windows 11 24H2 through an updated SignTool release, and code signing work is progressing separately from TLS in the CA/Browser Forum. That separation matters: publicly trusted post-quantum TLS certificates are unavailable, while code signing is moving on its own track.

For internal and firmware signing the position is better still, because the organisation controls both the signing infrastructure and the verifier. Private hierarchies can issue post-quantum code signing certificates now, and hardware security modules have supported LMS and XMSS for several years.

The practical sequencing is therefore the reverse of TLS. Code signing can move earlier because it does not wait on browser root programmes, and it should move earlier because the artefacts have the longest verification horizon.

Timestamping is the control that preserves existing signatures

Migration protects artefacts signed from that point forward. It does nothing for everything already distributed, and that is where trusted timestamping applies.

A timestamp under RFC 3161 attests that a signature existed at a given moment. Applied at signing, it allows a verifier to establish that the signature predates any subsequent compromise of the key, which preserves its evidential value after the algorithm weakens. It also extends validity beyond certificate expiry, which is why timestamping is already standard practice in code signing.

Two conditions apply. The timestamp must be applied at signing, since one applied after a key becomes derivable proves nothing. And the timestamp authority's own algorithms must be migrated in turn, with archival re-timestamping applied before they weaken, as covered in what quantum computing does to digital signature validity.

An organisation that signs without timestamping has no mechanism to preserve the validity of its existing software estate, and that gap should be closed before any algorithm decision is taken.

A practical sequence

Inventory the signing keys

Establish every key used to sign software, firmware, drivers, packages, container images and scripts, including keys held by build systems, third-party developers and outsourced manufacturers. Signing keys sprawl more than certificate estates, because build pipelines accumulate them.

Bring keys into hardware

Any signing key not held in a hardware security module is a candidate for theft today, independent of quantum considerations. Consolidating signing into HSM-backed infrastructure is a prerequisite for post-quantum signing and a current-risk reduction in its own right.

Apply timestamping universally

Confirm that every signing operation applies a trusted timestamp. This is usually a build pipeline configuration change and it protects the existing estate rather than only future artefacts.

Stand up a post-quantum signing hierarchy

A new hierarchy is required, since existing certificate authorities cannot be converted. For firmware, this means LMS or XMSS with rigorous state management in the HSM. For general software, ML-DSA.

Plan re-signing for long-lived artefacts

Firmware and software with long remaining service life may warrant re-signing under post-quantum algorithms where the verifier can process them. This requires the device or platform to accept the new algorithm, so it depends on the verification side being migrated first.

Manage certificate lifetime changes in parallel

Code signing certificate validity is also reducing, and shorter lifetimes increase issuance volume through the same pipelines. Our note on code signing certificates moving to 460 days covers that change.

How Unsung helps

Unsung is a UK-based, vendor-neutral consultancy specialising exclusively in public key infrastructure and cryptographic systems, working across central government, defence, healthcare, financial services, nuclear and transport.

We inventory signing keys and pipelines through our PKI health check and cryptographic bill of materials services, then design signing infrastructure that supports post-quantum algorithms, trusted timestamping and, where firmware signing requires stateful schemes, the hardware security module configuration and operational procedures needed to guarantee state uniqueness. We deliver the hierarchy itself through our PKI design and build practice.

Frequently asked questions

Which algorithm should we use for post-quantum code signing?

For firmware and secure boot, LMS or XMSS under NIST SP 800-208, because verification is hash-only and cheap on constrained hardware and support already exists in HSMs and secure elements. For general software distribution, ML-DSA. SLH-DSA where conservative security assumptions matter more than signature size.

Why does code signing need attention before TLS?

Because the verification horizon is longer and the consequence is more severe. Software signed today may be verified for fifteen years or more, and a forged signing key produces code execution rather than data disclosure. Code signing also does not depend on browser root programmes, so it can move sooner.

Does timestamping protect software already signed?

Only if it was applied at the time of signing. A trusted timestamp under RFC 3161 establishes that the signature existed before any subsequent key compromise, which preserves its evidential value. Timestamping applied retrospectively cannot demonstrate that the signature predates a compromise that may already have occurred.

Can we re-sign existing software with post-quantum algorithms?

Where the verifier supports them. Re-signing depends on the platform, loader or device being able to process the new algorithm, so the verification side generally has to migrate first. For long-lived firmware this is a device replacement question rather than a signing question.

Is signature size a problem for code signing?

Rarely. An ML-DSA-65 signature of around 3.3 kilobytes is immaterial against a multi-megabyte installer. The binding constraints are verification cost on constrained devices, which favours hash-based schemes, and whether relying parties can process the algorithm at all.

What should we do first?

Inventory every signing key, including those held in build pipelines and by third-party developers and manufacturers, then confirm that all signing applies a trusted timestamp. Both actions reduce current risk independently of quantum considerations and are prerequisites for any post-quantum signing decision.
Author
Unsung Ltd
September 22, 2026
-