SSL 证书格式普及,PEM、CER、JKS、PKCS12

本文详细介绍了SSL证书的不同格式,包括DER、PEM、CRT、PFX和JKS。PEM通常用于Apache和Nginx服务器,以文本形式保存证书和私钥;DER是二进制格式,常见于Java和Windows服务器;CRT可能是PEM或DER编码,而PFX是二进制格式,包含证书和私钥,适用于Windows的IIS服务器;JKS是Java专用格式,用于Tomcat服务器。此外,还提供了不同格式间的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文章:SSL 证书格式普及,PEM、CER、JKS、PKCS12

https://www.csdn.net/tags/MtTaYg5sNTE2OTItYmxvZwO0O0OO0O0O.html

在我们收到的邮件中,有许多朋友咨询:你们这下载下来的证书是 PEM 格式的,但我的服务器不是用这种格式的,怎么办?那本篇文章就是来个大家普及一下证书的格式。

是的,根据不同的服务器以及服务器的版本,我们需要用到不同的证书格式,就市面上主流的服务器来说,大概有以下格式:

  • .DER .CER,文件是二进制格式,只保存证书,不保存私钥。
  • .PEM,一般是文本格式,可保存证书,可保存私钥。
  • .CRT,可以是二进制格式,可以是文本格式,与 .DER 格式相同,不保存私钥。
  • .PFX .P12,二进制格式,同时包含证书和私钥,一般有密码保护。
  • .JKS,二进制格式,同时包含证书和私钥,一般有密码保护。

DER

该格式是二进制文件内容,Java 和 Windows 服务器偏向于使用这种编码格式。

OpenSSL 查看

openssl x509 -in certificate.der -inform der -text -noout

转换为 PEM:

openssl x509 -in cert.crt -inform der -outform pem -out cert.pem

PEM

Privacy Enhanced Mail,一般为文本格式,以 -----BEGIN... 开头,以 -----END... 结尾。中间的内容是 BASE64 编码。这种格式可以保存证书和私钥,有时我们也把PEM 格式的私钥的后缀改为 .key 以区别证书与私钥。具体你可以看文件的内容。

这种格式常用于 Apache 和 Nginx 服务器。

OpenSSL 查看:

openssl x509 -in certificate.pem -text -noout

转换为 DER:

openssl x509 -in cert.crt -outform der -out cert.der

CRT

Certificate 的简称,有可能是 PEM 编码格式,也有可能是 DER 编码格式。如何查看请参考前两种格式。

PFX

Predecessor of PKCS#12,这种格式是二进制格式,且证书和私钥存在一个 PFX 文件中。一般用于 Windows 上的 IIS 服务器。改格式的文件一般会有一个密码用于保证私钥的安全。

OpenSSL 查看:

openssl pkcs12 -in for-iis.pfx

转换为 PEM:

openssl pkcs12 -in for-iis.pfx -out for-iis.pem -nodes

JKS

Java Key Storage,很容易知道这是 JAVA 的专属格式,利用 JAVA 的一个叫 keytool 的工具可以进行格式转换。一般用于 Tomcat 服务器。

你可以到这里进行格式转换:证书格式转换

X509数字证书编码格式和扩展名

1、编码格式

1.1、pem编码

文本格式,内容是base64编码。可以直接打开查看。

        证书文件

                        以-----BEGIN CERTIFICATE-----开头

                        以-----END CERTIFICATE-----结尾。

        证书请求文件

                        以-----BEGIN CERTIFICATE REQUEST-----开头

                        以-----END CERTIFICATE REQUEST-----结尾        

1.2、der编码

二进制格式

2、扩展名

pem:采用pem编码的数字证书。

der:采用der编码的数字证书。

crt:可能是pem编码,也可能是der编码。但大多数情况下为pem编码的数字证书。

cer:可能是pem编码,也可能是der编码。但大多数情况下为der编码的数字证书。

key:用来存放公钥或私钥。

csr:证书请求文件。

pfx:PKCS #12,是公钥加密标准(Public Key Cryptography Standards)系列的一种。简单理解就是将私钥和数字证书打包在一起了。

3、查看证书信息

3.1、查看pem编码的证书信息

openssl x509 -noout -text -in cert.crt

3.2、查看der编码的证书信息

openssl x509 -in cert.der -inform der -text -noout

4、证书格式的相互转换

4.1、pem转为der

openssl x509 -in cert.crt -outform der -out cert.der

4.2、der转为pem

openssl x509 -in cert.crt -inform der -outform pem -out cert.pem

5、pfx格式证书的转换

5.1、从pfx导出crt和key

# 导出key
openssl pkcs12 -in server.pfx -nocerts -nodes -out server.key

# 导出crt
openssl pkcs12 -in server.pfx -clcerts -nokeys -out server.crt

5.2、将crt和key合并成pfx

# 将crt和key合并成pfx
openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx

# 查看pfx证书
openssl pkcs12 -in server.pfx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值