Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.17.1, 2.17.2, 2.17.3
-
None
-
Novice
Description
When used as a Consumer Netty can be put into clientMode, which will cause it to act as a client rather than a server. However when SSL is enabled on the endpoint the SSL Handshake does not occur.
DefaultServerInitializerFactory creates a new SslHandler on-demand during channel initialisation, but forces the SSLEngine to not use client mode, regardless of the setting in the NettyConfiguration instance.
To cause handshakes to happen when in client mode, set the section in DefaultServerInitializerFactory.configureServerSSLOnDemand() to:
SSLEngine engine = sslContext.createSSLEngine(); engine.setUseClientMode(consumer.getConfiguration().isClientMode()); engine.setNeedClientAuth(consumer.getConfiguration().isNeedClientAuth());
For reference see StackOverflow.