[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#46779: GnuTLS uses the hard-coded /etc/ssl/certs location for TLS ce
From: |
Maxim Cournoyer |
Subject: |
bug#46779: GnuTLS uses the hard-coded /etc/ssl/certs location for TLS certificates |
Date: |
Mon, 11 Nov 2024 00:17:06 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi,
I was looking at what Nix does, and they carry this patch, under
pkgs/development/libraries/gnutls/nix-ssl-cert-file.patch:
--8<---------------cut here---------------start------------->8---
allow overriding system trust store location via $NIX_SSL_CERT_FILE
--- a/lib/system/certs.c
+++ b/lib/system/certs.c
@@ -404,6 +404,10 @@
gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t list,
unsigned int tl_flags,
unsigned int tl_vflags)
{
- return add_system_trust(list, tl_flags | GNUTLS_TL_NO_DUPLICATES,
- tl_vflags);
+ tl_flags = tl_flags|GNUTLS_TL_NO_DUPLICATES;
+ const char *file = secure_getenv("NIX_SSL_CERT_FILE");
+ return file
+ ? gnutls_x509_trust_list_add_trust_file(
+ list, file, NULL/*CRL*/, GNUTLS_X509_FMT_PEM, tl_flags,
tl_vflags)
+ : add_system_trust(list, tl_flags, tl_vflags);
}
--8<---------------cut here---------------end--------------->8---
I guess we could rename NIX_SSL_CERT_FILE to just SSL_CERT_FILE in the
above patch and add the $SSL_CERT_FILE search path to bring us closer to
what OpenSSL supports?
I got interested in this problem again as the glib-networking now expect
a valid trust store to exist, and fails half its test suite without it
(and gnutls expecting a fixed location, I can't (easily?) fix this in
the build environment).
--
Thanks,
Maxim
- bug#46779: GnuTLS uses the hard-coded /etc/ssl/certs location for TLS certificates,
Maxim Cournoyer <=