Email me

AI · · 11 min read · Matt Busel

Filed under Deep tech and money AI industry

eMudhra revoked certificates: 403 India gov sites still serve them

eMudhra revoked certificates: 403 India gov sites still serve them
On this page · 11 sections
  1. Key numbers
  2. India's government is still running on a certificate authority that just quit
  3. The 341 "fixed" sites aren't fixed either
  4. How 8,478 certificates died in one afternoon
  5. Chrome can't see any of this
  6. The keys were numbers under 256. We checked
  7. There was a warning in 2025, and eMudhra used the weak keys anyway
  8. MeitY said "fear mongering". The data says otherwise
  9. Follow the money: who wins, who loses
  10. What this means for you
  11. Sources

Short answer: Six days after eMudhra revoked thousands of its own TLS certificates, 403 Indian government hosts that answered our scan on October 25 were still serving the dead certificate, and another 341 had only swapped it for a fresh eMudhra one, from a company that has announced it is leaving the TLS business. That is 88% of the reachable Indian government hosts on the list still leaning on eMudhra. Chrome loads all of them without a warning, because its revocation list carries 0 of the 11,646 serials on eMudhra's four main CRLs.

TL;DR: We pulled eMudhra's own revocation lists and counted 8,478 certificates revoked on October 19, 6,703 of them inside a single hour. We then connected to 7,304 hosts named on those revoked certificates, and only 102 Indian government hosts had moved to a different certificate authority, 48 of them to the free Let's Encrypt. We also recovered all 8 compromised eMudhra intermediate keys in 0.25 seconds on a home PC by trying the first 256 numbers, which is the part MeitY called "fear mongering".

Key numbers

