目录

Openssl知识点

文件格式

只有pfx格式的数字证书是包含有私钥的,cer格式的数字证书里面只有公钥没有私钥

.pfx
  • 存放公钥和私钥
  • 主要用于windows平台,浏览器可以使用,也是包含证书和私钥,获取私钥需要密码才可以
.der
  • 二进制编码的证书
  • DER扩展用于二进制DER编码证书。这些文件也可能带有CER或CRT扩展名
  • 经常使用.cer用作扩展名,所有类型的认证证书和私钥都可以存储为DER格式
.pem
  • ASCII(Base64)编码的证书
  • 有类似"—–BEGIN CERTIFICATE—–" 和 “—–END CERTIFICATE—–“的头尾标记
  • PEM格式通常用于数字证书认证机构(Certificate Authorities,CA),扩展名为.pem, .crt, .cer, and .key
.cer,.crt
  • 证书文件,可以是DER编码,也可以是PEM编码。CRT是微软型式的证书

  • 存放公钥,没有私钥

.key

用于PCSK#8的公钥和私钥。这些公钥和私钥可以是DER编码或者PEM编码。

名称解释

X.509

证书文档,根据RFC 5280标准编码并签发

格式转换

可以使用OpenSSL命令行工具在不同证书格式之间的转换

PEM to DER
1
   openssl x509 -outform der -in certificate.pem -out certificate.der
PEM to PFX
1
  openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
DER to PEM
1
   openssl x509 -inform der -in certificate.cer -out certificate.pem
PFX to PEM
1
   openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes   

(PFX转PEM后certificate.cer文件包含认证证书和私钥,需要把它们分开存储才能使用。)

知识点

  1. 使用公钥操作数据属于加密
  2. 使用私钥对原文的摘要操作属于签名
  3. 公钥和私钥可以互相加解密
  4. 不同格式的证书之间可以互相转换
  5. 公钥可以对外公开,但是私钥千万不要泄露,要妥善保存