Speicherort des SSL-Zertifikats unter UNIX / Linux


114

Gibt es einen Standard oder eine Konvention dafür, wo SSL-Zertifikate und zugehörige private Schlüssel im UNIX / Linux-Dateisystem gespeichert werden sollen?

Vielen Dank.

Antworten:


90

Für den systemweiten Einsatz sollte OpenSSL Ihnen /etc/ssl/certsund zur Verfügung stellen /etc/ssl/private. Letzteres wird beschränkt 700auf root:root.

Wenn Sie eine Anwendung haben, die ab diesem rootZeitpunkt kein erstes Privileg ausführt, ist es möglicherweise angebracht, sie an einem für die Anwendung lokalen Ort mit den entsprechend eingeschränkten Eigentumsrechten und Berechtigungen zu lokalisieren.


4
Ist das irgendwo standardisiert? Der Dateisystem-Hierarchiestandard enthält es nicht.
Cweiske

1
@cweiske Dies scheint eine historische OpenSSL-Konvention zu sein, die formal nicht standardisiert und meiner Meinung nach sehr unhandlich ist. Meine früheste Spur ist diese Version: rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/…
kubanczyk

6
Erwähnenswert ist, dass dies nur Debian-basierte Distributionen sind.
Joshua Griffiths

2
Kann ich auch hier die SSL-Zertifikate (zB Let's Encrypt oder Cloudflare) für die Websites speichern? Vielen Dank!
Vladyslav Turak

1
Arch und CentOS speichern auch Zertifikate, /etc/ssl/certssoweit ich sehen kann
theferrit32

50

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

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

14

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


1
Dasselbe gilt auch für CentOS7. Danke.
Jacob Evans


-1

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. Siehe keystoreFileAttribut, das den Pfad zur Keystore-Datei 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" />
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.