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