[ 
https://issues.apache.org/jira/browse/CAMEL-18310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-18310:
--------------------------------
    Fix Version/s: 3.18.1
                   3.19.0

> Global SSL Context Params Force SSL for All HTTP Connections 
> -------------------------------------------------------------
>
>                 Key: CAMEL-18310
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18310
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-http
>    Affects Versions: 3.18.0
>            Reporter: Ralf Steppacher
>            Priority: Major
>             Fix For: 3.18.1, 3.19.0
>
>
> When setting the property 
> {{camel.component.http.use-global-ssl-context-parameters=true}} all plaintext 
> http connection attempts fail because a {{SSLConnectionSocketFactory}} is 
> used. E.g. this will fail:
> {code:java}
> to(http("localhost:9090/test"))
> {code}
> with the following stacktrace:
> {noformat}
> javax.net.ssl.SSLException: Unsupported or unrecognized SSL message
>     at 
> java.base/sun.security.ssl.SSLSocketInputRecord.handleUnknownRecord(SSLSocketInputRecord.java:451)
>  ~[na:na]
>     at 
> java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:175)
>  ~[na:na]
>     at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:110) 
> ~[na:na]
>     at 
> java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1369) 
> ~[na:na]
>     at 
> java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1278)
>  ~[na:na]
>     at 
> java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:401)
>  ~[na:na]
>     at 
> java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:373)
>  ~[na:na]
>     at 
> org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
>  ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)
>  ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
>  ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
>  ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
>  ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
>  ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) 
> ~[httpclient-4.5.13.jar:4.5.13]
>     at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) 
> ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) 
> ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
>  ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
>  ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
>  ~[httpclient-4.5.13.jar:4.5.13]
>     at 
> org.apache.camel.component.http.HttpProducer.executeMethod(HttpProducer.java:445)
>  ~[camel-http-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:273) 
> ~[camel-http-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66)
>  ~[camel-support-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.processor.SendDynamicProcessor.lambda$process$0(SendDynamicProcessor.java:197)
>  ~[camel-core-processor-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.support.cache.DefaultProducerCache.doInAsyncProducer(DefaultProducerCache.java:327)
>  ~[camel-support-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.processor.SendDynamicProcessor.process(SendDynamicProcessor.java:182)
>  ~[camel-core-processor-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:812)
>  ~[camel-core-processor-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:720)
>  ~[camel-core-processor-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:189)
>  ~[camel-base-engine-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:61)
>  ~[camel-base-engine-3.18.0.jar:3.18.0]
>     at org.apache.camel.processor.Pipeline.process(Pipeline.java:184) 
> ~[camel-core-processor-3.18.0.jar:3.18.0]
>     at 
> org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:399)
>  ~[camel-base-engine-3.18.0.jar:3.18.0]
> {noformat}
> SSL settings should only apply to endpoints using the {{https}} protocol 
> scheme, not to endpoints using the {{http}} protocol scheme.



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

Reply via email to