JDK7部署https抛出错误Caused by: java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650)
背景:因项目(JDK7)需要部署https
问题:在配置https时,配置步骤没有问题,证书也没有问题(从云平台自动生成的),但是启动tomcat就抛出错误 java.io.IOException: Invalid keystore format
思路:证书在之前JDK8项目上部署没有问题,现在部署到1.7的项目上就报错了,我们第一想到的方案时升级JDK8,但是由于项目太旧,怕升级JDK出现大问题,所以考虑其他方案。
【keytool】JDK自带的证书转换工具,可以将jks格式证书转换成其他证书。
如果使用1.8JDK的keytool把jks转成转成keystore.12,在使用JDK1.7的keytool把keystore.12转换成JKS那是否能够成功。
结论:使用keytool转换证书格式成功解决报错问题
keytool转换证书
全网最全的keytool证书生成、证书管理命令 - 知乎 (zhihu.com)