题 UNIX / Linux上的SSL证书位置


SSL证书和相关私钥应该在UNIX / Linux文件系统上的哪些标准或约定?

谢谢。


89
2017-09-04 15:57






答案:


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

如果您的应用程序没有执行初始privsep root 那么它可能适合您在应用程序本地的某个位置找到相关限制的所有权和权限。


72
2017-09-04 16:07



我确实,谢谢丹。 - John Topley
这是标准化的吗?文件系统层次结构标准不包含它。 - cweiske
@cweiske这似乎是历史性的OpenSSL惯例,没有正式标准化,在我看来是一个非常笨拙的。我最早的痕迹就是这个版本: rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/... - kubanczyk
值得注意的是,这只是基于Debian的发行版。 - Joshua Griffiths
我可以在这里存储网站的SSL证书(例如Let's Encrypt或Cloudflare)吗?谢谢! - Vladyslav Turak


这是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

32
2017-09-16 08:06





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


12
2018-06-18 23:37



对于CentOS7也一样,谢谢。 - Jacob Evans


如果要查找Tomcat实例使用的证书

  1. 打开server.xml文件
  2. 搜索SSL / TLS连接器
  3. 看到 keystoreFile 包含keystore文件路径的属性。

看起来像

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

-1
2018-06-08 09:10