在 WSO2 EI 客户端信任库中更新证书

Renew certifcates in WSO2 EI client trust store

我们正在使用 WSO2 集成器 6.4。为了能够连接到 3rd 方 HTTPS 服务器,我们需要将服务器的证书添加到 client-truststore.jks。许多服务器现在使用 https://letsencrypt.org 的证书,TTL 为 3 个月。 这意味着我们必须每三个月为我们环境中的每个第三部分服务器更新一次证书,否则我们会收到“发件人错误”错误。 有没有办法完全禁用 WSO2 EI 中的证书检查? 或者也许可以在 client-truststore.jks 中创建一些自动场景来更新证书? 或者我们可以在 client-truststore.jks 内部检查 wso2 ei 本身的证书并在过期前发送警告吗?

我们通过仅将 letsencrypt 的根 CA 证书添加到 client-truststore.jks 来解决此问题。这足以让 wso2ei 信任所有具有 Letsencrypt 证书的服务器。

TLS 信任的一些基础知识。

你什么时候有显式 信任,信任个人证书(通常是 self-signed 证书)。事实上,这种方法会产生显着的管理开销,主要是在新服务主机的入职、离职或使用 short-lived 证书时。

对于 TLS (SSL),使用 隐式 信任。您的应用程序信任(长期存在的)颁发者列表 - 证书颁发机构 (CA)。 CA 证书列表随时间发生变化,因此无论如何都可能需要进行一些手动管理。

Is there a way to disable certificate checking in WSO2 EI at all?

是的,有(在 axis2.xml 中),但这会降低安全性并且流量容易受到 man-in-the-middle 攻击。

We solved this issue by adding only root CA certificates of letsencrypt to client-truststore.jks.

是的,这是正确的做法。如果你有封闭的环境(无法访问互联网),你可能需要添加所有证书链(root 和 iternmediate 签名证书)