写在前面
证书私钥的格式和后缀这块,因为格式比较多,接触的这块的时候非常混乱,想整理的时候比较幸运的看到一篇文章,整理的很清晰,还包括了对应的openssl命令,文章地址:
那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)
下面是自己的简单归纳
X.509: 是一种标准,定义了证书内容的标准
公钥私钥和证书
编码类型
- DER : 二进制格式
- PEM :经过base64编码存放的数据,一般包含类似-----begin xxx-----的开头,------end xxx-----的结尾,这个是标准
拓展名
证书的编码格式和后缀名并没有固定的对应关系,因此容易弄混。
分辨编码方式最简单的方式就是直接用文本编辑器打开,查看内容。如果是乱码,各种方框问号古文等,例如“0?u0?]?BV牰膒7w€ol?甸斘ξ?”,就说明是二进制,是der;如果是整齐的英文数字和符号,说明是base64编码后的,是pem编码。
.crt - 证书,pemder编码,大多pem编码
.cer - 证书,pemder编码,大多der编码
.key - 公钥私钥,不是x.509证书,编码方式可能是pem也可能der
.pfx/p12 - 这两个只是后缀不同,内容是一样的,都包含公钥和私钥