-
Bug
-
Resolution: Fixed
-
P3
-
6u71
-
b26
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8056434 | emb-9 | Robert Mckenna | P3 | Resolved | Fixed | b26 |
JDK-8063784 | 8u45 | Robert Mckenna | P3 | Resolved | Fixed | b01 |
JDK-8054428 | 8u40 | Robert Mckenna | P3 | Resolved | Fixed | b02 |
JDK-8051612 | 8u31 | Robert Mckenna | P3 | Closed | Won't Fix | |
JDK-8070238 | emb-8u47 | Robert Mckenna | P3 | Resolved | Fixed | team |
JDK-8054438 | 7u80 | Robert Mckenna | P3 | Resolved | Fixed | b02 |
JDK-8061070 | 7u79 | Robert Mckenna | P3 | Resolved | Fixed | b01 |
JDK-8051613 | 7u76 | Robert Mckenna | P3 | Closed | Fixed | b01 |
JDK-8130164 | 6u105 | Robert Mckenna | P3 | Resolved | Fixed | b04 |
JDK-8057154 | 6u95 | Robert Mckenna | P3 | Resolved | Fixed | b01 |
JDK-8060050 | 6u91 | Robert Mckenna | P3 | Resolved | Fixed | b04 |
Based on an internal email discussion, this was pointed out.
java.lang.RuntimeException: Could not generate secret[[
at
com.sun.net.ssl.internal.ssl.Handshaker.checkThrown(Handshaker.java:973)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:485)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:753)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:721)
I note that DHCrypt/ECDHCrypto have this message. During the processing of other messages, we check to see if there was an exception thrown and then wrap it, but we don't do that there. Several examples:
SecretKey getAgreedSecret(...) {
...deleted...
} catch (GeneralSecurityException e) {
throw new RuntimeException("Could not generate secret", e);
} catch (java.io.IOException e) {
throw new RuntimeException("Could not generate secret", e);
}
and then in the handshakers:
case K_DHE_RSA:
case K_DHE_DSS:
case K_DH_ANON:
preMasterSecret = dh.getAgreedSecret(serverDH, true);
break;
case K_ECDHE_RSA:
case K_ECDHE_ECDSA:
case K_ECDH_ANON:
preMasterSecret = ecdh.getAgreedSecret(ephemeralServerKey);
break;
A RTE will propagate all the way out.
In other spots of the code (e.g. server_key_exchange), we do:
try {
this.serverKeyExchange(new RSA_ServerKeyExchange(input));
} catch (GeneralSecurityException e) {
throwSSLException("Server key", e);
}
break;
We should also look to see where else this is done.
- backported by
-
JDK-8054428 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Resolved
-
-
JDK-8054438 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Resolved
-
-
JDK-8056434 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Resolved
-
-
JDK-8057154 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Resolved
-
-
JDK-8060050 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Resolved
-
-
JDK-8061070 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Resolved
-
-
JDK-8063784 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Resolved
-
-
JDK-8070238 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Resolved
-
-
JDK-8130164 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Resolved
-
-
JDK-8051612 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Closed
-
-
JDK-8051613 Unexpected RuntimeExceptions being thrown by SSLEngine
-
- Closed
-