[
https://issues.apache.org/jira/browse/HTTPCORE-749?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Kalnichevski moved HTTPCLIENT-2278 to HTTPCORE-749:
--------------------------------------------------------
Component/s: HttpCore NIO
(was: HttpClient (async))
Key: HTTPCORE-749 (was: HTTPCLIENT-2278)
Affects Version/s: 5.2.1
(was: 5.2.1)
Workflow: classic default workflow (was: Default workflow,
editable Closed status)
Issue Type: Improvement (was: Bug)
Project: HttpComponents HttpCore (was: HttpComponents HttpClient)
> SSLIOSession should catch UnsupportedOperationException from
> SSLEngine.getApplicationProtocol
> ---------------------------------------------------------------------------------------------
>
> Key: HTTPCORE-749
> URL: https://issues.apache.org/jira/browse/HTTPCORE-749
> Project: HttpComponents HttpCore
> Issue Type: Improvement
> Components: HttpCore NIO
> Affects Versions: 5.2.1
> Reporter: Arun Katkere
> Priority: Major
>
> When SSLEngine implementation is old and does not override
> getApplicationProtocol from SSLEngine, HttpClient async fails with:
> java.lang.UnsupportedOperationException
> at javax.net.ssl.SSLEngine.getApplicationProtocol(SSLEngine.java:1283)
> at
> org.apache.hc.core5.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:429)
> at
> org.apache.hc.core5.reactor.ssl.SSLIOSession.access$100(SSLIOSession.java:74)
> at
> org.apache.hc.core5.reactor.ssl.SSLIOSession$1.inputReady(SSLIOSession.java:201)
> at
> org.apache.hc.core5.reactor.InternalDataChannel.onIOEvent(InternalDataChannel.java:142)
> at
> org.apache.hc.core5.reactor.InternalChannel.handleIOEvent(InternalChannel.java:51)
> at
> org.apache.hc.core5.reactor.SingleCoreIOReactor.processEvents(SingleCoreIOReactor.java:178)
> at
> org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:127)
> at
> org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:86)
> at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)
> at java.lang.Thread.run(Thread.java:750)
> Instead, SSLIOSession should catch UnsupportedOperationException from
> getApplicationProtocol call and fall back to HTTP1_1. getApplicationProtocol
> was added in a later version of Java 8, and not all SSL libraries support it.
> tlsDetailsFactory from DefaultClientTlsStrategy can be potentially used to
> work around this, but it is deprecated.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]