-
Bug
-
Resolution: Fixed
-
P2
-
11, 12
-
b24
-
x86_64
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8229159 | 11.0.6-oracle | Anthony Scarpino | P2 | Closed | Fixed | b01 |
JDK-8230575 | 11.0.6 | Anthony Scarpino | P2 | Resolved | Fixed | b01 |
JDK-8256880 | openjdk8u272 | Martin Balao Alonso | P2 | Closed | Fixed | b06 |
JDK-8243711 | 8u261 | Prasadarao Koppula | P2 | Closed | Fixed | b05 |
JDK-8247044 | emb-8u261 | Prasadarao Koppula | P2 | Resolved | Fixed | team |
ADDITIONAL SYSTEM INFORMATION :
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment (build 11+24-Ubuntu-116.04.1)
OpenJDK 64-Bit Server VM (build 11+24-Ubuntu-116.04.1, mixed mode, sharing)
A DESCRIPTION OF THE PROBLEM :
In the constructor for T12HandshakeHash in HandshakeHash:
MessageDigest md =
JsseJce.getMessageDigest(cipherSuite.hashAlg.name);
if (md instanceof Cloneable) {
transcriptHash = new CloneableHash(md);
this.baos = null;
} else {
transcriptHash = new NonCloneableHash(md);
this.baos = new ByteArrayOutputStream();
}
This is clearly backwards. It guarantees that CloneableHash.archived() is called when T12HandshakeHash.archived() is called which guarantees an UnsupportedOperationException will be thrown. It looks like the same error has been made in T13Handshake as well.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Issue with the code can be seen by inspection.
CUSTOMER SUBMITTED WORKAROUND :
No work around seems possible.
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment (build 11+24-Ubuntu-116.04.1)
OpenJDK 64-Bit Server VM (build 11+24-Ubuntu-116.04.1, mixed mode, sharing)
A DESCRIPTION OF THE PROBLEM :
In the constructor for T12HandshakeHash in HandshakeHash:
MessageDigest md =
JsseJce.getMessageDigest(cipherSuite.hashAlg.name);
if (md instanceof Cloneable) {
transcriptHash = new CloneableHash(md);
this.baos = null;
} else {
transcriptHash = new NonCloneableHash(md);
this.baos = new ByteArrayOutputStream();
}
This is clearly backwards. It guarantees that CloneableHash.archived() is called when T12HandshakeHash.archived() is called which guarantees an UnsupportedOperationException will be thrown. It looks like the same error has been made in T13Handshake as well.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Issue with the code can be seen by inspection.
CUSTOMER SUBMITTED WORKAROUND :
No work around seems possible.
- backported by
-
JDK-8230575 sun.security.ssl.HandshakeHash.T12HandshakeHash constructor check backwards.
- Resolved
-
JDK-8247044 sun.security.ssl.HandshakeHash.T12HandshakeHash constructor check backwards.
- Resolved
-
JDK-8229159 sun.security.ssl.HandshakeHash.T12HandshakeHash constructor check backwards.
- Closed
-
JDK-8243711 sun.security.ssl.HandshakeHash.T12HandshakeHash constructor check backwards.
- Closed
-
JDK-8256880 sun.security.ssl.HandshakeHash.T12HandshakeHash constructor check backwards.
- Closed