Existe-t-il une norme ou une convention concernant l'emplacement des certificats SSL et des clés privées associées sur le système de fichiers UNIX/Linux?
Pour une utilisation à l'échelle du système, OpenSSL devrait vous fournir /etc/ssl/certs
et /etc/ssl/private
. Ce dernier sera limité 700
à root:root
.
Si vous avez une application qui n'effectue pas une privsep initiale à partir de root
, il pourrait vous convenir de la localiser quelque part localement à l'application avec la propriété et les autorisations restreintes.
C'est là 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
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/certs
et les clés sont stockées dans /etc/pki/tls/private
. Les certificats CA ont leur propre répertoire, /etc/pki/CA/certs
et /etc/pki/CA/private
. Pour toute distribution donnée, en particulier sur les serveurs hébergés, je recommande de suivre la structure de répertoire (et les autorisations) déjà disponible, le cas échéant.
Ubuntu utilise /etc/ssl/certs
. Il a également la commande update-ca-certificates
qui installera les certificats de /usr/local/share/ca-certificates
.
Donc, installez vos certificats personnalisés dans /usr/local/share/ca-certificates
et en cours d'exécution update-ca-certificates
semble être recommandé.
http://manpages.ubuntu.com/manpages/latest/man8/update-ca-certificates.8.html