Soluzione 1:
Per un utilizzo a livello di sistema, OpenSSL dovrebbe fornire /etc/ssl/certs
e /etc/ssl/private
. L'ultimo dei quali sarà limitato 700
a root:root
.
Se hai un'applicazione che non esegue un privsep iniziale da root
allora potrebbe essere opportuno localizzarli da qualche parte in locale rispetto all'applicazione con la proprietà e le autorizzazioni opportunamente limitate.
Soluzione 2:
Qui è dove Go cerca i certificati root pubblici:
"/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL 6
"/etc/ssl/ca-bundle.pem", // OpenSUSE
"/etc/pki/tls/cacert.pem", // OpenELEC
"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", // CentOS/RHEL 7
"/etc/ssl/cert.pem", // Alpine Linux
Inoltre:
"/etc/ssl/certs", // SLES10/SLES11, https://golang.org/issue/12139
"/system/etc/security/cacerts", // Android
"/usr/local/share/certs", // FreeBSD
"/etc/pki/tls/certs", // Fedora/RHEL
"/etc/openssl/certs", // NetBSD
"/var/ssl/certs", // AIX
Soluzione 3:
Questo varierà da distribuzione a distribuzione. Ad esempio, sulle istanze Amazon Linux (basate su RHEL 5.x e parti di RHEL6 e compatibili con CentOS), i certificati vengono archiviati in /etc/pki/tls/certs
e le chiavi sono memorizzate in /etc/pki/tls/private
. I certificati CA hanno la propria directory, /etc/pki/CA/certs
e /etc/pki/CA/private
. Per qualsiasi distribuzione, in particolare sui server ospitati, consiglio di seguire la struttura della directory (e dei permessi) già disponibile, se disponibile.
Soluzione 4:
Ubuntu utilizza /etc/ssl/certs
. Ha anche il comando update-ca-certificates
che installerà i certificati da /usr/local/share/ca-certificates
.
Quindi installa i tuoi certificati personalizzati in /usr/local/share/ca-certificates
ed eseguendo update-ca-certificates
sembra essere raccomandato.
http://manpages.ubuntu.com/manpages/latest/man8/update-ca-certificates.8.html