final class sun.security.ssl.PostHandshakeContext extends sun.security.ssl.HandshakeContext
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.PostHandshakeContext
super_class: sun.security.ssl.HandshakeContext
{
void <init>(sun.security.ssl.TransportContext);
descriptor: (Lsun/security/ssl/TransportContext;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial sun.security.ssl.HandshakeContext.<init>:(Lsun/security/ssl/TransportContext;)V
1: aload 0
getfield sun.security.ssl.PostHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifne 5
2: aload 0
getfield sun.security.ssl.PostHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
3: new java.lang.StringBuilder
dup
ldc "Post-handshake not supported in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.PostHandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
5: StackMap locals: sun.security.ssl.PostHandshakeContext sun.security.ssl.TransportContext
StackMap stack:
aload 0
new java.util.ArrayList
dup
6: aload 1
getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getLocalSupportedSignatureSchemes:()Ljava/util/Collection;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
7: putfield sun.security.ssl.PostHandshakeContext.localSupportedSignAlgs:Ljava/util/List;
8: aload 1
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
ifeq 18
9: aload 0
getfield sun.security.ssl.PostHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
10: getstatic sun.security.ssl.SSLHandshake.KEY_UPDATE:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
11: getstatic sun.security.ssl.SSLHandshake.KEY_UPDATE:Lsun/security/ssl/SSLHandshake;
12: invokevirtual java.util.LinkedHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 0
getfield sun.security.ssl.PostHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
14: 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;
15: getstatic sun.security.ssl.SSLHandshake.NEW_SESSION_TICKET:Lsun/security/ssl/SSLHandshake;
16: invokevirtual java.util.LinkedHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: goto 22
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.PostHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
19: getstatic sun.security.ssl.SSLHandshake.KEY_UPDATE:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
20: getstatic sun.security.ssl.SSLHandshake.KEY_UPDATE:Lsun/security/ssl/SSLHandshake;
21: invokevirtual java.util.LinkedHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.PostHandshakeContext.handshakeFinished:Z
23: aload 0
aload 1
getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
putfield sun.security.ssl.PostHandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
24: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/ssl/PostHandshakeContext;
0 25 1 context Lsun/security/ssl/TransportContext;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
void kickstart();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic sun.security.ssl.SSLHandshake.kickstart:(Lsun/security/ssl/HandshakeContext;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/PostHandshakeContext;
Exceptions:
throws java.io.IOException
void dispatch(byte, java.nio.ByteBuffer);
descriptor: (BLjava/nio/ByteBuffer;)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.PostHandshakeContext.handshakeConsumers:Ljava/util/LinkedHashMap;
iload 1
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.ssl.SSLConsumer
astore 3
start local 3 1: aload 3
ifnonnull 7
2: aload 0
getfield sun.security.ssl.PostHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
3: new java.lang.StringBuilder
dup
ldc "Unexpected post-handshake message: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: iload 1
invokestatic sun.security.ssl.SSLHandshake.nameOf:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
7: StackMap locals: sun.security.ssl.SSLConsumer
StackMap stack:
aload 3
aload 0
aload 2
invokeinterface sun.security.ssl.SSLConsumer.consume:(Lsun/security/ssl/ConnectionContext;Ljava/nio/ByteBuffer;)V
8: goto 23
StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
9: astore 4
start local 4 10: aload 0
getfield sun.security.ssl.PostHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
11: new java.lang.StringBuilder
dup
ldc "Unsupported post-handshake message: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: iload 1
invokestatic sun.security.ssl.SSLHandshake.nameOf:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: aload 4
15: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 4 16: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 17: aload 0
getfield sun.security.ssl.PostHandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.DECODE_ERROR:Lsun/security/ssl/Alert;
18: new java.lang.StringBuilder
dup
ldc "Illegal handshake message: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: iload 1
invokestatic sun.security.ssl.SSLHandshake.nameOf:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: aload 4
22: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 4 23: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/ssl/PostHandshakeContext;
0 24 1 handshakeType B
0 24 2 fragment Ljava/nio/ByteBuffer;
1 24 3 consumer Lsun/security/ssl/SSLConsumer;
10 16 4 unsoe Ljava/lang/UnsupportedOperationException;
17 23 4 be Ljava/lang/RuntimeException;
Exception table:
from to target type
7 8 9 Class java.lang.UnsupportedOperationException
7 8 16 Class java.nio.BufferUnderflowException
7 8 16 Class java.nio.BufferOverflowException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
handshakeType
fragment
static boolean isConsumable(sun.security.ssl.TransportContext, byte);
descriptor: (Lsun/security/ssl/TransportContext;B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
getstatic sun.security.ssl.SSLHandshake.KEY_UPDATE:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
if_icmpne 2
1: aload 0
getfield sun.security.ssl.TransportContext.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ireturn
2: StackMap locals:
StackMap stack:
iload 1
getstatic sun.security.ssl.SSLHandshake.NEW_SESSION_TICKET:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
if_icmpne 4
3: aload 0
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 context Lsun/security/ssl/TransportContext;
0 5 1 handshakeType B
MethodParameters:
Name Flags
context
handshakeType
}
SourceFile: "PostHandshakeContext.java"