温馨提示×

Linux openssl证书在哪

小樊
37
2026-07-01 15:43:57
栏目: 云计算

在 Linux 系统中,OpenSSL 证书的位置取决于你是问“OpenSSL 本身使用的证书”,还是“你自己用 OpenSSL 生成的证书”。下面分情况说明,最常用的是前两种。


一、系统默认的 CA 证书(OpenSSL 信任的证书)

OpenSSL 在验证证书时,通常会使用系统存放的 CA 证书(根证书)

常见路径(按发行版)

✅ Ubuntu / Debian

/etc/ssl/certs/
  • 证书文件(通常是 PEM 格式)
  • OpenSSL 默认会读取:
/etc/ssl/certs/ca-certificates.crt

✅ CentOS / RHEL / Rocky / Alma

/etc/pki/tls/certs/
  • CA 证书包:
/etc/pki/tls/certs/ca-bundle.crt

✅ 通用(OpenSSL 编译时指定)

/usr/lib/ssl/
/usr/local/ssl/

二、OpenSSL 配置文件位置(很重要)

OpenSSL 的证书路径通常在配置文件中定义:

/etc/ssl/openssl.cnf

你可以查看:

openssl version -d

示例输出:

OPENSSLDIR: "/usr/lib/ssl"

然后查看:

cat /usr/lib/ssl/openssl.cnf

其中可能包含:

[ CA_default ]
dir = ./demoCA
certs = $dir/certs

三、你自己用 OpenSSL 生成的证书在哪?

如果你是自己生成证书,默认 不会自动放到系统目录,而是在你执行命令的当前目录。

常见生成例子

openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt

生成文件:

server.key   # 私钥
server.crt   # 证书

你可以手动放到:

/etc/ssl/private/   # 私钥(权限 600)
/etc/ssl/certs/     # 证书

四、查看某个证书的位置(如果你不确定)

查看某个证书内容

openssl x509 -in server.crt -text -noout

查找证书文件

find /etc -name "*.crt" 2>/dev/null

五、快速判断 OpenSSL 用哪个 CA 文件

openssl version -a

或:

openssl s_client -connect www.baidu.com:443

它会显示正在使用的 CA、证书链等。


六、总结速查表

类型 路径
Ubuntu CA 证书 /etc/ssl/certs/
Ubuntu CA 包 /etc/ssl/certs/ca-certificates.crt
CentOS CA 包 /etc/pki/tls/certs/ca-bundle.crt
OpenSSL 配置 /etc/ssl/openssl.cnf
自定义证书 当前目录(或你指定的)

如果你愿意,可以告诉我:

  • 你用的是哪种 Linux
  • 你是想查系统证书,还是自己生成的
  • 是 HTTPS / Nginx / Docker / Git / curl 用证书?

我可以给你更精确的回答 ✅

0