You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Claus Ibsen <cl...@gmail.com> on 2013/06/05 12:03:42 UTC
Re: https4(Apache Camel 2.10.3) component option httpClientConfigurer
for SSL is not working when i have two different configure for two different route
The same http4 component does not support multiple
sslContextParametersRef. We have added a validation in the next
releases about that.
If you want 2+ sslContextParametersRef then you need one per different
http4 component
See the bottom of this page showing how to
http://camel.apache.org/http4
On Fri, May 3, 2013 at 7:24 PM, apatel <ap...@asg.bellsouth.net> wrote:
> Following things we have tried:
>
> * two routes with different "sslContextParametersRef" endpoint options.
> * two routes with different "httpClientConfigurerRef" endpoint options
> * two routes with different "httpClientConfigurerRef" AND "
>
> File: encoreSSLParams.groovy
> ----------------------------------------------
> beans {
>
>
> encoreSslKeyStoreParametersRef(org.apache.camel.util.jsse.KeyStoreParameters)
> {
> password = "xxxxx"
> resource =
> "${System.getProperty('NIMBUS_HOME')}/qa2certs/EncoreKeyStore.jks".toString()
> }
>
> encoreSslTrustStoreParametersRef(org.apache.camel.util.jsse.KeyStoreParameters)
> {
> password = "xxxxx"
> resource =
> "${System.getProperty('NIMBUS_HOME')}/qa2certs/EncoreTrustStore.jks".toString()
> }
>
>
> encoreSslKeyManagersParametersRef(org.apache.camel.util.jsse.KeyManagersParameters)
> {
> keyStore = ref encoreSslKeyStoreParametersRef
> keyPassword = "xxxxx"
> }
>
>
> encoreTrustManagersParametersRef(org.apache.camel.util.jsse.TrustManagersParameters)
> {
> keyStore = ref encoreSslTrustStoreParametersRef
> }
>
> encoreSslContextParametersRef(org.apache.camel.util.jsse.SSLContextParameters)
> { bean ->
> bean.singleton = false
> keyManagers = ref encoreSslKeyManagersParametersRef
> trustManagers = ref encoreTrustManagersParametersRef
> }
>
> }
>
> File: partialSSLParams.groovy
>
> beans {
>
>
> partialSslTrustStoreParametersRef(org.apache.camel.util.jsse.KeyStoreParameters)
> {
> password = "weblogic1234"
> resource =
> "${System.getProperty('NIMBUS_HOME')}/qa2certs/EncoreTrustStore.jks".toString()
> }
>
>
>
> partialTrustManagersParametersRef(org.apache.camel.util.jsse.TrustManagersParameters)
> {
> keyStore = ref partialSslTrustStoreParametersRef
> }
>
>
> partialSslContextParametersRef(org.apache.camel.util.jsse.SSLContextParameters)
> { bean ->
> bean.singleton = false
> trustManagers = ref partialTrustManagersParametersRef
> }
>
> }
>
> Beans File used for trying multiple configurators, as well as multiple
> seperate clientConnectionManagers to see if using seperate
> clientConnectionManagers where the ssl stuff was desired to be seperated
> would help:
>
>
> import org.apache.camel.component.http4.HttpClientConfigurer
> import org.apache.camel.component.http4.HttpComponent
> import org.apache.camel.component.http4.HttpEndpoint
> import nimbus.ExtBeans.TracingHttp4.TracingHttp4Configurator
> import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager
> import org.apache.http.conn.scheme.SchemeRegistry;
>
> beans {
>
> http4ClientSchemeRegistry(SchemeRegistry)
> tracingHttp4ClientSchemeRegistry(SchemeRegistry)
>
> http4ClientConnMgr(ThreadSafeClientConnManager,
> ref("http4ClientSchemeRegistry"))
>
> tracingHttp4ClientConnMgr(ThreadSafeClientConnManager,
> ref("tracingHttp4ClientSchemeRegistry"))
>
> tracingHttp4ConfiguratorBean(TracingHttp4Configurator)
>
>
> }
>
> Two routes that you play with the see the effects:
>
>
> Tracing test route:
> <route xmlns="http://camel.apache.org/schema/spring" trace="true"
> id="nimbus.ssltests:tracingHttp4Test:1.0" >
> <from uri=\"servlet:///test/onMobileWith2WaySSL" />
> <setHeader headerName="Exchange.HTTP_URI">
> <constant>https4://xxxxxxxxx:443</constant>
> </setHeader>
> <to
> uri="https4://dummy10?sslContextParametersRef=encoreSslContextParametersRef"/>
>
> </route>
>
> Non Tracing test route:
>
> <route xmlns="http://camel.apache.org/schema/spring" trace="true"
> id="nimbus.ssltests:http4Test:1.0" >
> <from uri=\"servlet:///test/onMobileWithSsl" />
> <setHeader headerName="Exchange.HTTP_URI">
> <constant>https4://xxxxxxxxxx:443</constant>
> </setHeader>
> <to
> uri="https4://dummy20?sslContextParametersRef=partialSslContextParametersRef"/>
>
> </route>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/https4-Apache-Camel-2-10-3-component-option-httpClientConfigurer-for-SSL-is-not-working-when-i-have-e-tp5731929p5731994.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
--
Claus Ibsen
-----------------
www.camelone.org: The open source integration conference.
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cibsen@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen