final class sun.security.ssl.ServerHello$T12ServerHelloConsumer implements sun.security.ssl.HandshakeConsumer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.ServerHello$T12ServerHelloConsumer
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.security.ssl.ServerHello$T12ServerHelloConsumer this
0: .line 1024
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 1026
return
end local 0 // sun.security.ssl.ServerHello$T12ServerHelloConsumer this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/ServerHello$T12ServerHelloConsumer;
public void consume(sun.security.ssl.ConnectionContext, sun.security.ssl.SSLHandshake$HandshakeMessage);
descriptor: (Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=3
start local 0 // sun.security.ssl.ServerHello$T12ServerHelloConsumer this
start local 1 // sun.security.ssl.ConnectionContext context
start local 2 // sun.security.ssl.SSLHandshake$HandshakeMessage message
0: .line 1032
aload 1 /* context */
checkcast sun.security.ssl.ClientHandshakeContext
astore 3 /* chc */
start local 3 // sun.security.ssl.ClientHandshakeContext chc
1: .line 1033
aload 2 /* message */
checkcast sun.security.ssl.ServerHello$ServerHelloMessage
astore 4 /* serverHello */
start local 4 // sun.security.ssl.ServerHello$ServerHelloMessage serverHello
2: .line 1034
aload 3 /* chc */
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.serverVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ClientHandshakeContext.isNegotiable:(Lsun/security/ssl/ProtocolVersion;)Z
ifne 9
3: .line 1035
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
4: .line 1036
new java.lang.StringBuilder
dup
ldc "Server chose "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.serverVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: .line 1037
ldc ", but that protocol version is not enabled or "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: .line 1038
ldc "not supported by the client."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: .line 1036
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: .line 1035
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
9: .line 1042
StackMap locals: sun.security.ssl.ClientHandshakeContext sun.security.ssl.ServerHello$ServerHelloMessage
StackMap stack:
aload 3 /* chc */
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.cipherSuite:Lsun/security/ssl/CipherSuite;
putfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
10: .line 1043
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.handshakeHash:Lsun/security/ssl/HandshakeHash;
11: .line 1044
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
12: .line 1043
invokevirtual sun.security.ssl.HandshakeHash.determine:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;)V
13: .line 1045
aload 3 /* chc */
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.serverRandom:Lsun/security/ssl/RandomCookie;
putfield sun.security.ssl.ClientHandshakeContext.serverHelloRandom:Lsun/security/ssl/RandomCookie;
14: .line 1046
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
ifnonnull 20
15: .line 1047
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
16: .line 1048
new java.lang.StringBuilder
dup
ldc "TLS 1.2 or prior version does not support the server cipher suite: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: .line 1049
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
getfield sun.security.ssl.CipherSuite.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: .line 1048
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: .line 1047
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
20: .line 1057
StackMap locals:
StackMap stack:
iconst_1
anewarray sun.security.ssl.SSLExtension
dup
iconst_0
21: .line 1058
getstatic sun.security.ssl.SSLExtension.SH_RENEGOTIATION_INFO:Lsun/security/ssl/SSLExtension;
aastore
22: .line 1057
astore 5 /* extTypes */
start local 5 // sun.security.ssl.SSLExtension[] extTypes
23: .line 1060
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
aload 3 /* chc */
aload 5 /* extTypes */
invokevirtual sun.security.ssl.SSLExtensions.consumeOnLoad:(Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
24: .line 1063
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
ifnull 52
25: .line 1065
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.sessionId:Lsun/security/ssl/SessionId;
26: .line 1066
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getSessionId:()Lsun/security/ssl/SessionId;
27: .line 1065
invokevirtual sun.security.ssl.SessionId.equals:(Ljava/lang/Object;)Z
28: .line 1066
ifeq 44
29: .line 1071
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
astore 6 /* sessionSuite */
start local 6 // sun.security.ssl.CipherSuite sessionSuite
30: .line 1072
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
aload 6 /* sessionSuite */
if_acmpeq 34
31: .line 1073
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
32: .line 1074
ldc "Server returned wrong cipher suite for session"
33: .line 1073
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
34: .line 1079
StackMap locals: sun.security.ssl.SSLExtension[] sun.security.ssl.CipherSuite
StackMap stack:
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getProtocolVersion:()Lsun/security/ssl/ProtocolVersion;
35: .line 1078
astore 7 /* sessionVersion */
start local 7 // sun.security.ssl.ProtocolVersion sessionVersion
36: .line 1080
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
aload 7 /* sessionVersion */
if_acmpeq 40
37: .line 1081
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
38: .line 1082
ldc "Server resumed with wrong protocol version"
39: .line 1081
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
40: .line 1086
StackMap locals: sun.security.ssl.ProtocolVersion
StackMap stack:
aload 3 /* chc */
iconst_1
putfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
41: .line 1087
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
iconst_1
invokevirtual sun.security.ssl.SSLSessionImpl.setAsSessionResumption:(Z)V
42: .line 1088
aload 3 /* chc */
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
putfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
end local 7 // sun.security.ssl.ProtocolVersion sessionVersion
end local 6 // sun.security.ssl.CipherSuite sessionSuite
43: .line 1089
goto 52
44: .line 1094
StackMap locals:
StackMap stack:
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
ifnull 47
45: .line 1095
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
46: .line 1096
aload 3 /* chc */
aconst_null
putfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
47: .line 1098
StackMap locals:
StackMap stack:
aload 3 /* chc */
iconst_0
putfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
48: .line 1099
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
ifne 52
49: .line 1100
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
50: .line 1101
ldc "New session creation is disabled"
51: .line 1100
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
52: .line 1107
StackMap locals:
StackMap stack:
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
53: .line 1108
getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO:Lsun/security/ssl/SSLHandshake;
54: .line 1107
invokevirtual sun.security.ssl.SSLConfiguration.getEnabledExtensions:(Lsun/security/ssl/SSLHandshake;)[Lsun/security/ssl/SSLExtension;
astore 5 /* extTypes */
55: .line 1109
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
aload 3 /* chc */
aload 5 /* extTypes */
invokevirtual sun.security.ssl.SSLExtensions.consumeOnLoad:(Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
56: .line 1111
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
ifne 84
57: .line 1112
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
ifnull 60
58: .line 1114
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
59: .line 1115
aload 3 /* chc */
aconst_null
putfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
60: .line 1118
StackMap locals:
StackMap stack:
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
ifne 64
61: .line 1119
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.PROTOCOL_VERSION:Lsun/security/ssl/Alert;
62: .line 1120
ldc "New session creation is disabled"
63: .line 1119
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
64: .line 1123
StackMap locals:
StackMap stack:
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.sessionId:Lsun/security/ssl/SessionId;
invokevirtual sun.security.ssl.SessionId.length:()I
ifne 77
65: .line 1124
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.statelessResumption:Z
ifeq 77
66: .line 1125
new sun.security.ssl.SessionId
dup
iconst_1
67: .line 1126
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
68: .line 1125
invokespecial sun.security.ssl.SessionId.<init>:(ZLjava/security/SecureRandom;)V
astore 6 /* newId */
start local 6 // sun.security.ssl.SessionId newId
69: .line 1127
aload 3 /* chc */
new sun.security.ssl.SSLSessionImpl
dup
aload 3 /* chc */
70: .line 1128
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
aload 6 /* newId */
invokespecial sun.security.ssl.SSLSessionImpl.<init>:(Lsun/security/ssl/HandshakeContext;Lsun/security/ssl/CipherSuite;Lsun/security/ssl/SessionId;)V
71: .line 1127
putfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
72: .line 1130
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 81
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 81
73: .line 1131
new java.lang.StringBuilder
dup
ldc "Locally assigned Session Id: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
74: .line 1132
aload 6 /* newId */
invokevirtual sun.security.ssl.SessionId.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
75: .line 1131
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 6 // sun.security.ssl.SessionId newId
76: .line 1134
goto 81
77: .line 1135
StackMap locals:
StackMap stack:
aload 3 /* chc */
new sun.security.ssl.SSLSessionImpl
dup
aload 3 /* chc */
78: .line 1136
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
79: .line 1137
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.sessionId:Lsun/security/ssl/SessionId;
invokespecial sun.security.ssl.SSLSessionImpl.<init>:(Lsun/security/ssl/HandshakeContext;Lsun/security/ssl/CipherSuite;Lsun/security/ssl/SessionId;)V
80: .line 1135
putfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
81: .line 1139
StackMap locals:
StackMap stack:
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
82: .line 1140
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.maximumPacketSize:I
83: .line 1139
invokevirtual sun.security.ssl.SSLSessionImpl.setMaximumPacketSize:(I)V
84: .line 1146
StackMap locals:
StackMap stack:
aload 4 /* serverHello */
getfield sun.security.ssl.ServerHello$ServerHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
aload 3 /* chc */
aload 5 /* extTypes */
invokevirtual sun.security.ssl.SSLExtensions.consumeOnTrade:(Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
85: .line 1149
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
ifeq 111
86: .line 1151
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
invokestatic sun.security.ssl.SSLTrafficKeyDerivation.valueOf:(Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/SSLTrafficKeyDerivation;
87: .line 1150
astore 6 /* kdg */
start local 6 // sun.security.ssl.SSLTrafficKeyDerivation kdg
88: .line 1152
aload 6 /* kdg */
ifnonnull 94
89: .line 1154
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
90: .line 1155
new java.lang.StringBuilder
dup
ldc "Not supported key derivation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
91: .line 1156
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
92: .line 1155
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
93: .line 1154
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
94: .line 1158
StackMap locals: sun.security.ssl.SSLTrafficKeyDerivation
StackMap stack:
aload 3 /* chc */
aload 6 /* kdg */
95: .line 1159
aload 3 /* chc */
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
96: .line 1158
invokevirtual sun.security.ssl.SSLTrafficKeyDerivation.createKeyDerivation:(Lsun/security/ssl/HandshakeContext;Ljavax/crypto/SecretKey;)Lsun/security/ssl/SSLKeyDerivation;
putfield sun.security.ssl.ClientHandshakeContext.handshakeKeyDerivation:Lsun/security/ssl/SSLKeyDerivation;
97: .line 1162
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.statelessResumption:Z
ifeq 102
98: .line 1163
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
99: .line 1164
getstatic sun.security.ssl.SSLHandshake.NEW_SESSION_TICKET:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
100: .line 1165
getstatic sun.security.ssl.SSLHandshake.NEW_SESSION_TICKET:Lsun/security/ssl/SSLHandshake;
101: .line 1163
invokevirtual java.util.LinkedHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
102: .line 1167
StackMap locals:
StackMap stack:
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.consumers:Ljava/util/Map;
103: .line 1168
getstatic sun.security.ssl.ContentType.CHANGE_CIPHER_SPEC:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
104: .line 1169
getstatic sun.security.ssl.ChangeCipherSpec.t10Consumer:Lsun/security/ssl/SSLConsumer;
105: .line 1167
invokeinterface java.util.Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
106: .line 1170
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
107: .line 1171
getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
108: .line 1172
getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
109: .line 1170
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 // sun.security.ssl.SSLTrafficKeyDerivation kdg
110: .line 1173
goto 124
111: .line 1175
StackMap locals:
StackMap stack:
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedCipherSuite:Lsun/security/ssl/CipherSuite;
getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
112: .line 1176
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
113: .line 1174
invokestatic sun.security.ssl.SSLKeyExchange.valueOf:(Lsun/security/ssl/CipherSuite$KeyExchange;Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/SSLKeyExchange;
astore 6 /* ke */
start local 6 // sun.security.ssl.SSLKeyExchange ke
114: .line 1177
aload 3 /* chc */
aload 6 /* ke */
putfield sun.security.ssl.ClientHandshakeContext.handshakeKeyExchange:Lsun/security/ssl/SSLKeyExchange;
115: .line 1178
aload 6 /* ke */
ifnull 121
116: .line 1180
aload 6 /* ke */
aload 3 /* chc */
invokevirtual sun.security.ssl.SSLKeyExchange.getRelatedHandshakers:(Lsun/security/ssl/HandshakeContext;)[Lsun/security/ssl/SSLHandshake;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 120
StackMap locals: sun.security.ssl.ServerHello$T12ServerHelloConsumer sun.security.ssl.ConnectionContext sun.security.ssl.SSLHandshake$HandshakeMessage sun.security.ssl.ClientHandshakeContext sun.security.ssl.ServerHello$ServerHelloMessage sun.security.ssl.SSLExtension[] sun.security.ssl.SSLKeyExchange top int int sun.security.ssl.SSLHandshake[]
StackMap stack:
117: aload 10
iload 8
aaload
astore 7 /* handshake */
start local 7 // sun.security.ssl.SSLHandshake handshake
118: .line 1181
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
aload 7 /* handshake */
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aload 7 /* handshake */
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 // sun.security.ssl.SSLHandshake handshake
119: .line 1179
iinc 8 1
StackMap locals:
StackMap stack:
120: iload 8
iload 9
if_icmplt 117
121: .line 1185
StackMap locals: sun.security.ssl.ServerHello$T12ServerHelloConsumer sun.security.ssl.ConnectionContext sun.security.ssl.SSLHandshake$HandshakeMessage sun.security.ssl.ClientHandshakeContext sun.security.ssl.ServerHello$ServerHelloMessage sun.security.ssl.SSLExtension[] sun.security.ssl.SSLKeyExchange
StackMap stack:
aload 3 /* chc */
getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO_DONE:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
122: .line 1186
getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO_DONE:Lsun/security/ssl/SSLHandshake;
123: .line 1185
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 // sun.security.ssl.SSLKeyExchange ke
124: .line 1193
StackMap locals:
StackMap stack:
return
end local 5 // sun.security.ssl.SSLExtension[] extTypes
end local 4 // sun.security.ssl.ServerHello$ServerHelloMessage serverHello
end local 3 // sun.security.ssl.ClientHandshakeContext chc
end local 2 // sun.security.ssl.SSLHandshake$HandshakeMessage message
end local 1 // sun.security.ssl.ConnectionContext context
end local 0 // sun.security.ssl.ServerHello$T12ServerHelloConsumer this
LocalVariableTable:
Start End Slot Name Signature
0 125 0 this Lsun/security/ssl/ServerHello$T12ServerHelloConsumer;
0 125 1 context Lsun/security/ssl/ConnectionContext;
0 125 2 message Lsun/security/ssl/SSLHandshake$HandshakeMessage;
1 125 3 chc Lsun/security/ssl/ClientHandshakeContext;
2 125 4 serverHello Lsun/security/ssl/ServerHello$ServerHelloMessage;
23 125 5 extTypes [Lsun/security/ssl/SSLExtension;
30 43 6 sessionSuite Lsun/security/ssl/CipherSuite;
36 43 7 sessionVersion Lsun/security/ssl/ProtocolVersion;
69 76 6 newId Lsun/security/ssl/SessionId;
88 110 6 kdg Lsun/security/ssl/SSLTrafficKeyDerivation;
114 124 6 ke Lsun/security/ssl/SSLKeyExchange;
118 119 7 handshake Lsun/security/ssl/SSLHandshake;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
message
}
SourceFile: "ServerHello.java"
NestHost: sun.security.ssl.ServerHello
InnerClasses:
final KeyExchange = sun.security.ssl.CipherSuite$KeyExchange of sun.security.ssl.CipherSuite
abstract HandshakeMessage = sun.security.ssl.SSLHandshake$HandshakeMessage of sun.security.ssl.SSLHandshake
final ServerHelloMessage = sun.security.ssl.ServerHello$ServerHelloMessage of sun.security.ssl.ServerHello
private final T12ServerHelloConsumer = sun.security.ssl.ServerHello$T12ServerHelloConsumer of sun.security.ssl.ServerHello