Java 如何使用Camel 2.17+;
我使用ApacheCamel 2.17.1,在Jetty组件()上设置SSL客户端身份验证时遇到一些问题。服务器SSL的第一部分运行平稳(设置服务器密钥库并从浏览器访问HTTPS端点)。现在,我尝试通过添加另一个需要客户端证书的路由(使用不同的http端口)来丰富应用程序 从文档中可以看出,这可以通过以下方式实现,因为SSL属性不是通过Camel直接公开的:Java 如何使用Camel 2.17+;,java,ssl,apache-camel,jetty,Java,Ssl,Apache Camel,Jetty,我使用ApacheCamel 2.17.1,在Jetty组件()上设置SSL客户端身份验证时遇到一些问题。服务器SSL的第一部分运行平稳(设置服务器密钥库并从浏览器访问HTTPS端点)。现在,我尝试通过添加另一个需要客户端证书的路由(使用不同的http端口)来丰富应用程序 从文档中可以看出,这可以通过以下方式实现,因为SSL属性不是通过Camel直接公开的: <bean id="jetty" class="org.apache.camel.component.jetty.JettyHttp
<bean id="jetty" class="org.apache.camel.component.jetty.JettyHttpComponent">
<property name="sslSocketConnectors">
<map>
<entry key="8043">
<bean class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
<property name="password"value="..."/>
<property name="keyPassword"value="..."/>
<property name="keystore"value="..."/>
<property name="needClientAuth"value="..."/>
<property name="truststore"value="..."/>
</bean>
</entry>
</map>
</property>
有人能帮我找到一个基于更新版本的Apache Camel(如2.17)的解决方案吗?您是否尝试过使用文档中提到的替代方法:
<camel:sslContextParameters id="sslContextParameters">
<camel:keyManagers keyPassword="keyPassword">
<camel:keyStore
resource="/users/home/server/keystore.jks"
password="keystorePassword"/>
</camel:keyManagers>
</camel:sslContextParameters>
<from uri="jetty:https://127.0.0.1/mail/?sslContextParametersRef=sslContextParameters"/>
诚然,它要求您在URI中指定sslContextParametersRef参数,但它应该可以工作。看起来像,但文档尚未更新。(注意:SslSelectChannelConnector
是Jetty 8及更早版本的旧类)
<camel:sslContextParameters id="sslContextParameters">
<camel:keyManagers keyPassword="keyPassword">
<camel:keyStore
resource="/users/home/server/keystore.jks"
password="keystorePassword"/>
</camel:keyManagers>
</camel:sslContextParameters>
<from uri="jetty:https://127.0.0.1/mail/?sslContextParametersRef=sslContextParameters"/>