SSL基础:10:证书格式介绍

SSL基础:10:证书格式介绍
使用OpenSSL提供的命令可以进行证书管理,而证书的格式也有很多,这篇文章主要整理一下证书格式相关的基础内容。

格式:PKCS 7

  • 概要介绍:PKCS 7的格式被Windows用来进行证书交换,在RFC 2315中有更加详细的定义。

  • 可能的后缀:.p7b .keystore

格式:PKCS10格式

  • 概要介绍:PKCS 10格式的文件在实际中最多的就是CSR文件,CSR是Certificate Signing Request(证书签名请求) 的缩写。证书申请者需要将CSR文件提交给证书颁发机构,然后有证书颁发机构使用其根证书私钥进行签名生成颁发给用户的证书文件,文件中一般包含Subject、Issue、公钥等相关信息。详细的定义可参考RFC 2986。

  • 文件可能的后缀: .csr

格式:PKCS 12格式

  • 概要介绍:此种格式的文件包含了私钥和公钥对的内容,也称为PFX文件,和PEM格式的文件不同之处在于此种文件格式是加密过的,其中PKCS是 Public-Key Cryptography Standards 的缩写。

  • 文件可能的后缀:.pkcs12 .pfx .p12

  • 注意事项:openssl提供pkcs12子命令将此类型的文件转化为PEM格式的文件。

格式:PEM格式

  • 概要介绍:PEM是Privacy Enhance Mail 的缩写,PEM文件包含了公钥、CA证书文件,也有可能包含更多内容,它实际上是二进制文件的Base64编码的保存,同时加上开始行和结束行(以-----BEGIN开头-----END结尾),是openssl默认的存放方式。详细的定义可参看RFC 1421 - RFC 1424。

  • 文件可能的后缀:.pem

  • 注意事项:PKCS 10格式的CSR文件可以转化为PEM格式的文件。

格式:CERT格式

  • 概要介绍:这不是一种新的格式,相较于PEM的Base64编码格式以文本文件的形式存在,此种格式的文件为PEM的二进制格式。

  • 文件可能的后缀:.cert、 .cer、 .crt

  • 注意事项:可以通过openssl命令进行格式的转化。另外以PEM格式存在的情况也很常见。

格式:DER格式

  • 概要介绍:DER是Distinguished Encoding Rules的缩写,此种文件格式是以二进制方式存储,Base64编码的文件,一般Java和Windows服务器偏向于使用此种格式的文件,相当于PEM格式文件的二进制版本。

  • 文件可能的后缀:.der

  • 注意事项:此类文件无法直接预览,一般可以提供openssl x509的命令来查看证书内容。

格式: CRL格式

  • 概要介绍:CRL是Certificate revocation list 的缩写,此类文件于认证吊销的管理,一般CA会提供吊销的证书的更新和查询,以适应由于证书被盗或者其他原因希望吊销的客户请求,一般CA一定间隔会更新此列表,同时根据OSCP协议(Online Certificate Status Protocol)提供在线吊销证书的查询功能予以辅助,可能返回的证书的状态有:正常、吊销和未知。

  • 文件可能的后缀:.crl

格式:KEY格式

  • 概要介绍:准确来说这不是一种新的格式,通常用来存放公钥或者私钥,并非X.509证书,编码可能是PEM也有可能是DER。

  • 文件可能的后缀:.key

  • 注意事项:可以使用openssl命令通过-text查看KEY的内容。

参考内容

https://serverfault.com/questions/9708/what-is-a-pem-file-and-how-does-it-differ-from-other-openssl-generated-key-file