We are using the Redisson client (redisson-3.11.4) to connect to a Redis server. With netty 4.1.42.Final, everything worked fine. But after upgrading to netty 4.1.48.Final, TLSv1 ClientHello is sent and therefore not able to connect to the server. Tried specifying TLSv1.2 by setting jdk.tls.client.protocols system property, but netty doesn’t seem to be honoring it.
Is there a way to specify the TLS version in the Redisson client? We are currently creating the client like this:
Config config = new Config();
config.useSingleServer()
.setPassword(password)
.setSslTruststore(trustStoreFile.toUri().toURL())
.setSslTruststorePassword(truststorePassword)
.setAddress(endpoint);
RedissonClient client = Redisson.create(config);
Thanks!
2
Answers
Turns out that this happens with IBM JSSE2 Provider. By default, TLSv1 is enabled. To enable TLS V1.0, V1.1, and V1.2, the com.ibm.jsse2.overrideDefaultTLS system property needs to be set to true.
Specify
sslProtocols
setting to define array of allowed SSL protocols