-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Find alternatives to Mozilla cert list on Linux #363
Comments
@StefanKarpinski and I just had another chat, and for now the strategy would be to a) use system certs, but b) detect Debian and on Debian don't use them by default, but have users opt-in to using system certs via some env var. |
https://crates.io/crates/os_info might be useful (thanks to @wolthom for finding it!). |
Here's the logic we use in NetworkOptions: I'm not sure if juliaup uses OpenSSL on Linux; if it does, it can probably skip the logic in there that skips over pem files that only contain OpenSSL-specific I based this off of a combination of what Rust and Go do when looking at these files and it seems to work pretty well (we needed to do some reordering at some point). If you wanted, we could put this list somewhere common that you could download it during the rustup build process and likewise NetworkOptions could grab it from there. Otherwise we could just try to keep the lists in sync—they shouldn't have to change often. A comment saying to change the other if one of theses changes might suffice. |
Looking at this issue in an attempt to close out the public release for Linux & MacOS milestone. |
@StefanKarpinski @davidanthoff After searching around in the Here is an explanation of how to use If I read the |
@wolthom Indeed, we should be able to just use the As long as There's the remaining issue of whether one would want to rely on the
The mentioned problematic root certs were removed in versions 20190110 and 20200601 of It seems to me the only problems with system root certs on Debian that could arise for
We could attempt to get the best of both worlds by merging system certificates (allowing the use case behind MITM firewalls) with builtin certificates (as fallback for bad system certificates), but I'm not sure that's worth the effort. TL;DR From my view, I think changing to system certificates is the way to go. I don't see why Debian's |
So, this is simply a policy decision. Right now, it is using the Mozilla list on Linux. #368 would change it to use system certificate list on Linux, i.e. align things with the state on Windows and Mac. If there is a consensus that that is OK from a security point of view, we can just merge #368 and that should be all that is needed, AFAIK. |
I agree with @Firionus: it may be the case that Debian system certs are not good, but that's frankly not our problem. Debian should get their shit together, or admins/users should stop using Debian, or they should at least replace the system certs with better ones. In all cases, not Julia's responsibility. |
I think this should probably be reverted once the
pemfile
dependency is upgraded to include rustls/pemfile#7. Yes, the Mozilla certs a known good, so why not use them? Because many users are behind MITM proxying firewalls and the connection will fail using only public certs. On such systems, a sysadmin will typically have added the CA root cert for the firewall to the system so that secure connections can be made. By using Mozilla certs, that will stop working.Originally posted by @StefanKarpinski in #335 (comment)
The text was updated successfully, but these errors were encountered: