Andrea Cosentino created CAMEL-25643:
----------------------------------------

             Summary: camel-smpp - Support sslContextParameters for SSL 
connections
                 Key: CAMEL-25643
                 URL: https://issues.apache.org/jira/browse/CAMEL-25643
             Project: Camel
          Issue Type: Improvement
          Components: camel-smpp
            Reporter: Andrea Cosentino


camel-smpp creates the socket of an SSL connection ({{smpps}} scheme or 
{{usingSSL=true}}) from the JVM default {{SSLSocketFactory}}, both directly and 
on top of an HTTP proxy tunnel. Trust and key material can therefore only be 
set for the whole JVM, with the {{javax.net.ssl.*}} system properties. The 
Camel JSSE utility does not apply: the component has no 
{{sslContextParameters}} option, and {{SmppComponent}} does not implement 
{{SSLContextParametersAware}}, so the global {{camel.ssl.*}} configuration is 
not used either.

Proposed change:
* Add an {{sslContextParameters}} endpoint option (label {{security}}) to 
{{SmppConfiguration}}.
* Implement {{SSLContextParametersAware}} on {{SmppComponent}}, with a 
{{useGlobalSslContextParameters}} option, as camel-mllp, camel-mina and 
camel-netty do.
* In {{SmppConnectionFactory}}, when SSL is used and SSL context parameters are 
configured, create the socket from the {{SSLContext}} they build, on the direct 
path and on the proxy path. Without them, keep using the JVM default. The host 
name check from CAMEL-25622 applies in both cases.
* Document the option in the component page, and add tests against a local TLS 
server whose certificate is trusted only through the configured parameters.

Related: CAMEL-25622 (host name verification for SSL connections, 
https://github.com/apache/camel/pull/27803).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to