You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v0.8.2: CA trust — Firefox enterprise_roots + Chrome ~/.pki/nssdb (follow-up to #11)
After v0.8.1 fixed the leaf cert extensions, users reported "still
broken" — specifically Firefox showing:
"Software is Preventing Firefox From Safely Connecting to This Site.
drive.google.com ... This issue is caused by MasterHttpRelayVPN"
for HSTS-preloaded sites. That error is Firefox's "MITM detected AND
issuing CA isn't in my trust store" path combined with HSTS blocking
the normal override button — so users were stuck with no workaround.
Real root cause of the "still broken" reports: the CA was making it
into the OS trust store (Windows cert store / update-ca-certificates
on Linux) but NOT into the browser-specific trust stores that
Firefox and Chrome use on every OS.
Three additions:
1. Firefox: .
For every Firefox profile we find, we now write this pref to the
profile's user.js. It tells Firefox to trust the OS CA store, so
our already-successful system-level install automatically covers
Firefox on next startup. Critical on Windows (NSS certutil isn't
on PATH there, so the certutil-based Firefox install never
worked). Idempotent — checks for existing pref before writing
and leaves a non-matching user value alone.
2. Chrome/Chromium on Linux: install into ~/.pki/nssdb.
Linux Chrome uses its own shared NSS DB, independent of both the
OS store (populated by update-ca-certificates) AND Firefox's
per-profile NSS. Without this, users installed the CA via
run.sh, Chrome still refused every HTTPS site, and they spiraled
trying to re-install the CA. We now also initialize that DB
with if it doesn't exist yet.
3. Refactored the NSS-install path so Firefox and Chrome share a
single install_nss_in_dir() helper. Renamed the top-level entry
from install_firefox_nss to install_nss_stores to match scope.
Locally verified the cert itself is fine — openssl x509 -text shows
Version 3, SAN, KeyUsage (critical), ExtendedKeyUsage, and
passes. So the leaf is correct;
what was failing was the trust-chain validation inside the specific
browser because our CA wasn't in THAT browser's trust DB.
Upgrade path: download v0.8.2 and run the launcher or
`./mhrv-rs --install-cert`. Restart Firefox/Chrome after install —
Firefox needs the restart to re-read user.js.
0 commit comments