Lokasi Sertifikat SSL di UNIX / Linux

114

Apakah ada standar atau konvensi untuk ke mana sertifikat SSL dan kunci privat terkait harus digunakan pada sistem file UNIX / Linux?

Terima kasih.

John Topley
sumber

Jawaban:

90

Untuk penggunaan sistem secara luas, OpenSSL harus menyediakan Anda /etc/ssl/certsdan /etc/ssl/private. Yang terakhir yang akan dibatasi 700untuk root:root.

Jika Anda memiliki aplikasi yang tidak melakukan privsep awal dari rootmaka mungkin Anda cocok untuk menempatkan mereka di suatu tempat lokal untuk aplikasi dengan kepemilikan dan izin yang dibatasi secara relevan.

Dan Carley
sumber
4
apakah ini standar di suatu tempat? Standar hierarki sistem file tidak mengandungnya.
cweiske
1
@cweiske Tampaknya ini adalah konvensi OpenSSL historis, tidak terstandarisasi secara formal, dan yang sangat sulit menurut saya. Jejak saya paling awal adalah versi ini: rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/...
kubanczyk
6
Perlu dicatat bahwa ini hanya distro berbasis Debian.
Joshua Griffiths
2
Bisakah saya menyimpan sertifikat SSL (mis. Mari Enkripsi atau Cloudflare) untuk situs web di sini juga? Terima kasih!
Vladyslav Turak
1
Arch dan CentOS juga menyimpan sertifikat /etc/ssl/certssejauh yang saya bisa lihat
theferrit32
50

Di sinilah Go mencari sertifikat root publik :

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

Juga :

"/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
Timmmm
sumber
14

Ini akan bervariasi dari distribusi ke distribusi. Sebagai contoh, pada instance Amazon Linux (berdasarkan RHEL 5.x dan bagian-bagian dari RHEL6, dan kompatibel dengan CentOS), sertifikat disimpan /etc/pki/tls/certsdan kunci disimpan /etc/pki/tls/private. Sertifikat CA memiliki direktori sendiri, /etc/pki/CA/certsdan /etc/pki/CA/private. Untuk distribusi apa pun, terutama pada server yang dihosting, saya sarankan untuk mengikuti struktur direktori (dan izin) yang sudah tersedia, jika ada.

vallismortis
sumber
1
Sama untuk CentOS7 juga, terima kasih.
Jacob Evans
1

Ubuntu menggunakan /etc/ssl/certs. Ini juga memiliki perintah update-ca-certificatesyang akan menginstal sertifikat dari /usr/local/share/ca-certificates.

Jadi memasang sertifikat khusus Anda di dalam /usr/local/share/ca-certificatesdan menjalankan update-ca-certificatestampaknya direkomendasikan.

http://manpages.ubuntu.com/manpages/latest/man8/update-ca-certificates.8.html

Jonah Braun
sumber
-1

Jika Anda mencari sertifikat yang digunakan oleh instance Tomcat Anda

  1. Buka file server.xml
  2. Cari konektor SSL / TLS
  3. Lihat keystoreFileatribut yang berisi path ke file keystore.

Sepertinya

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