-
Bug
-
Resolution: Fixed
-
P4
-
7
-
b81
-
sparc
-
solaris
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8075089 | 5.0u91 | Ivan Gerasimov | P4 | Resolved | Fixed | master |
JDK-8075100 | 5.0u85 | Ivan Gerasimov | P4 | Resolved | Fixed | b10 |
Refer to bug 6378568 which describes a Java client connecting to a server which, turns out, has an incomplete/incorrect implementation of certain ciphersuites (see Comment#4 in 6378568).
While the main problem is on the non-Java server side, JSSE should not crash with a NPE as shown in the exception trace. Instead it should handle the protocol error in some graceful way, such as throwing an exception which describes the situation in english so customers can diagnose what happened.
javax.net.ssl.SSLException: java.lang.NullPointerException
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:166)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1476)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1443)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1426)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:64)
at java.io.OutputStream.write(OutputStream.java:58)
at RunCompression.runTests(RunCompression.java:128)
at RunCompression.main(RunCompression.java:265)
Caused by: java.lang.NullPointerException
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:532)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:160)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:815)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:619)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
... 3 more
While the main problem is on the non-Java server side, JSSE should not crash with a NPE as shown in the exception trace. Instead it should handle the protocol error in some graceful way, such as throwing an exception which describes the situation in english so customers can diagnose what happened.
javax.net.ssl.SSLException: java.lang.NullPointerException
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:166)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1476)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1443)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1426)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:64)
at java.io.OutputStream.write(OutputStream.java:58)
at RunCompression.runTests(RunCompression.java:128)
at RunCompression.main(RunCompression.java:265)
Caused by: java.lang.NullPointerException
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:532)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:160)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:433)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:815)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1025)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:619)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
... 3 more
- backported by
-
JDK-8075089 improve error handling when faced with protocol errors
-
- Resolved
-
-
JDK-8075100 improve error handling when faced with protocol errors
-
- Resolved
-