4 ms·
Run your own CA internally and handle the CA distribution problem with MDM tools.
by dharmab 6y ago
Run your own CA internally and handle the CA distribution problem with MDM tools.
- lawnchair_larry 6y agoThat is also an insane and unrealistic suggestion.
- xg15 6y agoI admit, that's a solution, even if a very unpleasant one: Installing a custom root CA is intentionally complicated, so this is hardly doable as an onboarding experience. The setup must be repreated for every single client device that should access the server. There remains the question how I would get the CA certificate onto client devices in the first place. 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. This seems like a step backwards security-wise.
- 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!
- p2t2p 6y agoIt is no more complicated than a self signed certificate. Two clicks in Firefox, 4 taps in iOS
- elcritch 6y agoEvery time and no tracking if device indentity changes.