SSL证书、 der、 cer、 pem、x.509区别

本文介绍了DER二进制编码常用于证书,PEM则是包含头尾的Base64编码,可存储公钥、私钥和完整证书链。CER指证书,可为DER或PEM格式。主要讲解了它们之间的区别和实际应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

.der

DER(Distinguished Encoding Rules)是一种二进制编码方法,本身可以表示任何类型的数据,但通常用来编码证书。证书的结构使用ASN.1(Abstract Syntax Notation One 一种数据描述语言)描述。
BER和DER都是二进制编码方法。

.pem

PEM是一种将二进制数据编码为字符串的方法。它包含header和footer,用来指定数据的开始和结束,header和footer中间是base64数据。如果数据是证书,那么会简单的编码DER证书。PEM代表Privacy Enhanced Mail;PEM格式如下

-----BEGIN <whatever>----- 
data
 -----END <whatever>----

whatever可以是private keys, public keys, X509 certificates,比如

-----BEGIN CERTIFICATE-----
... base 64 encoding of the DER encoded certificate
    with line endings and padding with equals signs ...
-----END CERTIFICATE-----
-----BEGIN  PRIVATE KEY-----
base 64 encoding of the private key
-----END  PRIVATE KEY-----

PEM文件也可以包含一个完整的证书链,证书链以叶子/结尾证书服务开始,紧跟着签名它的证书,通常直到根证书(一般不包含根证书)。所以如果缺失证书,你也会首先check一下第一个证书。由此可知PEM既可以包含公钥、也可以包含私钥。

x.509

x.509通常是默认的公钥证书格式,它是一种标准,der和pem都符合这个标准,只是两种格式而已。

.cer扩展名

.cer指的是证书certificate,通常是DER编码格式的,也可以是PEM格式,也就是说cer是个后缀名,内容可以是DER编码或者PEM编码。

联系实际

看一下浏览器导出的证书,点击浏览器地址栏的安全锁—>证书---->详细信息—>复制到文件
可以看出导出来的证书后缀名是CER,编码是DER或者PEM
微信图片_20210621140354.png
查看证书内容命令
windows安装openssl,选择Win64 OpenSSL v3.0.3 Light版本,这也是官方推荐的版本。

openssl x509 -in a.cer -inform der -text -noout

总结

  • DER是种二进制编码方法,通常用来编码证书内容。
  • pem是有头、数据、尾部,通常头部、尾部表明了数据主体;数据是base64;pem可以存储公钥、私钥、证书、完整的证书链;
  • cer就是证书的意思,DER或者PEM编码;
  • pem是中编码方法,内容不限,所以既可以包含公钥、也可以包含私钥。

What are the differences between .pem, .cer and .der?

Does .pem file contain both private and public keys?

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值