Emplacement du certificat SSL sous UNIX / Linux

114

Existe-t-il une norme ou une convention en ce qui concerne les certificats SSL et les clés privées associées sur le système de fichiers UNIX / Linux?

Merci.

John Topley
la source

Réponses:

90

Pour une utilisation à l’échelle du système, OpenSSL devrait vous fournir /etc/ssl/certset /etc/ssl/private. Ce dernier sera limité 700à root:root.

Si une application n'effectue pas une première opération privsep, rootil peut être judicieux de la localiser à un emplacement local de l'application avec les droits de propriété et les autorisations restreintes pertinents.

Dan Carley
la source
4
est-ce normalisé quelque part? La norme de hiérarchie du système de fichiers ne la contient pas.
Cweiske
1
@ cweiske Cela semble être une convention historique OpenSSL, non formellement normalisée, et très lourde à mon avis. Ma première trace est cette version: rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/…
kubanczyk le
6
Il convient de noter qu’il s’agit uniquement de distributions basées sur Debian.
Joshua Griffiths
2
Pourrais-je également stocker les certificats SSL (par exemple, Let's Encrypt ou Cloudflare) pour les sites Web? Merci!
Vladyslav Turak
1
Arch et CentOS stockent également des /etc/ssl/certs
certificats de musique
50

C'est ici que Go recherche les certificats racine publics :

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

Aussi :

"/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
la source
14

Cela variera d'une distribution à l'autre. Par exemple, sur les instances Amazon Linux (basées sur RHEL 5.x et des parties de RHEL6 et compatibles avec CentOS), les certificats sont stockés dans, /etc/pki/tls/certsainsi que les clés /etc/pki/tls/private. Les certificats de l'autorité de certification ont leur propre répertoire /etc/pki/CA/certset /etc/pki/CA/private. Pour toute distribution donnée, en particulier sur les serveurs hébergés, il est recommandé de suivre la structure de répertoires (et d'autorisations) déjà disponible, le cas échéant.

Vallismortis
la source
1
Même chose pour CentOS7, merci.
Jacob Evans
1

Ubuntu utilise /etc/ssl/certs. Il a également la commande update-ca-certificatesqui va installer les certificats de /usr/local/share/ca-certificates.

L'installation de vos certificats personnalisés /usr/local/share/ca-certificateset leur exécution update-ca-certificatessemblent donc être recommandés.

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

Jonah Braun
la source
-1

Si vous recherchez un certificat utilisé par votre instance Tomcat

  1. Ouvrez le fichier server.xml
  2. Rechercher un connecteur SSL / TLS
  3. Voir l' keystoreFileattribut qui contient le chemin d'accès au fichier de magasin de clés.

On dirait

<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
la source