Lösung 1:
Für die systemweite Verwendung sollte OpenSSL Ihnen /etc/ssl/certs bereitstellen und /etc/ssl/private . Letzteres wird eingeschränkt 700 bis root:root .
Wenn Sie eine Anwendung haben, die kein anfängliches Privsep von root ausführt dann könnte es Ihnen passen, sie irgendwo lokal in der Anwendung mit den entsprechend eingeschränkten Eigentumsrechten und Berechtigungen zu platzieren.
Lösung 2:
Hier sucht Go nach öffentlichen Stammzertifikaten:
"/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
Auch:
"/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
Lösung 3:
Dies ist von Distribution zu Distribution unterschiedlich. Auf Amazon Linux-Instances (basierend auf RHEL 5.x und Teilen von RHEL6 und kompatibel mit CentOS) werden die Zertifikate beispielsweise in /etc/pki/tls/certs gespeichert und die Schlüssel werden in /etc/pki/tls/private gespeichert . Die CA-Zertifikate haben ein eigenes Verzeichnis, /etc/pki/CA/certs und /etc/pki/CA/private . Für jede gegebene Distribution, insbesondere auf gehosteten Servern, empfehle ich, der bereits verfügbaren Verzeichnis- (und Berechtigungs-) Struktur zu folgen, falls eine verfügbar ist.
Lösung 4:
Ubuntu verwendet /etc/ssl/certs . Es hat auch den Befehl update-ca-certificates wodurch Zertifikate von /usr/local/share/ca-certificates installiert werden .
Installieren Sie also Ihre benutzerdefinierten Zertifikate in /usr/local/share/ca-certificates und Ausführen von update-ca-certificates scheint zu empfehlen.
http://manpages.ubuntu.com/manpages/latest/man8/update-ca-certificates.8.html