On Sat, Jul 18, 2026 at 11:10:01 +0100, David Woodhouse wrote:

> mozilla/certdata2pem.py inspects only CKA_TRUST_SERVER_AUTH when deciding
> whether to emit a root as a .crt file.  Any root Mozilla marks as
> CKT_NSS_MUST_VERIFY_TRUST for TLS is silently dropped from the
> ca-certificates output, even if Mozilla still marks it as
> CKT_NSS_TRUSTED_DELEGATOR for CKA_TRUST_EMAIL_PROTECTION or
> CKA_TRUST_CODE_SIGNING.
> 
(CKA_TRUST_CODE_SIGNING is always MUST_VERIFY_TRUST, so this is really
only relevant for email at this point)

> Mozilla now uses this asymmetric trust state as its standard mechanism
> for the *gradual retirement* of legacy roots (TLS distrusted first,
> S/MIME and code-signing retained for a further period).  Debian's
> converter collapses that graceful retirement into a total removal,
> silently breaking S/MIME verification for cert chains that Mozilla
> explicitly still trusts.
> 
The ca-certificates package is indeed not suitable for S/MIME
verification.  Bug #1107629 tracks creating a new package for that
purpose.  We'll probably need to decide on a location for these certs
and the corresponding bundle (e.g. /etc/smime/certs?), and then have
programs that do S/MIME verification start using that instead of
/etc/ssl/certs.

Cheers,
Julien

Reply via email to