https://issues.apache.org/bugzilla/show_bug.cgi?id=48236

           Summary: another  workaround for CVE-2009-3555 for the BIO
                    connector
           Product: Tomcat 6
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: Connectors
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: hartmut.k...@adnovum.ch


Since Revision 881774 of org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
SSL renegotiation can be disabled.

That is achieved by a HandshakeCompletedListener. The drawback is, that in the
JSSE from SUN any HandshakeCompletedListener will be invoked by with an own 
thread. (See com.sun.net.ssl.internal.ssl.SSLSocketImpl or the fragment below)

Another way of disabling a SSL renegotiation is to set an empty cipher
list after the initial handshake:

org.apache.tomcat.util.net.jsse.JSSESocketFactory
...
...
public void handshake(Socket sock) throws IOException {

       ((SSLSocket)sock).startHandshake();

        if(!allowUnsafeLegacyRenegotiation) {
            // disable all ciphers, avoiding any subsequent handshake 
            ((SSLSocket)sock).setEnabledCipherSuites(new String[0]);
        }
}



Regards 
Hartmut



com.sun.net.ssl.internal.ssl.SSLSocketImpl code fragment:

if (handshaker.isDone()) {
                        sess = handshaker.getSession();
                        handshaker = null;
                        connectionState = cs_DATA;

                        //
                        // Tell folk about handshake completion, but do
                        // it in a separate thread.
                        //
                        if (handshakeListeners != null) {
                            HandshakeCompletedEvent event =
                                new HandshakeCompletedEvent(this, sess);

                            Thread t = new NotifyHandshakeThread(
                                handshakeListeners.entrySet(), event);
                            t.start();
                        }
                    }

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to