-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
ship root SSL certificates along with ziglang.org-vendored tarballs #14168
Comments
Curl seems to host a CA bundle (~221K) extracted from Mozilla: https://curl.se/docs/caextract.html Direct link: https://curl.se/ca/cacert.pem
The upstream sources for this are over at Mozillas VCS: https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt Tool in question is here: https://curl.se/docs/mk-ca-bundle.html Click to expand CA list
|
Does it even matter? If the hash is correct, we don't care about the identity of the domain in valid. TLS certificates also need to be checked for update regularly, due to potential CA security breach. |
Wouldn't it be better to try to use the system root CAs, but when they are unavail fallback to the embeded roots? |
In my opinion, this should be a compile-time option, to avoid bloating the binary in cases where it would be harmful. |
Normally, it is best for applications to rely on their system for providing root SSL certificates. However, Zig is a bit of a special case because it aims to be "Dependency Zero" - a self-contained binary that one can use to build & install other things.
In order to do this consistently across the many different platforms that Zig aims to target, dependencies must be eliminated. There are environments where we want the zig package manager to work, for example, that will not necessarily have any root certificates installed.
Other notable applications that ship their own certificates:
These certificates would be file(s) inside of a sub-directory in
lib
. Any std lib code that needs astd.Certificate.Bundle
would use@embedFile
to obtain this set, and then at runtime augment it with the ones found locally on the OS, if any.Open questions:
The text was updated successfully, but these errors were encountered: