jks、pfx证书区别和配置方式

一、证书格式类型
1. jks
jks全称Java KeyStore,是Java的keytools证书工具支持的证书私钥格式。jks包含了公钥和私钥,可以通过keytool工具来将公钥和私钥导出。因为包含了私钥,所以jks 文件通常通过一个密码来加以保护。一般用于Java或者Tomcat服务器。

keytool -exportcert -rfc -alias mycert -file mycert.cer -keystore mykeys.jks -storepass passw0rd

2. pfx
pfx全称是Predecessor of PKCS#12, 是微软支持的私钥格式,二进制格式,同时包含证书和私钥,一般有密码保护。一般用于 Windows IIS 服务器。

openssl pkcs12 -in xxx.pfx

pfx转为 pem

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

3.cer
cer 是证书的公钥,一般都是二进制文件,不保存私钥。

4.der
二进制格式,Java 和 Windows 服务器偏向使用

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

5.pem
pem 全称是Privacy Enhanced Mail,格式一般为文本格式,以 -----BEGIN 开头,以 -----END 结尾,中间内容是 BASE64 编码,可保存公钥,也可以保存私钥。有时候会将 pem 格式的私钥改后缀为 .key 以示区别。
这种格式的证书常用于 Apache 和 Nginx 服务器,所以我们在配置 Nginx SSL 的时候就会发现这种格式的证书文件。


二、Tomcat部署JKS格式证书与PFX格式证书区别
jks格式证书和pfx格式证书对Tomcat除了安装格式不一样,其他并无区别。配置pfx格式证书的时候需要添加keystoreType=”PKCS12”。


三、tomcat下安装pfx和jks的方式:

pfx:需要增加keystoreFile 、 keystoreType 、 keystorePass,代码如下:

jks :需要增加keystoreFile、 keystorePass,代码如下:

你可能感兴趣的:(ssl,ssl)