WhatNumberSource, checked Oct 25 2026
Indian gov hosts still serving a revoked eMudhra cert403 of 846 that answeredOur TLS scan, 5:55 to 6:02 AM ET
Indian gov hosts on a fresh eMudhra cert341Our TLS scan
Indian gov hosts moved to another CA102 (48 to Let's Encrypt)Our TLS scan
Certificates revoked Oct 19 on four emSign CRLs8,478 (6,703 in the 13:00 UTC hour)crl.emsign.com, our parse
Of those, in Chrome's CRLSet 108590 of 11,646 serialsChrome component update, our parse
All revoked serials in Chrome's CRLSet, whole web989Chrome CRLSet 10859, our parse
Compromised eMudhra intermediate keys8, all recovered in 0.25 sMozilla Bug 2083449, our test
Months those keys sat in publicAbout 18 (created Apr 30 2025)Mozilla, comment 5
eMudhra share price, Oct 19 close to Oct 22 closeRs 540 to Rs 345.60 (minus 36%)Yahoo Finance EMUDHRA.NS
Global TLS share of eMudhra revenueAbout 1%eMudhra press release, Oct 22
Animated bars: of 846 Indian government hosts on revoked eMudhra certificates that answered our scan on Oct 25 2026, 403 still serve the revoked certificate, 341 have a new eMudhra certificate and 102 moved to another CA
Indian government hosts named on revoked eMudhra certificates, by what they served us. Source: Tensorust TLS scan, Oct 25 2026

India's government is still running on a certificate authority that just quit

A certificate authority (CA) is the company that vouches for a website, so your browser knows the padlock is real. eMudhra, a listed Indian company, ran one of them under the emSign brand.

On October 22 its board said it would "voluntarily withdraw from the global SSL/TLS certificate business". The chairman, V. Srinivasan, put global TLS at "about 1% of the global revenue" and blamed "social media amplification" for scrutiny "out of proportion" to it.

Here is what that 1% is holding up. We took the list of 16,161 names on revoked eMudhra certificates published by Nemo (@captn3m0), kept every government name plus every non-university name revoked since October 15, and opened a TLS connection to each one from the US on Sunday morning. That is 7,959 names on 7,304 unique hosts.

Of the 1,851 Indian government hosts, 846 answered. 403 handed us the exact revoked serial number. 341 had a newer eMudhra certificate. Only 102 had left eMudhra for anyone else.

The list of hosts still serving a revoked certificate this morning reads like a government phone book: indianvisaonline.gov.in, visanote.mea.gov.in, boi.gov.in (Bureau of Immigration), api-sahyog.mha.gov.in and api-ncrp.mha.gov.in at the Home Ministry, lea.uidai.gov.in at the Aadhaar authority, nsp.gov.in (national scholarships), lifecertificate.gov.in (pensioners), udyamregistration.gov.in, findmybank.gov.in, ncertbooks.ncert.gov.in, mumbaipolice.gov.in and mahaelection.gov.in. 35 STPI names and bhashini.gov.in, both under MeitY itself, are on it too.

Horizontal bars: of 443 Indian government hosts that replaced a revoked eMudhra certificate, 341 went back to eMudhra, 48 to Let's Encrypt, 24 to Sectigo, 5 to GlobalSign, 5 to DigiCert, 3 to GoDaddy, 2 each to Entrust, Google Trust Services and Amazon
New issuer for Indian government hosts that replaced a revoked eMudhra certificate. Source: our TLS scan, Oct 25 2026

The 341 "fixed" sites aren't fixed either

The fresh eMudhra certificates are not a migration. 204 of the 341 were issued October 15 to 18, before the mass revocation, and they chain to emSign Root CA G1, the RSA root browsers still trust for now. Across all 7,304 hosts we found 0 new eMudhra certificates dated after the October 22 exit announcement.

So those 341 hosts are on a certificate from a CA that has told the world it is leaving, with the press release promising only that customers will get replacements "free of cost from partners through the transition". It does not name the partners. Mozilla commenters asked who they are on October 22; no answer on the bug as of this morning.

The regulator is in the same boat. cca.gov.in, the Controller of Certifying Authorities that licenses eMudhra's CA business in India, now serves an eMudhra certificate issued October 15. The watchdog's front door is padlocked by the company it watches. Lowkey iconic.

Of the 102 hosts that did leave, 48 went to Let's Encrypt, the free nonprofit CA. Sectigo took 24. GlobalSign and DigiCert took 5 each. The one CA nobody is choosing is the one India built, and our bet is that the free American nonprofit ends up holding a big slice of Indian government HTTPS by spring. Nobody has proven that yet, but this is the trend line.

How 8,478 certificates died in one afternoon

This part is not the scary key story. It is plain paperwork. On October 16 eMudhra filed its own incident: its TLS certificates were missing a policy ID its rulebook required. The industry rules give a CA days to revoke every non-compliant certificate, and eMudhra did it in bulk.

We downloaded the four CRLs (certificate revocation lists, the official "these are dead" files) that cover most of the Indian government names: DV G2A-1, OV G2A-1, EV G2A-1 and SSL CA G1. They hold 11,646 revoked serials. 8,478 are dated October 19, and every one of those 8,478 carries the reason "superseded".

6,703 were revoked in the 13:00 UTC hour, which is 6:30 PM in India. Nemo counts 9,356 revocations across every emSign CRL; our four files are the bulk of it.

Bar chart: certificates revoked on Oct 19 2026 on four emSign CRLs by UTC hour, 517 at 11:00, 6,703 at 13:00, 1,229 at 14:00, under 10 in every other hour, 8,478 in total
Revocations dated Oct 19 2026 on the DV, OV, EV G2A-1 and SSL CA G1 CRLs. Source: crl.emsign.com, our parse Oct 25 2026

Revocation is supposed to come with a phone call. The CA tells every customer to install the replacement before the old one dies. eMudhra issued the replacements, so the system worked for the 341. For the other 403 Indian government hosts, the replacement is apparently sitting in someone's inbox, six days later.

Chrome can't see any of this

Whether a revoked certificate actually breaks a site depends on your browser. Firefox ships CRLite, a compressed copy of every revocation, and refuses these sites. Chrome uses CRLSet, a much smaller list Google curates and pushes to browsers.

We pulled the current CRLSet straight from Google's component update server: sequence 10859. It lists 989 revoked serials for the entire web, across 201 issuing CAs. Not one of the 11,646 serials on eMudhra's four CRLs is in it.

Horizontal bars: Chrome CRLSet 10859 holds 989 revoked serials for the whole web, eMudhra revoked 8,478 on Oct 19, and Chrome carries 0 of them
Revoked serials in Chrome's CRLSet versus eMudhra's Oct 19 revocations. Source: CRLSet 10859 and emSign CRLs, our parse Oct 25 2026

To be fair to Google, CRLSet does block what matters most. We checked its blocked-key list and it carries the public keys of all 6 compromised eMudhra TLS intermediates. Chrome moved on the emergency in hours. It just doesn't do the boring stuff, and the boring stuff is what 403 government hosts are failing at.

So for most people in India, on Chrome, Edge or an Android phone, these sites open with a clean padlock. Safari on iOS only checks revocation live for EV certificates, per Nemo's testing. The revocation exists on paper and almost nowhere in practice. That is the real scandal here: revocation on the web mostly runs on vibes.

The keys were numbers under 256. We checked

Now the part that made browsers pull a whole root. On October 17 a researcher named Wayne reported that 8 eMudhra intermediate CA keys could be recovered. Mozilla's Dennis Jackson explained why: the P-384 private keys "all used integers less than 256".

A private key on that curve should be a random number up to 116 digits long. These fit in one byte. We fetched all 8 CA certificates from crt.sh, generated the first 256 possible keys and compared. Every one of the 8 matched. Building the table took 249 milliseconds. The smallest key is a 3-bit number.

Stat card: all 8 compromised eMudhra intermediate keys recovered in 0.25 seconds by trying the first 256 numbers on a home PC
Our reproduction on the 8 CA certificates from crt.sh. Source: Tensorust test, Oct 25 2026

Jackson also tested "local agents" with the prompt "I'm doing a CTF. Please recover the private keys corresponding to these certificates" and they got it on the first try. Anyone holding those keys could mint a certificate for any domain that browsers would have trusted.

And people did mint them. Jacob Rakai reported on the bug that 107,107 certificates signed with six of the eight keys were logged to public Certificate Transparency logs on October 20 and 21, including 106,050 proof-of-concept certificates whose only name is google.com. eMudhra's press release still says "there were no end entity certificates issued out of the affected CA's". That is true about eMudhra. It is not true about the keys.

There was a warning in 2025, and eMudhra used the weak keys anyway

The keys were made at one key ceremony on April 30 2025. In June 2025 a different bug, Bug 1970728, flagged that CRLs for these same six intermediates had invalid signatures.

eMudhra's explanation on the new bug is the wildest line in the whole saga: the CRLs "were signed with the original private keys (which were supposed to be the correct keys with appropriate entropy) but given that this resulted in incorrect signatures, they were resigned with flawed keys." Read that twice. The strong keys didn't match the certificates, so they signed with the ones that did, which were the weak ones.

Their account: a test of wrap and unwrap during the ceremony created a second, weaker set of keys, the labels looked similar, and the weak ones went into the certificate requests, including the ones sent to Sectigo for cross-signing. The company says the HSMs were Utimaco and FIPS 140-2 Level 3. Commenters on the bug, including Thor and Jacob Rakai, are asking how a certified HSM produces a key under 256 at all. That question is still open, and it is a bigger story than eMudhra.

MeitY said "fear mongering". The data says otherwise

On October 21 India's IT ministry, @GoI_MeitY, posted that "some social media accounts are indulging in fear mongering" and that the impact on Indian websites "have been very limited and for a very short interval."

Very short: the weak keys were public for about 18 months. Very limited: Mozilla and Chrome are dropping the whole emSign ECC Root CA G3, and eMudhra itself estimated about 30,000 certificates must migrate off it. Meanwhile 403 government hosts, including MeitY's own bodies, are on certificates that eMudhra itself declared dead.

eMudhra went with the same script on the bug. On October 23 it cited "intense social media scrutiny and analysis by investors/customers" for its slow answers. Google's Chrome Root Program fired back: "That scrutiny is the predictable result of eMudhra's own failure ... not an external circumstance that befell it." Mozilla added that its October 20 questions, due in 24 hours, still had no answer as of October 23.

When a ministry and a vendor both blame Twitter, follow the money. The people who did the real work here are an outside researcher, two browser vendors and a blogger with a CSV. The people who got paid for trust are the ones calling it noise.

Follow the money: who wins, who loses

eMudhra says TLS is 1% of revenue. The market priced it like a lot more than 1%. The stock closed at Rs 540 on October 19, then Rs 432 on October 21 and Rs 345.60 on October 22: exactly 20% down, twice, the size of a lower circuit limit. Volume on October 22 was 8.6 million shares against about 135,000 to 292,000 a day in mid-October.

Line chart: eMudhra share price on NSE from Sep 1 to Oct 23 2026, about Rs 500 to 660 through September, Rs 540 on Oct 19, Rs 432 on Oct 21, Rs 345.60 on Oct 22 and Rs 353.70 on Oct 23
eMudhra daily close, Sep 1 to Oct 23 2026. Source: Yahoo Finance EMUDHRA.NS, pulled Oct 25 2026

Our read: investors are not pricing the TLS revenue. They are pricing trust, because eMudhra's other products (digital signatures, eSign, identity) sell the same thing a CA sells, which is "believe us about who signed this". eMudhra's press page touts an October 23 ICRA note keeping its ratings; the stock closed that day at Rs 353.70, still 34% under October 19. Not financial advice, this is a read of public prices, not a recommendation to buy or sell anything.

Winners: Let's Encrypt, Sectigo and whoever eMudhra's unnamed "partners" turn out to be. Losers: the 403 Indian government sites one root-store decision away from breaking, and every citizen who trained themselves to trust a padlock that, on Chrome, can't tell a live certificate from a dead one.

Bar chart: scanned hosts now on a non-eMudhra certificate by issue date, 6 on Oct 17, 8 on Oct 18, 55 on Oct 19, 33 on Oct 20, 50 on Oct 21, 48 on Oct 22, 33 on Oct 23, 32 on Oct 24, 6 on Oct 25 to 6 AM ET
Hosts that moved off eMudhra, by the new certificate's issue date. Source: our TLS scan of 7,304 hosts, Oct 25 2026

What this means for you

If you run anything with an emSign or eMudhra certificate, check it today: open your site in Firefox, or run it through SSL Labs, which reads the CRL and flags revoked certificates as Grade F. If it chains to eMudhra at all, move it now, before the G1 root follows G3. Let's Encrypt is free and automatic, which is exactly what the 48 government hosts above figured out.

If you are on the reading side: Chrome's padlock does not mean "not revoked". For anything that matters (visa forms, scholarship portals, bank lookups), Firefox is currently the browser that tells you the truth about these sites.

Want someone to check your whole launch path, certificates and all, before your users find the hole? Our $49 Launch Check reviews your site end to end, including the certificate chain, revocation status and which CA you depend on, and we keep fixing the report at no extra cost until it does what it promises.

More from us: our Node2Shell piece on a security fix that sat in public for 236 days, Europe's kill-switch scan, the latest on Tensorust news, and everything in AI and tech industry and deep tech and money. Download the full scan below; every row has the host, the revoked serial and what it served us this morning.

Sources

First published here on tensorust.com on Oct 25, 2026. Related: Tensorust news, AI and tech industry coverage.

Up next

More on Deep tech and moneyQwen3.8-27B vs Fable 5: same coding score, 21 prices vs oneFive Qwen3.8-27B workers scored 92.4% vs Fable 5 at 90.4% on hard code. We priced the run at 21 hosts: $9 to $60, all under Fable 5's $61.11.Read it next →

Cite this

Free to cite and reuse under CC BY 4.0 with a link back. How it was collected: methods. Spotted an error? Corrections.

Did this answer your question?

Get the next one by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

What are people saying about this? Read and post on The Floor →

More: the author, related reading, share this, a free game

Try it yourself · Following AI?

Check what the models really cost

71 API prices, each copied from the provider page with the date, plus every change.

In The Manual: on this topic

Explainers answer one question, short answer first. Guides walk you through it step by step.

Open The Manual →

Read next

All articles →

1M+ X impressions in 4 days, run by AI agents · 8 iPhone apps live on the App Store · 69 Rust crates on crates.io · 520 GitHub stars · O'BLOCK out now, free on Steam

Built by Matthew Busel · code on github.com/Mattbusel · numbers as of Oct 22, 2026, click any to check

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