一尘不染

Java Error - trustAnchors parameter must be non-empty

java

我正在尝试在Jenkins / Hudson上配置我的电子邮件,并且不断收到错误消息:

java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be
    non-empty

我已经在网上看到了大量有关该错误的信息,但是我没有得到任何帮助。我在Fedora Linux(不是OpenJDK)上使用Sun的JDK。

这是我尝试过的几件事。我试着从以下这个建议后,但复制从Windows的cacerts到托管詹金斯没有工作,我的Fedora箱。在尝试将Gmail配置为SMTP服务器时,我尝试按照本指南进行操作,但是该方法也不起作用。我还尝试手动下载并移动这些cacert文件,并使用本指南中各种命令将它们移动到Java文件夹中。

我愿意接受任何建议,因为我目前仍处于停滞状态。我已经从Windows Hudson服务器上运行了它,但是我在Linux上苦苦挣扎。


阅读 777

收藏
2020-02-26

共1个答案

一尘不染

此奇怪消息表示你指定的信任库为:

  • empty,
  • not found, or
  • couldn’t be opened (due to access permissions for example).

另请参见下面的 @AdamPlumb的答案。

要调试此问题(我在这里写过)并了解正在使用什么信任库,可以添加属性 javax.net.debug = all,然后过滤有关信任库的日志。你也可以使用属性javax.net.ssl.trustStore来指定特定的信任库。例如 :

    java -Djavax.net.debug=all -Djavax.net.ssl.trustStore=/Another/path/to/cacerts -jar test_get_https-0.0.1-SNAPSHOT-jar-with-dependencies.jar https://www.calca.com.py 2>&1| grep -i truststore
2020-02-26