R
rmacnak
I'm trying to establish TLS over an existing socket, both the server
and client are running on the same machine with the same jre, but I
keep getting a "SSLHandshakeException: no cipher suites in common.", so
I was wondering how that's even possible.
Here is the server:
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, new javax.net.ssl.TrustManager[]{
new OpenTrustManager()},
new java.security.SecureRandom());
Socket plain = socket;
// Secure the plain connection
socket = context.getSocketFactory().createSocket(plain,
plain.getInetAddress().toString(), plain.getPort(), true);
socket.setSoTimeout(0);
socket.setKeepAlive(true);
((SSLSocket) socket).setEnableSessionCreation(true);
((SSLSocket) socket).setUseClientMode(false);
((SSLSocket) socket).setNeedClientAuth(false);
//enable all available cipher suites
((SSLSocket)
socket).setEnabledCipherSuites(context.getSocketFactory().getSupportedCipherSuites());
((SSLSocket) socket).startHandshake(); //SSLHandshakeException: no
cipher suites in common
and client are running on the same machine with the same jre, but I
keep getting a "SSLHandshakeException: no cipher suites in common.", so
I was wondering how that's even possible.
Here is the server:
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, new javax.net.ssl.TrustManager[]{
new OpenTrustManager()},
new java.security.SecureRandom());
Socket plain = socket;
// Secure the plain connection
socket = context.getSocketFactory().createSocket(plain,
plain.getInetAddress().toString(), plain.getPort(), true);
socket.setSoTimeout(0);
socket.setKeepAlive(true);
((SSLSocket) socket).setEnableSessionCreation(true);
((SSLSocket) socket).setUseClientMode(false);
((SSLSocket) socket).setNeedClientAuth(false);
//enable all available cipher suites
((SSLSocket)
socket).setEnabledCipherSuites(context.getSocketFactory().getSupportedCipherSuites());
((SSLSocket) socket).startHandshake(); //SSLHandshakeException: no
cipher suites in common