前言
.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
查看证书内容命令
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?文章来源:https://www.toymoban.com/news/detail-444280.html
Does .pem file contain both private and public keys?文章来源地址https://www.toymoban.com/news/detail-444280.html
到了这里,关于SSL证书、 der、 cer、 pem区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!