Как настроить sslContextParameters для camel-undertow для использования с остальными DSL?

в настоящее время я использую camel-jetty для настройки остальных DSL, это довольно просто, я создаю объект SSLContextParameters, а затем передаю его следующим образом:

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

и все, но в Undertow нет никакого способа сделать это, единственное, что упоминается один раз в документация заключается в том, что он поддерживает параметр sslContextParameters, но нет никакого метода или чего-либо еще для установки такого параметра.

Как мне назначить свой объект sslContextParameters компоненту Undertow, чтобы я мог использовать SSL-соединения с остальными DSL?

Кстати, я пытался установить объект UndertowComponent и добавить параметр в качестве параметра компонента, а также попытался добавить параметр в EndpointProperties через restConfiguration() безрезультатно.

Я также просмотрел исходный код github для версии 2.16.1, которая является последней в maven Central, и я вижу только ссылку на контекст ssl в UndertowRegistry, а установщик setSslContext никогда нигде не используется!


person Raul G    schedule 01.02.2016    source источник


Ответы (2)


Вы не можете установить SSL на уровне компонента на верблюде. Я зарегистрировал билет, чтобы сделать это возможным в следующем выпуске: https://issues.apache.org/jira/browse/CAMEL-9559

Вам нужно будет настроить SSL как endpointProperty в конфигурации rest-dsl. Дополнительную информацию можно найти по адресу: http://camel.apache.org/rest-dsl. И вам нужно будет заранее добавить sslContextParameters в реестр Camel, чтобы endpointProperty мог искать его по его идентификатору.

person Claus Ibsen    schedule 02.02.2016

Контекст 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);
person Ankit    schedule 13.06.2018