Hi Jamil,

This was just noticed during a test which uses TLS1.2. 

> On 12. Dec 2018, at 15:35, Jamil Nimeh <jamil.j.ni...@oracle.com> wrote:
> 
> Hi Norman, the new handshaker does return a new SSLSession object.  Part of 
> JDK-8212885 fixes the lack of propagation of session values across session 
> objects, though that fix was largely in the context of TLS 1.3.  There is a 
> backport set for it, but it is not yet complete as far as I'm aware.  Are you 
> doing TLS 1.3 sessions?  If so, are you able to try it with the latest JDK?
> 
> One of the items we're going to be tacking soon is better TLS session object 
> management and new session ticket management so we can avoid these value 
> propagation issues in the future.
> 
> --Jamil
> 
> On 12/11/2018 11:59 PM, Norman Maurer wrote:
>> Hi all,
>> 
>> While working on some unit tests in netty I noticed that there may be a bug 
>> in the JDK implementation of SSLEngine / SSLSession. If its not a but it is 
>> at least surprising I would say.
>> 
>> 
>> So it seems like before the handshake all values that are set on the 
>> SSLSession via putValue are shared across SSLEngine instances. Is this by 
>> design or a bug ? I could not find anything I the java docs that would tell 
>> me this is by design. It only states: "Until the initial handshake has 
>> completed, this method returns a session object which reports an invalid 
>> cipher suite of “SSL_NULL_WITH_NULL_NULL”. This does not sound like it will 
>> be the same object every time and so it would share the values.
>> 
>> You can find a reproducer which will throw an exception here:
>> 
>> https://github.com/normanmaurer/jdk_ssl_session_reproducer 
>> <https://github.com/normanmaurer/jdk_ssl_session_reproducer>
>> 
>> 
>> I did reproduce this with the latest java8 and java11 releases but I am 
>> almost sure it also exists in other versions.
>> 
>> 
> 

Reply via email to