为什么Ubuntu环境中的Mule ESB不使用默认的Java密钥存储



这个问题可能与Java有关,也可能与Mule有关。我只是不知道,这就是为什么我在两个标签下都问它。

我的问题是:我使用Mule Studio开发Mule应用程序(尽管我的大部分配置都是通过XML进行的,但它的功能更强大)。直到最近,我们还使用Windows环境来托管应用程序。所以,在我的开发机器上运行的任何东西都在服务器上运行。

然而,我们最近从Windows切换到了Ubuntu服务器环境。当我开始迁移Mule应用程序时,我注意到它只是拒绝通过HTTPS协议连接到任何端点。少量研究表明,出现了以下异常:

subject/issuer name chaining check failed (java.security.cert.CertPathValidatorException)

所以是证书问题。这不应该发生,因为端点使用由VeriSign签名的有效证书。此外,它从未在Windows环境中发生过。一点点的尝试和错误表明,没有一个证书被Mule接受。这似乎指向MuleJava,因为它似乎无法使用任何默认证书。我设法通过创建一个包含所有证书的密钥存储并引用HTTPS连接器来修复它,但这意味着要更改我的所有应用程序,并且必须将每个证书拼凑在一起。

所以我的问题有两个:

  1. 为什么Java/Mule不能使用默认的密钥存储
  2. 我该如何修复它

编辑+回答:我已经修复了。这似乎是我自己的错误。在安装Java 1.7之后,我安装了Java 1.6。这似乎让我的电脑回到了系统无法更新的古老版本。当我安装Java 1.6并在那之后安装Java 1.7时,安装了最新的版本。

我已经修复了。这似乎是我自己的错误。在安装Java 1.7之后,我安装了Java 1.6。这似乎让我的电脑回到了系统无法更新的古老版本。当我安装Java 1.6并在那之后安装Java 1.7时,安装了最新的版本。

因此,从中吸取的教训是:不要在安装较新的JRE之后再安装较旧的JRE。骡子不喜欢。

最新更新