证书相关 (openssl)

0001-01-01
1分钟阅读时长

格式

一般 .cer 文件可能是 DER 或 PEM

DER

二进制格式, 可以包含证书和私钥

openssl x509 -in cert.der -inform der -text -noout

PEM

Privacy Enhanced Mail, 文本格式, 可以包含证书和私钥

一般格式为 `—–BEGIN …` 开头 `—–END …` 结束

openssl x509 -in cert.pem -text -noout

PFX

PFX, Predecessor of PKCS#12, 二进制格式, 包含证书和私钥

openssl pkcs12 -in filename.pfx

格式相互转换

# PFX -> PEM
# 同时保留 private key 和 cert
# -nomacver 参数不验证 MAC 值的完整性, 有些证书 MAC 不完整会返回密码错误
# 可以尝试添加此选项
openssl pkcs12 -in filename.pfx -out filename.pem -nodes [-nomacver]
# 只保留 private key
openssl pkcs12 -in filename.pfx -nocerts -out key.pem [-nomacver]
openssl rsa -in key.pem -out server.key # 去掉密码
# 只保留 certificate
openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.cer

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

# DER -> PEM
openssl x509 -in cert.crt -inform der -outform pem -out cert.pem