Řešení 1:
Pro použití v celém systému by vám OpenSSL mělo poskytnout /etc/ssl/certs
a /etc/ssl/private
. Poslední z nich bude omezena 700
do root:root
.
Pokud máte aplikaci, která neprovádí počáteční privsep z root
pak by vám mohlo vyhovovat, když je umístíte někde lokálně k aplikaci s příslušně omezeným vlastnictvím a oprávněními.
Řešení 2:
Zde Go hledá veřejné kořenové certifikáty:
"/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
Také:
"/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
Řešení 3:
To se bude lišit distribuci od distribuce. Například v instancích Amazon Linux (založených na RHEL 5.xa částech RHEL6 a kompatibilních s CentOS) jsou certifikáty uloženy v /etc/pki/tls/certs
a klíče jsou uloženy v /etc/pki/tls/private
. Certifikáty CA mají svůj vlastní adresář /etc/pki/CA/certs
a /etc/pki/CA/private
. Pro jakoukoli danou distribuci, zejména na hostovaných serverech, doporučuji postupovat podle již dostupné struktury adresářů (a oprávnění), pokud je k dispozici.
Řešení 4:
Ubuntu používá /etc/ssl/certs
. Má také příkaz update-ca-certificates
který nainstaluje certifikáty z /usr/local/share/ca-certificates
.
Instalace vlastních certifikátů v /usr/local/share/ca-certificates
a spuštěn update-ca-certificates
se zdá být doporučeno.
http://manpages.ubuntu.com/manpages/latest/man8/update-ca-certificates.8.html