之前项目中用httpclient调用第三方接口,走的是https,之前正常运行。后来测试把测试环境的jdk换成了openjdk,后运行报错
报错信息如下
java.lang.RuntimeException: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
后来排查发现之前jdk的jre/lib/sercurity目录下有cer证书,而新安装的openjdk目录下没有证书,后来把jdk目录下证书拷贝到openjdk目录下,就好了。
想确认下这个证书的作用是什么。是不是可以认为就好比浏览器访问https需要导入证书。