Hmmm, that's a good point. Let me look into lazy initialization and see if I can come up with something reasonable.

--Jamil

On 02/22/2016 04:20 PM, Xuelei Fan wrote:
Hi Jamil,

A comment for safe and robust.

Suppose in the future, JDK enables OSCP stapling in server side by default

   jdk.tls.server.enableStatusRequestExtension = true

the following code might be not ideal in practice:

SSLContextImpl.java
   87   if (serverEnableStapling) {
   88       statusResponseManager = new StatusResponseManager();
   89   }

if an application is always run in client side, for example open a HTTPS
URL:
   URL url = "https://www.example.com";;
   url.openConnect();    // statusResponseManager may be generated


I may use a lazy loading mode, and statusResponseManager would not be
initialized until it get used.

Thanks,
Xuelei

On 2/22/2016 4:37 AM, Jamil Nimeh wrote:
Hello all,

This fix makes a change to SSLContextImpl so it only creates a
StatusResponseManager if OCSP stapling has been enabled on the server
side.  This fix also takes care of a deviation from the design in terms
of how SSLSockets/Engines determine if stapling has been enabled.  The
new code matches the design, that SSLSockets/SSLEngines created from an
SSLContextImpl will all share the enable/disable state at the time the
SSLContext was created.  If changes happen to the properties and another
SSLContextImpl is made then those properties will be evaluated at
instantiation time.

Bug: https://bugs.openjdk.java.net/browse/JDK-8145854
Webrev: http://cr.openjdk.java.net/~jnimeh/reviews/8145854/webrev.01/

Thanks,
--Jamil

Reply via email to