如何为骆驼暗流配置 sslContextParameters 以与其余 DSL 一起使用



目前,我正在使用camel-jetty来设置其余的DSL,这非常简单,我创建了一个SSLContextParameters对象,然后像这样传递它:

JettyHttpComponent jetty = context.getComponent("jetty", JettyHttpComponent.class);
jetty.setSslContextParameters(sslContextParameters);

就是这样,但是在Undertow中,没有任何方法可以做到这一点,文档中唯一提到一次的是它支持sslContextParameters选项,但是没有方法或任何方法可以设置这样的选项。

如何将 sslContextParameters 对象分配给 Undertow 组件,以便我可以将 SSL 连接与其余 DSL 一起使用?

顺便说一下,我尝试设置一个UndertowComponent对象并将该选项添加为组件参数,并且还尝试通过restConfiguration((在EndpointProperties中添加该选项,但无济于事。

我还浏览了 2.16.1 的 github 源代码,这是 maven Central 中的最新源代码,我只在 UndertowRegistry 中看到对 ssl 上下文的引用,而 setSslContext setter 甚至从未在任何地方使用过!

不能在骆驼暗流的组件级别设置 SSL。我已经记录了一张票证,以便在即将发布的版本中实现这一点:https://issues.apache.org/jira/browse/CAMEL-9559

您需要在 rest-dsl 配置中将 SSL 配置为端点属性。您可以在以下位置找到更多详细信息:http://camel.apache.org/rest-dsl。并且您需要事先将 sslContextParameters 添加到 Camel 注册表中,以便 endpointProperty 可以通过其 id 查找它。

SSL 上下文可以通过以下方式分配:

    UndertowComponent uc = new UndertowComponent(context);
    KeyStoreParameters trust_ksp = new KeyStoreParameters();
    trust_ksp.setResource("/cacerts.jks");
    trust_ksp.setPassword("changeit");
    TrustManagersParameters trustp = new TrustManagersParameters();
    trustp.setKeyStore(trust_ksp);
    SSLContextParameters scp = new SSLContextParameters();
    scp.setTrustManagers(trustp);
    uc.setSslContextParameters(scp);

相关内容

  • 没有找到相关文章

最新更新