跳转至

证书格式转换及内容查看

证书格式

​ 不同的标准有不同证书格式,通常有pempfxdercercrt等格式。

openssl使用pem来存储各种信息,pem文件中一般包含如下信息:

  1. 内容类型,表明存储的是什么类型的内容,以"-----BEGIN XXXXX-----"开头,"-----END XXXXX-----"结尾。

  2. 信息体,是base64编码后的数据,原内容是der格式的数据

pem格式存储的证书
-----BEGIN CERTIFICATE-----
MIIBqTCCAU8CFEIY9r0OtjUYFevSZKeWFMTMIUSiMAoGCCqGSM49BAMCMFcxCzAJ
...
-----END CERTIFICATE-----
pem格式存储的加密后的私钥
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIHjME4GCSqGSIb3DQEFDTBBMCkGCSqGSIb3DQEFDDAcBAh6nIvL3CPXqgICCAAw
...
-----END ENCRYPTED PRIVATE KEY-----

der 格式,是ASN1格式存储的二进制数据,pem是用文本报头包围的base64编码的der

pfx 格式,是公钥加密标准 #12,可包含所有私钥,公钥和证书,以二进制数据存储。

cer ,一般是指der格式的证书。

crt ,证书文件,可以是pem格式。

p7b ,文件仅包含证书和链证书,不包含私钥,可以是pemder格式。

pem转换成der
openssl x509 -in sm2-root.pem -inform PEM -outform DER -out sm2-root.der
openssl ec -in sm2-key.pem -inform PEM -outform DER -out sm2-key.der
der转换成pem
openssl x509 -in sm2-root.der -inform DER -outform PEM -out sm2-root1.pem
openssl ec -in sm2-key.der -inform DER -outform PEM -out sm2-key.pem
pem的密钥对和证书合并成pfx
openssl pkcs12 -export -inkey sm2-key.pem -in sm2-root.pem -out sm2-root.pfx
pfx转换成pem
# nodes表示输出的pem中的私钥不需要加密
openssl pkcs12 -in sm2-root.pfx -out sm2-root2.pem -nodes
合并成p7b
openssl crl2pkcs7 -certfile root.pem -certfile subroot.pem -outform DER -out certChain.p7b -nocrl
p7b转换成pem
openssl pkcs7 -print_certs -in certChain.p7b -inform DER 
查看证书中的密钥信息
openssl ec -in sm2-root.pem -text -noout
windows中查看证书路径选项卡

首先,想要在windows中查看证书证书路径选项卡中的内容,必须要是 rsa 的证书,sm2的证书windows无法解析,

其次,根证书需要安装到 受信任的根证书颁发机构


本文总阅读量
回到页面顶部