Re: Trust bits for client auth

David Keeler <[email protected]> Wed, 10 Feb 2016 14:22:31 -0800
Newsgroups gmane.comp.mozilla.security
Message-ID <[email protected]>
Like Richard said, mozilla::pkix requires the trust anchor for a client
auth certificate to have the email trust bit set. However, if my
understanding is correct, the only time Firefox (or any gecko-based
product, I believe) asks mozilla::pkix to verify a client auth
certificate is in the certificate viewer, where the platform is trying
to answer the question, "What are all of the usages this certificate is
valid for?". So, that's really only for display purposes.

Indeed, (and again if my understanding is correct) it doesn't matter
what Firefox thinks of the trustworthiness of a client auth certificate.
It only matters what the server on the other end of the connection thinks.

That said, it would be a bit silly if Firefox offered to use a
certificate that it knew had no hope of being accepted by the server, so
there remains the question of how Firefox picks candidate certificates
that might be used as client auth certificates. For that, the platform
delegates to NSS, where as far as I can tell the trust bits are
irrelevant. That is, when the platform calls CERT_FindUserCertsByUsage
looking for certificates valid for the certUsageSSLClient usage, NSS
doesn't require a trust anchor.

Hope this helps,
David

On 02/10/2016 10:05 AM, Richard Barnes wrote:
> Actually, Keeler just reminded me that Firefox doesn't usually verify
> client certs, since it's the server's opinion of validity that matters. 
> I'll let him chime in with more detail.
> 
> On Wed, Feb 10, 2016 at 12:57 PM, Richard Barnes <[email protected]
> <mailto:[email protected]>> wrote:
> 
>     I happen to have been looking at this code today!  It turns out
>     (rather surprisingly) that the root is required to have the email
>     trust bit.
> 
>     https://dxr.mozilla.org/mozilla-central/source/security/certverifier/CertVerifier.cpp?from=CertVerifier.cpp#248
> 
>     (If someone wanted to file a bug to change that, I might be
>     favorably disposed.) Skimming through certdata.txt, it looks like
>     most of the included roots have this bit set.
> 
>     On Wed, Feb 10, 2016 at 12:30 PM, <[email protected]
>     <mailto:[email protected]>> wrote:
> 
>         Does Firefox put any restriction on which roots are trusted to
>         issue client auth certs? Does the root require a particular
>         trust bit?
>         _______________________________________________
>         dev-security mailing list
>         [email protected]
>         <mailto:[email protected]>
>         https://lists.mozilla.org/listinfo/dev-security
> 
> 
>

_______________________________________________
dev-security mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-security
signature.asc (application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJWu7gnAAoJEJBTbq/bQjV9Q2gP/Aj9z3M7rXAyxdOeugbqxR+8
d3iNDplEIOPQeLIahHHPFfdM+xw9A4S1kJUlRLfB/Msd9zWKewNh3c3O8Y880H0E
IafyYd1NvSJfha0wCt4zMggM+Xkp5/2Mzozqv0/tpvi3Tjfvg4rnYWFEksvcD3+7
caa28/mgA2S1YeYlhjA2kCooDu4/uy5gwqgYXKVo9PSjcWi8v2bGMi7oi3o5KgpI
PvtQayDmsPhKtxx5sYcnqdOlQ3Tn1XDS8JX8ouwt/WjkK+fNSAhqqiEbFgf2BWru
lBJ4FLnrji8gGqA3VVos9WvD8guKGytVfvj+hYV5g8+W29XSNaMSPTfwtDxA54Tz
OQ0xyHAZyeCmIYyeCDyNrdo4KWS+VWalfLRMnuxTQijcwaKTMYHoiQZRKblA+QmU
kuKgkkjD62kB0PYmY1gnz5wmb/WtpW4NcQBQpJ/5BGT1Ul4d/+1lvfgUBX3hQ5Wa
ysUEBNhd1UH5/HRuMWewunxnNBP+zJNeJae6KepGMiZyWUDfAbVgS1zOQd9uEHWP
iryxCEsDKWLzWwLDOUj04h1N2o4sFsYihbx5ZQDQcorCh8R76orFOqV9ofpIPWLk
dzC5XofWL3TVvj1K8Dd6vzE1w+yClcBpR6/YAFg/vV//KJzR/pgQbZEvfs3/CVr6
je+urMoX62xasvQaUSXE
=ylgt
-----END PGP SIGNATURE-----