为什么Ubuntu环境中的Mule-ESB不使用默认的Java密钥库?

时间:2014-01-10 10:18:54

标签: java ubuntu ssl mule

这个问题可能与Java有关,也可能与Mule有关。我只是不知道,这就是我在两个标签下问的原因。

我的问题是:我使用Mule Studio开发Mule应用程序(虽然我通过XML进行大部分配置,但功能更强大)。直到最近,我们还使用Windows环境来托管应用程序。因此,无论在我的开发机器上工作了什么,都可以在服

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

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

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

所以我的问题有两个:

  1. 为什么Java / Mule不能使用默认密钥库?
  2. 我该如何解决?
  3. 编辑+答案: 我修好了。这似乎是我自己的错误。我安装Java 1.7后安装了Java 1.6。这似乎已经将我的cacerts回到了一些系统无法更新的古老版本。当我安装Java 1.6并在此之后安装Java 1.7时,安装了最新版本。

1 个答案:

答案 0 :(得分:0)

我已经修好了。这似乎是我自己的错误。我安装Java 1.7后安装了Java 1.6。这似乎已经将我的cacerts回到了一些系统无法更新的古老版本。当我安装Java 1.6并安装Java 1.7之后,安装了最新版本。

所以从中吸取了教训:不要在较新的JRE之后安装旧的JRE。骡子不喜欢它。