final class sun.security.ssl.SSLEngineImpl extends javax.net.ssl.SSLEngine implements sun.security.ssl.SSLTransport
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SSLEngineImpl
super_class: javax.net.ssl.SSLEngine
{
private final sun.security.ssl.SSLContextImpl sslContext;
descriptor: Lsun/security/ssl/SSLContextImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final sun.security.ssl.TransportContext conContext;
descriptor: Lsun/security/ssl/TransportContext;
flags: (0x0010) ACC_FINAL
void <init>(sun.security.ssl.SSLContextImpl);
descriptor: (Lsun/security/ssl/SSLContextImpl;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
iconst_m1
invokespecial sun.security.ssl.SSLEngineImpl.<init>:(Lsun/security/ssl/SSLContextImpl;Ljava/lang/String;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
0 2 1 sslContext Lsun/security/ssl/SSLContextImpl;
MethodParameters:
Name Flags
sslContext
void <init>(sun.security.ssl.SSLContextImpl, java.lang.String, int);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=9, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
iload 3
invokespecial javax.net.ssl.SSLEngine.<init>:(Ljava/lang/String;I)V
1: aload 0
aload 1
putfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
2: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 4
start local 4 3: aload 1
invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
ifeq 9
4: aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
5: new sun.security.ssl.DTLSInputRecord
dup
aload 4
invokespecial sun.security.ssl.DTLSInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
6: new sun.security.ssl.DTLSOutputRecord
dup
aload 4
invokespecial sun.security.ssl.DTLSOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;)V
7: putfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
8: goto 13
9: StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl java.lang.String int sun.security.ssl.HandshakeHash
StackMap stack:
aload 0
new sun.security.ssl.TransportContext
dup
aload 1
aload 0
10: new sun.security.ssl.SSLEngineInputRecord
dup
aload 4
invokespecial sun.security.ssl.SSLEngineInputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
11: new sun.security.ssl.SSLEngineOutputRecord
dup
aload 4
invokespecial sun.security.ssl.SSLEngineOutputRecord.<init>:(Lsun/security/ssl/HandshakeHash;)V
invokespecial sun.security.ssl.TransportContext.<init>:(Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/SSLTransport;Lsun/security/ssl/InputRecord;Lsun/security/ssl/OutputRecord;)V
12: putfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
13: StackMap locals:
StackMap stack:
aload 2
ifnull 18
14: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
15: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
aload 2
16: invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
17: putfield sun.security.ssl.SSLConfiguration.serverNames:Ljava/util/List;
18: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/ssl/SSLEngineImpl;
0 19 1 sslContext Lsun/security/ssl/SSLContextImpl;
0 19 2 host Ljava/lang/String;
0 19 3 port I
3 19 4 handshakeHash Lsun/security/ssl/HandshakeHash;
MethodParameters:
Name Flags
sslContext
host
port
public synchronized void beginHandshake();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isUnsureMode:Z
ifeq 4
1: new java.lang.IllegalStateException
dup
2: ldc "Client/Server mode has not yet been set."
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.kickstart:()V
5: goto 14
StackMap locals:
StackMap stack: java.io.IOException
6: astore 1
start local 1 7: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
8: ldc "Couldn't kickstart handshaking"
aload 1
9: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 1 10: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 11: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
12: ldc "Fail to begin handshake"
aload 1
13: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 1 14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/ssl/SSLEngineImpl;
7 10 1 ioe Ljava/io/IOException;
11 14 1 ex Ljava/lang/Exception;
Exception table:
from to target type
4 5 6 Class java.io.IOException
4 5 10 Class java.lang.Exception
Exceptions:
throws javax.net.ssl.SSLException
public synchronized javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer);
descriptor: ([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
iload 3
iconst_1
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 4
aastore
iconst_0
iconst_1
invokevirtual sun.security.ssl.SSLEngineImpl.wrap:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
0 1 1 appData [Ljava/nio/ByteBuffer;
0 1 2 offset I
0 1 3 length I
0 1 4 netData Ljava/nio/ByteBuffer;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
appData
offset
length
netData
public synchronized javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isUnsureMode:Z
ifeq 4
1: new java.lang.IllegalStateException
dup
2: ldc "Client/Server mode has not yet been set."
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.checkTaskThrown:()V
5: aload 1
iload 2
iload 3
aload 4
iload 5
iload 6
invokestatic sun.security.ssl.SSLEngineImpl.checkParams:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)V
6: aload 0
7: aload 1
iload 2
iload 3
aload 4
iload 5
iload 6
8: invokevirtual sun.security.ssl.SSLEngineImpl.writeRecord:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
9: areturn
10: StackMap locals:
StackMap stack: javax.net.ssl.SSLProtocolException
astore 7
start local 7 11: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
aload 7
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 7 12: StackMap locals:
StackMap stack: java.io.IOException
astore 7
start local 7 13: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
14: ldc "problem wrapping app data"
aload 7
15: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 7 16: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 17: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
18: ldc "Fail to wrap application data"
aload 7
19: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
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 20 0 this Lsun/security/ssl/SSLEngineImpl;
0 20 1 srcs [Ljava/nio/ByteBuffer;
0 20 2 srcsOffset I
0 20 3 srcsLength I
0 20 4 dsts [Ljava/nio/ByteBuffer;
0 20 5 dstsOffset I
0 20 6 dstsLength I
11 12 7 spe Ljavax/net/ssl/SSLProtocolException;
13 16 7 ioe Ljava/io/IOException;
17 20 7 ex Ljava/lang/Exception;
Exception table:
from to target type
6 9 10 Class javax.net.ssl.SSLProtocolException
6 9 12 Class java.io.IOException
6 9 16 Class java.lang.Exception
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
srcs
srcsOffset
srcsLength
dsts
dstsOffset
dstsLength
private javax.net.ssl.SSLEngineResult writeRecord(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=16, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
ifeq 4
1: new javax.net.ssl.SSLEngineResult
dup
2: getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
iconst_0
iconst_0
3: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
astore 7
start local 7 5: aconst_null
astore 8
start local 8 6: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 16
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 16
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 16
8: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 16
9: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.kickstart:()V
10: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 8
11: aload 8
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 16
12: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
ifeq 15
aload 7
ifnull 15
13: aload 7
getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enableRetransmissions:Z
ifeq 15
14: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
getfield sun.security.ssl.OutputRecord.firstMessage:Z
ifeq 16
15: StackMap locals: sun.security.ssl.HandshakeContext javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 8
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
16: StackMap locals:
StackMap stack:
aload 8
ifnonnull 18
17: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 8
18: StackMap locals:
StackMap stack:
aload 8
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 20
19: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 8
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
20: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 21: iload 5
istore 10
start local 10 22: goto 25
23: StackMap locals: int int
StackMap stack:
iload 9
aload 4
iload 10
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
istore 9
24: iinc 10 1
StackMap locals:
StackMap stack:
25: iload 10
iload 5
iload 6
iadd
if_icmplt 23
end local 10 26: iload 9
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getPacketBufferSize:()I
if_icmpge 30
27: new javax.net.ssl.SSLEngineResult
dup
28: getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
iconst_0
iconst_0
29: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
30: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 31: iload 2
istore 11
start local 11 32: goto 35
33: StackMap locals: int int
StackMap stack:
iload 10
aload 1
iload 11
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
istore 10
34: iinc 11 1
StackMap locals:
StackMap stack:
35: iload 11
iload 2
iload 3
iadd
if_icmplt 33
end local 11 36: aconst_null
astore 11
start local 11 37: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.isEmpty:()Z
ifeq 41
aload 7
ifnull 44
38: aload 7
getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enableRetransmissions:Z
ifeq 44
39: aload 7
getfield sun.security.ssl.HandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
ifeq 44
40: aload 8
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 44
41: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int int sun.security.ssl.HandshakeContext javax.net.ssl.SSLEngineResult$HandshakeStatus int int sun.security.ssl.Ciphertext
StackMap stack:
aload 0
aconst_null
iconst_0
iconst_0
42: aload 4
iload 5
iload 6
43: invokevirtual sun.security.ssl.SSLEngineImpl.encode:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Ciphertext;
astore 11
44: StackMap locals:
StackMap stack:
aload 11
ifnonnull 53
iload 10
ifeq 53
45: aload 0
aload 1
iload 2
iload 3
46: aload 4
iload 5
iload 6
47: invokevirtual sun.security.ssl.SSLEngineImpl.encode:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Ciphertext;
astore 11
48: goto 53
StackMap locals:
StackMap stack: java.io.IOException
49: astore 12
start local 12 50: aload 12
instanceof javax.net.ssl.SSLException
ifeq 52
51: aload 12
athrow
52: StackMap locals: java.io.IOException
StackMap stack:
new javax.net.ssl.SSLException
dup
ldc "Write problems"
aload 12
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 53: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
ifeq 54
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 55
StackMap locals:
StackMap stack:
54: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
55: astore 12
start local 12 56: aload 11
ifnull 59
aload 11
getfield sun.security.ssl.Ciphertext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
ifnull 59
57: aload 11
getfield sun.security.ssl.Ciphertext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 8
58: goto 64
59: StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 8
60: aload 11
ifnonnull 64
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 64
61: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifeq 64
62: aload 8
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 64
63: getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
astore 12
64: StackMap locals:
StackMap stack:
iload 10
istore 13
start local 13 65: iload 2
istore 14
start local 14 66: goto 69
67: StackMap locals: int int
StackMap stack:
iload 13
aload 1
iload 14
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
istore 13
68: iinc 14 1
StackMap locals:
StackMap stack:
69: iload 14
iload 2
iload 3
iadd
if_icmplt 67
end local 14 70: iload 9
istore 14
start local 14 71: iload 5
istore 15
start local 15 72: goto 75
73: StackMap locals: int
StackMap stack:
iload 14
aload 4
iload 15
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
istore 14
74: iinc 15 1
StackMap locals:
StackMap stack:
75: iload 15
iload 5
iload 6
iadd
if_icmplt 73
end local 15 76: new javax.net.ssl.SSLEngineResult
dup
aload 12
aload 8
iload 13
iload 14
77: aload 11
ifnull 78
aload 11
getfield sun.security.ssl.Ciphertext.recordSN:J
goto 79
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int int sun.security.ssl.HandshakeContext javax.net.ssl.SSLEngineResult$HandshakeStatus int int sun.security.ssl.Ciphertext javax.net.ssl.SSLEngineResult$Status int int
StackMap stack: new 76 new 76 javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus int int
78: ldc -1
79: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int int sun.security.ssl.HandshakeContext javax.net.ssl.SSLEngineResult$HandshakeStatus int int sun.security.ssl.Ciphertext javax.net.ssl.SSLEngineResult$Status int int
StackMap stack: new 76 new 76 javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus int int long
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;IIJ)V
areturn
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 80 0 this Lsun/security/ssl/SSLEngineImpl;
0 80 1 srcs [Ljava/nio/ByteBuffer;
0 80 2 srcsOffset I
0 80 3 srcsLength I
0 80 4 dsts [Ljava/nio/ByteBuffer;
0 80 5 dstsOffset I
0 80 6 dstsLength I
5 80 7 hc Lsun/security/ssl/HandshakeContext;
6 80 8 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
21 80 9 dstsRemains I
22 26 10 i I
31 80 10 srcsRemains I
32 36 11 i I
37 80 11 ciphertext Lsun/security/ssl/Ciphertext;
50 53 12 ioe Ljava/io/IOException;
56 80 12 status Ljavax/net/ssl/SSLEngineResult$Status;
65 80 13 deltaSrcs I
66 70 14 i I
71 80 14 deltaDsts I
72 76 15 i I
Exception table:
from to target type
37 48 49 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
srcsOffset
srcsLength
dsts
dstsOffset
dstsLength
private sun.security.ssl.Ciphertext encode(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Ciphertext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aconst_null
astore 7
start local 7 1: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
2: aload 1
iload 2
iload 3
aload 4
iload 5
iload 6
3: invokevirtual sun.security.ssl.OutputRecord.encode:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Ciphertext;
astore 7
4: goto 9
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int int sun.security.ssl.Ciphertext
StackMap stack: javax.net.ssl.SSLHandshakeException
5: astore 8
start local 8 6: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.HANDSHAKE_FAILURE:Lsun/security/ssl/Alert;
aload 8
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 8 7: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 8: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
aload 8
invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 8 9: StackMap locals:
StackMap stack:
aload 7
ifnonnull 11
10: aconst_null
areturn
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
ifeq 15
12: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 15
13: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enableRetransmissions:Z
ifeq 15
14: iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: istore 8
start local 8 17: aload 0
aload 7
getfield sun.security.ssl.Ciphertext.contentType:B
invokevirtual sun.security.ssl.SSLEngineImpl.tryToFinishHandshake:(B)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
18: astore 9
start local 9 19: iload 8
ifeq 27
20: aload 9
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 27
21: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
ifeq 27
22: aload 7
getfield sun.security.ssl.Ciphertext.handshakeType:B
getstatic sun.security.ssl.SSLHandshake.FINISHED:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
if_icmpne 27
23: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 25
ldc "ssl,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 25
24: ldc "retransmit the last flight messages"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
25: StackMap locals: int javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.launchRetransmission:()V
26: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 9
27: StackMap locals:
StackMap stack:
aload 9
ifnonnull 29
28: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 9
29: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.seqNumIsHuge:()Z
ifne 31
30: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
getfield sun.security.ssl.OutputRecord.writeCipher:Lsun/security/ssl/SSLCipher$SSLWriteCipher;
invokevirtual sun.security.ssl.SSLCipher$SSLWriteCipher.atKeyLimit:()Z
ifeq 32
31: StackMap locals:
StackMap stack:
aload 0
aload 9
invokevirtual sun.security.ssl.SSLEngineImpl.tryKeyUpdate:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 9
32: StackMap locals:
StackMap stack:
aload 7
aload 9
putfield sun.security.ssl.Ciphertext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
33: aload 7
areturn
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 34 0 this Lsun/security/ssl/SSLEngineImpl;
0 34 1 srcs [Ljava/nio/ByteBuffer;
0 34 2 srcsOffset I
0 34 3 srcsLength I
0 34 4 dsts [Ljava/nio/ByteBuffer;
0 34 5 dstsOffset I
0 34 6 dstsLength I
1 34 7 ciphertext Lsun/security/ssl/Ciphertext;
6 7 8 she Ljavax/net/ssl/SSLHandshakeException;
8 9 8 e Ljava/io/IOException;
17 34 8 needRetransmission Z
19 34 9 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
Exception table:
from to target type
1 4 5 Class javax.net.ssl.SSLHandshakeException
1 4 7 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
srcsOffset
srcsLength
dsts
dstsOffset
dstsLength
private javax.net.ssl.SSLEngineResult$HandshakeStatus tryToFinishHandshake(byte);
descriptor: (B)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iload 1
getstatic sun.security.ssl.ContentType.HANDSHAKE:Lsun/security/ssl/ContentType;
getfield sun.security.ssl.ContentType.id:B
if_icmpne 11
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.isEmpty:()Z
ifeq 11
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnonnull 6
4: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 2
5: goto 11
StackMap locals: javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
6: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isPostHandshakeContext:()Z
ifeq 9
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.finishPostHandshake:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 2
8: goto 11
StackMap locals:
StackMap stack:
9: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.handshakeFinished:Z
ifeq 11
10: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.finishHandshake:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 2
11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/SSLEngineImpl;
0 12 1 contentType B
1 12 2 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
MethodParameters:
Name Flags
contentType
private javax.net.ssl.SSLEngineResult$HandshakeStatus tryKeyUpdate(javax.net.ssl.SSLEngineResult$HandshakeStatus);
descriptor: (Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnonnull 8
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 8
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 8
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 8
4: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 6
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 6
5: ldc "trigger key update"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.beginHandshake:()V
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
areturn
8: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLEngineImpl;
0 9 1 currentHandshakeStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
currentHandshakeStatus
private static void checkParams(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
ifnull 1
aload 3
ifnonnull 4
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
2: ldc "source or destination buffer is null"
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 4
iflt 6
iload 5
iflt 6
5: iload 4
aload 3
arraylength
iload 5
isub
if_icmple 9
6: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
7: ldc "index out of bound of the destination buffers"
8: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
iload 1
iflt 11
iload 2
iflt 11
10: iload 1
aload 0
arraylength
iload 2
isub
if_icmple 14
11: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
12: ldc "index out of bound of the source buffers"
13: invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
iload 4
istore 6
start local 6 15: goto 23
16: StackMap locals: int
StackMap stack:
aload 3
iload 6
aaload
ifnonnull 20
17: new java.lang.IllegalArgumentException
dup
18: new java.lang.StringBuilder
dup
ldc "destination buffer["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] == null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 3
iload 6
aaload
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifeq 22
21: new java.nio.ReadOnlyBufferException
dup
invokespecial java.nio.ReadOnlyBufferException.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
23: iload 6
iload 4
iload 5
iadd
if_icmplt 16
end local 6 24: iload 1
istore 6
start local 6 25: goto 31
26: StackMap locals:
StackMap stack:
aload 0
iload 6
aaload
ifnonnull 30
27: new java.lang.IllegalArgumentException
dup
28: new java.lang.StringBuilder
dup
ldc "source buffer["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] == null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
31: iload 6
iload 1
iload 2
iadd
if_icmplt 26
end local 6 32: 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 33 0 srcs [Ljava/nio/ByteBuffer;
0 33 1 srcsOffset I
0 33 2 srcsLength I
0 33 3 dsts [Ljava/nio/ByteBuffer;
0 33 4 dstsOffset I
0 33 5 dstsLength I
15 24 6 i I
25 32 6 i I
MethodParameters:
Name Flags
srcs
srcsOffset
srcsLength
dsts
dstsOffset
dstsLength
public synchronized javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int);
descriptor: (Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
1: iconst_1
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 1
aastore
iconst_0
iconst_1
aload 2
iload 3
iload 4
2: invokevirtual sun.security.ssl.SSLEngineImpl.unwrap:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLEngineImpl;
0 3 1 src Ljava/nio/ByteBuffer;
0 3 2 dsts [Ljava/nio/ByteBuffer;
0 3 3 offset I
0 3 4 length I
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
src
dsts
offset
length
public synchronized javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isUnsureMode:Z
ifeq 4
1: new java.lang.IllegalStateException
dup
2: ldc "Client/Server mode has not yet been set."
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.checkTaskThrown:()V
5: aload 1
iload 2
iload 3
aload 4
iload 5
iload 6
invokestatic sun.security.ssl.SSLEngineImpl.checkParams:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)V
6: aload 0
7: aload 1
iload 2
iload 3
aload 4
iload 5
iload 6
8: invokevirtual sun.security.ssl.SSLEngineImpl.readRecord:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
9: areturn
10: StackMap locals:
StackMap stack: javax.net.ssl.SSLProtocolException
astore 7
start local 7 11: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.UNEXPECTED_MESSAGE:Lsun/security/ssl/Alert;
12: aload 7
invokevirtual javax.net.ssl.SSLProtocolException.getMessage:()Ljava/lang/String;
aload 7
13: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 7 14: StackMap locals:
StackMap stack: java.io.IOException
astore 7
start local 7 15: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
16: ldc "problem unwrapping net record"
aload 7
17: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
end local 7 18: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 19: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
20: ldc "Fail to unwrap network record"
aload 7
21: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;Ljava/lang/Throwable;)Ljavax/net/ssl/SSLException;
athrow
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 22 0 this Lsun/security/ssl/SSLEngineImpl;
0 22 1 srcs [Ljava/nio/ByteBuffer;
0 22 2 srcsOffset I
0 22 3 srcsLength I
0 22 4 dsts [Ljava/nio/ByteBuffer;
0 22 5 dstsOffset I
0 22 6 dstsLength I
11 14 7 spe Ljavax/net/ssl/SSLProtocolException;
15 18 7 ioe Ljava/io/IOException;
19 22 7 ex Ljava/lang/Exception;
Exception table:
from to target type
6 9 10 Class javax.net.ssl.SSLProtocolException
6 9 14 Class java.io.IOException
6 9 18 Class java.lang.Exception
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
srcs
srcsOffset
srcsLength
dsts
dstsOffset
dstsLength
private javax.net.ssl.SSLEngineResult readRecord(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=16, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 4
1: new javax.net.ssl.SSLEngineResult
dup
2: getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
iconst_0
iconst_0
3: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
4: StackMap locals:
StackMap stack:
aconst_null
astore 7
start local 7 5: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 12
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isBroken:Z
ifne 12
6: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ifne 12
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifne 12
8: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.kickstart:()V
9: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 7
10: aload 7
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 12
11: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 7
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
12: StackMap locals: javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
aload 7
ifnonnull 14
13: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 7
14: StackMap locals:
StackMap stack:
aload 7
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 16
15: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 7
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
16: StackMap locals:
StackMap stack:
aload 7
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP_AGAIN:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 36
17: aconst_null
astore 8
start local 8 18: aload 0
aconst_null
iconst_0
iconst_0
19: aload 4
iload 5
iload 6
20: invokevirtual sun.security.ssl.SSLEngineImpl.decode:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;
astore 8
21: goto 26
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult$HandshakeStatus sun.security.ssl.Plaintext
StackMap stack: java.io.IOException
22: astore 9
start local 9 23: aload 9
instanceof javax.net.ssl.SSLException
ifeq 25
24: aload 9
athrow
25: StackMap locals: java.io.IOException
StackMap stack:
new javax.net.ssl.SSLException
dup
ldc "readRecord"
aload 9
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 9 26: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 27
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 28
StackMap locals:
StackMap stack:
27: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
28: astore 9
start local 9 29: aload 8
getfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
ifnull 32
30: aload 8
getfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 7
31: goto 33
32: StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 7
33: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLEngineResult
dup
34: aload 9
aload 7
iconst_0
iconst_0
aload 8
getfield sun.security.ssl.Plaintext.recordSN:J
35: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;IIJ)V
areturn
end local 9 end local 8 36: StackMap locals:
StackMap stack:
iconst_0
istore 8
start local 8 37: iload 2
istore 9
start local 9 38: goto 41
39: StackMap locals: int int
StackMap stack:
iload 8
aload 1
iload 9
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
istore 8
40: iinc 9 1
StackMap locals:
StackMap stack:
41: iload 9
iload 2
iload 3
iadd
if_icmplt 39
end local 9 42: iload 8
ifne 46
43: new javax.net.ssl.SSLEngineResult
dup
44: getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
aload 7
iconst_0
iconst_0
45: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
46: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 47: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
48: aload 1
iload 2
iload 3
49: invokevirtual sun.security.ssl.InputRecord.bytesInCompletePacket:([Ljava/nio/ByteBuffer;II)I
istore 9
50: goto 63
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult$HandshakeStatus int int
StackMap stack: javax.net.ssl.SSLException
51: astore 10
start local 10 52: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
ifeq 62
53: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 55
ldc "ssl,verbose"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 55
54: ldc "Discard invalid DTLS records"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 10
aastore
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
55: StackMap locals: javax.net.ssl.SSLException
StackMap stack:
iconst_0
istore 11
start local 11 56: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 57
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 58
StackMap locals: int
StackMap stack:
57: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
58: astore 12
start local 12 59: aload 7
ifnonnull 61
60: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 7
61: StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
new javax.net.ssl.SSLEngineResult
dup
aload 12
aload 7
iload 11
iconst_0
ldc -1
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;IIJ)V
areturn
end local 12 end local 11 62: StackMap locals:
StackMap stack:
aload 10
athrow
end local 10 63: StackMap locals:
StackMap stack:
iload 9
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getPacketBufferSize:()I
if_icmple 77
64: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
ifeq 66
65: sipush 16717
goto 67
StackMap locals:
StackMap stack:
66: ldc 33093
67: StackMap locals:
StackMap stack: int
istore 10
start local 10 68: iload 9
iload 10
if_icmpgt 70
aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.isDTLS:()Z
ifne 70
69: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.expandBufferSizes:()V
70: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getPacketBufferSize:()I
istore 10
71: iload 9
iload 10
if_icmple 77
72: new javax.net.ssl.SSLProtocolException
dup
73: new java.lang.StringBuilder
dup
ldc "Input record too big: max = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
74: iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " len = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
75: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
76: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 10 77: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 78: iload 5
istore 11
start local 11 79: goto 82
80: StackMap locals: int int
StackMap stack:
iload 10
aload 4
iload 11
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
istore 10
81: iinc 11 1
StackMap locals:
StackMap stack:
82: iload 11
iload 5
iload 6
iadd
if_icmplt 80
end local 11 83: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifeq 90
84: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
iload 9
invokevirtual sun.security.ssl.InputRecord.estimateFragmentSize:(I)I
85: istore 11
start local 11 86: iload 11
iload 10
if_icmple 90
87: new javax.net.ssl.SSLEngineResult
dup
88: getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
aload 7
iconst_0
iconst_0
89: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
end local 11 90: StackMap locals:
StackMap stack:
iload 9
iconst_m1
if_icmpeq 91
iload 8
iload 9
if_icmpge 92
91: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
aload 7
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
92: StackMap locals:
StackMap stack:
aconst_null
astore 11
start local 11 93: aload 0
aload 1
iload 2
iload 3
94: aload 4
iload 5
iload 6
95: invokevirtual sun.security.ssl.SSLEngineImpl.decode:([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;
astore 11
96: goto 101
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult$HandshakeStatus int int int sun.security.ssl.Plaintext
StackMap stack: java.io.IOException
97: astore 12
start local 12 98: aload 12
instanceof javax.net.ssl.SSLException
ifeq 100
99: aload 12
athrow
100: StackMap locals: java.io.IOException
StackMap stack:
new javax.net.ssl.SSLException
dup
ldc "readRecord"
aload 12
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 12 101: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 102
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 103
StackMap locals:
StackMap stack:
102: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
103: astore 12
start local 12 104: aload 11
getfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
ifnull 107
105: aload 11
getfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 7
106: goto 108
107: StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 7
108: StackMap locals:
StackMap stack:
iload 8
istore 13
start local 13 109: iload 2
istore 14
start local 14 110: goto 113
111: StackMap locals: int int
StackMap stack:
iload 13
aload 1
iload 14
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
istore 13
112: iinc 14 1
StackMap locals:
StackMap stack:
113: iload 14
iload 2
iload 3
iadd
if_icmplt 111
end local 14 114: iload 10
istore 14
start local 14 115: iload 5
istore 15
start local 15 116: goto 119
117: StackMap locals: int
StackMap stack:
iload 14
aload 4
iload 15
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
istore 14
118: iinc 15 1
StackMap locals:
StackMap stack:
119: iload 15
iload 5
iload 6
iadd
if_icmplt 117
end local 15 120: new javax.net.ssl.SSLEngineResult
dup
121: aload 12
aload 7
iload 13
iload 14
aload 11
getfield sun.security.ssl.Plaintext.recordSN:J
122: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;IIJ)V
areturn
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 123 0 this Lsun/security/ssl/SSLEngineImpl;
0 123 1 srcs [Ljava/nio/ByteBuffer;
0 123 2 srcsOffset I
0 123 3 srcsLength I
0 123 4 dsts [Ljava/nio/ByteBuffer;
0 123 5 dstsOffset I
0 123 6 dstsLength I
5 123 7 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
18 36 8 plainText Lsun/security/ssl/Plaintext;
23 26 9 ioe Ljava/io/IOException;
29 36 9 status Ljavax/net/ssl/SSLEngineResult$Status;
37 123 8 srcsRemains I
38 42 9 i I
47 123 9 packetLen I
52 63 10 ssle Ljavax/net/ssl/SSLException;
56 62 11 deltaNet I
59 62 12 status Ljavax/net/ssl/SSLEngineResult$Status;
68 77 10 largestRecordSize I
78 123 10 dstsRemains I
79 83 11 i I
86 90 11 FragLen I
93 123 11 plainText Lsun/security/ssl/Plaintext;
98 101 12 ioe Ljava/io/IOException;
104 123 12 status Ljavax/net/ssl/SSLEngineResult$Status;
109 123 13 deltaNet I
110 114 14 i I
115 123 14 deltaApp I
116 120 15 i I
Exception table:
from to target type
18 21 22 Class java.io.IOException
47 50 51 Class javax.net.ssl.SSLException
93 96 97 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
srcsOffset
srcsLength
dsts
dstsOffset
dstsLength
private sun.security.ssl.Plaintext decode(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
1: aload 1
iload 2
iload 3
2: aload 4
iload 5
iload 6
3: invokestatic sun.security.ssl.SSLTransport.decode:(Lsun/security/ssl/TransportContext;[Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;
astore 7
start local 7 4: aload 7
getstatic sun.security.ssl.Plaintext.PLAINTEXT_NULL:Lsun/security/ssl/Plaintext;
if_acmpeq 15
5: aload 0
aload 7
getfield sun.security.ssl.Plaintext.contentType:B
invokevirtual sun.security.ssl.SSLEngineImpl.tryToFinishHandshake:(B)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 8
start local 8 6: aload 8
ifnonnull 9
7: aload 7
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
putfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
8: goto 10
9: StackMap locals: sun.security.ssl.Plaintext javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
aload 7
aload 8
putfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.seqNumIsHuge:()Z
ifne 12
11: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.inputRecord:Lsun/security/ssl/InputRecord;
getfield sun.security.ssl.InputRecord.readCipher:Lsun/security/ssl/SSLCipher$SSLReadCipher;
invokevirtual sun.security.ssl.SSLCipher$SSLReadCipher.atKeyLimit:()Z
ifeq 15
12: StackMap locals:
StackMap stack:
aload 7
13: aload 0
aload 7
getfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual sun.security.ssl.SSLEngineImpl.tryKeyUpdate:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
14: putfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
end local 8 15: StackMap locals:
StackMap stack:
aload 7
areturn
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 16 0 this Lsun/security/ssl/SSLEngineImpl;
0 16 1 srcs [Ljava/nio/ByteBuffer;
0 16 2 srcsOffset I
0 16 3 srcsLength I
0 16 4 dsts [Ljava/nio/ByteBuffer;
0 16 5 dstsOffset I
0 16 6 dstsLength I
4 16 7 pt Lsun/security/ssl/Plaintext;
6 15 8 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
srcsOffset
srcsLength
dsts
dstsOffset
dstsLength
public synchronized java.lang.Runnable getDelegatedTask();
descriptor: ()Ljava/lang/Runnable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 5
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.taskDelegated:Z
ifne 5
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.delegatedActions:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 5
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
iconst_1
putfield sun.security.ssl.HandshakeContext.taskDelegated:Z
4: new sun.security.ssl.SSLEngineImpl$DelegatedTask
dup
aload 0
invokespecial sun.security.ssl.SSLEngineImpl$DelegatedTask.<init>:(Lsun/security/ssl/SSLEngineImpl;)V
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void closeInbound();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 4
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 4
3: ldc "Closing inbound of SSLEngine"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isInputCloseNotified:Z
ifne 9
5: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.isNegotiated:Z
ifne 6
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnull 9
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getstatic sun.security.ssl.Alert.INTERNAL_ERROR:Lsun/security/ssl/Alert;
7: ldc "closing inbound before receiving peer's close_notify"
8: invokevirtual sun.security.ssl.TransportContext.fatal:(Lsun/security/ssl/Alert;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.closeInbound:()V
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SSLEngineImpl;
Exceptions:
throws javax.net.ssl.SSLException
public synchronized boolean isInboundDone();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isInboundClosed:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void closeOutbound();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundClosed:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 4
ldc "ssl"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 4
3: ldc "Closing outbound of SSLEngine"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.closeOutbound:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized boolean isOutboundDone();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.isOutboundDone:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public java.lang.String[] getSupportedCipherSuites();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSupportedCipherSuites:()Ljava/util/List;
invokestatic sun.security.ssl.CipherSuite.namesOf:(Ljava/util/List;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized java.lang.String[] getEnabledCipherSuites();
descriptor: ()[Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enabledCipherSuites:Ljava/util/List;
invokestatic sun.security.ssl.CipherSuite.namesOf:(Ljava/util/List;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void setEnabledCipherSuites(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
1: aload 1
invokestatic sun.security.ssl.CipherSuite.validValuesOf:([Ljava/lang/String;)Ljava/util/List;
2: putfield sun.security.ssl.SSLConfiguration.enabledCipherSuites:Ljava/util/List;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
0 4 1 suites [Ljava/lang/String;
MethodParameters:
Name Flags
suites
public java.lang.String[] getSupportedProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSupportedProtocolVersions:()Ljava/util/List;
1: invokestatic sun.security.ssl.ProtocolVersion.toStringArray:(Ljava/util/List;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized java.lang.String[] getEnabledProtocols();
descriptor: ()[Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enabledProtocols:Ljava/util/List;
1: invokestatic sun.security.ssl.ProtocolVersion.toStringArray:(Ljava/util/List;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void setEnabledProtocols(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Protocols cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
3: aload 1
invokestatic sun.security.ssl.ProtocolVersion.namesOf:([Ljava/lang/String;)Ljava/util/List;
4: putfield sun.security.ssl.SSLConfiguration.enabledProtocols:Ljava/util/List;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLEngineImpl;
0 6 1 protocols [Ljava/lang/String;
MethodParameters:
Name Flags
protocols
public synchronized javax.net.ssl.SSLSession getSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized javax.net.ssl.SSLSession getHandshakeSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnonnull 2
1: aconst_null
goto 3
StackMap locals:
StackMap stack:
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
3: StackMap locals:
StackMap stack: sun.security.ssl.SSLSessionImpl
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized javax.net.ssl.SSLEngineResult$HandshakeStatus getHandshakeStatus();
descriptor: ()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void setUseClientMode(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
iload 1
invokevirtual sun.security.ssl.TransportContext.setUseClientMode:(Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
0 2 1 mode Z
MethodParameters:
Name Flags
mode
public synchronized boolean getUseClientMode();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.isClientMode:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void setNeedClientAuth(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
1: iload 1
ifeq 2
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
goto 3
2: StackMap locals:
StackMap stack: sun.security.ssl.SSLConfiguration
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
3: StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLConfiguration sun.security.ssl.ClientAuthType
putfield sun.security.ssl.SSLConfiguration.clientAuthType:Lsun/security/ssl/ClientAuthType;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLEngineImpl;
0 5 1 need Z
MethodParameters:
Name Flags
need
public synchronized boolean getNeedClientAuth();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.clientAuthType:Lsun/security/ssl/ClientAuthType;
1: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
2: if_acmpne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void setWantClientAuth(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
1: iload 1
ifeq 2
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
goto 3
2: StackMap locals:
StackMap stack: sun.security.ssl.SSLConfiguration
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
3: StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLConfiguration sun.security.ssl.ClientAuthType
putfield sun.security.ssl.SSLConfiguration.clientAuthType:Lsun/security/ssl/ClientAuthType;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLEngineImpl;
0 5 1 want Z
MethodParameters:
Name Flags
want
public synchronized boolean getWantClientAuth();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.clientAuthType:Lsun/security/ssl/ClientAuthType;
1: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
2: if_acmpne 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void setEnableSessionCreation(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
iload 1
putfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
0 2 1 flag Z
MethodParameters:
Name Flags
flag
public synchronized boolean getEnableSessionCreation();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.enableSessionCreation:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized javax.net.ssl.SSLParameters getSSLParameters();
descriptor: ()Ljavax/net/ssl/SSLParameters;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
invokevirtual sun.security.ssl.SSLConfiguration.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void setSSLParameters(javax.net.ssl.SSLParameters);
descriptor: (Ljavax/net/ssl/SSLParameters;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
aload 1
invokevirtual sun.security.ssl.SSLConfiguration.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.maximumPacketSize:I
ifeq 5
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.outputRecord:Lsun/security/ssl/OutputRecord;
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.maximumPacketSize:I
4: invokevirtual sun.security.ssl.OutputRecord.changePacketSize:(I)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/SSLEngineImpl;
0 6 1 params Ljavax/net/ssl/SSLParameters;
MethodParameters:
Name Flags
params
public synchronized java.lang.String getApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.applicationProtocol:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized java.lang.String getHandshakeApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
ifnonnull 2
1: aconst_null
goto 3
StackMap locals:
StackMap stack:
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
getfield sun.security.ssl.HandshakeContext.applicationProtocol:Ljava/lang/String;
3: StackMap locals:
StackMap stack: java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLEngine, java.util.List<java.lang.String>, java.lang.String>);
descriptor: (Ljava/util/function/BiFunction;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
aload 1
putfield sun.security.ssl.SSLConfiguration.engineAPSelector:Ljava/util/function/BiFunction;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
0 2 1 selector Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
Signature: (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
selector
public synchronized java.util.function.BiFunction<javax.net.ssl.SSLEngine, java.util.List<java.lang.String>, java.lang.String> getHandshakeApplicationProtocolSelector();
descriptor: ()Ljava/util/function/BiFunction;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.engineAPSelector:Ljava/util/function/BiFunction;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
Signature: ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
public boolean useDelegatedTask();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
private synchronized void checkTaskThrown();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
astore 2
start local 2 2: aload 2
ifnull 5
aload 2
getfield sun.security.ssl.HandshakeContext.delegatedThrown:Ljava/lang/Exception;
ifnull 5
3: aload 2
getfield sun.security.ssl.HandshakeContext.delegatedThrown:Ljava/lang/Exception;
astore 1
4: aload 2
aconst_null
putfield sun.security.ssl.HandshakeContext.delegatedThrown:Ljava/lang/Exception;
5: StackMap locals: java.lang.Exception sun.security.ssl.HandshakeContext
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.delegatedThrown:Ljava/lang/Exception;
ifnull 12
6: aload 1
ifnull 10
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.delegatedThrown:Ljava/lang/Exception;
aload 1
if_acmpne 12
8: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
aconst_null
putfield sun.security.ssl.TransportContext.delegatedThrown:Ljava/lang/Exception;
9: goto 12
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.delegatedThrown:Ljava/lang/Exception;
astore 1
11: aload 0
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
aconst_null
putfield sun.security.ssl.TransportContext.delegatedThrown:Ljava/lang/Exception;
12: StackMap locals:
StackMap stack:
aload 1
ifnonnull 14
13: return
14: StackMap locals:
StackMap stack:
aload 1
instanceof javax.net.ssl.SSLException
ifeq 16
15: aload 1
checkcast javax.net.ssl.SSLException
athrow
16: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.RuntimeException
ifeq 18
17: aload 1
checkcast java.lang.RuntimeException
athrow
18: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.ssl.SSLEngineImpl.getTaskThrown:(Ljava/lang/Exception;)Ljavax/net/ssl/SSLException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/ssl/SSLEngineImpl;
1 19 1 exc Ljava/lang/Exception;
2 19 2 hc Lsun/security/ssl/HandshakeContext;
Exceptions:
throws javax.net.ssl.SSLException
private static javax.net.ssl.SSLException getTaskThrown(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)Ljavax/net/ssl/SSLException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: ldc "Delegated task threw Exception or Error"
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
instanceof java.lang.RuntimeException
ifeq 5
4: new java.lang.RuntimeException
dup
aload 1
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
instanceof javax.net.ssl.SSLHandshakeException
ifeq 8
6: new javax.net.ssl.SSLHandshakeException
dup
aload 1
invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.net.ssl.SSLHandshakeException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
7: checkcast javax.net.ssl.SSLHandshakeException
areturn
8: StackMap locals:
StackMap stack:
aload 0
instanceof javax.net.ssl.SSLKeyException
ifeq 11
9: new javax.net.ssl.SSLKeyException
dup
aload 1
invokespecial javax.net.ssl.SSLKeyException.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.net.ssl.SSLKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
10: checkcast javax.net.ssl.SSLKeyException
areturn
11: StackMap locals:
StackMap stack:
aload 0
instanceof javax.net.ssl.SSLPeerUnverifiedException
ifeq 14
12: new javax.net.ssl.SSLPeerUnverifiedException
dup
aload 1
invokespecial javax.net.ssl.SSLPeerUnverifiedException.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.net.ssl.SSLPeerUnverifiedException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
13: checkcast javax.net.ssl.SSLPeerUnverifiedException
areturn
14: StackMap locals:
StackMap stack:
aload 0
instanceof javax.net.ssl.SSLProtocolException
ifeq 17
15: new javax.net.ssl.SSLProtocolException
dup
aload 1
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.net.ssl.SSLProtocolException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
16: checkcast javax.net.ssl.SSLProtocolException
areturn
17: StackMap locals:
StackMap stack:
aload 0
instanceof javax.net.ssl.SSLException
ifeq 19
18: aload 0
checkcast javax.net.ssl.SSLException
areturn
19: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
aload 1
aload 0
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 taskThrown Ljava/lang/Exception;
1 20 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
taskThrown
}
SourceFile: "SSLEngineImpl.java"
NestMembers:
sun.security.ssl.SSLEngineImpl$DelegatedTask sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction
InnerClasses:
public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult
public final Status = javax.net.ssl.SSLEngineResult$Status of javax.net.ssl.SSLEngineResult
abstract SSLReadCipher = sun.security.ssl.SSLCipher$SSLReadCipher of sun.security.ssl.SSLCipher
abstract SSLWriteCipher = sun.security.ssl.SSLCipher$SSLWriteCipher of sun.security.ssl.SSLCipher
private DelegatedTask = sun.security.ssl.SSLEngineImpl$DelegatedTask of sun.security.ssl.SSLEngineImpl