温馨提示×

Debian怎样提取证书

小樊
36
2026-08-06 17:46:20
栏目: 智能运维

在 Debian 系统中提取证书(通常指 SSL/TLS 证书,如 .pem.crt.cer 等),常见场景和对应方法如下:


一、从网站提取证书(最常见)

方法 1:使用 openssl(推荐)

openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null \
| openssl x509 -outform PEM > example.com.pem

说明:

  • example.com:目标域名
  • example.com.pem:导出的证书文件
  • 默认只导出 服务器证书,不包含中间证书

导出完整证书链(服务器 + 中间 CA)

openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null \
| awk '/BEGIN CERTIFICATE/,/END CERTIFICATE/' > fullchain.pem

二、从系统证书库提取(Debian 自带 CA)

Debian 的 CA 证书通常位于:

/etc/ssl/certs/

查看已有证书

ls /etc/ssl/certs/

复制某个 CA 证书

cp /etc/ssl/certs/GlobalSign_Root_CA.pem ~/GlobalSign.pem

注意:该目录中的文件很多是 符号链接


三、从 .p12 / .pfx 文件中提取证书

提取证书(不含私钥)

openssl pkcs12 -in cert.p12 -nokeys -out cert.pem

提取私钥

openssl pkcs12 -in cert.p12 -nocerts -out key.pem

提取完整(证书 + 私钥)

openssl pkcs12 -in cert.p12 -out full.pem -nodes

四、从 Nginx / Apache 配置中提取

Nginx

cat /etc/nginx/ssl/fullchain.pem
cat /etc/nginx/ssl/privkey.pem

Apache

cat /etc/apache2/ssl/cert.pem

五、从二进制或 Java Keystore 提取(进阶)

Java Keystore(JKS)

keytool -exportcert -alias mycert -keystore keystore.jks -rfc -file cert.pem

六、验证证书内容

openssl x509 -in example.com.pem -text -noout

七、常见问题

Q1:证书格式转换

# PEM → DER
openssl x509 -outform der -in cert.pem -out cert.der

# DER → PEM
openssl x509 -inform der -in cert.der -out cert.pem

Q2:Debian 没有 openssl?

sudo apt update
sudo apt install openssl

如果你能说明 具体场景(例如:从浏览器、从 HTTPS 网站、从 Exchange、从 Docker、从 Kubernetes、从某个软件),我可以给你更精确的命令。

0