sockets - Forbid SSL rehandshake in Java (JSSE)? -


is there way forbid re-handshake in java's ssl libraries on client , server side?

i've searched javadocs of sslcontext, sslparameters, sslsocket, sslserversocket , according factories have not found solution.

i don't know of (simple) solution, have found bad one.

it turns out in 2009, security flaw found in ssl protocol affected ssl renegotiation (or rehandshake). java team addressed in 2 phases (as described here.). first phase disable renegotiation ... , done in java 6 patch 19. second phase implement protocol changes renegotiation specified in new rfc.

so, 1 way disable ssl renegotiation downgrade jvm java 6 patch 19.

frankly, think bad idea:

  • you winding version of java has been eol'd.
  • you backing out of whole stack of security patches.
  • if you've started using java 7 or java 8 language / library features, in work.

however, if digs out of deep hole, might consider it.


well, looked @ source code of sslengineimpl (here), , cannot see straightforward solution based on that. kickstarthandshake method.

there couple of properties enable / disable unsafe forms of renegotiation (for compatibility), there no properties turn off entirely. , since method of work private, don't think disable renegotiation functionality overriding methods in subclass.

so leaves copying code, modifying disable renegotiation, changing package names , creating alternative "provider" ssl engine.

and confuse things further ... there implementation of ssl protocol in sslsocketimpl class (here). didn't try figure out of 2 implementations 1 "by default".


Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -