it-swarm.cn

UNIX / Linux上的SSL证书位置

对于UNIX/Linux文件系统上应放置SSL证书和相关私钥的地方,是否有任何标准或约定?

121
John Topley

对于系统范围的使用,OpenSSL应该为您提供/etc/ssl/certs/etc/ssl/private。后者将被限制700root:root

如果您的应用程序未从root执行初始privsep,则可能适合将它们放置在应用程序本地的某个位置,且所有权和权限受到限制。

96
Dan Carley

这是Go查找公共根证书的地方

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

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

这将因发行而异。例如,在Amazon Linux实例(基于RHEL 5.x和RHEL6的某些部分,并与CentOS兼容)上,证书存储在/etc/pki/tls/certs,并且密钥存储在/etc/pki/tls/private。 CA证书具有自己的目录/etc/pki/CA/certs/etc/pki/CA/private。对于任何给定的发行版,尤其是在托管服务器上,我建议遵循已经可用的目录(和权限)结构(如果有)。

16
vallismortis

Ubuntu使用/etc/ssl/certs。它还具有命令update-ca-certificates,该命令将从/usr/local/share/ca-certificates安装证书。

因此,似乎建议您在/usr/local/share/ca-certificates中安装自定义证书并运行update-ca-certificates

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

2
Jonah Braun