Historically, on Linux trusted certificates management has been terrible. Different libraries use different sources for trusted certificates, which is weird and inconsistent. Also, there are configurability and portability issues.
NixOS/Nixpkgs attempts to solve this by patching libraries to support reading the path to the CA bundle from an environment variable. This approach actually solves all of the issues above (except for the inconsistency, unless applied to all existing crypto libraries).
openssl
: looks for the NIX_SSL_CERT_FILE
variablegnutls
: unmerged PR (suggested to send upstream; not yet sent, AFAIU), new PRThere was a discussion on the gnutls
mailing list where one of Guix developers proposed such a patch. Although not rejecting the idea, upstream suggested looking at p11-kit
instead, so the question now is whether it will help us.
A set of standards and tools for coordinating the use of PKCS#11 (whatever this means) by applications or libraries. Most importantly, they make p11-kit
, which contains the Trust Policy Module, i.e. a library for discovering things like trusted certificates and blacklists.
openssl
: ??gnutls
: has a module that allows it to use p11-kit
as a trust store.