优选主流主机商
任何主机均需规范使用

SSL证书格式转换方法简介

通常CA签发证书后,会发送一份文件后缀是 pem 或 crt 的证书文件,这是DER编码的证书进行Base64编码后的证书文件,如果你用记事本打开证书文件,会发现里面的内容格式如下:

—–BEGIN CERTIFICATE—–
MIIFtzCCBJ+gAwIBAgIRAJ+pKXs2lp0rH8yxH1fGU+EwDQYJKoZIhvcNAQELBQAw
gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
ZvsOTAXYHEF7RTj05ctVYWLlTeLXcX8HRt/q/MmoEES4ksy2TdIakP7AW9653bNC
0KdYkjyfbOlSmO1eOrAYqUCd3LGf+r+ApongTF9GFvfoS8nuR1vlcTzkMGLHj7V+
a9UU5z3b2Y+5Ae75XopG8kRUkTrOWtoi1dEO
—–END CERTIFICATE—–

我们可以把这种编码的SSL证书安装到 apache nginx tomat 等服务器上,但是有些情况下,我们需要转换证书格式,例如安装到IIS 、Exchange 服务器上,我们经常要用到 扩展名为 pfx的证书,安装到tomcat 上 我们可能需要 扩展名 为  jks 或 pfx 的证书

常见的证书文件扩展名

需要注意的是,证书文件的扩展名通常不能表示证书的编码格式,尤其是扩展名为 crt cer der 的,有可能是.Base64编码 的 PEM证书,也有可能是 DER二进制格式,你可能要用记事本打开看一下 ,如果证书是以  —–BEGIN CERTIFICATE—–  开头的, 那就是 PEM编码的, 如果不是那可能是 DER 格式的

pem   .crt

pem编码的证书,这是最常见的一种,可以用记事本或其他文本编辑器打开证书文件,看到的代码就是上面的例子,是DER编码的证书进行Base64编码后的证书文件

.cer  .der

通常是DER二进制格式的,但是也有可能是Base64编码 ,就是跟上面的pem crt 一样的

.p7b .p7c

PKCS #7通常用于windows  或者JAVA平台,例如 :Internet Information Server (IIS), MS Exchange server, Java Tomcat  ,这个证书文件通常包含有 服务器证书(包含域名的证书) 以及相应的证书链(中级证书)  ,如果你用文本编辑器打开这个文件 ,会看到是以  —–BEGIN PKCS7—- 开头的,证书不包含私钥

.pfx .p12

PKCS#12 这是包含了服务器证书 和 私钥,可能还包含了证书链的证书文件,安装证书所需要的所有证书和文件都可以包含在1个文件里面,通常用于安装到IIS ,Tomcat 服务上

如何使用OpenSSL转换SSL证书格式

通常可以用 OpenSSL命令进行SSL证书格式转换 ,这里我列出几种常见的openssl 转换证书命令

1.pem 转换为 der

openssl x509 -in cert.pem -out cert.der -outform DER

另外一种方式转换证书:

如果证书文件扩展名是 crt ,或将pem 扩展名改为 crt ,然后直接双击该证书文件,然后点击“详细信息”->“复制到文件”->”下一页”->选择 “DER编码二进制 x.509(.CER)(D)”->”下一页”-输入文件保存文件名->下一页->完成 ,这样就导出 der编码的证书文件

2. pem 转换为 pfx

openssl pkcs12 -inkey myKey.key -in myCert.pem -export -out myPFXCert.pfx

其中myKey.key 是私钥 , myCert.pem 是PEM编码的SSL证书   , myPFXCert.pfx 是转换后得到的PFX证书

3. pfx 转换为 pem

openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes

转换后得到的  certificate.pem 文件,可以用记事本打开,里面包含证书和私钥代码

4. pem 转换为jks

未经允许不得转载:搬瓦工中文网 » SSL证书格式转换方法简介