Free macOS app
Finds every file on your Mac that contains one of the four root certificates through which the compromised eMudhra intermediate CAs (October 2026) are trusted.
Download for macOSThe app is signed with our Developer ID and notarized by Apple, so it opens without Gatekeeper warnings. It works offline, sends nothing anywhere, and only reads files.
cd6eeff57f4d9d7202115930d9463d2c3903a3a781eb338e8230226a42460fd7shasum -a 256 ~/Downloads/CertScanner-1.0.dmg spctl -a -t open --context context:primary-signature -v ~/Downloads/CertScanner-1.0.dmg
In October 2026 the private keys of 8 ECDSA P-384 intermediate CAs of eMudhra (EM DV/OV/EV TLS CA and EM OV CS CA, G3B and G3C) turned out to be integers below 256. Anyone can sign certificates with them. Software that trusts one of the roots below, and neither blocks the intermediates nor checks revocation, accepts those certificates.
| Root certificate | Leads to | SHA-256 fingerprint |
|---|---|---|
| emSign Root TLS CA - G3 | TLS interception | 7DD78D5F4F13459A83DFF9ABBBA62EDBAF6F2D102BF257FD712F4D9F2746ED8D |
| emSign ECC Root CA - G3 | TLS interception | 86A1ECBA089C4A8D3BBE2734C612BA341D813E043CF9E8A862CD5C57A36BBE6B |
| AAA Certificate Services | TLS interception | D7A7A0FB5D7E2731D771E9484EBCDEF71D5F0C3E0A2948782BC83EE0EA699EF4 |
| emSign Root CS CA - G3 | Code signing | F2EDAAFF3D9B701FB4D14C9F285F8C0BAD90FC3BCC1FA07D47F4718EDABA34A5 |
Each cracked intermediate exists twice: issued by emSign Root TLS CA - G3 or Root CS CA - G3, and cross-signed by AAA Certificate Services. Both G3 roots are in turn cross-signed by emSign ECC Root CA - G3. No root key is compromised.
Pick a folder (default /) and press Scan.
Click a certificate name to show only the files that contain it. Double-click a file to show it in Finder.
Select a file to see where the certificate is in it: a hex dump for binary matches, the surrounding lines for base64. The highlight covers the whole certificate if it's there intact, else the public key or the matched fragment.
Every scan is kept in the sidebar, including stopped ones. The preview rereads the file, so it tells you if a file has since changed or been deleted.
Each certificate is found by its public key, so DER files, keychains, binaries with embedded trust stores and cross-signed copies all match. The key is also searched base64 encoded, which covers PEM bundles, plists and JSON.
Every regular file is read in 4 MB chunks on one thread per core. Symlinks aren't followed, iCloud files that aren't downloaded aren't fetched, and duplicate system volumes are skipped.
The shortest pattern is 120 random bits. Across all patterns, 1 TB of random base64 text is expected to produce 2.7·10−23 false hits.
A file that contains one of the roots can make the cracked intermediates trusted; it isn't itself compromised. AAA Certificate Services is a common, legitimate Sectigo root.
Apple blocks the intermediates in Safari, Mail and apps that use its frameworks, so hits in system keychains are covered.
PEM bundles read by tools that don't check revocation:
/etc/ssl/cert.pem before macOS 27.2.1 / 26.7.3 / 15.8.3cacertsThe 16 intermediate certificates themselves (servers send them, so they're rarely on disk), and the 8 RSA intermediates (G2B/G2C) eMudhra revoked as a precaution. Certificates issued by these roots don't contain the root's key and aren't listed.