Return-Path: Delivered-To: apmail-camel-dev-archive@www.apache.org Received: (qmail 63164 invoked from network); 2 Apr 2011 21:46:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 2 Apr 2011 21:46:46 -0000 Received: (qmail 45382 invoked by uid 500); 2 Apr 2011 21:46:46 -0000 Delivered-To: apmail-camel-dev-archive@camel.apache.org Received: (qmail 45333 invoked by uid 500); 2 Apr 2011 21:46:46 -0000 Mailing-List: contact dev-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list dev@camel.apache.org Received: (qmail 45325 invoked by uid 99); 2 Apr 2011 21:46:46 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Apr 2011 21:46:46 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Apr 2011 21:46:43 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id B69038FBEC for ; Sat, 2 Apr 2011 21:46:05 +0000 (UTC) Date: Sat, 2 Apr 2011 21:46:05 +0000 (UTC) From: "David Valeri (JIRA)" To: dev@camel.apache.org Message-ID: <3709367.30813.1301780765744.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1031516282.11891.1299184536858.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (CAMEL-3750) Provide a common mechanism to facilitate configuration of TLS across Camel components MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ 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} > > keyPassword="password"> > > > > TLS.* > > > {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