Lokalizacja certyfikatu SSL w systemie UNIX / Linux


Odpowiedzi:


90

Do użytku ogólnosystemowego OpenSSL powinien zapewnić /etc/ssl/certsi /etc/ssl/private. Ten ostatni będzie ograniczony 700do root:root.

Jeśli masz aplikację, która nie wykonuje początkowego przywileju root, może być wskazane zlokalizowanie jej gdzieś w pobliżu aplikacji z odpowiednio ograniczonym prawem własności i uprawnieniami.


4
czy to gdzieś jest znormalizowane? Standard hierarchii systemu plików go nie zawiera.
cweiske,

1
@cweiske Wydaje się, że jest to historyczna konwencja OpenSSL, nie formalnie ujednolicona i moim zdaniem bardzo niewygodna. Mój najwcześniejszy ślad to ta wersja: rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/…
kubańczyk

6
Warto zauważyć, że jest to tylko dystrybucja oparta na Debianie.
Joshua Griffiths,

2
Czy mogę tutaj przechowywać certyfikaty SSL (np. Let's Encrypt lub Cloudflare)? Dzięki!
Vladyslav Turak

1
Arch i CentOS przechowują również certyfikaty ca, /etc/ssl/certso ile widzę
theferrit32

50

Oto, gdzie Go szuka publicznych certyfikatów głównych :

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

Również :

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

Różni się to w zależności od dystrybucji. Na przykład w instancjach Amazon Linux (opartych na RHEL 5.xi częściach RHEL6 i kompatybilnych z CentOS) certyfikaty są przechowywane, /etc/pki/tls/certsa klucze są przechowywane /etc/pki/tls/private. Certyfikaty CA mają własny katalog /etc/pki/CA/certsoraz /etc/pki/CA/private. W przypadku dowolnej dystrybucji, szczególnie na serwerach hostowanych, zalecam przestrzeganie już dostępnej struktury katalogów (i uprawnień), jeśli taka jest dostępna.


1
To samo dotyczy CentOS7, dziękuję.
Jacob Evans


-1

Jeśli szukasz certyfikatu używanego przez instancję Tomcat

  1. Otwórz plik server.xml
  2. Wyszukaj złącze SSL / TLS
  3. Zobacz keystoreFileatrybut zawierający ścieżkę do pliku kluczy.

To wygląda jak

<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" />
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.