UNIX / Linux上的SSL证书位置


Answers:


90

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

如果您的应用程序从此开始不执行初始privsep,root则可能适合将它们放置在具有相关限制的所有权和权限的应用程序本地位置。


4
这在某个地方标准化吗?文件系统层次结构标准不包含它。
cweiske 2013年

1
@cweiske这似乎是历史悠久的OpenSSL约定,尚未正式标准化,在我看来这是一个非常笨拙的约定。我最早的轨迹是这个版本:rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/...
kubanczyk

6
值得注意的是,这只是基于Debian的发行版。
约书亚·格里菲斯

2
我也可以在这里存储网站的SSL证书(例如,让我们加密或Cloudflare)吗?谢谢!
Vladyslav Turak

1
/etc/ssl/certs据我所知,Arch和CentOS还存储ca证书
theferrit32

50

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

14

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


1
同样适用于CentOS7,谢谢。
雅各布·埃文斯


-1

如果您正在寻找Tomcat实例使用的证书

  1. 打开server.xml文件
  2. 搜索SSL / TLS连接器
  3. 请参阅keystoreFile包含密钥库文件路径的属性。

看起来像

<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" />
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.