Skip to content

SECENG-14034: chain SSL.com intermediates to SSL.com TLS Root CA 2022 instead of AAA - #408

Merged
mitch292 merged 1 commit into
masterfrom
amitchell/SECENG-14034
Sep 28, 2026
Merged

mitch292 merged 1 commit into
masterfrom
amitchell/SECENG-14034

Conversation

@mitch292

@mitch292 mitch292 commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Custom SSL.com leaves were bundled as leaf <- SSL.com <X> TLS Issuing CA <- AAA Certificate Services. The only copies of SSL.com's TLS Issuing/Transit CAs in int-bundle.crt were the ones cross-signed by AAA. AAA is no longer in Chrome or NSS, so these chains fail in Chrome 153+

This PR replaces them with the copies issued directly by SSL.com TLS RSA/ECC Root CA 2022. These have the same subject and key, and they're the copies the leaves' AIA URLs serve. The chain is now:

leaf <- SSL.com <X> TLS Issuing CA <- SSL.com TLS {RSA,ECC} Root CA 2022

@mitch292 mitch292 self-assigned this Sep 28, 2026
… 2022

Leaves from SSL.com's public TLS hierarchy were bundled as
leaf -> SSL.com <X> TLS Issuing CA -> AAA Certificate Services because
the only copies of those intermediates in int-bundle.crt were the
2024-06-21 cross-signs issued by AAA. AAA Certificate Services is no
longer in the Chrome Root Store or NSS, so these chains fail in Chrome
153+ (INCIDENT-9758).

Import the SSL.com-issued copies (same subject and key, issued by
SSL.com TLS RSA/ECC Root CA 2022, and served at the leaves' AIA URLs)
into release 2026.9.1:
- SSL.com TLS Issuing RSA CA R1, TLS Issuing ECC CA R2
- SSL.com {OV,IV,EV} TLS Issuing {RSA,ECC} CA
- SSL.com {OV,IV,EV} TLS Transit {RSA,ECC} CA

Remove the 16 AAA-issued SSL.com cross-signs with remove-cert.sh. The
bundler ranks the AAA path highest while it exists, because the legacy
Android trust stores trust AAA, so adding the intermediates alone does
not change the chain. This includes the TLS Transit RSA/ECC CA R2
cross-signs, so Cloudflare TLS Issuing CAs also chain to Root CA 2022.

The AAA Certificate Services root stays in ca-bundle.crt.

Add a test asserting that no SSL.com TLS Issuing or Transit CA in
int-bundle.crt is issued by AAA Certificate Services. An AAA cross-sign
of SSL.com TLS Root CA 2022 is allowed as an optional extra for legacy
clients, because clients that trust Root CA 2022 stop there.
@mitch292
mitch292 force-pushed the amitchell/SECENG-14034 branch from 3c8b12c to 806f570 Compare September 28, 2026 15:43
@mitch292
mitch292 merged commit 5e667dc into master Sep 28, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants