final class sun.security.ssl.HandshakeStateManager
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.HandshakeStateManager
super_class: java.lang.Object
{
private java.util.LinkedList<sun.security.ssl.HandshakeStateManager$HandshakeState> upcomingStates;
descriptor: Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/LinkedList<Lsun/security/ssl/HandshakeStateManager$HandshakeState;>;
private java.util.LinkedList<sun.security.ssl.HandshakeStateManager$HandshakeState> alternatives;
descriptor: Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/LinkedList<Lsun/security/ssl/HandshakeStateManager$HandshakeState;>;
private boolean isDTLS;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final boolean debugIsOn;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.HashMap<java.lang.Byte, java.lang.String> handshakeTypes;
descriptor: Ljava/util/HashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/Byte;Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic sun.security.ssl.Handshaker.debug:Lsun/security/ssl/Debug;
ifnull 2
1: ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
ldc "verbose"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
3: StackMap locals:
StackMap stack: int
putstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
4: new java.util.HashMap
dup
bipush 15
invokespecial java.util.HashMap.<init>:(I)V
putstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
5: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
iconst_0
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "hello_request"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
iconst_1
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "client_hello"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
iconst_2
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "server_hello"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
iconst_3
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "hello_verify_request"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
iconst_4
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "session_ticket"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 11
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "certificate"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 12
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "server_key_exchange"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 13
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "certificate_request"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 14
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "server_hello_done"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 15
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "certificate_verify"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 16
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "client_key_exchange"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 20
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "finished"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 21
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "certificate_url"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 22
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "certificate_status"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
bipush 23
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
ldc "supplemental_data"
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
2: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
3: aload 0
iload 1
putfield sun.security.ssl.HandshakeStateManager.isDTLS:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/HandshakeStateManager;
0 5 1 isDTLS Z
MethodParameters:
Name Flags
isDTLS
boolean isEmpty();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/HandshakeStateManager;
java.util.List<java.lang.Byte> check(byte);
descriptor: (B)Ljava/util/List;
flags: (0x0000)
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 2
start local 2 1: new java.lang.StringBuilder
dup
ldc "Handshake message sequence violation, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: astore 3
start local 3 3: getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
ifeq 7
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
5: new java.lang.StringBuilder
dup
ldc "check handshake state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokestatic sun.security.ssl.HandshakeStateManager.toString:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: StackMap locals: java.util.List java.lang.String
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 14
8: iload 1
ifeq 13
9: iload 1
iconst_1
if_icmpeq 13
10: new javax.net.ssl.SSLProtocolException
dup
11: new java.lang.StringBuilder
dup
ldc "Handshake message sequence violation, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
14: StackMap locals:
StackMap stack:
iload 1
ifne 16
15: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 5
goto 32
StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String top java.util.Iterator
StackMap stack:
17: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 4
start local 4 18: aload 4
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
iload 1
if_icmpne 20
19: aload 2
areturn
20: StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator
StackMap stack:
aload 4
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
ifeq 23
21: aload 2
aload 4
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: goto 32
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 7
goto 30
StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator top java.util.Iterator
StackMap stack:
24: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 6
start local 6 25: aload 6
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
iload 1
if_icmpne 27
26: aload 2
areturn
27: StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator
StackMap stack:
aload 6
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
ifeq 29
28: goto 30
29: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
aload 3
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 6 30: StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState java.util.Iterator top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
31: new javax.net.ssl.SSLProtocolException
dup
aload 3
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 4 32: StackMap locals: sun.security.ssl.HandshakeStateManager int java.util.List java.lang.String top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
33: new javax.net.ssl.SSLProtocolException
dup
34: new java.lang.StringBuilder
dup
ldc "Handshake message sequence violation, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/ssl/HandshakeStateManager;
0 36 1 handshakeType B
1 36 2 ignoredOptional Ljava/util/List<Ljava/lang/Byte;>;
3 36 3 exceptionMsg Ljava/lang/String;
18 32 4 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
25 30 6 alternative Lsun/security/ssl/HandshakeStateManager$HandshakeState;
Exceptions:
throws javax.net.ssl.SSLProtocolException
Signature: (B)Ljava/util/List<Ljava/lang/Byte;>;
MethodParameters:
Name Flags
handshakeType
void update(sun.security.ssl.HandshakeMessage, boolean);
descriptor: (Lsun/security/ssl/HandshakeMessage;Z)V
flags: (0x0000)
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual sun.security.ssl.HandshakeMessage.messageType:()I
i2b
istore 3
start local 3 1: new java.lang.StringBuilder
dup
ldc "Handshake message sequence violation, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
2: astore 4
start local 4 3: getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
ifeq 7
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
5: new java.lang.StringBuilder
dup
ldc "update handshake state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokestatic sun.security.ssl.HandshakeStateManager.toString:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: StackMap locals: int java.lang.String
StackMap stack:
iconst_0
istore 5
start local 5 8: iload 3
lookupswitch { // 6
0: 9
1: 12
2: 42
3: 31
11: 86
21: 108
default: 126
}
9: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 136
10: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
11: goto 136
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 16
13: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 6
start local 6 14: aload 6
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 16
15: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 6 16: StackMap locals:
StackMap stack:
aload 1
checkcast sun.security.ssl.HandshakeMessage$ClientHello
astore 6
start local 6 17: aload 0
getfield sun.security.ssl.HandshakeStateManager.isDTLS:Z
ifeq 29
18: aload 6
getfield sun.security.ssl.HandshakeMessage$ClientHello.cookie:[B
ifnull 20
19: aload 6
getfield sun.security.ssl.HandshakeMessage$ClientHello.cookie:[B
arraylength
ifne 26
20: StackMap locals: sun.security.ssl.HandshakeMessage$ClientHello
StackMap stack:
aload 6
getfield sun.security.ssl.HandshakeMessage$ClientHello.sessionId:Lsun/security/ssl/SessionId;
invokevirtual sun.security.ssl.SessionId.length:()I
ifeq 24
21: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
22: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
23: goto 136
24: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
25: goto 136
26: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
27: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
28: goto 136
29: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
30: goto 136
end local 6 31: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 39
32: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 7
start local 7 33: aconst_null
astore 8
start local 8 34: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 36
35: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 8
36: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top sun.security.ssl.HandshakeStateManager$HandshakeState sun.security.ssl.HandshakeStateManager$HandshakeState
StackMap stack:
aload 7
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 40
37: aload 8
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_HELLO_VERIFY_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 40
38: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 39: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
41: goto 136
42: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 50
43: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 7
start local 7 44: aconst_null
astore 8
start local 8 45: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 47
46: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 8
47: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top sun.security.ssl.HandshakeStateManager$HandshakeState sun.security.ssl.HandshakeStateManager$HandshakeState
StackMap stack:
aload 7
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 51
48: aload 8
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 51
49: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 50: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
51: StackMap locals:
StackMap stack:
aload 1
checkcast sun.security.ssl.HandshakeMessage$ServerHello
astore 7
start local 7 52: aload 7
getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
astore 8
start local 8 53: iload 2
ifeq 59
54: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
55: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_FINISHED:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
56: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
57: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLEINT_FINISHED:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
58: goto 136
59: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.HelloExtensions
StackMap stack:
aload 7
getfield sun.security.ssl.HandshakeMessage$ServerHello.cipherSuite:Lsun/security/ssl/CipherSuite;
getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
astore 9
start local 9 60: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 65
61: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 65
62: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 65
63: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 65
64: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
65: StackMap locals: sun.security.ssl.CipherSuite$KeyExchange
StackMap stack:
aload 8
getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST:Lsun/security/ssl/ExtensionType;
invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
ifnonnull 67
66: aload 8
getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST_V2:Lsun/security/ssl/ExtensionType;
invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
ifnull 68
67: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CERTIFICATE_STATUS:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
68: StackMap locals:
StackMap stack:
aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_RSA_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 75
69: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DHE_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 75
70: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DHE_DSS:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 75
71: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 75
72: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDHE_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 75
73: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDHE_ECDSA:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 75
74: aload 9
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpne 76
75: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_KEY_EXCHANGE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
76: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CERTIFICATE_REQUEST:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
77: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_HELLO_DONE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
78: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
79: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_KEY_EXCHANGE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
80: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CERTIFICATE_VERIFY:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
81: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
82: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLEINT_FINISHED:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
83: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
84: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_FINISHED:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
end local 9 85: goto 136
end local 8 end local 7 86: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
StackMap stack:
goto 105
87: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 9
start local 9 88: aload 9
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
iload 3
if_icmpne 103
89: iconst_1
istore 5
90: aload 9
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 93
91: aload 9
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 93
92: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
93: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top top top sun.security.ssl.HandshakeStateManager$HandshakeState
StackMap stack:
iconst_0
istore 10
start local 10 94: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 98
95: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.getFirst:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 11
start local 11 96: aload 11
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_KEY_EXCHANGE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpne 98
97: iconst_1
istore 10
end local 11 98: StackMap locals: int
StackMap stack:
iload 10
ifeq 101
99: aload 9
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 106
100: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
101: StackMap locals:
StackMap stack:
aload 9
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 106
102: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 10 103: StackMap locals:
StackMap stack:
aload 9
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
ifne 105
104: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 9 105: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 87
106: StackMap locals:
StackMap stack:
iload 5
ifne 136
107: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
108: StackMap locals:
StackMap stack:
goto 123
109: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 9
start local 9 110: aload 9
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
111: getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
112: if_icmpne 121
113: iconst_1
istore 5
114: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifne 118
115: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 10
start local 10 116: aload 10
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CERTIFICATE_URL:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 119
117: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 10 118: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top top top sun.security.ssl.HandshakeStateManager$HandshakeState
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
119: StackMap locals:
StackMap stack:
aload 9
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CERTIFICATE:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
if_acmpeq 124
120: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
121: StackMap locals:
StackMap stack:
aload 9
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
ifne 123
122: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 9 123: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 109
124: StackMap locals:
StackMap stack:
iload 5
ifne 136
125: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
126: StackMap locals:
StackMap stack:
goto 133
127: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 9
start local 9 128: aload 9
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.handshakeType:B
iload 3
if_icmpne 131
129: iconst_1
istore 5
130: goto 134
131: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top top top sun.security.ssl.HandshakeStateManager$HandshakeState
StackMap stack:
aload 9
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
ifne 133
132: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 9 133: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 127
134: StackMap locals:
StackMap stack:
iload 5
ifne 136
135: new javax.net.ssl.SSLProtocolException
dup
aload 4
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
136: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
ifeq 149
137: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 7
goto 142
StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int top java.util.Iterator
StackMap stack:
138: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 6
start local 6 139: getstatic java.lang.System.out:Ljava/io/PrintStream;
140: new java.lang.StringBuilder
dup
ldc "upcoming handshake states: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
141: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 142: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 138
143: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 7
goto 148
StackMap locals:
StackMap stack:
144: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 6
start local 6 145: getstatic java.lang.System.out:Ljava/io/PrintStream;
146: new java.lang.StringBuilder
dup
ldc "upcoming handshake alternative state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
147: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 148: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 144
149: StackMap locals: sun.security.ssl.HandshakeStateManager sun.security.ssl.HandshakeMessage int int java.lang.String int
StackMap stack:
return
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 150 0 this Lsun/security/ssl/HandshakeStateManager;
0 150 1 handshakeMessage Lsun/security/ssl/HandshakeMessage;
0 150 2 isAbbreviated Z
1 150 3 handshakeType B
3 150 4 exceptionMsg Ljava/lang/String;
8 150 5 hasPresentState Z
14 16 6 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
17 31 6 clientHello Lsun/security/ssl/HandshakeMessage$ClientHello;
33 39 7 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
34 39 8 alternative Lsun/security/ssl/HandshakeStateManager$HandshakeState;
44 50 7 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
45 50 8 alternative Lsun/security/ssl/HandshakeStateManager$HandshakeState;
52 86 7 serverHello Lsun/security/ssl/HandshakeMessage$ServerHello;
53 86 8 hes Lsun/security/ssl/HelloExtensions;
60 85 9 keyExchange Lsun/security/ssl/CipherSuite$KeyExchange;
88 105 9 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
94 103 10 isClientMessage Z
96 98 11 nextState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
110 123 9 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
116 118 10 alternative Lsun/security/ssl/HandshakeStateManager$HandshakeState;
128 133 9 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
139 142 6 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
145 148 6 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
Exceptions:
throws javax.net.ssl.SSLProtocolException
MethodParameters:
Name Flags
handshakeMessage
isAbbreviated
void changeCipherSpec(boolean, boolean);
descriptor: (ZZ)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
2: ldc "update handshake state: change_cipher_spec"
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
ldc "ChangeCipherSpec message sequence violation"
astore 3
start local 3 5: iload 2
ifeq 6
iload 1
ifne 7
StackMap locals: java.lang.String
StackMap stack:
6: iload 2
ifne 9
iload 1
ifne 9
7: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_SERVER_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
astore 4
start local 4 8: goto 10
end local 4 9: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.HandshakeStateManager$HandshakeState.HS_CLIENT_CHANGE_CIPHER_SPEC:Lsun/security/ssl/HandshakeStateManager$HandshakeState;
astore 4
start local 4 10: StackMap locals: sun.security.ssl.HandshakeStateManager$HandshakeState
StackMap stack:
iconst_0
istore 5
start local 5 11: goto 18
12: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.pop:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 6
start local 6 13: aload 6
aload 4
if_acmpne 16
14: iconst_1
istore 5
15: goto 19
16: StackMap locals: sun.security.ssl.HandshakeStateManager$HandshakeState
StackMap stack:
aload 6
getfield sun.security.ssl.HandshakeStateManager$HandshakeState.isOptional:Z
ifne 18
17: new javax.net.ssl.SSLProtocolException
dup
aload 3
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 6 18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 12
19: StackMap locals:
StackMap stack:
iload 5
ifne 21
20: new javax.net.ssl.SSLProtocolException
dup
aload 3
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.HandshakeStateManager.debugIsOn:Z
ifeq 34
22: aload 0
getfield sun.security.ssl.HandshakeStateManager.upcomingStates:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 7
goto 27
StackMap locals: sun.security.ssl.HandshakeStateManager int int java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState int top java.util.Iterator
StackMap stack:
23: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 6
start local 6 24: getstatic java.lang.System.out:Ljava/io/PrintStream;
25: new java.lang.StringBuilder
dup
ldc "upcoming handshake states: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 27: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
28: aload 0
getfield sun.security.ssl.HandshakeStateManager.alternatives:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 7
goto 33
StackMap locals:
StackMap stack:
29: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.HandshakeStateManager$HandshakeState
astore 6
start local 6 30: getstatic java.lang.System.out:Ljava/io/PrintStream;
31: new java.lang.StringBuilder
dup
ldc "upcoming handshake alternative state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 33: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
34: StackMap locals: sun.security.ssl.HandshakeStateManager int int java.lang.String sun.security.ssl.HandshakeStateManager$HandshakeState int
StackMap stack:
return
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 35 0 this Lsun/security/ssl/HandshakeStateManager;
0 35 1 isInput Z
0 35 2 isClient Z
5 35 3 exceptionMsg Ljava/lang/String;
8 9 4 expectedState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
10 35 4 expectedState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
11 35 5 hasPresentState Z
13 18 6 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
24 27 6 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
30 33 6 handshakeState Lsun/security/ssl/HandshakeStateManager$HandshakeState;
Exceptions:
throws javax.net.ssl.SSLProtocolException
MethodParameters:
Name Flags
isInput
isClient
private static java.lang.String toString(byte);
descriptor: (B)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic sun.security.ssl.HandshakeStateManager.handshakeTypes:Ljava/util/HashMap;
iload 0
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 1: aload 1
ifnonnull 3
2: ldc "unknown"
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 handshakeType B
1 4 1 s Ljava/lang/String;
MethodParameters:
Name Flags
handshakeType
}
SourceFile: "HandshakeStateManager.java"
NestMembers:
sun.security.ssl.HandshakeStateManager$HandshakeState
InnerClasses:
final KeyExchange = sun.security.ssl.CipherSuite$KeyExchange of sun.security.ssl.CipherSuite
final ClientHello = sun.security.ssl.HandshakeMessage$ClientHello of sun.security.ssl.HandshakeMessage
final ServerHello = sun.security.ssl.HandshakeMessage$ServerHello of sun.security.ssl.HandshakeMessage
final HandshakeState = sun.security.ssl.HandshakeStateManager$HandshakeState of sun.security.ssl.HandshakeStateManager