java - 为什么 Ubuntu 环境中的 Mule-ESB 不使用默认的 Java keystore ?

标签 java ubuntu ssl mule

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

我的问题是:我使用 Mule Studio 开发 Mule 应用程序(虽然我的大部分配置都是通过 XML 完成的,但它更强大)。直到最近,我们才使用 Windows 环境来托管应用程序。所以在我的开发机器上工作的任何东西都在服务器上工作。

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

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

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

所以我的问题是双重的:

  1. 为什么 Java/Mule 不能使用默认 keystore ?
  2. 我该如何解决?

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

最佳答案

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

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

关于java - 为什么 Ubuntu 环境中的 Mule-ESB 不使用默认的 Java keystore ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041645/

相关文章:

ssl - 连接在 SoapUI 中被拒绝,但 python 中没有

ssl - 通过 SSL 检索的数据是否由客户端浏览器缓存?

linux - 我没有编辑 www-data :www-data files 的权限

linux - 无论/dev/sda1 中的 EBS 如何,如何使 AWS EC2 允许 ssh 连接?

java - 如何忽略 Okhttp 中的 SSL 错误?

java - 维护同一 GWT 模块的多个条目之间的状态

mysql - 如何使用 procmail 过滤采用 Base 64 编码的电子邮件

java - GWT 奇怪的 onblur 处理程序行为

java - 使用 snakeyaml(导入 junit 库)将 .yml 文件加载到 HashMap 中

Java XML 和路径中包含 '\' 的文档类型