UNIX/Linux 上的 SSL 证书位置

Joh*_*ley 157 linux unix ssl filesystems ssl-certificate

SSL 证书和相关私钥应该放在 UNIX/Linux 文件系统上的位置是否有任何标准或约定?

Dan*_*ley 118

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

如果您有不执行初始应用程序权限分离root,那么它可能适合你找到他们某处地方与贴切的限制所有权和权限的应用程序。

  • 值得注意的是,这只是基于 Debian 的发行版。 (9认同)
  • 这是在某处标准化吗?文件系统层次结构标准不包含它。 (4认同)
  • 这是不正确的。/etc/ssl/certs 用于根证书。不要在那里存储您的服务器证书。 (4认同)
  • @cweiske 这似乎是历史上的 OpenSSL 约定,没有正式标准化,在我看来是一个非常笨拙的约定。我最早的踪迹是这个版本:http://rpm.pbone.net/index.php3/stat/4/idpl/38501/dir/redhat_other/com/openssl-0.9.3a-3.i386.rpm.html (2认同)
  • 我也可以在这里存储网站的 SSL 证书(例如 Let's Encrypt 或 Cloudflare)吗?谢谢! (2认同)
  • 据我所知,Arch 和 CentOS 还将 ca 证书存储在 `/etc/ssl/certs` 中 (2认同)

Tim*_*mmm 92

这是 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/cert.pem",                                 // Alpine Linux
Run Code Online (Sandbox Code Playgroud)

还有

"/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
"/var/ssl/certs",               // AIX
Run Code Online (Sandbox Code Playgroud)


val*_*tis 20

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

  • CentOS7 也一样,谢谢。 (2认同)

Jon*_*aun 7

Ubuntu 使用/etc/ssl/certs. 它还具有update-ca-certificates将从/usr/local/share/ca-certificates.

因此/usr/local/share/ca-certificatesupdate-ca-certificates似乎建议安装并运行您的自定义证书。

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

  • /etc/ssl/certs 用于根证书。那不是存储服务器证书的地方。 (3认同)