本文主要是介绍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,代码如下:
<Connector port=”8443″ protocol=”HTTP/1.1″
maxThreads=”150″ SSLEnabled=”true” scheme=”https” secure=”true”
keystoreFile=”/证书路径/名称.pfx”
keystoreType=”PKCS12″
keystorePass=”证书密码”
clientAuth=”false” sslProtocol=”TLS” />
jks :需要增加keystoreFile、 keystorePass,代码如下:
<Connector port=”8443″ protocol=”HTTP/1.1″
maxThreads=”150″ SSLEnabled=”true” scheme=”https” secure=”true”
keystoreFile=”/证书路径/名称.jks”
keystorePass=”证书密码”
clientAuth=”false” sslProtocol=”TLS” />
这篇关于jks、pfx证书区别和配置方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!