当你在谷歌上搜索这个异常:java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
时,会出现多个结果。然而,没有确定的解决方案,只有猜测。
当我尝试通过SSL打开连接时,问题就出现了(至少在我的例子中是这样)。它在我的windows机器上运行得很好,但是当我把它部署到linux机器(安装了sun的jre )上时,它失败了,出现了上面的异常。
问题在于,由于某种原因,JRE的默认信任库是空的(大小只有32字节,而在windows上是80kb )。
当我将我的jre/lib/security/cacerts
文件从windows复制到linux时,它工作得很好。
问题是-为什么linux jre有一个空的信任库?
请注意,这种情况发生在使用Amazon的亚马逊EC2实例上,因此可能是由于某些亚马逊策略(我认为java是预先安装的,但我不确定)
https://stackoverflow.com/questions/4764611
复制相似问题