--- a/src/java.base/share/classes/sun/security/ssl/ServerKeyExchange.java Sun Jun 24 13:34:42 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/ServerKeyExchange.java Mon Jun 25 08:14:11 2018 -0700
@@ -55,8 +55,9 @@
// The producing happens in server side only.
ServerHandshakeContext shc = (ServerHandshakeContext)context;
- SSLKeyExchange ke =
- SSLKeyExchange.valueOf(shc.negotiatedCipherSuite.keyExchange);
+ SSLKeyExchange ke = SSLKeyExchange.valueOf(
+ shc.negotiatedCipherSuite.keyExchange,
+ shc.negotiatedProtocol);
if (ke != null) {
for (Map.Entry<Byte, HandshakeProducer> hc :
ke.getHandshakeProducers(shc)) {
@@ -92,8 +93,9 @@
// clean up this consumer
chc.handshakeConsumers.remove(SSLHandshake.SERVER_KEY_EXCHANGE.id);
- SSLKeyExchange ke =
- SSLKeyExchange.valueOf(chc.negotiatedCipherSuite.keyExchange);
+ SSLKeyExchange ke = SSLKeyExchange.valueOf(
+ chc.negotiatedCipherSuite.keyExchange,
+ chc.negotiatedProtocol);
if (ke != null) {
for (Map.Entry<Byte, SSLConsumer> hc :
ke.getHandshakeConsumers(chc)) {