温馨提示×

centos如何导入证书

小樊
55
2026-07-21 09:57:33
栏目: 智能运维

在 CentOS 中“导入证书”通常指将 CA 证书或自签名证书加入系统信任,以便 curlwget、Java、Docker、浏览器等程序能信任该证书。下面按常见场景说明。


一、CentOS 7 / 8 / Stream 通用(系统级 CA 证书)

1️⃣ 准备证书文件

证书一般是 .crt.pem.cer 格式,例如:

server.crt

2️⃣ 复制到系统证书目录

sudo cp server.crt /etc/pki/ca-trust/source/anchors/

3️⃣ 更新系统 CA 信任

sudo update-ca-trust

✅ 完成后:

  • curlwget、系统程序会自动信任
  • 证书对所有用户生效

二、只为 curl / wget 导入(非系统级)

curl

curl -k https://example.com        # 跳过验证(不推荐)

或者:

curl --cacert /path/to/server.crt https://example.com

wget

wget --ca-certificate=/path/to/server.crt https://example.com

三、Java 应用导入证书(JDK/JRE)

1️⃣ 找到 keytool

$JAVA_HOME/bin/keytool

2️⃣ 导入证书

sudo $JAVA_HOME/bin/keytool \
  -import \
  -alias mycert \
  -file server.crt \
  -keystore $JAVA_HOME/lib/security/cacerts \
  -storepass changeit

✅ 默认密码:changeit


四、Nginx / Apache 使用证书(不是“导入”)

如果是 配置 HTTPS,不是导入信任,而是:

Nginx

ssl_certificate     /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;

Apache

SSLCertificateFile /etc/httpd/ssl/server.crt
SSLCertificateKeyFile /etc/httpd/ssl/server.key

五、Docker 导入证书

信任私有仓库证书

sudo mkdir -p /etc/docker/certs.d/your-registry:5000
sudo cp server.crt /etc/docker/certs.d/your-registry:5000/ca.crt
sudo systemctl restart docker

六、浏览器(Firefox / Chrome)

  • Firefox:设置 → 隐私与安全 → 证书 → 导入
  • Chrome:使用系统证书(CentOS 下依赖系统 CA)

七、常见问题排查

❌ 证书不生效

  • 证书格式错误(必须是 PEM)
  • 忘记执行 update-ca-trust
  • Java 程序未重启
  • 证书链不完整(缺少中间证书)

✅ 验证是否生效

openssl verify server.crt

或:

curl https://example.com

八、总结(最常用)

CentOS 系统级导入证书(推荐)

sudo cp server.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

如果你能说明具体场景(例如:私有仓库、HTTPS 服务、Java、Docker、K8s、浏览器),我可以给你更精确的命令

0