{"id":215,"date":"2026-10-21T13:07:16","date_gmt":"2026-10-21T13:07:16","guid":{"rendered":"https:\/\/codesigncert.com\/blog\/?p=215"},"modified":"2026-10-21T13:07:16","modified_gmt":"2026-10-21T13:07:16","slug":"post-quantum-code-signing-certificate-guide","status":"publish","type":"post","link":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide","title":{"rendered":"Post-Quantum Code Signing Certificate Guide (2026)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-right counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#What_is_post-quantum_code_signing\" >What is post-quantum code signing?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#Why_code_signing_is_exposed_to_quantum_risk\" >Why code signing is exposed to quantum risk<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#The_algorithms_ML-DSA_SLH-DSA_LMS_and_XMSS\" >The algorithms: ML-DSA, SLH-DSA, LMS and XMSS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#Deadlines_that_matter_and_what_they_actually_cover\" >Deadlines that matter, and what they actually cover<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#Hybrid_signing_in_a_build_pipeline\" >Hybrid signing in a build pipeline<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#Can_you_buy_a_post-quantum_code_signing_certificate_today\" >Can you buy a post-quantum code signing certificate today?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#HSM_and_key_management_readiness\" >HSM and key management readiness<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#A_90-day_pilot_plan\" >A 90-day pilot plan<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#Frequently_asked_questions\" >Frequently asked questions<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"#\" data-href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\/#Where_to_start_this_week\" >Where to start this week<\/a><\/li><\/ul><\/nav><\/div>\n<h2 id=\"what-is-post-quantum-code-signing\" data-lfile-container=\"1a32814c-877c-43ef-8aad-3a6a32ac5411\" data-pm-slice=\"1 1 []\"><span class=\"ez-toc-section\" id=\"What_is_post-quantum_code_signing\"><\/span>What is post-quantum code signing?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Post-quantum code signing means signing software, drivers and firmware with algorithms that a quantum computer cannot break, in place of RSA or ECDSA. The algorithms are standardized. A publicly trusted certificate that uses them is not something you can buy yet.<\/p>\n<p>That gap shapes this whole guide. The math is settled. The trust system around it is not. So the useful work right now is preparation: knowing what you sign, where your keys live, and which of your verifiers will choke on a bigger signature.<\/p>\n<p>Two dates give the topic weight. Microsoft has said Windows production signing moves to post-quantum by default in 2027 (<a href=\"https:\/\/support.microsoft.com\/help\/5125813\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Microsoft KB5125813<\/a>). NSA guidance for national security systems expects all software and firmware signing to use its new algorithm suite exclusively by 2030 (<a href=\"https:\/\/atsec.de\/cnsa-2-0-and-quantum-resistant-encryption-algorithms\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">atsec summary of CNSA 2.0<\/a>).<\/p>\n<p>Below, you will find what is at risk, which algorithms apply, what the deadlines really cover, what you can buy today, and a 90-day pilot you can run without touching production.<\/p>\n<h2 id=\"why-code-signing-is-exposed-to-quantum-risk\"><span class=\"ez-toc-section\" id=\"Why_code_signing_is_exposed_to_quantum_risk\"><\/span>Why code signing is exposed to quantum risk<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>RSA and ECDSA rest on math problems that a large enough quantum computer can solve using Shor&#8217;s algorithm. Your code signing certificate publishes the public key. With a capable machine, someone could work backward to the private key and sign malware that chains to a trusted CA.<\/p>\n<p>Nobody can put a date on that machine. So the better question is how long the thing you sign has to stay trusted. A web session lasts seconds. A firmware image or a driver can sit in the field for ten years or more.<\/p>\n<p>You may have heard &#8220;harvest now, decrypt later.&#8221; That phrase is about stolen secrets. Signatures have their own version of the problem. The danger is a forged signature that a device still accepts years from now, and the devices that cannot be updated are the ones that pay for it.<\/p>\n<p>Root keys make this worse. Root certificates commonly live for 20 to 30 years (<a href=\"https:\/\/arxiv.org\/pdf\/2603.06969\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">arXiv survey of post-quantum PKI<\/a>), and a root key burned into hardware cannot be swapped by a software update.<\/p>\n<p>Not every artifact carries the same exposure. This is my own ranking, based on how easily you can rotate trust after the fact:<\/p>\n<table>\n<colgroup>\n<col \/>\n<col \/>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th colspan=\"1\" rowspan=\"1\">What you sign<\/th>\n<th colspan=\"1\" rowspan=\"1\">Typical lifespan in the field<\/th>\n<th colspan=\"1\" rowspan=\"1\">Can you rotate trust later?<\/th>\n<th colspan=\"1\" rowspan=\"1\">Post-quantum priority<\/th>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Bootloaders and device firmware<\/td>\n<td colspan=\"1\" rowspan=\"1\">10+ years<\/td>\n<td colspan=\"1\" rowspan=\"1\">Rarely<\/td>\n<td colspan=\"1\" rowspan=\"1\">High<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Kernel drivers<\/td>\n<td colspan=\"1\" rowspan=\"1\">Life of the OS version<\/td>\n<td colspan=\"1\" rowspan=\"1\">Sometimes<\/td>\n<td colspan=\"1\" rowspan=\"1\">Medium to high<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Desktop apps with auto-update<\/td>\n<td colspan=\"1\" rowspan=\"1\">Months to a few years<\/td>\n<td colspan=\"1\" rowspan=\"1\">Yes, ship a new build<\/td>\n<td colspan=\"1\" rowspan=\"1\">Medium<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Internal scripts and CI tooling<\/td>\n<td colspan=\"1\" rowspan=\"1\">Short<\/td>\n<td colspan=\"1\" rowspan=\"1\">Yes<\/td>\n<td colspan=\"1\" rowspan=\"1\">Low<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If you ship firmware or anything with a hard-coded root of trust, start there. If you ship a desktop app that updates itself, you have more room.<\/p>\n<h2 id=\"the-algorithms-ml-dsa-slh-dsa-lms-and-xmss\"><span class=\"ez-toc-section\" id=\"The_algorithms_ML-DSA_SLH-DSA_LMS_and_XMSS\"><\/span>The algorithms: ML-DSA, SLH-DSA, LMS and XMSS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Four signature schemes matter for code signing. NIST finalized ML-DSA (FIPS 204) and SLH-DSA (FIPS 205) in August 2024 (<a href=\"https:\/\/cloudsecurityalliance.org\/articles\/nist-fips-203-204-and-205-finalized-an-important-step-towards-a-quantum-safe-future\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Cloud Security Alliance<\/a>). LMS and XMSS come from an earlier NIST document, SP 800-208.<\/p>\n<table>\n<colgroup>\n<col \/>\n<col \/>\n<col \/>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th colspan=\"1\" rowspan=\"1\">Algorithm<\/th>\n<th colspan=\"1\" rowspan=\"1\">Standard<\/th>\n<th colspan=\"1\" rowspan=\"1\">How it works<\/th>\n<th colspan=\"1\" rowspan=\"1\">Signature size<\/th>\n<th colspan=\"1\" rowspan=\"1\">Where it fits<\/th>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">ML-DSA<\/td>\n<td colspan=\"1\" rowspan=\"1\">FIPS 204<\/td>\n<td colspan=\"1\" rowspan=\"1\">Lattice-based, stateless<\/td>\n<td colspan=\"1\" rowspan=\"1\">2,420 bytes (ML-DSA-44), 3,309 (ML-DSA-65), 4,627 (ML-DSA-87)<\/td>\n<td colspan=\"1\" rowspan=\"1\">General software signing and CI\/CD pipelines<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">SLH-DSA<\/td>\n<td colspan=\"1\" rowspan=\"1\">FIPS 205<\/td>\n<td colspan=\"1\" rowspan=\"1\">Hash-based, stateless<\/td>\n<td colspan=\"1\" rowspan=\"1\">7,856 bytes (128s set) up to 17,088 (128f set)<\/td>\n<td colspan=\"1\" rowspan=\"1\">Conservative fallback when you want minimal assumptions<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">LMS<\/td>\n<td colspan=\"1\" rowspan=\"1\">SP 800-208<\/td>\n<td colspan=\"1\" rowspan=\"1\">Hash-based, stateful<\/td>\n<td colspan=\"1\" rowspan=\"1\">Compact keys, fast verification<\/td>\n<td colspan=\"1\" rowspan=\"1\">Firmware and boot images<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">XMSS<\/td>\n<td colspan=\"1\" rowspan=\"1\">SP 800-208<\/td>\n<td colspan=\"1\" rowspan=\"1\">Hash-based, stateful<\/td>\n<td colspan=\"1\" rowspan=\"1\">Compact keys, fast verification<\/td>\n<td colspan=\"1\" rowspan=\"1\">Firmware and boot images<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>For comparison, an Ed25519 signature is 64 bytes. Sizes for the NIST parameter sets come from <a href=\"https:\/\/utimaco.com\/node\/89849\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Utimaco&#8217;s summary of the final standards<\/a>.<\/p>\n<p>LMS and XMSS are the schemes NSA named for software and firmware signing. Their trade-offs are fast verification and slower key generation (<a href=\"https:\/\/cryptomathic.com\/blog\/quantum-resistant-short-lived-certificates\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Cryptomathic<\/a>).<\/p>\n<h3 id=\"stateless-or-stateful\">Stateless or stateful?<\/h3>\n<p>Stateless schemes (ML-DSA, SLH-DSA) behave like the signing you do today. You hold a key and sign as often as you like.<\/p>\n<p>Stateful schemes (LMS, XMSS) do not. Each signature uses up a one-time key inside a tree, and the signer must never reuse one. A restored backup or a cloned virtual machine can repeat a state and quietly break the scheme&#8217;s security.<\/p>\n<p>A simple rule works for most teams. Use ML-DSA for build pipelines and general software. Look at LMS or XMSS only for firmware and boot images, or when a compliance program names them, and keep those keys inside hardware that tracks state for you.<\/p>\n<h3 id=\"one-clarification-on-ml-kem\">One clarification on ML-KEM<\/h3>\n<p>ML-KEM (FIPS 203) shows up in many post-quantum articles. It handles key exchange, not signatures. It has no job in code signing, so skip it when you scope a signing project.<\/p>\n<h2 id=\"deadlines-that-matter-and-what-they-actually-cover\"><span class=\"ez-toc-section\" id=\"Deadlines_that_matter_and_what_they_actually_cover\"><\/span>Deadlines that matter, and what they actually cover<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Several dates get quoted together, and they apply to different people. Read each one for who it binds.<\/p>\n<table>\n<colgroup>\n<col \/>\n<col \/>\n<col \/><\/colgroup>\n<tbody>\n<tr>\n<th colspan=\"1\" rowspan=\"1\">Date<\/th>\n<th colspan=\"1\" rowspan=\"1\">What happens<\/th>\n<th colspan=\"1\" rowspan=\"1\">Who it affects<\/th>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">March 1, 2026<\/td>\n<td colspan=\"1\" rowspan=\"1\">Publicly trusted code signing certificates capped at 460 days<\/td>\n<td colspan=\"1\" rowspan=\"1\">Every publisher who renews or reissues<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">October 19, 2026<\/td>\n<td colspan=\"1\" rowspan=\"1\">Microsoft Windows Production PCA 2011 expires<\/td>\n<td colspan=\"1\" rowspan=\"1\">Software that pins or checks Microsoft&#8217;s certificate chain<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">Later in 2026<\/td>\n<td colspan=\"1\" rowspan=\"1\">Windows production signing moves to RSA-3072 and SHA-384<\/td>\n<td colspan=\"1\" rowspan=\"1\">Apps that hard-code expected signing settings<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">2027<\/td>\n<td colspan=\"1\" rowspan=\"1\">Windows production signing moves to post-quantum by default<\/td>\n<td colspan=\"1\" rowspan=\"1\">Mostly legacy systems and hard-coded validators<\/td>\n<\/tr>\n<tr>\n<td colspan=\"1\" rowspan=\"1\">2030<\/td>\n<td colspan=\"1\" rowspan=\"1\">NSA expects exclusive use of its quantum-resistant suite for software and firmware signing<\/td>\n<td colspan=\"1\" rowspan=\"1\">National security systems and their vendors<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Microsoft&#8217;s dates come from its own guidance, <a href=\"https:\/\/support.microsoft.com\/help\/5125813\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">KB5125813<\/a>, published August 20, 2026. The 460-day cap is covered in our <a href=\"https:\/\/codesigncert.com\/blog\/windows-code-signing-changes-2026-2027\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Windows code signing changes article<\/a>.<\/p>\n<h3 id=\"read-the-microsoft-plan-carefully\">Read the Microsoft plan carefully<\/h3>\n<p>The 2027 change covers Windows production signing. That is how Microsoft signs Windows components itself. The guidance I reviewed does not tell third-party publishers to re-sign their software with a new algorithm.<\/p>\n<p>The risk for you is indirect. Microsoft warns that applications which hard-code expected signing settings can fail even when Windows considers the file valid and trusted. It also says future signing might use new algorithms and hybrid constructions, and might change quickly.<\/p>\n<p>Microsoft has not named the algorithm. If you have a tool that checks signers, pins a Microsoft certificate, or keeps its own trust store, test it now.<\/p>\n<h3 id=\"what-is-not-required-yet\">What is not required yet<\/h3>\n<p>I could not find a CA\/Browser Forum rule that requires post-quantum algorithms in publicly trusted code signing certificates. The Forum has also not approved ML-DSA for publicly trusted TLS certificates as of October 2026 (<a href=\"https:\/\/quantumzeitgeist.com\/ca-browser-ml-dsa-certificates-use\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Quantum Zeitgeist, citing Forum minutes<\/a>). Your current RSA-based certificate stays valid for its term.<\/p>\n<p>The 2030 NSA date is a federal requirement for national security systems. It becomes yours if you sell into that market, or if a customer&#8217;s contract flows it down to you.<\/p>\n<h2 id=\"hybrid-signing-in-a-build-pipeline\"><span class=\"ez-toc-section\" id=\"Hybrid_signing_in_a_build_pipeline\"><\/span>Hybrid signing in a build pipeline<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Hybrid signing means an artifact carries two signatures: one classical, one post-quantum. Old verifiers check the classical one and ignore the rest. Updated verifiers can check both. Nothing breaks on day one.<\/p>\n<p>There are two ways to build it. Composite signatures pack both algorithms into a single signature. Dual signatures keep them separate and independent. Composite formats are still maturing, so most pipelines today use the dual approach.<\/p>\n<p>Here is a pattern that works without waiting on the operating system:<\/p>\n<ol>\n<li>Sign the binary with your normal code signing certificate, exactly as you do now.<\/li>\n<li>Generate a post-quantum signature over the same release hash, using ML-DSA, and store it as a detached signature file or inside your update manifest.<\/li>\n<li>Publish both together.<\/li>\n<li>Teach your own updater, installer or verification script to check the post-quantum signature as well.<\/li>\n<\/ol>\n<p>Be clear about what this gives you. The post-quantum signature is verified by your code, not by Windows. It does not change how SmartScreen or Authenticode treat the file.<\/p>\n<p>That is still useful. It lets you test signature size, signing time and key handling long before any platform requires them, and it protects update channels you control.<\/p>\n<h2 id=\"can-you-buy-a-post-quantum-code-signing-certificate-today\"><span class=\"ez-toc-section\" id=\"Can_you_buy_a_post-quantum_code_signing_certificate_today\"><\/span>Can you buy a post-quantum code signing certificate today?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Not a publicly trusted one. Public trust depends on root programs and the CA\/Browser Forum accepting new algorithms, and that has not happened for ML-DSA. DigiCert states that its public certificate platform does not currently issue public certificates with post-quantum algorithms, while its private CA does support ML-DSA (<a href=\"https:\/\/docs.digicert.com\/en\/platform-overview\/digicert-solutions-for-post-quantum-computing.html\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">DigiCert documentation<\/a>).<\/p>\n<p>The standard for encoding ML-DSA inside X.509 certificates is already published as RFC 9881. So the format exists. The public trust layer is what is missing.<\/p>\n<h3 id=\"what-to-buy-now\">What to buy now<\/h3>\n<p>Keep buying standard code signing certificates and protect the keys properly. Choose a strong key size, store the key in a hardware module or a managed cloud HSM, and keep your signing records tidy.<\/p>\n<p>Because publicly trusted code signing certificates now top out at 460 days, whatever you buy today gets replaced within about 15 months. Waiting for a post-quantum option costs you nothing, since you cannot buy one yet.<\/p>\n<h3 id=\"what-to-build-in-a-private-pki\">What to build in a private PKI<\/h3>\n<p>Where you control both signing and verification, you can use post-quantum certificates today. Internal tools, device fleets and firmware you verify yourself are the obvious candidates.<\/p>\n<p>Several options already issue ML-DSA certificates for private use: Active Directory Certificate Services on Windows Server 2025 after the May 2026 update, cloud private CA services, and open-source PKI software. Cloud key services such as AWS KMS can also hold ML-DSA keys (<a href=\"https:\/\/aws.amazon.com\/blogs\/security\/post-quantum-ml-dsa-code-signing-with-aws-private-ca-and-aws-kms\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">AWS Security Blog<\/a>).<\/p>\n<h3 id=\"questions-to-ask-your-ca\">Questions to ask your CA<\/h3>\n<ul>\n<li>Do you plan to issue post-quantum code signing certificates, and what is the earliest realistic date?<\/li>\n<li>Which algorithm will you support first, and will it be hybrid or ML-DSA only?<\/li>\n<li>Does your timestamping service have a post-quantum plan?<\/li>\n<li>Will existing customers get a reissue path inside their current term?<\/li>\n<\/ul>\n<p>A CA that gives a vague answer to the first question is telling you something.<\/p>\n<h2 id=\"hsm-and-key-management-readiness\"><span class=\"ez-toc-section\" id=\"HSM_and_key_management_readiness\"><\/span>HSM and key management readiness<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The algorithm is the easy part. Keys, hardware and process are where projects slow down. Run through this checklist before you pick a pilot.<\/p>\n<ul data-kind=\"check\">\n<li data-checked=\"false\"><strong>Algorithm support.<\/strong> Does your HSM or cloud key service support ML-DSA, and LMS or XMSS if you need them? Not every module does yet, and some need a firmware update.<\/li>\n<li data-checked=\"false\"><strong>Interface support.<\/strong> Do your signing tools reach the HSM through an interface that can carry the new algorithms? Check your signing client, not only the hardware.<\/li>\n<li data-checked=\"false\"><strong>State handling for LMS and XMSS.<\/strong> Who tracks which one-time key was used last? The module should do it. Never restore a signing key from a backup without a plan for state.<\/li>\n<li data-checked=\"false\"><strong>Signature budget.<\/strong> A stateful key can only sign a fixed number of times, set when the key is generated. Size it for your release volume with room to spare.<\/li>\n<li data-checked=\"false\"><strong>Larger signatures.<\/strong> Check installer headers, update manifests, boot storage and any size-limited field. An ML-DSA-65 signature is 3,309 bytes against 64 for Ed25519.<\/li>\n<li data-checked=\"false\"><strong>Verification on small devices.<\/strong> Time signature checks on your slowest hardware, not your build server.<\/li>\n<li data-checked=\"false\"><strong>Timestamping.<\/strong> A signature is only as durable as its timestamp. Ask your timestamp provider about a post-quantum plan.<\/li>\n<li data-checked=\"false\"><strong>Access control and logging.<\/strong> Keep multi-person approval and audit logs on the new keys, exactly as you do on production keys.<\/li>\n<li data-checked=\"false\"><strong>Crypto agility.<\/strong> Can you change the algorithm through configuration, or is it baked into code in twelve places?<\/li>\n<\/ul>\n<p>The last item matters most. Microsoft itself says future signing may need rapid changes. A pipeline that takes a quarter to modify is a risk by itself, whichever algorithm you choose.<\/p>\n<h2 id=\"a-90-day-pilot-plan\"><span class=\"ez-toc-section\" id=\"A_90-day_pilot_plan\"><\/span>A 90-day pilot plan<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>You do not need a budget approval to start. You need one non-production pipeline and a few weeks. Here is a sequence that keeps the scope small.<\/p>\n<p><strong>Days 1 to 14: take inventory.<\/strong><\/p>\n<ol>\n<li>List everything you sign: executables, installers, drivers, scripts, containers, firmware, update manifests.<\/li>\n<li>Note where each signing key lives and who can use it.<\/li>\n<li>List every tool that verifies those signatures, including ones you did not write.<\/li>\n<\/ol>\n<p><strong>Days 15 to 45: build the pilot.<\/strong><\/p>\n<ol>\n<li>Pick one pipeline with low business risk.<\/li>\n<li>Stand up a private post-quantum CA or a signing service that supports ML-DSA.<\/li>\n<li>Add a second, detached ML-DSA signature after your normal signing step.<\/li>\n<li>Leave the classical signature untouched.<\/li>\n<\/ol>\n<p><strong>Days 46 to 75: break it on purpose.<\/strong><\/p>\n<ol>\n<li>Verify the new signature in every consumer you listed.<\/li>\n<li>Record signing time, verification time and file size changes.<\/li>\n<li>Test what happens when a verifier meets a signature it does not understand.<\/li>\n<li>Check any tool that pins Microsoft certificates or hard-codes signing settings, as Microsoft&#8217;s guidance advises.<\/li>\n<\/ol>\n<p><strong>Days 76 to 90: decide and write it down.<\/strong><\/p>\n<ol>\n<li>Report what failed, what slowed down and what needs vendor changes.<\/li>\n<li>Decide which artifact types move first. Firmware and long-lived drivers usually lead.<\/li>\n<li>Set a review date tied to the next Microsoft and CA\/Browser Forum announcements.<\/li>\n<\/ol>\n<p>A written pilot report is worth more than a finished migration plan. It tells you where your real obstacles are.<\/p>\n<h2 id=\"frequently-asked-questions\"><span class=\"ez-toc-section\" id=\"Frequently_asked_questions\"><\/span>Frequently asked questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3 id=\"what-is-a-post-quantum-code-signing-certificate\">What is a post-quantum code signing certificate?<\/h3>\n<p>It is a code signing certificate whose key pair and signature use a quantum-resistant algorithm such as ML-DSA, instead of RSA or ECC. Standards for the algorithm and the certificate format exist. Public CAs do not yet issue them for general use.<\/p>\n<h3 id=\"is-my-current-code-signing-certificate-going-to-stop-working\">Is my current code signing certificate going to stop working?<\/h3>\n<p>No. It stays valid for its term, and nothing I found requires publicly trusted certificates to change algorithms. Renewal now happens at least every 460 days, so you will have regular chances to adjust.<\/p>\n<h3 id=\"should-i-use-ml-dsa-or-lms\">Should I use ML-DSA or LMS?<\/h3>\n<p>Use ML-DSA for general software signing and build pipelines. Consider LMS or XMSS for firmware and boot images, or where a government program names them. Stateful keys need hardware that tracks state.<\/p>\n<h3 id=\"does-ml-kem-sign-code\">Does ML-KEM sign code?<\/h3>\n<p>No. ML-KEM handles key exchange. Code signing uses signature algorithms: ML-DSA, SLH-DSA, LMS and XMSS.<\/p>\n<h3 id=\"will-microsofts-2027-change-force-me-to-re-sign-my-software\">Will Microsoft&#8217;s 2027 change force me to re-sign my software?<\/h3>\n<p>The guidance I reviewed covers Windows production signing and does not tell third-party publishers to re-sign. Check <a href=\"https:\/\/support.microsoft.com\/help\/5125813\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">KB5125813<\/a> for updates. Test any tool that validates signers with hard-coded settings.<\/p>\n<h3 id=\"when-will-quantum-computers-break-rsa\">When will quantum computers break RSA?<\/h3>\n<p>Nobody knows. Planning around a guessed date is a mistake. Plan around how long your signed code has to stay trusted and how fast you can change algorithms.<\/p>\n<h3 id=\"should-i-buy-a-certificate-now-or-wait\">Should I buy a certificate now or wait?<\/h3>\n<p>Buy what you need now. You cannot purchase a publicly trusted post-quantum code signing certificate today, and the 460-day cap means no purchase locks you in for long.<\/p>\n<h2 id=\"where-to-start-this-week\"><span class=\"ez-toc-section\" id=\"Where_to_start_this_week\"><\/span>Where to start this week<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Open a spreadsheet and list everything your team signs, where each key lives, and which tools check the result. That one list tells you which of your artifacts are exposed and which verifiers might break.<\/p>\n<p>Then pick a single non-production pipeline and add a second, post-quantum signature to it. Keep the rest as it is. Waiting for a public post-quantum certificate is fine. Waiting to learn how your own pipeline reacts is not.<\/p>\n<p>If you need a code signing certificate for production today, or help matching a certificate and key storage option to your build setup, <a href=\"https:\/\/codesigncert.com\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">CodeSignCert<\/a> can walk you through it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is post-quantum code signing? Post-quantum code signing means signing software, drivers and firmware with algorithms that a quantum computer cannot break, in place of RSA&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-215","post","type-post","status-publish","format-standard","hentry","category-code-signing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Post-Quantum Code Signing Certificate Guide (2026)<\/title>\n<meta name=\"description\" content=\"Post-quantum code signing explained: ML-DSA vs LMS, Windows 2027 changes, CNSA 2.0 dates, and what you can buy today. Includes a 90-day pilot plan.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Post-Quantum Code Signing Certificate Guide (2026)\" \/>\n<meta property=\"og:description\" content=\"Post-quantum code signing explained: ML-DSA vs LMS, Windows 2027 changes, CNSA 2.0 dates, and what you can buy today. Includes a 90-day pilot plan.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide\" \/>\n<meta property=\"og:site_name\" content=\"CodeSignCert\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/codesigncert\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-21T13:07:16+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@codesigncert\" \/>\n<meta name=\"twitter:site\" content=\"@codesigncert\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/post-quantum-code-signing-certificate-guide#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/post-quantum-code-signing-certificate-guide\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3d74690de0797fda12c82b84f9bda3d3\"},\"headline\":\"Post-Quantum Code Signing Certificate Guide (2026)\",\"datePublished\":\"2026-10-21T13:07:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/post-quantum-code-signing-certificate-guide\"},\"wordCount\":2444,\"articleSection\":[\"Code Signing\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/post-quantum-code-signing-certificate-guide\",\"url\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/post-quantum-code-signing-certificate-guide\",\"name\":\"Post-Quantum Code Signing Certificate Guide (2026)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-21T13:07:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3d74690de0797fda12c82b84f9bda3d3\"},\"description\":\"Post-quantum code signing explained: ML-DSA vs LMS, Windows 2027 changes, CNSA 2.0 dates, and what you can buy today. Includes a 90-day pilot plan.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/post-quantum-code-signing-certificate-guide#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/codesigncert.com\\\/blog\\\/post-quantum-code-signing-certificate-guide\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/post-quantum-code-signing-certificate-guide#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Post-Quantum Code Signing Certificate Guide (2026)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/\",\"name\":\"CodeSignCert\",\"description\":\"All in One Code Signing Certificate Store\",\"alternateName\":\"Code Sign Cert\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/#\\\/schema\\\/person\\\/3d74690de0797fda12c82b84f9bda3d3\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6a1849d1c6cf779d26d32e7f3ada56cacd4f987f28504e32aa3878f900376ed6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6a1849d1c6cf779d26d32e7f3ada56cacd4f987f28504e32aa3878f900376ed6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6a1849d1c6cf779d26d32e7f3ada56cacd4f987f28504e32aa3878f900376ed6?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/codesigncert.com\"],\"url\":\"https:\\\/\\\/codesigncert.com\\\/blog\\\/author\\\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Post-Quantum Code Signing Certificate Guide (2026)","description":"Post-quantum code signing explained: ML-DSA vs LMS, Windows 2027 changes, CNSA 2.0 dates, and what you can buy today. Includes a 90-day pilot plan.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide","og_locale":"en_US","og_type":"article","og_title":"Post-Quantum Code Signing Certificate Guide (2026)","og_description":"Post-quantum code signing explained: ML-DSA vs LMS, Windows 2027 changes, CNSA 2.0 dates, and what you can buy today. Includes a 90-day pilot plan.","og_url":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide","og_site_name":"CodeSignCert","article_publisher":"https:\/\/www.facebook.com\/codesigncert","article_published_time":"2026-10-21T13:07:16+00:00","author":"admin","twitter_card":"summary_large_image","twitter_creator":"@codesigncert","twitter_site":"@codesigncert","twitter_misc":{"Written by":"admin","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide#article","isPartOf":{"@id":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide"},"author":{"name":"admin","@id":"https:\/\/codesigncert.com\/blog\/#\/schema\/person\/3d74690de0797fda12c82b84f9bda3d3"},"headline":"Post-Quantum Code Signing Certificate Guide (2026)","datePublished":"2026-10-21T13:07:16+00:00","mainEntityOfPage":{"@id":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide"},"wordCount":2444,"articleSection":["Code Signing"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide","url":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide","name":"Post-Quantum Code Signing Certificate Guide (2026)","isPartOf":{"@id":"https:\/\/codesigncert.com\/blog\/#website"},"datePublished":"2026-10-21T13:07:16+00:00","author":{"@id":"https:\/\/codesigncert.com\/blog\/#\/schema\/person\/3d74690de0797fda12c82b84f9bda3d3"},"description":"Post-quantum code signing explained: ML-DSA vs LMS, Windows 2027 changes, CNSA 2.0 dates, and what you can buy today. Includes a 90-day pilot plan.","breadcrumb":{"@id":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/codesigncert.com\/blog\/post-quantum-code-signing-certificate-guide#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codesigncert.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Post-Quantum Code Signing Certificate Guide (2026)"}]},{"@type":"WebSite","@id":"https:\/\/codesigncert.com\/blog\/#website","url":"https:\/\/codesigncert.com\/blog\/","name":"CodeSignCert","description":"All in One Code Signing Certificate Store","alternateName":"Code Sign Cert","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codesigncert.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/codesigncert.com\/blog\/#\/schema\/person\/3d74690de0797fda12c82b84f9bda3d3","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/6a1849d1c6cf779d26d32e7f3ada56cacd4f987f28504e32aa3878f900376ed6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6a1849d1c6cf779d26d32e7f3ada56cacd4f987f28504e32aa3878f900376ed6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6a1849d1c6cf779d26d32e7f3ada56cacd4f987f28504e32aa3878f900376ed6?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/codesigncert.com"],"url":"https:\/\/codesigncert.com\/blog\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/posts\/215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/comments?post=215"}],"version-history":[{"count":1,"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/posts\/215\/revisions"}],"predecessor-version":[{"id":216,"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/posts\/215\/revisions\/216"}],"wp:attachment":[{"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/media?parent=215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/categories?post=215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codesigncert.com\/blog\/wp-json\/wp\/v2\/tags?post=215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}