final class sun.security.ssl.ClientHello$ClientHelloKickstartProducer implements sun.security.ssl.SSLProducer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.ClientHello$ClientHelloKickstartProducer
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 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/ClientHello$ClientHelloKickstartProducer;
public byte[] produce(sun.security.ssl.ConnectionContext);
descriptor: (Lsun/security/ssl/ConnectionContext;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=16, args_size=2
start local 0 start local 1 0: aload 1
checkcast sun.security.ssl.ClientHandshakeContext
astore 2
start local 2 1: aload 2
getfield sun.security.ssl.ClientHandshakeContext.handshakeProducers:Ljava/util/HashMap;
getstatic sun.security.ssl.SSLHandshake.CLIENT_HELLO:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
getfield sun.security.ssl.ClientHandshakeContext.maximumActiveProtocol:Lsun/security/ssl/ProtocolVersion;
astore 3
start local 3 3: getstatic sun.security.ssl.SSLSessionImpl.nullSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getSessionId:()Lsun/security/ssl/SessionId;
astore 4
start local 4 4: aload 2
getfield sun.security.ssl.ClientHandshakeContext.activeCipherSuites:Ljava/util/List;
astore 5
start local 5 5: aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.engineGetClientSessionContext:()Ljavax/net/ssl/SSLSessionContext;
6: checkcast sun.security.ssl.SSLSessionContextImpl
astore 6
start local 6 7: aload 6
8: aload 2
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
invokeinterface sun.security.ssl.SSLTransport.getPeerHost:()Ljava/lang/String;
9: aload 2
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.transport:Lsun/security/ssl/SSLTransport;
invokeinterface sun.security.ssl.SSLTransport.getPeerPort:()I
10: invokevirtual sun.security.ssl.SSLSessionContextImpl.get:(Ljava/lang/String;I)Lsun/security/ssl/SSLSessionImpl;
astore 7
start local 7 11: aload 7
ifnull 25
12: getstatic sun.security.ssl.ClientHandshakeContext.allowUnsafeServerCertChange:Z
ifne 19
13: aload 7
invokevirtual sun.security.ssl.SSLSessionImpl.isSessionResumption:()Z
ifeq 19
14: aload 2
15: aload 7
invokevirtual sun.security.ssl.SSLSessionImpl.getPeerCertificates:()[Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate[]
16: putfield sun.security.ssl.ClientHandshakeContext.reservedServerCerts:[Ljava/security/cert/X509Certificate;
17: goto 19
StackMap locals: sun.security.ssl.ClientHello$ClientHelloKickstartProducer sun.security.ssl.ConnectionContext sun.security.ssl.ClientHandshakeContext sun.security.ssl.ProtocolVersion sun.security.ssl.SessionId java.util.List sun.security.ssl.SSLSessionContextImpl sun.security.ssl.SSLSessionImpl
StackMap stack: javax.net.ssl.SSLPeerUnverifiedException
18: pop
19: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.security.ssl.SSLSessionImpl.isRejoinable:()Z
ifne 25
20: aconst_null
astore 7
21: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 25
22: ldc "ssl,handshake,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 25
23: ldc "Can't resume, the session is not rejoinable"
iconst_0
anewarray java.lang.Object
24: invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
25: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 26: aload 7
ifnull 34
27: aload 7
invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
astore 8
28: aload 2
aload 8
invokevirtual sun.security.ssl.ClientHandshakeContext.isNegotiable:(Lsun/security/ssl/CipherSuite;)Z
ifne 34
29: aconst_null
astore 7
30: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 34
31: ldc "ssl,handshake,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 34
32: ldc "Can't resume, unavailable session cipher suite"
iconst_0
anewarray java.lang.Object
33: invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
34: StackMap locals: sun.security.ssl.CipherSuite
StackMap stack:
aconst_null
astore 9
start local 9 35: aload 7
ifnull 43
36: aload 7
invokevirtual sun.security.ssl.SSLSessionImpl.getProtocolVersion:()Lsun/security/ssl/ProtocolVersion;
astore 9
37: aload 2
aload 9
invokevirtual sun.security.ssl.ClientHandshakeContext.isNegotiable:(Lsun/security/ssl/ProtocolVersion;)Z
ifne 43
38: aconst_null
astore 7
39: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 43
40: ldc "ssl,handshake,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 43
41: ldc "Can't resume, unavailable protocol version"
iconst_0
anewarray java.lang.Object
42: invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
43: StackMap locals: sun.security.ssl.ProtocolVersion
StackMap stack:
aload 7
ifnull 61
44: aload 9
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 61
45: getstatic sun.security.ssl.SSLConfiguration.useExtendedMasterSecret:Z
ifeq 61
46: aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
47: getstatic sun.security.ssl.SSLExtension.CH_EXTENDED_MASTER_SECRET:Lsun/security/ssl/SSLExtension;
aload 9
48: invokevirtual sun.security.ssl.SSLConfiguration.isAvailable:(Lsun/security/ssl/SSLExtension;Lsun/security/ssl/ProtocolVersion;)Z
istore 10
start local 10 49: iload 10
ifeq 52
aload 7
getfield sun.security.ssl.SSLSessionImpl.useExtendedMasterSecret:Z
ifne 52
50: getstatic sun.security.ssl.SSLConfiguration.allowLegacyResumption:Z
ifne 52
51: aconst_null
astore 7
52: StackMap locals: int
StackMap stack:
aload 7
ifnull 61
53: getstatic sun.security.ssl.ClientHandshakeContext.allowUnsafeServerCertChange:Z
ifne 61
54: aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.identificationProtocol:Ljava/lang/String;
astore 11
start local 11 55: aload 11
ifnull 56
aload 11
invokevirtual java.lang.String.isEmpty:()Z
ifeq 61
56: StackMap locals: java.lang.String
StackMap stack:
iload 10
ifeq 60
57: aload 7
getfield sun.security.ssl.SSLSessionImpl.useExtendedMasterSecret:Z
ifne 61
58: aconst_null
astore 7
59: goto 61
60: StackMap locals:
StackMap stack:
aconst_null
astore 7
end local 11 end local 10 61: StackMap locals:
StackMap stack:
aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.identificationProtocol:Ljava/lang/String;
astore 10
start local 10 62: aload 7
ifnull 72
aload 10
ifnull 72
63: aload 7
invokevirtual sun.security.ssl.SSLSessionImpl.getIdentificationProtocol:()Ljava/lang/String;
64: astore 11
start local 11 65: aload 10
aload 11
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 72
66: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 71
67: ldc "ssl,handshake,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 71
68: new java.lang.StringBuilder
dup
ldc "Can't resume, endpoint id algorithm does not match, requested: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
69: aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", cached: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
70: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
71: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aconst_null
astore 7
end local 11 72: StackMap locals:
StackMap stack:
aload 7
ifnull 99
73: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 75
ldc "ssl,handshake,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 75
74: ldc "Try resuming session"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 7
aastore
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
75: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.security.ssl.SSLSessionImpl.getProtocolVersion:()Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 77
76: aload 7
invokevirtual sun.security.ssl.SSLSessionImpl.getSessionId:()Lsun/security/ssl/SessionId;
astore 4
77: StackMap locals:
StackMap stack:
aload 3
aload 9
invokevirtual sun.security.ssl.ProtocolVersion.equals:(Ljava/lang/Object;)Z
ifne 80
78: aload 9
astore 3
79: aload 2
aload 9
invokevirtual sun.security.ssl.ClientHandshakeContext.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
80: StackMap locals:
StackMap stack:
aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
ifne 97
81: aload 2
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 91
82: aload 9
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 91
83: aload 5
84: getstatic sun.security.ssl.CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV:Lsun/security/ssl/CipherSuite;
85: invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
86: ifeq 91
87: iconst_2
anewarray sun.security.ssl.CipherSuite
dup
iconst_0
aload 8
aastore
dup
iconst_1
88: getstatic sun.security.ssl.CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV:Lsun/security/ssl/CipherSuite;
aastore
89: invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 5
90: goto 92
91: StackMap locals:
StackMap stack:
iconst_1
anewarray sun.security.ssl.CipherSuite
dup
iconst_0
aload 8
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 5
92: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 97
93: ldc "ssl,handshake,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 97
94: ldc "No new session is allowed, so try to resume the session cipher suite only"
iconst_1
anewarray java.lang.Object
dup
iconst_0
95: aload 8
aastore
96: invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
97: StackMap locals:
StackMap stack:
aload 2
iconst_1
putfield sun.security.ssl.ClientHandshakeContext.isResumption:Z
98: aload 2
aload 7
putfield sun.security.ssl.ClientHandshakeContext.resumingSession:Lsun/security/ssl/SSLSessionImpl;
99: StackMap locals:
StackMap stack:
aload 7
ifnonnull 108
100: aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
ifne 104
101: new javax.net.ssl.SSLHandshakeException
dup
102: ldc "No new session is allowed and no existing session can be resumed"
103: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
104: StackMap locals:
StackMap stack:
aload 3
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 108
105: getstatic sun.security.ssl.SSLConfiguration.useCompatibilityMode:Z
ifeq 108
106: new sun.security.ssl.SessionId
dup
iconst_1
aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
invokespecial sun.security.ssl.SessionId.<init>:(ZLjava/security/SecureRandom;)V
107: astore 4
108: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ProtocolVersion.NONE:Lsun/security/ssl/ProtocolVersion;
astore 11
start local 11 109: aload 2
getfield sun.security.ssl.ClientHandshakeContext.activeProtocols:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 114
StackMap locals: sun.security.ssl.ClientHello$ClientHelloKickstartProducer sun.security.ssl.ConnectionContext sun.security.ssl.ClientHandshakeContext sun.security.ssl.ProtocolVersion sun.security.ssl.SessionId java.util.List sun.security.ssl.SSLSessionContextImpl sun.security.ssl.SSLSessionImpl sun.security.ssl.CipherSuite sun.security.ssl.ProtocolVersion java.lang.String sun.security.ssl.ProtocolVersion top java.util.Iterator
StackMap stack:
110: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.ProtocolVersion
astore 12
start local 12 111: aload 11
getstatic sun.security.ssl.ProtocolVersion.NONE:Lsun/security/ssl/ProtocolVersion;
if_acmpeq 113
112: aload 12
aload 11
invokevirtual sun.security.ssl.ProtocolVersion.compare:(Lsun/security/ssl/ProtocolVersion;)I
ifge 114
113: StackMap locals: sun.security.ssl.ClientHello$ClientHelloKickstartProducer sun.security.ssl.ConnectionContext sun.security.ssl.ClientHandshakeContext sun.security.ssl.ProtocolVersion sun.security.ssl.SessionId java.util.List sun.security.ssl.SSLSessionContextImpl sun.security.ssl.SSLSessionImpl sun.security.ssl.CipherSuite sun.security.ssl.ProtocolVersion java.lang.String sun.security.ssl.ProtocolVersion sun.security.ssl.ProtocolVersion java.util.Iterator
StackMap stack:
aload 12
astore 11
end local 12 114: StackMap locals: sun.security.ssl.ClientHello$ClientHelloKickstartProducer sun.security.ssl.ConnectionContext sun.security.ssl.ClientHandshakeContext sun.security.ssl.ProtocolVersion sun.security.ssl.SessionId java.util.List sun.security.ssl.SSLSessionContextImpl sun.security.ssl.SSLSessionImpl sun.security.ssl.CipherSuite sun.security.ssl.ProtocolVersion java.lang.String sun.security.ssl.ProtocolVersion top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 110
115: aload 11
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 125
116: aload 2
getfield sun.security.ssl.ClientHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.secureRenegotiation:Z
ifeq 125
117: aload 5
118: getstatic sun.security.ssl.CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV:Lsun/security/ssl/CipherSuite;
119: invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
120: ifeq 125
121: new java.util.LinkedList
dup
aload 5
invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
astore 5
122: aload 5
123: getstatic sun.security.ssl.CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV:Lsun/security/ssl/CipherSuite;
124: invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
125: StackMap locals: sun.security.ssl.ClientHello$ClientHelloKickstartProducer sun.security.ssl.ConnectionContext sun.security.ssl.ClientHandshakeContext sun.security.ssl.ProtocolVersion sun.security.ssl.SessionId java.util.List sun.security.ssl.SSLSessionContextImpl sun.security.ssl.SSLSessionImpl sun.security.ssl.CipherSuite sun.security.ssl.ProtocolVersion java.lang.String sun.security.ssl.ProtocolVersion
StackMap stack:
iconst_0
istore 12
start local 12 126: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 131
StackMap locals: sun.security.ssl.ClientHello$ClientHelloKickstartProducer sun.security.ssl.ConnectionContext sun.security.ssl.ClientHandshakeContext sun.security.ssl.ProtocolVersion sun.security.ssl.SessionId java.util.List sun.security.ssl.SSLSessionContextImpl sun.security.ssl.SSLSessionImpl sun.security.ssl.CipherSuite sun.security.ssl.ProtocolVersion java.lang.String sun.security.ssl.ProtocolVersion int top java.util.Iterator
StackMap stack:
127: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.CipherSuite
astore 13
start local 13 128: aload 2
aload 13
invokevirtual sun.security.ssl.ClientHandshakeContext.isNegotiable:(Lsun/security/ssl/CipherSuite;)Z
ifeq 131
129: iconst_1
istore 12
130: goto 132
end local 13 131: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 127
132: StackMap locals: sun.security.ssl.ClientHello$ClientHelloKickstartProducer sun.security.ssl.ConnectionContext sun.security.ssl.ClientHandshakeContext sun.security.ssl.ProtocolVersion sun.security.ssl.SessionId java.util.List sun.security.ssl.SSLSessionContextImpl sun.security.ssl.SSLSessionImpl sun.security.ssl.CipherSuite sun.security.ssl.ProtocolVersion java.lang.String sun.security.ssl.ProtocolVersion int
StackMap stack:
iload 12
ifne 134
133: new javax.net.ssl.SSLHandshakeException
dup
ldc "No negotiable cipher suite"
invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
134: StackMap locals:
StackMap stack:
aload 3
astore 13
start local 13 135: aload 13
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 140
136: aload 13
getfield sun.security.ssl.ProtocolVersion.isDTLS:Z
ifeq 139
137: getstatic sun.security.ssl.ProtocolVersion.DTLS12:Lsun/security/ssl/ProtocolVersion;
astore 13
138: goto 140
139: StackMap locals: sun.security.ssl.ProtocolVersion
StackMap stack:
getstatic sun.security.ssl.ProtocolVersion.TLS12:Lsun/security/ssl/ProtocolVersion;
astore 13
140: StackMap locals:
StackMap stack:
new sun.security.ssl.ClientHello$ClientHelloMessage
dup
aload 2
141: aload 13
getfield sun.security.ssl.ProtocolVersion.id:I
aload 4
aload 5
142: aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
143: invokespecial sun.security.ssl.ClientHello$ClientHelloMessage.<init>:(Lsun/security/ssl/HandshakeContext;ILsun/security/ssl/SessionId;Ljava/util/List;Ljava/security/SecureRandom;)V
astore 14
start local 14 144: aload 2
aload 14
getfield sun.security.ssl.ClientHello$ClientHelloMessage.clientRandom:Lsun/security/ssl/RandomCookie;
putfield sun.security.ssl.ClientHandshakeContext.clientHelloRandom:Lsun/security/ssl/RandomCookie;
145: aload 2
aload 13
getfield sun.security.ssl.ProtocolVersion.id:I
putfield sun.security.ssl.ClientHandshakeContext.clientHelloVersion:I
146: aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
147: getstatic sun.security.ssl.SSLHandshake.CLIENT_HELLO:Lsun/security/ssl/SSLHandshake;
aload 2
getfield sun.security.ssl.ClientHandshakeContext.activeProtocols:Ljava/util/List;
148: invokevirtual sun.security.ssl.SSLConfiguration.getEnabledExtensions:(Lsun/security/ssl/SSLHandshake;Ljava/util/List;)[Lsun/security/ssl/SSLExtension;
astore 15
start local 15 149: aload 14
getfield sun.security.ssl.ClientHello$ClientHelloMessage.extensions:Lsun/security/ssl/SSLExtensions;
aload 2
aload 15
invokevirtual sun.security.ssl.SSLExtensions.produce:(Lsun/security/ssl/HandshakeContext;[Lsun/security/ssl/SSLExtension;)V
150: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 152
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 152
151: ldc "Produced ClientHello handshake message"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
aastore
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
152: StackMap locals: sun.security.ssl.ClientHello$ClientHelloMessage sun.security.ssl.SSLExtension[]
StackMap stack:
aload 14
aload 2
getfield sun.security.ssl.ClientHandshakeContext.handshakeOutput:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.ClientHello$ClientHelloMessage.write:(Lsun/security/ssl/HandshakeOutStream;)V
153: aload 2
getfield sun.security.ssl.ClientHandshakeContext.handshakeOutput:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeOutStream.flush:()V
154: aload 2
aload 14
putfield sun.security.ssl.ClientHandshakeContext.initialClientHelloMsg:Lsun/security/ssl/ClientHello$ClientHelloMessage;
155: aload 2
getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
156: getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
getstatic sun.security.ssl.SSLHandshake.SERVER_HELLO:Lsun/security/ssl/SSLHandshake;
157: invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
158: aload 2
getfield sun.security.ssl.ClientHandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
ifeq 164
159: aload 11
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 164
160: aload 2
getfield sun.security.ssl.ClientHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
161: getstatic sun.security.ssl.SSLHandshake.HELLO_VERIFY_REQUEST:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
162: getstatic sun.security.ssl.SSLHandshake.HELLO_VERIFY_REQUEST:Lsun/security/ssl/SSLHandshake;
163: invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
164: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 165 0 this Lsun/security/ssl/ClientHello$ClientHelloKickstartProducer;
0 165 1 context Lsun/security/ssl/ConnectionContext;
1 165 2 chc Lsun/security/ssl/ClientHandshakeContext;
3 165 3 maxProtocolVersion Lsun/security/ssl/ProtocolVersion;
4 165 4 sessionId Lsun/security/ssl/SessionId;
5 165 5 cipherSuites Ljava/util/List<Lsun/security/ssl/CipherSuite;>;
7 165 6 ssci Lsun/security/ssl/SSLSessionContextImpl;
11 165 7 session Lsun/security/ssl/SSLSessionImpl;
26 165 8 sessionSuite Lsun/security/ssl/CipherSuite;
35 165 9 sessionVersion Lsun/security/ssl/ProtocolVersion;
49 61 10 isEmsAvailable Z
55 61 11 identityAlg Ljava/lang/String;
62 165 10 identityAlg Ljava/lang/String;
65 72 11 sessionIdentityAlg Ljava/lang/String;
109 165 11 minimumVersion Lsun/security/ssl/ProtocolVersion;
111 114 12 pv Lsun/security/ssl/ProtocolVersion;
126 165 12 negotiable Z
128 131 13 suite Lsun/security/ssl/CipherSuite;
135 165 13 clientHelloVersion Lsun/security/ssl/ProtocolVersion;
144 165 14 chm Lsun/security/ssl/ClientHello$ClientHelloMessage;
149 165 15 extTypes [Lsun/security/ssl/SSLExtension;
Exception table:
from to target type
14 17 18 Class javax.net.ssl.SSLPeerUnverifiedException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
}
SourceFile: "ClientHello.java"
NestHost: sun.security.ssl.ClientHello
InnerClasses:
private final ClientHelloKickstartProducer = sun.security.ssl.ClientHello$ClientHelloKickstartProducer of sun.security.ssl.ClientHello
final ClientHelloMessage = sun.security.ssl.ClientHello$ClientHelloMessage of sun.security.ssl.ClientHello