Support Chromium's new NSS DB path on Linux (default since M146)

Aperta
#671 0 commenti 2 reazioni 0 assegnatari Vedi su GitHub

@cyphercodes ci sta già lavorando.

Dal 6/7/2026.

  • #672 di @cyphercodes — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
66/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
go, linux

Direzione di ricerca

Inizia dal punto di ingresso mkcert -install che individua i database NSS su Linux, quindi confronta le loro posizioni attuali con il percorso successivo a M146 documentato da Chromium. Il lavoro è completato quando un ambiente Chromium M146+ nuovo riceve la CA di mkcert nel nuovo database NSS; verifica il comportamento di installazione pertinente su Linux e mantieni il supporto per la posizione precedente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

On Linux, since Chromium M146, the default NSS shared-DB location moved from ~/.pki/nssdb to ~/.local/share/pki/nssdb. mkcert only searches the old locations, so when a modern Chromium creates its DB at the new path and there's no legacy ~/.pki/nssdb, mkcert -install finds no browser NSS DB and silently skips the Chrome/Chromium trust store. Chrome then rejects mkcert-issued certs with ERR_CERT_AUTHORITY_INVALID.

An environment that previously ran a pre-M146 Chromium already has a ~/.pki/nssdb, so Chromium keeps using it and the problem stays masked. Environments built from scratch such as CI, and use M146+ Chromium, don't have the old ~/.pki/nssdb and hit the failure.

Reference (Chromium docs):

Since M146, Chromium defaults to $HOME/.local/share/pki/nssdb for the NSS Shared DB. If you still have an existing $HOME/.pki/nssdb database, Chromium will use that instead.

https://chromium.googlesource.com/chromium/src/+/main/docs/linux/cert_management.md

Details

mkcert doesn't recognize the new location, so mkcert -install doesn't add the CA there.

Environment

  • Linux, Chromium >= 147 (e.g. bundled by Playwright 1.59+, which jumped 145 -> 147)
  • Fresh CI environment (clean install every run)
  • mkcert v1.4.4

Workaround

Until mkcert searches the new path, create the legacy DB before installing. Chromium uses ~/.pki/nssdb when it exists (per the doc above), and mkcert then has a DB to install the CA into:

mkdir -p "$HOME/.pki/nssdb"
certutil -d "sql:$HOME/.pki/nssdb" -N --empty-password
mkcert -install
Lingua principale
Go
Stelle
59.8k
Fork
3.3k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di FiloSottile/mkcert

Tutte le issue di FiloSottile/mkcert

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.