Remove listener on SSL handshake to fix interoperability with Conscrypt#783.

Signed-off-by: David Kocher <dkocher@iterate.ch>
This commit is contained in:
David Kocher
2019-11-07 16:30:36 +01:00
parent ddb08c2269
commit 6f33feff90
@@ -27,8 +27,6 @@ import org.apache.log4j.Logger;
import org.conscrypt.Conscrypt;
import org.conscrypt.OpenSSLProvider;
import javax.net.ssl.HandshakeCompletedEvent;
import javax.net.ssl.HandshakeCompletedListener;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
@@ -85,7 +83,7 @@ public class CustomTrustSSLProtocolSocketFactory extends SSLSocketFactory {
this.key = key;
try {
if(preferences.getBoolean("connection.ssl.provider.conscrypt")) {
context = SSLContext.getInstance("TLS", new OpenSSLProvider());
context = SSLContext.getInstance("TLS", new OpenSSLProvider());
}
else {
// Default provider
@@ -123,14 +121,6 @@ public class CustomTrustSSLProtocolSocketFactory extends SSLSocketFactory {
if(log.isInfoEnabled()) {
log.info(String.format("Enabled cipher suites %s",
Arrays.toString(((SSLSocket) socket).getEnabledCipherSuites())));
((SSLSocket) socket).addHandshakeCompletedListener(new HandshakeCompletedListener() {
@Override
public void handshakeCompleted(final HandshakeCompletedEvent event) {
log.info(String.format("Completed handshake with %s and negotiated cipher suite %s",
event.getSession().getProtocol(), event.getCipherSuite()));
((SSLSocket) socket).removeHandshakeCompletedListener(this);
}
});
}
}
catch(Exception e) {