Skip to main content

    Dedicated TLS Roots: Why Your Certificate Chain Is Changing

    Public CAs are moving TLS issuance to dedicated roots. The 2026-2027 dates, why browsers stay fine, and which deployments actually break.

    MS
    My-SSL Team
    ·
    13 min read
    ·
    Published September 30, 2026
    ·
    Last updated September 30, 2026

    The short answer

    Every publicly trusted CA is moving TLS issuance onto roots reserved for TLS server authentication alone, and retiring the multi-purpose roots that also anchored email and code signing certificates. From September 15, 2027 the Chrome Root Store will include at most two self-signed roots per CA owner, on a one-in, one-out basis, under Chrome Root Program Policy v1.8. Certum has issued from Certum Trusted Root CA since September 15, 2025 and its Certum Trusted Network CA loses trust on April 15, 2027; DigiCert moves default issuance to its two G5 roots on October 15, 2026. Browsers handle all of this by themselves. Java truststores, Android releases before 14, pinned chains and appliance firmware are what break.

    The same TLS certificate moving from a legacy multi-purpose root to a dedicated TLS root, joined by a cross-certificateA diagram comparing two certificate paths side by side. On the left, the legacy path: a multi-purpose root certificate that also anchored S/MIME, code signing and document signing, then an issuing intermediate, then your TLS certificate. On the right, the current path: a dedicated root that anchors TLS server certificates only, then a new issuing intermediate, then the same TLS certificate. A gold arrow between the two roots represents the cross-certificate, in which the legacy root signs the new root so that a client which only knows the old anchor can still build a complete path. A gold footer panel states the operational consequence: the server must send the intermediate bundle issued with the current certificate, because a bundle cached from an earlier renewal points at a hierarchy the certificate no longer belongs to, which is the usual cause of an unable to get local issuer certificate error after a routine renewal.One certificate, a new trust anchor, one bridge between themRETIRING PATHCURRENT PATHMulti-purpose rootalso anchored S/MIME, code signing,document signing and timestampingLegacy issuing intermediateno longer issues new certificatesCertificates issued earliervalid until they expireDedicated TLS rootTLS server authentication only;one RSA root and one ECDSA rootNew issuing intermediateshipped in the bundle with your certificateYour certificate todaysame key, same CSR, different pathcross-certThe cross-certificate is what keeps old clients workingThe legacy root signs the new root, so a client that knows only the old anchor can still finish the path.Your server has to send it. Reuse a bundle cached from an earlier renewal and the chain points at ahierarchy this certificate no longer belongs to, which is where the local issuer errors come from.
    The leaf certificate is the one thing that did not change. Everything above it did, which is why the file to be careful with at renewal is the intermediate bundle rather than the certificate itself.

    What a dedicated TLS root is

    A dedicated TLS root is a root CA certificate whose hierarchy issues nothing but TLS server certificates. For most of the web PKI’s history one root anchored a CA’s entire catalogue: web server certificates, S/MIME, code signing, document signing, timestamping. The Chrome Root Program now requires hierarchies included in the Chrome Root Store to be dedicated to TLS server authentication, so CAs have split those product lines apart.

    The argument for splitting is containment. A root that signs five kinds of certificate has five ways to get itself into trouble, and a browser that distrusts it over a code signing failure takes every website using it down as collateral. Separating the hierarchies means a problem in one product line can be dealt with by removing that root, and Chrome can make trust decisions about the web without weighing what else the CA sells.

    Purpose separation has been arriving in layers, from the leaf upward. Subordinate CAs newly disclosed to the Common CA Database have had to assert serverAuth alone since June 15, 2026, and the client authentication EKU came out of public TLS certificates earlier that year — the mechanics of that change are in our write-up of the clientAuth EKU removal. The root layer is the last one, and it is the one that changes what your server has to send.

    There is a second driver alongside purpose. Certum describes its own root replacement as following decisions by Mozilla and Google to stop trusting TLS roots older than fifteen years, which is a separate clock from the dedicated-purpose requirement and pushes in the same direction. A root created in 2008 is retired because of its age whether or not it was ever multi-purpose.

    What Chrome’s two-root limit changes

    From September 15, 2027 the Chrome Root Store will include at most two self-signed root CA certificates per CA owner. A CA that already holds two or more can only file a new inclusion request that replaces an existing one, on a one-in, one-out basis. This is set out in Chrome Root Program Policy v1.8, last updated February 5, 2026.

    That ceiling is what turns a slow tidy-up into a deadline. Two slots is a tight budget, and it explains a pattern you can see across every CA that has published a migration plan: the replacement roots arrive in pairs, one RSA and one ECDSA. Certum introduced Certum Trusted Root CA for RSA and Certum EC-384 CA for ECDSA. DigiCert’s pair is DigiCert TLS RSA4096 Root G5 and DigiCert TLS ECC P384 Root G5. A CA needs both key types to serve the market, and two key types fill the quota exactly, so there is no room left for a third root of any kind.

    What happens to everything else the CA anchors? It leaves the Chrome Root Store, and that is fine, because Chrome only needs anchors for TLS server authentication. An S/MIME root that is not in Chrome loses nothing it was using. The consolidation looks dramatic from the outside and is mostly a filing exercise, right up to the point where a client of yours was trusting one of those departing roots for a TLS connection.

    DigiCert has said that from September 15, 2027 the Chrome Root Store will support only its two G5 hierarchies, which is the same rule seen from the CA’s side. If you hold a DigiCert certificate issued from a Global Root G2 or G3 hierarchy that is still valid past that date, Chrome is the client that stops building a path to it.

    The dates that matter

    Five dates carry this migration. September 15, 2025 is when Certum started issuing from its dedicated roots. February 5, 2026 is the last update to Chrome Root Program Policy v1.8. October 15, 2026 moves DigiCert’s default issuance to the G5 pair. April 15, 2027 is the trust removal date for Certum Trusted Network CA. September 15, 2027 is when the two-root ceiling applies.

    Timeline of the dedicated TLS root migration from September 2025 to September 2027A horizontal timeline with five dated milestones, current as of September 30, 2026. September 15, 2025: Certum begins issuing TLS certificates from Certum Trusted Root CA and Certum EC-384 CA. February 5, 2026: Chrome Root Program Policy version 1.8 is published. October 15, 2026: DigiCert moves default public TLS issuance to DigiCert TLS RSA4096 Root G5 and DigiCert TLS ECC P384 Root G5. April 15, 2027, highlighted in gold because it removes trust rather than adding it: Certum Trusted Network CA reaches its trust removal date. September 15, 2027: the Chrome Root Store begins including at most two self-signed roots per CA owner, and supports only DigiCert's two G5 hierarchies.The root migration, date by datecurrent as of September 30, 202615 Sep 2025Certum issues fromits dedicated roots(RSA and ECDSA)5 Feb 2026Chrome Root ProgramPolicy v1.8 published15 Oct 2026DigiCert defaultissuance moves tothe two G5 roots15 Apr 2027Certum Trusted Network CAreaches trust removal15 Sep 2027Chrome: two rootsper CA owner,one in, one outDates from the Chrome Root Program policy and from Certum and DigiCert advisories; re-check before planning against them.
    Only one date on this line takes trust away. Everything before it adds a new anchor or changes a default, which is why the migration has felt like nothing was happening.

    Per-CA status as of September 30, 2026, from each CA’s own advisories. Re-check these before you plan a change window against them; root schedules move, and the published dates are the ones that count rather than this table.

    CADedicated TLS roots in useHierarchy being retiredDate to know
    CertumCertum Trusted Root CA (RSA), Certum EC-384 CA (ECDSA)Certum Trusted Network CA, cross-signing the new roots in the meantimeIssuing from new roots since 15 Sep 2025; trust removed 15 Apr 2027
    DigiCertDigiCert TLS RSA4096 Root G5, DigiCert TLS ECC P384 Root G5DigiCert Global Root G2 and G3 hierarchies, cross-signed into the G5 chain by defaultDefault issuance moves 15 Oct 2026; Chrome supports only G5 from 15 Sep 2027
    SectigoSingle-purpose TLS roots, per Sectigo’s root hierarchy guidanceLegacy multi-purpose COMODO and USERTrust rootsLegacy roots lose browser trust across 2025–2027; check Sectigo’s current advisory for your product

    Why browsers stay fine and servers don’t

    A current browser already trusts the replacement roots, because they were added to trust stores well before issuance moved onto them. That lead time is deliberate: a root is useless until it has shipped everywhere, so CAs get the anchor distributed first and switch issuance later. Nothing a browser does during this migration requires anything from you.

    Clients that are not browsers get their anchors from somewhere else, and that is where the migration stops being invisible. The bridge built for them is the cross-certificate: the legacy root signs the new root, producing a second valid path that terminates at an anchor an old client already has. Certum supplies cross-signed certificates issued from Certum Trusted Network CA, and DigiCert says a G5 chain includes a cross-signed certificate with the older root by default.

    Here is the part that turns into support tickets. A server sends its own certificate plus the intermediates; the client supplies the root. When the hierarchy changes, the intermediates change, and the cross-certificate is one of the files in the new bundle. The failure we see most often after a CA changes hierarchy is not exotic: a server is still sending an intermediate it cached at a previous renewal, the chain it presents leads to a root this certificate no longer belongs under, and the client reports unable to get local issuer certificate while the certificate itself is perfectly valid. Install the bundle that arrived with this certificate, not the one in your notes.

    If that error is what brought you here, the anatomy of a chain and the ways servers misassemble one are covered in the SSL certificate chain explained, and the Java-specific version of the same fault is in PKIX path building failed.

    Which deployments actually break

    Anything that validates a certificate against a trust store nobody updates. That is a short list in principle and a long one in practice: Java applications on older JDKs, Android releases before 14, containers built from a stale base image, appliances and IoT devices with a CA bundle in firmware, air-gapped Windows servers with automatic root updates switched off, and any application that pins a root.

    Decision tree for whether a client breaks when a certificate authority moves to new rootsA decision tree starting from a client that validates a certificate from a CA which has moved to dedicated roots. First question: does the client use a trust store that still receives updates? If yes, no action is needed, because current browsers and operating systems already ship the dedicated roots. If no, second question: is a root pinned, or is the CA bundle baked into a firmware or container image? If it is pinned or baked in, highlighted in gold, the client breaks and the fix has to ship in a release: add the new roots, or pin the leaf public key with a backup pin instead of pinning a root. If the bundle is merely stale, update it, with Java cacerts on JDK 11 and earlier, Android releases before 14, and appliance firmware as the usual offenders.Does the root change break this client?A client validates your certificateissued under the CA’s new hierarchyDoes its trust store still receive updates?yesNothing to doCurrent browsers and operatingsystems shipped the dedicatedroots before issuance moved.noIs a root pinned, or the CA bundlebaked into an image?yesIt breaksThe fix ships in arelease, not a configfile. Add the roots, orpin the leaf key witha backup pin.noJust staleUpdate the bundle.Usual offenders: JDK 11and earlier cacerts,Android before 14,appliance firmware.
    The branch worth finding early is the gold one, because a pinned root cannot be fixed from your side of the connection.

    Java deserves singling out because its trust store is unusual. The JVM ships its own cacerts file rather than reading the operating system store, so a machine whose OS trusts the new roots can still have a JVM that does not. JDK 11 and earlier are the releases where a manual import is likely; JDK 17 and later carry a more current set. Upgrading the JDK fixes it, and so does akeytool -importcert of the new roots if you cannot.

    Android splits at version 14. Certum notes that its new roots may be unavailable on Android older than 14, with manual installation of the cross-certificate as the workaround. Android 14 introduced updatable root certificates, so a device on 14 or later can receive a new anchor without a full system update, which is exactly the capability the fleet below it lacks.

    Pinning is the one case where you cannot fix the problem from your own side of the connection. An application that pins a root you are about to stop chaining to will fail, and the correction has to ship in that application’s next release. If pinning is a requirement, pin the public key of the leaf or the issuing intermediate and carry a backup pin, so a hierarchy change is a rotation rather than an outage. A pinned root in a mobile app with a slow release cadence is the scenario worth finding this quarter rather than in April 2027.

    How to check which root you chain to

    Ask the server what it is sending and read the issuer of the last certificate in the chain. One openssl s_client call gives you the whole picture: the certificates the server presents, in order, and whether the path it offers can be completed. Do this against the live host rather than against the files on disk, since the gap between the two is the usual bug.

    openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null \
      | grep -E "^(depth|verify|ss?_|subject=|issuer=)|^ [0-9] s:|^   i:"

    The lines beginning s: and i: are the subject and issuer of each certificate the server sent. The issuer on the final one names the anchor the chain expects the client to hold. If that name is a root you know is retiring, the server is sending the legacy path and needs the current bundle.

    To test against a specific trust store rather than your own, point -CAfile at the bundle in question. This is how you answer “would the appliance accept this?” without touching the appliance:

    # validate the live chain against one specific trust store
    openssl s_client -connect example.com:443 -servername example.com \
      -CAfile /path/to/that-devices-ca-bundle.pem </dev/null | grep -i "verify"
    
    # is a given root present in a JVM truststore?
    keytool -list -keystore "$JAVA_HOME/lib/security/cacerts" \
      -storepass changeit | grep -i -e certum -e digicert

    More of these one-liners, including how to read a certificate without a network connection, are collected in our OpenSSL commands cheat sheet. If you want the conceptual layer underneath — who decides what any of these clients trust in the first place — certificate trust stores covers the four programs that matter.

    Code signing and S/MIME

    The root split changes which anchor these certificates chain to, not whether they work. The Chrome Root Store exists for TLS server authentication, so code signing and S/MIME roots are not competing for those two slots and Chrome’s ceiling does not constrain them at all. Signed software is trusted through the Microsoft Trusted Root Program; S/MIME through mail client and operating system stores.

    The practical consequence shows up in mixed environments. Your TLS certificate, your code signing certificate and your email certificate now chain to three separate roots at the same CA, and a system that validates more than one of them needs all three anchors present. A build server that verifies a signature and also makes an HTTPS call is checking two unrelated hierarchies, and it is easy to update one bundle and forget the other.

    Timestamping is the case people miss. A code signature’s timestamp is issued under a timestamping hierarchy, separate again, and a verifier that cannot build a path to that anchor reports a signature problem rather than a timestamp problem. If you are chasing a verification failure after a root change, check which of the several chains involved is the one actually failing before you reissue anything.

    What to do before April 2027

    Six things, in rough order of how much trouble skipping them causes: take the intermediate bundle your CA issues at every renewal, inventory the validators that are not browsers, find and remove pinned roots, test each trust store against a live chain, diary the three dates, and give air-gapped systems an update cycle. None is urgent this week, and all are cheaper now than during an outage.

    1. Install the bundle your CA gives you at each renewal. Not a copy from last time, not one from a knowledge base article. This single habit removes most of the failure modes in this article.
    2. Inventory the validators that are not browsers. JVMs, container images, appliances, payment terminals, mobile apps, anything air-gapped. This list is the actual scope of the work and it is usually longer than expected.
    3. Find the pins. Grep your mobile and embedded code for pinned certificates and hashes. A pinned root is a release-cycle problem, so it needs the longest lead time of anything here.
    4. Test each store against a live chain with the -CAfile check above, rather than assuming a bundle is current because the device is in support.
    5. Put the three dates in a calendar: October 15, 2026, April 15, 2027, September 15, 2027. Root schedules are published years ahead and then arrive without a reminder.
    6. Give air-gapped systems a trust-store update cycle. A machine with no path to a root update is a machine whose certificate validation has an expiry date, and this migration is not the last one it will miss.

    One thing not to do: reissuing your certificate early does not help. A certificate issued today already chains to the new hierarchy at most CAs, so reissuing changes nothing about your exposure. The work is entirely on the validating side of the connection.

    FAQ

    Frequently Asked Questions

    Answers to common questions about certificates and our services.

    Why did my certificate chain change after renewal?

    Because your CA moved issuance to a root reserved for TLS server certificates. The certificate you just received is signed by a different intermediate, which is signed by a different root, and the bundle your CA now hands you reflects that. Certum has issued from Certum Trusted Root CA since September 15, 2025, and DigiCert moves default issuance to its two G5 roots on October 15, 2026. Nothing about your private key, your CSR or your server configuration changed. What changed is the path from your certificate up to a trust anchor, so the intermediate file you install has to be the one that came with this certificate rather than one you kept from a previous renewal.

    Do I need to install a new root certificate on my server?

    No. A server sends its own certificate plus the intermediates, and the client supplies the root from its own trust store. Installing a root on your web server changes nothing for visitors. What you do need to install is the current intermediate bundle from your CA, including any cross-certificate it ships, because that is the part the server is responsible for. The one case where roots matter on a server is the reverse direction: when that machine is itself the client, calling an API or an LDAP server, it validates against its own trust store and that store may need the new roots added.

    What is a dedicated TLS root certificate?

    A root CA certificate whose hierarchy issues nothing but TLS server certificates. Historically one root anchored a CA's whole catalogue: web server certificates, S/MIME, code signing, document signing, timestamping. The Chrome Root Program now requires hierarchies included in the Chrome Root Store to be dedicated to TLS server authentication, so CAs have split those product lines onto separate roots. The practical marker is that new roots arrive in pairs, one RSA and one ECDSA, because a CA needs both key types and Chrome caps the number it will include.

    How many root certificates can one CA have in Chrome?

    Two. From September 15, 2027 the Chrome Root Store will include at most two self-signed root CA certificates per CA owner, and a CA that already holds two or more can only file a new inclusion request that replaces an existing one, on a one-in, one-out basis. This is stated in Chrome Root Program Policy v1.8, last updated February 5, 2026. It is the reason the industry-wide root consolidation has a deadline rather than being an open-ended tidy-up: a CA with four legacy roots cannot keep them all in Chrome, whatever its customers still depend on.

    Will my certificate stop working when the legacy root loses trust?

    Not in an updated browser, and possibly yes elsewhere. Certum Trusted Network CA has a trust removal date of April 15, 2027; certificates chaining to a retired root keep working in browsers and operating systems released before the removal and in environments that no longer receive updates, which is precisely the problem. A current Chrome or Safari already trusts the replacement roots, so it builds a valid path either way. A device with a CA bundle frozen in firmware, a JDK 11 truststore or an Android release before 14 may trust only the old root, and once your certificate is issued under the new hierarchy those are the clients that fail.

    Does this affect code signing or S/MIME certificates?

    It affects which root they chain to, not their validity. The Chrome Root Store exists for TLS server authentication, so code signing and S/MIME roots are not competing for those two slots and Chrome's limit does not constrain them. Trust for signed software comes from the Microsoft Trusted Root Program, and S/MIME trust from mail client and operating system stores. The consequence for you is that your code signing certificate, your email certificate and your TLS certificate now chain to three different roots at the same CA, so any system that validates more than one of them needs all three anchors present.

    Still Have Questions?

    Contact our support team with questions about certificates, installation, or technical issues.

    Buying a certificate during a root migration

    A certificate bought today should already come from a dedicated TLS hierarchy, and the bundle you are handed at issuance should include the cross-certificate. My-SSL issues DV, OV and EV certificates through Certum, which has issued from Certum Trusted Root CA and Certum EC-384 CA since September 15, 2025 and cross-signs them from the older root while it remains trusted. If you are unsure which hierarchy your current certificate sits under, the s_client check above answers it in one command.