Frage Speicherort des SSL-Zertifikats unter UNIX / Linux


Gibt es einen Standard oder eine Konvention dafür, wo SSL-Zertifikate und zugehörige private Schlüssel auf dem UNIX / Linux-Dateisystem laufen sollten?

Vielen Dank.


89
2017-09-04 15:57


Ursprung




Antworten:


Für den systemweiten Einsatz sollte OpenSSL Ihnen zur Verfügung stehen /etc/ssl/certs und /etc/ssl/private. Letzteres wird eingeschränkt 700 zu root:root.

Wenn Sie eine Anwendung haben, die kein initiales Privsep ausführt root dann könnte es für Sie angemessen sein, sie irgendwo lokal in der Anwendung mit den relevanten beschränkten Eigentumsrechten und Berechtigungen zu lokalisieren.


72
2017-09-04 16:07



Ich habe tatsächlich, danke Dan. - John Topley
ist das irgendwo standardisiert? Der Standard für die Dateisystemhierarchie enthält ihn nicht. - cweiske
@cweiske Dies scheint eine historische OpenSSL-Konvention zu sein, nicht formal standardisiert und meiner Meinung nach sehr unhandlich. Meine früheste Spur ist diese Version: rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/... - kubanczyk
Bemerkenswert, dass dies nur Debian basierte Distributionen sind. - Joshua Griffiths
Kann ich die SSL-Zertifikate (z. B. Let's Encrypt oder Cloudflare) auch für die Websites speichern? Vielen Dank! - Vladyslav Turak


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

Ebenfalls:

"/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

32
2017-09-16 08:06





Dies wird von Verteilung zu Verteilung variieren. Beispielsweise werden die Zertifikate auf Amazon Linux-Instanzen (basierend auf RHEL 5.x und Teilen von RHEL6 und kompatibel mit CentOS) gespeichert /etc/pki/tls/certs und die Schlüssel sind in gespeichert /etc/pki/tls/private. Die CA-Zertifikate haben ein eigenes Verzeichnis, /etc/pki/CA/certs und /etc/pki/CA/private. Für jede Distribution, insbesondere auf gehosteten Servern, empfehle ich, der bereits verfügbaren Verzeichnisstruktur (und Berechtigungen) zu folgen, falls eine verfügbar ist.


12
2018-06-18 23:37



Gleiches gilt für CentOS7, danke. - Jacob Evans


Wenn Sie nach einem Zertifikat suchen, das von Ihrer Tomcat-Instanz verwendet wird

  1. Öffnen Sie die Datei server.xml
  2. Suchen Sie nach dem SSL / TLS-Connector
  3. Sehen keystoreFile Attribut, das den Pfad zur Schlüsselspeicherdatei enthält.

Es sieht aus wie

<Connector
    protocol="org.apache.coyote.http11.Http11Protocol"
    port="8443" maxThreads="200"
    scheme="https" secure="true" SSLEnabled="true"
    keystoreFile="${user.home}/.keystore" keystorePass="changeit"
    clientAuth="false" sslProtocol="TLS" />

-1
2018-06-08 09:10