Do you have NamespaceHandlers for this as well?

On Apr 2, 2011, at 3:46 PM, David Valeri (JIRA) wrote:

> 
>    [ 
> https://issues.apache.org/jira/browse/CAMEL-3750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13015082#comment-13015082
>  ] 
> 
> David Valeri commented on CAMEL-3750:
> -------------------------------------
> 
> Claus, thanks for taking a look and providing the feedback.
> 
> I'll refactor the resource loading, add some OSGi based unit tests, and split 
> the patch as requested.  I'm guessing it will take me a week or two to find 
> the time to to make these changes.
> 
>> Provide a common mechanism to facilitate configuration of TLS across Camel 
>> components
>> -------------------------------------------------------------------------------------
>> 
>>                Key: CAMEL-3750
>>                URL: https://issues.apache.org/jira/browse/CAMEL-3750
>>            Project: Camel
>>         Issue Type: New Feature
>>         Components: camel-core, camel-http, camel-jetty
>>           Reporter: David Valeri
>>            Fix For: Future
>> 
>>        Attachments: CAMEL-3750.patch
>> 
>> 
>> CXF provides a nice Spring Namespace handler for configuring TLS options on 
>> the Jetty transport.  Configuring these options using XML in Spring or 
>> through a simplified set of utility classes decreases the learning curve for 
>> users by sheltering them from the horrors of JSSE.
>> There are a large number of components in Camel that deal with socket 
>> communication at some level, but they all require users to learn the 
>> specific low level configuration capabilities of the library on which the 
>> component is based in order to configure custom TLS options.
>> It would be convenient if users didn't need to learn the advanced networking 
>> configuration options for each component.
>> This enhancement suggests a similar Spring Namespace handler and utility 
>> classes that allow for simplified configuration of an SSLContext as well as 
>> adding provisions to some of the Camel components in order to accept this 
>> new configuration mechanism.  The initial components to support the new 
>> configuration mechanism are the http, http4, and Jetty components.  Other 
>> components would follow.
>> An example usage is below.
>> Programmatic configuration:
>> {code}
>> KeyStoreParameters ksp = new KeyStoreParameters();
>> ksp.setResource(this.getClass().getClassLoader().getResource("jsse/localhost.ks").toString());
>> ksp.setPassword(pwd);
>> 
>> KeyManagersParameters kmp = new KeyManagersParameters();
>> kmp.setKeyPassword(pwd);
>> kmp.setKeyStore(ksp);
>> TrustManagersParameters tmp = new TrustManagersParameters();
>> tmp.setKeyStore(ksp);
>> 
>> SSLContextParameters sslContextParameters = new SSLContextParameters();
>> sslContextParameters.setKeyManagers(kmp);
>> sslContextParameters.setTrustManagers(tmp);
>> {code}
>> XML Configuration:
>> {code:XML}
>> <SSLContextParameters id="sslContextParameters" secureSocketProtocol="TLS">
>>  <keyManagers
>>      keyPassword="password">
>>    <keyStore resource="./localhost.jks" password="password"/>
>>  </keyManagers>
>>  <secureSocketProtocolsFilter>
>>    <include>TLS.*</include>
>>  </secureSocketProtocolsFilter>
>> </SSLContextParameters>
>> {code}
>> Usage in a route:
>> {code}
>> from("jetty:https://localhost:443/hello?sslContextParametersRef=sslContextParameters";).process(proc);
>> {code}
> 
> --
> This message is automatically generated by JIRA.
> For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to