WSO2 EI 每个端点多个证书

WSO2 EI Multiple certificates per endpoint

对于这种情况,我使用的是 WSO2 Enterprise Integrator 6.4.0

我目前发现自己有 1 个端点 (SOAP) 由政府控制(我需要使用)并且我们的多个最终客户需要连接。为了实现这一点,所有最终客户都需要以相同的方式处理相同的端点,但使用他们的自己的客户端证书。

所以客户1有证书1,客户2需要证书2,等等

据我所知,根据文档和尝试,一个端点只能在其连接中使用一个证书。由于客户数量可能每天都在变化,因此我希望有一个通用的解决方案来解决这个问题。

目前,为了避免这个问题,我正在创建一个设计,其中我使用每个客户的端点和一个反向代理来连接到最终端点。然而,这并不理想,因为我仍然需要为每个客户创建 1 个端点,这可能会非常密集。

我愿意接受任何建议。

您是对的,您无法让 ESB 根据尝试连接的客户端提供不同的证书。如果你真的想沿着这条路线走下去,在 ESB 前面放置一个反向代理(如 nginx)并使用它来处理 SSL 可以工作,但我真的不建议这样做。

如果您想要相互 SSL (link, link),那么您需要将要连接到您的端点的客户端的证书添加到您的客户端信任库中。默认信任库位于 <wso2EI_home>/repository/resources/security/client-truststore.jks。导入证书 keytool -import -trustcacerts -file <cert-file-name> -alias <choose-a-useful-name> -keystore client-truststore.jks 默认密码是 wso2carbon

这样做确实需要您维护证书,当客户端证书因过期而更改时,您需要导入新证书。在您连接之前,他们将无法连接。

另一种选择是禁用相互 SSL 并让您的端点对任何人(您允许通过防火墙的人)开放以便能够连接。您不必维护客户端证书列表。流量仍将被加密,您将失去对谁可以连接的严格控制。