springboot部署到服务器遇到的SSL证书问题

错误

[javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty, javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty]

出现这个问题是因为我写的小程序有个api需要到其他网站做一个数据中转出现的证书安全问题

解决方法

每一步:进入某个需要访问的网站,把要导入的证书下载过来,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

再点击右下角那个"复制到文件"的按钮
就会弹出一个证书导出的向导对话框,按提示一步一步完成就行了。
例如:保存为abc.cer,放在C盘下
第二步:如何把上面那步的(abc.cer)这个证书导入java中的cacerts证书库里?
方法如下
假设你的jdk安装在C:\jdk1.8这个目录,
开始 >> 运行 >> 输入cmd 进入dos命令行 >>
再用cd进入到C:\jdk1.8\jre\lib\security这个目录下
敲入如下命令回车执行

keytool -import -alias cacerts -keystore cacerts -file
c:\abc.cer

此时命令行会提示你输入cacerts证书库的密码,
你敲入changeit就行了,这是java中cacerts证书库的默认密码,

          以后更新时,先删除原来的证书,然后导入新的证书
          keytool -list -keystore cacerts
          keytool -delete -alias akazam_email -keystore cacerts
          keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts -trustcacerts

当然也可以通过springboot的配置文件进行ssl的配置

还有就是多半下错java环境了,重装一个就好了!!!!


版权声明:本文为qq_19883981原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。