3 ms·
> Lastly, with asking consumers to install a CA certificate, I ask for a significantly more powerful permission than if I could just have them trust my certific
by est31 6y ago
> Lastly, with asking consumers to install a CA certificate, I ask for a significantly more powerful permission than if I could just have them trust my certificate.
CA certificates can be constrained. https://tools.ietf.org/html/rfc5280#section-4.2.1.10 https://tools.ietf.org/html/rfc5280#section-4.2.1.10
- toast0 6y agoAre common certificate validation libraries honoring these constraints? When I tried to use this many moons ago, most things ignored the constraints; although I could mark the extension critical, and then some (but not all, yay) of the things that didn't understand would refuse the CA.
- namibj 6y agoCan you name and shame those that ignored the critical extension? Sounds CVE-worthy. A date to guess the versions you used would also help.
- toast0 6y agoNo, it was on the order of 5 years ago; everybody was garbage back then. But, if this had become usable, I would expect to have seen articles about using it since then.
- est31 6y agoIDK NSS seems to have code to verify it: https://searchfox.org/mozilla-central/source/security/nss/lib/mozpkix/lib/pkixnames.cpp#285 https://searchfox.org/mozilla-central/source/security/nss/li... As does webpki: https://github.com/briansmith/webpki/blob/482627c40dad2148da8b9bf64c2c781ea30a7e4d/src/name.rs#L158 https://github.com/briansmith/webpki/blob/482627c40dad2148da... But haven't tested it (or checked other libraries).
- est31 6y agoUpdate: tested it with openssl and webpki. both claim to have support but it only works with openssl. For webpki I had to file two bugs: https://github.com/briansmith/webpki/issues/134 https://github.com/briansmith/webpki/issues/134 https://github.com/briansmith/webpki/issues/135 https://github.com/briansmith/webpki/issues/135
- loeg 6y agoHow do you actually generate a constrained CA certificate? I have tried to do this for a long time but openssl is inscrutable.
- est31 6y agoThere seems to be a guide for openssl here [0] but it seems kinda complicated. This discussion inspired me to add name constraints support to rcgen [2]. If you aren't afraid to write Rust, you should give using it a try. [0] https://www.marcanoonline.com/post/2016/09/restrict-certificate-authority-to-a-domain/ https://www.marcanoonline.com/post/2016/09/restrict-certific... [1] https://tools.ietf.org/html/rfc5280#page-41 https://tools.ietf.org/html/rfc5280#page-41 [2] https://github.com/est31/rcgen/commit/059cc19fcd1b8bb57feed5524dce8dd7f47d53db https://github.com/est31/rcgen/commit/059cc19fcd1b8bb57feed5...
- loeg 6y agoThanks!