文档中心
SSL璇佷功PEM鏍煎紡鑾峰彇鎸囧崡5绉嶅疄鐢ㄦ柟娉曡瑙?txt
时间 : 2025-09-27 16:38:48浏览量 : 2

****
SSL证书是网站安全的"身份证",而PEM格式是最通用的证书格式之一。作为网络安全工程师,我经常遇到需要提取PEM证书的场景。今天就用大白话教你5种获取PEM证书的实战方法,附带真实案例演示。
一、什么是PEM证书?
PEM就像证书界的"普通话",特点是:
- 以`--BEGIN CERTIFICATE--`开头
- 以`--END CERTIFICATE--`结尾
- 内容采用Base64编码(看起来像乱码的字母数字)
常见使用场景:
1. Nginx/Apache服务器配置
2. 客户端代码验证(如Python requests)
3. 证书链合并
二、5种获取PEM证书的方法
方法1:从网站直接导出(适合紧急情况)
步骤:
1. Chrome访问目标网站 → 点击地址栏锁图标 ??
2. 选择"证书" → "详细信息" → "复制到文件"
3. 选择"Base64编码X.509(.CER)"
案例:
上周客户紧急需要微信支付的API证书,但后台下载的是PFX格式。我们用这个方法10秒就拿到了PEM:
```
--BEGIN CERTIFICATE--
MIIFazCCA1OgAwIBAgIQA...(后续省略)
--END CERTIFICATE--
方法2:OpenSSL转换(万能工具)
当你有其他格式证书时:
```bash
PKCS12转PEM(需输入密码)
openssl pkcs12 -in cert.pfx -out cert.pem -nodes
DER转PEM
openssl x509 -inform der -in cert.der -out cert.pem
典型错误:
有次同事执行命令时报错:
unable to load certificates
原因是忘了加`-nodes`参数导致需要二次密码验证。
方法3:从SSL握手过程抓取
openssl s_client -connect baidu.com:443 -showcerts baidu.pem
这会得到完整的证书链,适合调试CA信任问题。
方法4:CA机构控制台下载
以Let's Encrypt为例:
Certbot默认存储路径
/etc/letsencrypt/live/域名/fullchain.pem
/etc/letsencrypt/live/域名/privkey.pem
阿里云/腾讯云等平台也支持直接下载PEM格式。
方法5:代码动态生成(高级用法)
Python示例生成自签名证书:
```python
from OpenSSL import crypto
cert = crypto.X509()
cert.get_subject().CN = "test.com"
cert.set_serial_number(1000)
cert.gmtime_adj_notBefore(0)
cert.gmtime_adj_notAfter(365*24*60*60)
with open("selfsigned.pem", "wb") as f:
f.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert))
三、安全注意事项??
1. 私钥保护:`.pem`文件可能包含私钥,权限应设为600:
```bash
chmod 600 private.key.pem
```
2. 有效期验证:
openssl x509 -in cert.pem -noout -dates
3. 指纹校验(防篡改):
openssl x509 -in cert.pem -noout -fingerprint
去年某公司数据泄露事件,就是因为运维把包含私钥的PEM文件放在了公共Git仓库!
四、常见问题解答
Q:为什么我的Nginx报错"SSL: error:0909006C"?
A:大概率是PEM文件内容不完整,用`openssl x509 -in cert.pem -text`检查是否包含完整的BEGIN/END标记。
Q:如何合并多个PEM文件?
A:直接用文本编辑器按顺序拼接即可,中间不需要换行。比如中间件要求完整的证书链:
服务器证书.pem + CA中间证书.pem + RootCA.pem = fullchain.pem
掌握这些方法后,你就能应对99%的SSL/PEM相关需求了。建议收藏本文备用,下次遇到证书问题时可以快速对照操作。如果遇到特殊情况,欢迎在评论区留言讨论!
TAG:ssl获取pem证书,ssl证书安装用pem还是key,ssl peer certificate or ssh remote key was not ok,ssl pem key,ssl证书cer获取crt及key,ssl证书 pfx