public final class sun.security.ssl.SSLEngineImpl extends javax.net.ssl.SSLEngine
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SSLEngineImpl
super_class: javax.net.ssl.SSLEngine
{
private int connectionState;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int cs_START;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int cs_HANDSHAKE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int cs_DATA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int cs_RENEGOTIATE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int cs_ERROR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int cs_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private boolean inboundDone;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
sun.security.ssl.EngineWriter writer;
descriptor: Lsun/security/ssl/EngineWriter;
flags: (0x0000)
private sun.security.ssl.SSLContextImpl sslContext;
descriptor: Lsun/security/ssl/SSLContextImpl;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.Handshaker handshaker;
descriptor: Lsun/security/ssl/Handshaker;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.SSLSessionImpl sess;
descriptor: Lsun/security/ssl/SSLSessionImpl;
flags: (0x0002) ACC_PRIVATE
private volatile sun.security.ssl.SSLSessionImpl handshakeSession;
descriptor: Lsun/security/ssl/SSLSessionImpl;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static final byte clauth_none;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final byte clauth_requested;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final byte clauth_required;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
private boolean expectingFinished;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean recvCN;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javax.net.ssl.SSLException closeReason;
descriptor: Ljavax/net/ssl/SSLException;
flags: (0x0002) ACC_PRIVATE
private byte doClientAuth;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private boolean enableSessionCreation;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
sun.security.ssl.EngineInputRecord inputRecord;
descriptor: Lsun/security/ssl/EngineInputRecord;
flags: (0x0000)
sun.security.ssl.EngineOutputRecord outputRecord;
descriptor: Lsun/security/ssl/EngineOutputRecord;
flags: (0x0000)
private java.security.AccessControlContext acc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.CipherSuiteList enabledCipherSuites;
descriptor: Lsun/security/ssl/CipherSuiteList;
flags: (0x0002) ACC_PRIVATE
private java.lang.String identificationProtocol;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.security.AlgorithmConstraints algorithmConstraints;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x0002) ACC_PRIVATE
private boolean serverModeSet;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean roleIsServer;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ProtocolList enabledProtocols;
descriptor: Lsun/security/ssl/ProtocolList;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ProtocolVersion protocolVersion;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.MAC readMAC;
descriptor: Lsun/security/ssl/MAC;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.MAC writeMAC;
descriptor: Lsun/security/ssl/MAC;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.CipherBox readCipher;
descriptor: Lsun/security/ssl/CipherBox;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.CipherBox writeCipher;
descriptor: Lsun/security/ssl/CipherBox;
flags: (0x0002) ACC_PRIVATE
private boolean secureRenegotiation;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private byte[] clientVerifyData;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] serverVerifyData;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private java.lang.Object wrapLock;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object unwrapLock;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
java.lang.Object writeLock;
descriptor: Ljava/lang/Object;
flags: (0x0000)
private boolean isFirstAppOutputRecord;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final sun.security.ssl.Debug debug;
descriptor: Lsun/security/ssl/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lsun/security/ssl/SSLEngineImpl;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.security.ssl.SSLEngineImpl.$assertionsDisabled:Z
3: ldc "ssl"
invokestatic sun.security.ssl.Debug.getInstance:(Ljava/lang/String;)Lsun/security/ssl/Debug;
putstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(sun.security.ssl.SSLContextImpl);
descriptor: (Lsun/security/ssl/SSLContextImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial javax.net.ssl.SSLEngine.<init>:()V
1: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
2: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
3: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
6: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
7: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
8: aload 0
aload 1
invokevirtual sun.security.ssl.SSLEngineImpl.init:(Lsun/security/ssl/SSLContextImpl;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLEngineImpl;
0 10 1 ctx Lsun/security/ssl/SSLContextImpl;
MethodParameters:
Name Flags
ctx
void <init>(sun.security.ssl.SSLContextImpl, java.lang.String, int);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=3, locals=4, 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
iconst_0
putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
2: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
3: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
6: aload 0
getstatic sun.security.ssl.ProtocolVersion.DEFAULT:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
7: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
8: aload 0
aload 1
invokevirtual sun.security.ssl.SSLEngineImpl.init:(Lsun/security/ssl/SSLContextImpl;)V
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLEngineImpl;
0 10 1 ctx Lsun/security/ssl/SSLContextImpl;
0 10 2 host Ljava/lang/String;
0 10 3 port I
MethodParameters:
Name Flags
ctx
host
port
private void init(sun.security.ssl.SSLContextImpl);
descriptor: (Lsun/security/ssl/SSLContextImpl;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Using SSLEngineImpl."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
3: aload 0
new sun.security.ssl.SSLSessionImpl
dup
invokespecial sun.security.ssl.SSLSessionImpl.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
4: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
5: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
6: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
7: aload 0
getstatic sun.security.ssl.CipherBox.NULL:Lsun/security/ssl/CipherBox;
putfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
8: aload 0
getstatic sun.security.ssl.MAC.NULL:Lsun/security/ssl/MAC;
putfield sun.security.ssl.SSLEngineImpl.readMAC:Lsun/security/ssl/MAC;
9: aload 0
getstatic sun.security.ssl.CipherBox.NULL:Lsun/security/ssl/CipherBox;
putfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
10: aload 0
getstatic sun.security.ssl.MAC.NULL:Lsun/security/ssl/MAC;
putfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
11: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
12: aload 0
iconst_0
newarray 8
putfield sun.security.ssl.SSLEngineImpl.clientVerifyData:[B
13: aload 0
iconst_0
newarray 8
putfield sun.security.ssl.SSLEngineImpl.serverVerifyData:[B
14: aload 0
15: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
invokevirtual sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
16: putfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
17: aload 0
18: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
19: putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
20: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.wrapLock:Ljava/lang/Object;
21: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.unwrapLock:Ljava/lang/Object;
22: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.writeLock:Ljava/lang/Object;
23: aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield sun.security.ssl.SSLEngineImpl.acc:Ljava/security/AccessControlContext;
24: aload 0
25: new sun.security.ssl.EngineOutputRecord
dup
bipush 23
aload 0
invokespecial sun.security.ssl.EngineOutputRecord.<init>:(BLsun/security/ssl/SSLEngineImpl;)V
26: putfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/EngineOutputRecord;
27: aload 0
new sun.security.ssl.EngineInputRecord
dup
aload 0
invokespecial sun.security.ssl.EngineInputRecord.<init>:(Lsun/security/ssl/SSLEngineImpl;)V
putfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
28: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
invokevirtual sun.security.ssl.EngineInputRecord.enableFormatChecks:()V
29: aload 0
new sun.security.ssl.EngineWriter
dup
invokespecial sun.security.ssl.EngineWriter.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
30: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/ssl/SSLEngineImpl;
0 31 1 ctx Lsun/security/ssl/SSLContextImpl;
MethodParameters:
Name Flags
ctx
private void initHandshaker();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
tableswitch { // 0 - 3
0: 1
1: 2
2: 1
3: 2
default: 3
}
1: StackMap locals:
StackMap stack:
goto 4
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Internal error"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
ifne 7
5: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
ifeq 17
9: aload 0
10: new sun.security.ssl.ServerHandshaker
dup
aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
11: aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
aload 0
getfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
12: aload 0
getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpne 13
iconst_1
goto 14
StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack: sun.security.ssl.SSLEngineImpl new 10 new 10 sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int sun.security.ssl.ProtocolVersion
13: iconst_0
14: StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack: sun.security.ssl.SSLEngineImpl new 10 new 10 sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int sun.security.ssl.ProtocolVersion int
aload 0
getfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
aload 0
getfield sun.security.ssl.SSLEngineImpl.clientVerifyData:[B
aload 0
getfield sun.security.ssl.SSLEngineImpl.serverVerifyData:[B
invokespecial sun.security.ssl.ServerHandshaker.<init>:(Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;BLsun/security/ssl/ProtocolVersion;ZZ[B[B)V
15: putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
16: goto 24
17: StackMap locals:
StackMap stack:
aload 0
18: new sun.security.ssl.ClientHandshaker
dup
aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
19: aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
20: aload 0
getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpne 21
iconst_1
goto 22
StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack: sun.security.ssl.SSLEngineImpl new 18 new 18 sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ProtocolVersion
21: iconst_0
22: StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack: sun.security.ssl.SSLEngineImpl new 18 new 18 sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ProtocolVersion int
aload 0
getfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
aload 0
getfield sun.security.ssl.SSLEngineImpl.clientVerifyData:[B
aload 0
getfield sun.security.ssl.SSLEngineImpl.serverVerifyData:[B
invokespecial sun.security.ssl.ClientHandshaker.<init>:(Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;Lsun/security/ssl/ProtocolVersion;ZZ[B[B)V
23: putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
24: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.Handshaker.setEnabledCipherSuites:(Lsun/security/ssl/CipherSuiteList;)V
25: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
invokevirtual sun.security.ssl.Handshaker.setEnableSessionCreation:(Z)V
26: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/ssl/SSLEngineImpl;
private javax.net.ssl.SSLEngineResult$HandshakeStatus getHSStatus(javax.net.ssl.SSLEngineResult$HandshakeStatus);
descriptor: (Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 2
monitorenter
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
invokevirtual sun.security.ssl.EngineWriter.hasOutboundData:()Z
ifeq 6
4: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aload 2
monitorexit
5: areturn
6: StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 12
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.taskOutstanding:()Z
ifeq 10
8: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aload 2
monitorexit
9: areturn
10: StackMap locals:
StackMap stack:
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aload 2
monitorexit
11: areturn
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
bipush 6
if_icmpne 16
13: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifne 16
14: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aload 2
monitorexit
15: areturn
16: StackMap locals:
StackMap stack:
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aload 2
monitorexit
17: areturn
18: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
19: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/ssl/SSLEngineImpl;
0 20 1 hss Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
Exception table:
from to target type
3 5 18 any
6 9 18 any
10 11 18 any
12 15 18 any
16 17 18 any
18 19 18 any
MethodParameters:
Name Flags
hss
private synchronized void checkTaskThrown();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 2
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.checkThrown:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLEngineImpl;
Exceptions:
throws javax.net.ssl.SSLException
private synchronized int getConnectionState();
descriptor: ()I
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
private synchronized void setConnectionState(int);
descriptor: (I)V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
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 state I
MethodParameters:
Name Flags
state
java.security.AccessControlContext getAcc();
descriptor: ()Ljava/security/AccessControlContext;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.acc:Ljava/security/AccessControlContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public javax.net.ssl.SSLEngineResult$HandshakeStatus getHandshakeStatus();
descriptor: ()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
private void changeReadCiphers();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
astore 1
start local 1 1: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newReadCipher:()Lsun/security/ssl/CipherBox;
putfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
2: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newReadMAC:()Lsun/security/ssl/MAC;
putfield sun.security.ssl.SSLEngineImpl.readMAC:Lsun/security/ssl/MAC;
3: goto 6
StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.CipherBox
StackMap stack: java.security.GeneralSecurityException
4: astore 2
start local 2 5: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 2
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 6: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.CipherBox.dispose:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/SSLEngineImpl;
1 8 1 oldCipher Lsun/security/ssl/CipherBox;
5 6 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
1 3 4 Class java.security.GeneralSecurityException
Exceptions:
throws javax.net.ssl.SSLException
void changeWriteCiphers();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpeq 5
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpeq 5
2: new javax.net.ssl.SSLProtocolException
dup
3: ldc "State error, change cipher specs"
4: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
astore 1
start local 1 6: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newWriteCipher:()Lsun/security/ssl/CipherBox;
putfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
7: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newWriteMAC:()Lsun/security/ssl/MAC;
putfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
8: goto 11
StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.CipherBox
StackMap stack: java.security.GeneralSecurityException
9: astore 2
start local 2 10: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 2
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 11: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.CipherBox.dispose:()V
12: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/SSLEngineImpl;
6 14 1 oldCipher Lsun/security/ssl/CipherBox;
10 11 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
6 8 9 Class java.security.GeneralSecurityException
Exceptions:
throws javax.net.ssl.SSLException
synchronized void setVersion(sun.security.ssl.ProtocolVersion);
descriptor: (Lsun/security/ssl/ProtocolVersion;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/EngineOutputRecord;
aload 1
invokevirtual sun.security.ssl.EngineOutputRecord.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLEngineImpl;
0 3 1 protocolVersion Lsun/security/ssl/ProtocolVersion;
MethodParameters:
Name Flags
protocolVersion
private synchronized void kickstartHandshake();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
tableswitch { // 0 - 3
0: 1
1: 7
2: 8
3: 19
default: 20
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
ifne 5
2: new java.lang.IllegalStateException
dup
3: ldc "Client/Server mode not yet set."
4: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
6: goto 21
7: StackMap locals:
StackMap stack:
goto 21
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
ifne 12
getstatic sun.security.ssl.Handshaker.allowUnsafeRenegotiation:Z
ifne 12
9: new javax.net.ssl.SSLHandshakeException
dup
10: ldc "Insecure renegotiation is not allowed"
11: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
ifne 17
13: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 17
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 17
14: getstatic java.lang.System.out:Ljava/io/PrintStream;
15: ldc "Warning: Using insecure renegotiation"
16: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
18: goto 21
19: StackMap locals:
StackMap stack:
return
20: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLException
dup
ldc "SSLEngine is closing/closed"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 32
22: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpne 25
23: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aconst_null
invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
26: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
instanceof sun.security.ssl.ClientHandshaker
ifeq 29
27: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.kickstart:()V
28: goto 32
29: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpeq 32
30: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.kickstart:()V
31: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
getfield sun.security.ssl.Handshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
invokevirtual sun.security.ssl.HandshakeHash.reset:()V
32: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/security/ssl/SSLEngineImpl;
Exceptions:
throws java.io.IOException
public void beginHandshake();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.kickstartHandshake:()V
1: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 1
start local 1 3: aload 0
bipush 40
4: ldc "Couldn't kickstart handshaking"
aload 1
5: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLEngineImpl;
3 6 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Exceptions:
throws javax.net.ssl.SSLException
public 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: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new sun.security.ssl.EngineArgs
dup
aload 1
aload 2
iload 3
iload 4
invokespecial sun.security.ssl.EngineArgs.<init>:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)V
astore 5
start local 5 1: aload 0
getfield sun.security.ssl.SSLEngineImpl.unwrapLock:Ljava/lang/Object;
dup
astore 6
monitorenter
2: aload 0
aload 5
invokevirtual sun.security.ssl.SSLEngineImpl.readNetRecord:(Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult;
astore 8
aload 6
monitorexit
3: aload 5
invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
4: aload 8
areturn
5: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int sun.security.ssl.EngineArgs java.lang.Object
StackMap stack: java.lang.Throwable
aload 6
monitorexit
6: athrow
7: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int sun.security.ssl.EngineArgs
StackMap stack: javax.net.ssl.SSLProtocolException
astore 6
start local 6 8: aload 0
bipush 10
aload 6
invokevirtual javax.net.ssl.SSLProtocolException.getMessage:()Ljava/lang/String;
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
9: aload 5
invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
10: aconst_null
areturn
end local 6 11: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 12: aload 0
bipush 80
13: ldc "problem unwrapping net record"
aload 6
14: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
15: aload 5
invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
16: aconst_null
areturn
end local 6 17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
18: aload 5
invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
19: aload 7
athrow
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 netData Ljava/nio/ByteBuffer;
0 20 2 appData [Ljava/nio/ByteBuffer;
0 20 3 offset I
0 20 4 length I
1 20 5 ea Lsun/security/ssl/EngineArgs;
8 11 6 spe Ljavax/net/ssl/SSLProtocolException;
12 17 6 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 5 any
5 6 5 any
1 3 7 Class javax.net.ssl.SSLProtocolException
5 7 7 Class javax.net.ssl.SSLProtocolException
1 3 11 Class java.lang.Exception
5 7 11 Class java.lang.Exception
1 3 17 any
5 9 17 any
11 15 17 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
netData
appData
offset
length
private javax.net.ssl.SSLEngineResult readNetRecord(sun.security.ssl.EngineArgs);
descriptor: (Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.checkTaskThrown:()V
3: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 5
4: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
5: StackMap locals: javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
aload 0
dup
astore 4
monitorenter
6: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpeq 8
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
ifne 13
8: StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.kickstartHandshake:()V
9: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 3
10: aload 3
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 13
11: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 3
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
aload 4
monitorexit
12: areturn
13: StackMap locals:
StackMap stack:
aload 4
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 4
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aload 3
ifnonnull 19
18: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 3
19: StackMap locals:
StackMap stack:
aload 3
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 23
20: new javax.net.ssl.SSLEngineResult
dup
21: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 3
iconst_0
iconst_0
22: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
aload 1
getfield sun.security.ssl.EngineArgs.netData:Ljava/nio/ByteBuffer;
invokevirtual sun.security.ssl.EngineInputRecord.bytesInCompletePacket:(Ljava/nio/ByteBuffer;)I
istore 4
start local 4 24: iload 4
aload 0
getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getPacketBufferSize:()I
if_icmple 32
25: iload 4
ldc 33305
if_icmple 31
26: new javax.net.ssl.SSLProtocolException
dup
27: new java.lang.StringBuilder
dup
ldc "Input SSL/TLS record too big: max = 33305 len = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
28: iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
29: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.expandBufferSizes:()V
32: StackMap locals:
StackMap stack:
iload 4
iconst_5
isub
aload 1
invokevirtual sun.security.ssl.EngineArgs.getAppRemaining:()I
if_icmple 34
33: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
aload 3
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
34: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpeq 35
aload 1
getfield sun.security.ssl.EngineArgs.netData:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 4
if_icmpge 38
35: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLEngineResult
dup
36: getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
aload 3
iconst_0
iconst_0
37: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
38: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.ssl.SSLEngineImpl.readRecord:(Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 3
39: goto 44
StackMap locals:
StackMap stack: javax.net.ssl.SSLException
40: astore 5
start local 5 41: aload 5
athrow
end local 5 42: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 43: new javax.net.ssl.SSLException
dup
ldc "readRecord"
aload 5
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 44: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 45
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 46
StackMap locals:
StackMap stack:
45: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
46: astore 2
47: aload 0
aload 3
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 3
48: new javax.net.ssl.SSLEngineResult
dup
aload 2
aload 3
49: aload 1
invokevirtual sun.security.ssl.EngineArgs.deltaNet:()I
aload 1
invokevirtual sun.security.ssl.EngineArgs.deltaApp:()I
50: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lsun/security/ssl/SSLEngineImpl;
0 51 1 ea Lsun/security/ssl/EngineArgs;
1 51 2 status Ljavax/net/ssl/SSLEngineResult$Status;
2 51 3 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
24 51 4 packetLen I
41 42 5 e Ljavax/net/ssl/SSLException;
43 44 5 e Ljava/io/IOException;
Exception table:
from to target type
6 12 15 any
13 14 15 any
15 16 15 any
38 39 40 Class javax.net.ssl.SSLException
38 39 42 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ea
private javax.net.ssl.SSLEngineResult$HandshakeStatus readRecord(sun.security.ssl.EngineArgs);
descriptor: (Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getConnectionState:()I
iconst_4
if_icmpeq 99
4: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
aload 1
getfield sun.security.ssl.EngineArgs.netData:Ljava/nio/ByteBuffer;
invokevirtual sun.security.ssl.EngineInputRecord.read:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
astore 3
5: goto 8
StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.EngineArgs javax.net.ssl.SSLEngineResult$HandshakeStatus java.nio.ByteBuffer java.nio.ByteBuffer
StackMap stack: java.io.IOException
6: astore 5
start local 5 7: aload 0
bipush 10
aload 5
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/Throwable;)V
end local 5 8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
aload 0
getfield sun.security.ssl.SSLEngineImpl.readMAC:Lsun/security/ssl/MAC;
aload 0
getfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
aload 3
invokevirtual sun.security.ssl.EngineInputRecord.decrypt:(Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
astore 4
9: goto 18
StackMap locals:
StackMap stack: javax.crypto.BadPaddingException
10: astore 5
start local 5 11: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
12: bipush 22
13: if_icmpne 15
14: bipush 40
goto 16
15: StackMap locals: javax.crypto.BadPaddingException
StackMap stack:
bipush 20
16: StackMap locals:
StackMap stack: int
istore 6
start local 6 17: aload 0
iload 6
aload 5
invokevirtual javax.crypto.BadPaddingException.getMessage:()Ljava/lang/String;
aload 5
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
end local 6 end local 5 18: StackMap locals:
StackMap stack:
aload 0
dup
astore 5
monitorenter
19: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
tableswitch { // 20 - 23
20: 66
21: 64
22: 20
23: 49
default: 83
}
20: StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
21: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 26
22: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpne 25
23: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aconst_null
invokevirtual sun.security.ssl.Handshaker.activate:(Lsun/security/ssl/ProtocolVersion;)V
26: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
aload 0
getfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
invokevirtual sun.security.ssl.Handshaker.process_record:(Lsun/security/ssl/InputRecord;Z)V
27: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
28: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
getfield sun.security.ssl.Handshaker.invalidated:Z
ifeq 33
29: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
30: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpne 88
31: aload 0
iconst_2
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
32: goto 88
StackMap locals:
StackMap stack:
33: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.isDone:()Z
ifeq 46
34: aload 0
35: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.isSecureRenegotiation:()Z
36: putfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
37: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getClientVerifyData:()[B
putfield sun.security.ssl.SSLEngineImpl.clientVerifyData:[B
38: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getServerVerifyData:()[B
putfield sun.security.ssl.SSLEngineImpl.serverVerifyData:[B
39: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getSession:()Lsun/security/ssl/SSLSessionImpl;
putfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
40: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
41: aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
invokevirtual sun.security.ssl.EngineWriter.hasOutboundData:()Z
ifne 43
42: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 2
43: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
44: aload 0
iconst_2
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
45: goto 88
StackMap locals:
StackMap stack:
46: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.taskOutstanding:()Z
ifeq 88
47: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 2
48: goto 88
49: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_2
if_icmpeq 57
50: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpeq 57
51: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
bipush 6
if_icmpeq 57
52: new javax.net.ssl.SSLProtocolException
dup
53: new java.lang.StringBuilder
dup
ldc "Data received in non-data state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
54: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
55: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
57: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
ifeq 61
58: new javax.net.ssl.SSLProtocolException
dup
59: ldc "Expecting finished message, received data"
60: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
61: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
ifne 88
62: aload 1
aload 4
invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
invokevirtual sun.security.ssl.EngineArgs.scatter:(Ljava/nio/ByteBuffer;)V
63: goto 88
64: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.recvAlert:()V
65: goto 88
66: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpeq 74
67: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpeq 74
68: aload 0
bipush 10
69: new java.lang.StringBuilder
dup
ldc "illegal change cipher spec msg, conn state = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
70: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
71: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
72: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
73: goto 79
StackMap locals:
StackMap stack:
74: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
invokevirtual sun.security.ssl.EngineInputRecord.available:()I
iconst_1
if_icmpne 76
75: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
invokevirtual sun.security.ssl.EngineInputRecord.read:()I
iconst_1
if_icmpeq 79
76: StackMap locals:
StackMap stack:
aload 0
bipush 10
77: ldc "Malformed change cipher spec msg"
78: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
79: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.receiveChangeCipherSpec:()V
80: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.changeReadCiphers:()V
81: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
82: goto 88
83: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 88
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 88
84: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
85: ldc ", Received record type: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
86: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
87: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
88: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_4
if_icmpge 95
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifne 95
89: aload 2
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 95
90: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.readMAC:Lsun/security/ssl/MAC;
91: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
invokevirtual sun.security.ssl.EngineInputRecord.contentType:()B
92: invokevirtual sun.security.ssl.SSLEngineImpl.checkSequenceNumber:(Lsun/security/ssl/MAC;B)Z
93: ifeq 95
94: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 2
95: StackMap locals:
StackMap stack:
aload 5
monitorexit
96: goto 99
StackMap locals:
StackMap stack: java.lang.Throwable
97: aload 5
monitorexit
98: athrow
99: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 100 0 this Lsun/security/ssl/SSLEngineImpl;
0 100 1 ea Lsun/security/ssl/EngineArgs;
1 100 2 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
2 100 3 readBB Ljava/nio/ByteBuffer;
3 100 4 decryptedBB Ljava/nio/ByteBuffer;
7 8 5 e Ljava/io/IOException;
11 18 5 e Ljavax/crypto/BadPaddingException;
17 18 6 alertType B
Exception table:
from to target type
4 5 6 Class java.io.IOException
8 9 10 Class javax.crypto.BadPaddingException
19 96 97 any
97 98 97 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ea
public 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: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new sun.security.ssl.EngineArgs
dup
aload 1
iload 2
iload 3
aload 4
invokespecial sun.security.ssl.EngineArgs.<init>:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)V
astore 5
start local 5 1: aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
sipush 16921
if_icmpge 5
2: new javax.net.ssl.SSLEngineResult
dup
3: getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
iconst_0
iconst_0
4: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
5: StackMap locals: sun.security.ssl.EngineArgs
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.wrapLock:Ljava/lang/Object;
dup
astore 6
monitorenter
6: aload 0
aload 5
invokevirtual sun.security.ssl.SSLEngineImpl.writeAppRecord:(Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult;
astore 8
aload 6
monitorexit
7: aload 5
invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
8: aload 8
areturn
9: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer sun.security.ssl.EngineArgs java.lang.Object
StackMap stack: java.lang.Throwable
aload 6
monitorexit
10: athrow
11: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer sun.security.ssl.EngineArgs
StackMap stack: javax.net.ssl.SSLProtocolException
astore 6
start local 6 12: aload 0
bipush 10
aload 6
invokevirtual javax.net.ssl.SSLProtocolException.getMessage:()Ljava/lang/String;
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
13: aload 5
invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
14: aconst_null
areturn
end local 6 15: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 16: aload 5
invokevirtual sun.security.ssl.EngineArgs.resetPos:()V
17: aload 0
bipush 80
18: ldc "problem wrapping app data"
aload 6
19: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
20: aload 5
invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
21: aconst_null
areturn
end local 6 22: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
23: aload 5
invokevirtual sun.security.ssl.EngineArgs.resetLim:()V
24: aload 7
athrow
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 25 0 this Lsun/security/ssl/SSLEngineImpl;
0 25 1 appData [Ljava/nio/ByteBuffer;
0 25 2 offset I
0 25 3 length I
0 25 4 netData Ljava/nio/ByteBuffer;
1 25 5 ea Lsun/security/ssl/EngineArgs;
12 15 6 spe Ljavax/net/ssl/SSLProtocolException;
16 22 6 e Ljava/lang/Exception;
Exception table:
from to target type
6 7 9 any
9 10 9 any
5 7 11 Class javax.net.ssl.SSLProtocolException
9 11 11 Class javax.net.ssl.SSLProtocolException
5 7 15 Class java.lang.Exception
9 11 15 Class java.lang.Exception
5 7 22 any
9 13 22 any
15 20 22 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
appData
offset
length
netData
private javax.net.ssl.SSLEngineResult writeAppRecord(sun.security.ssl.EngineArgs);
descriptor: (Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.checkTaskThrown:()V
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
invokevirtual sun.security.ssl.EngineWriter.isOutboundDone:()Z
ifeq 5
4: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
5: StackMap locals: javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
aload 0
dup
astore 4
monitorenter
6: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpeq 8
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
ifne 13
8: StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.kickstartHandshake:()V
9: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 3
10: aload 3
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 13
11: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 3
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
aload 4
monitorexit
12: areturn
13: StackMap locals:
StackMap stack:
aload 4
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 4
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aload 3
ifnonnull 19
18: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 3
19: StackMap locals:
StackMap stack:
aload 3
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 23
20: new javax.net.ssl.SSLEngineResult
dup
21: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 3
iconst_0
iconst_0
22: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeLock:Ljava/lang/Object;
dup
astore 4
monitorenter
24: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/EngineOutputRecord;
aload 1
invokevirtual sun.security.ssl.SSLEngineImpl.writeRecord:(Lsun/security/ssl/EngineOutputRecord;Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 3
25: aload 4
monitorexit
26: goto 33
StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.EngineArgs javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus java.lang.Object
StackMap stack: java.lang.Throwable
27: aload 4
monitorexit
28: athrow
29: StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.EngineArgs javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack: javax.net.ssl.SSLException
astore 4
start local 4 30: aload 4
athrow
end local 4 31: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 32: new javax.net.ssl.SSLException
dup
ldc "Write problems"
aload 4
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 33: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
ifeq 34
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 35
StackMap locals:
StackMap stack:
34: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
35: astore 2
36: aload 0
aload 3
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 3
37: new javax.net.ssl.SSLEngineResult
dup
aload 2
aload 3
38: aload 1
invokevirtual sun.security.ssl.EngineArgs.deltaApp:()I
aload 1
invokevirtual sun.security.ssl.EngineArgs.deltaNet:()I
39: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/security/ssl/SSLEngineImpl;
0 40 1 ea Lsun/security/ssl/EngineArgs;
1 40 2 status Ljavax/net/ssl/SSLEngineResult$Status;
2 40 3 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
30 31 4 e Ljavax/net/ssl/SSLException;
32 33 4 e Ljava/io/IOException;
Exception table:
from to target type
6 12 15 any
13 14 15 any
15 16 15 any
24 26 27 any
27 28 27 any
23 29 29 Class javax.net.ssl.SSLException
23 29 31 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ea
private javax.net.ssl.SSLEngineResult$HandshakeStatus writeRecord(sun.security.ssl.EngineOutputRecord, sun.security.ssl.EngineArgs);
descriptor: (Lsun/security/ssl/EngineOutputRecord;Lsun/security/ssl/EngineArgs;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
aload 1
aload 2
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.EngineWriter.writeRecord:(Lsun/security/ssl/EngineOutputRecord;Lsun/security/ssl/EngineArgs;Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
1: astore 3
start local 3 2: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_4
if_icmpge 6
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
ifne 6
3: aload 3
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 6
4: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
aload 1
invokevirtual sun.security.ssl.EngineOutputRecord.contentType:()B
invokevirtual sun.security.ssl.SSLEngineImpl.checkSequenceNumber:(Lsun/security/ssl/MAC;B)Z
ifeq 6
5: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 3
6: StackMap locals: javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
ifeq 8
aload 2
invokevirtual sun.security.ssl.EngineArgs.deltaApp:()I
ifle 8
7: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
8: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLEngineImpl;
0 9 1 eor Lsun/security/ssl/EngineOutputRecord;
0 9 2 ea Lsun/security/ssl/EngineArgs;
2 9 3 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
eor
ea
boolean needToSplitPayload(sun.security.ssl.CipherBox, sun.security.ssl.ProtocolVersion);
descriptor: (Lsun/security/ssl/CipherBox;Lsun/security/ssl/ProtocolVersion;)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield sun.security.ssl.ProtocolVersion.v:I
getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmpgt 4
1: aload 1
invokevirtual sun.security.ssl.CipherBox.isCBCMode:()Z
ifeq 4
aload 0
getfield sun.security.ssl.SSLEngineImpl.isFirstAppOutputRecord:Z
ifne 4
2: getstatic sun.security.ssl.Record.enableCBCProtection:Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLEngineImpl;
0 5 1 cipher Lsun/security/ssl/CipherBox;
0 5 2 protocol Lsun/security/ssl/ProtocolVersion;
MethodParameters:
Name Flags
cipher
protocol
void writeRecord(sun.security.ssl.EngineOutputRecord);
descriptor: (Lsun/security/ssl/EngineOutputRecord;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
aload 1
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.EngineWriter.writeRecord:(Lsun/security/ssl/EngineOutputRecord;Lsun/security/ssl/MAC;Lsun/security/ssl/CipherBox;)V
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_4
if_icmpge 3
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
ifne 3
2: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeMAC:Lsun/security/ssl/MAC;
aload 1
invokevirtual sun.security.ssl.EngineOutputRecord.contentType:()B
invokevirtual sun.security.ssl.SSLEngineImpl.checkSequenceNumber:(Lsun/security/ssl/MAC;B)Z
pop
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
0 4 1 eor Lsun/security/ssl/EngineOutputRecord;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
eor
private boolean checkSequenceNumber(sun.security.ssl.MAC, byte);
descriptor: (Lsun/security/ssl/MAC;B)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_4
if_icmpge 1
aload 1
getstatic sun.security.ssl.MAC.NULL:Lsun/security/ssl/MAC;
if_acmpne 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.MAC.seqNumOverflow:()Z
ifeq 10
3: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 8
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 8
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: ldc ", sequence number extremely close to overflow "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "(2^64-1 packets). Closing connection."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 0
bipush 40
ldc "sequence number overflow"
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
9: iconst_1
ireturn
10: StackMap locals:
StackMap stack:
iload 2
bipush 22
if_icmpeq 17
aload 1
invokevirtual sun.security.ssl.MAC.seqNumIsHuge:()Z
ifeq 17
11: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 15
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 15
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", request renegotiation "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc "to avoid sequence number overflow"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.beginHandshake:()V
16: iconst_1
ireturn
17: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/ssl/SSLEngineImpl;
0 18 1 mac Lsun/security/ssl/MAC;
0 18 2 type B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mac
type
private void closeOutboundInternal();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", closeOutboundInternal()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
invokevirtual sun.security.ssl.EngineWriter.isOutboundDone:()Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
tableswitch { // 0 - 6
0: 5
1: 9
2: 9
3: 9
4: 8
5: 9
6: 8
default: 9
}
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
invokevirtual sun.security.ssl.EngineWriter.closeOutbound:()V
6: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
7: goto 11
8: StackMap locals:
StackMap stack:
goto 11
9: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual sun.security.ssl.SSLEngineImpl.warning:(B)V
10: aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
invokevirtual sun.security.ssl.EngineWriter.closeOutbound:()V
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.CipherBox.dispose:()V
12: aload 0
bipush 6
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
13: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void closeOutbound();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", called closeOutbound()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.closeOutboundInternal:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
public boolean isOutboundDone();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
invokevirtual sun.security.ssl.EngineWriter.isOutboundDone:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
private void closeInboundInternal();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", closeInboundInternal()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
ifeq 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.closeOutboundInternal:()V
5: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
6: aload 0
getfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.CipherBox.dispose:()V
7: aload 0
bipush 6
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void closeInbound();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", called closeInbound()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
ifeq 8
aload 0
getfield sun.security.ssl.SSLEngineImpl.recvCN:Z
ifne 8
3: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.recvCN:Z
4: aload 0
bipush 80
5: ldc "Inbound closed before receiving peer's close_notify: possible truncation attack?"
6: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
7: goto 9
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.closeInboundInternal:()V
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 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.inboundDone:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
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.sess: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.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
synchronized void setHandshakeSession(sun.security.ssl.SSLSessionImpl);
descriptor: (Lsun/security/ssl/SSLSessionImpl;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
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 session Lsun/security/ssl/SSLSessionImpl;
MethodParameters:
Name Flags
session
public synchronized java.lang.Runnable getDelegatedTask();
descriptor: ()Ljava/lang/Runnable;
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.handshaker:Lsun/security/ssl/Handshaker;
ifnull 2
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getTask:()Lsun/security/ssl/Handshaker$DelegatedTask;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLEngineImpl;
void warning(byte);
descriptor: (B)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
iload 1
invokevirtual sun.security.ssl.SSLEngineImpl.sendAlert:(BB)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 description B
MethodParameters:
Name Flags
description
synchronized void fatal(byte, java.lang.String);
descriptor: (BLjava/lang/String;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
0 2 1 description B
0 2 2 diagnostic Ljava/lang/String;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
description
diagnostic
synchronized void fatal(byte, java.lang.Throwable);
descriptor: (BLjava/lang/Throwable;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aconst_null
aload 2
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
0 2 1 description B
0 2 2 cause Ljava/lang/Throwable;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
description
cause
synchronized void fatal(byte, java.lang.String, java.lang.Throwable);
descriptor: (BLjava/lang/String;Ljava/lang/Throwable;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 2
1: ldc "General SSLEngine problem"
astore 2
2: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
3: iload 1
aload 3
aload 2
invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/Throwable;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
astore 3
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnull 16
5: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 10
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 10
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: ldc ", fatal: engine already closed. Rethrowing "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 3
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.RuntimeException
ifeq 12
11: aload 3
checkcast java.lang.RuntimeException
athrow
12: StackMap locals:
StackMap stack:
aload 3
instanceof javax.net.ssl.SSLException
ifeq 14
13: aload 3
checkcast javax.net.ssl.SSLException
athrow
14: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Exception
ifeq 16
15: new javax.net.ssl.SSLException
dup
ldc "fatal SSLEngine condition"
aload 3
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
16: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 21
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 21
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: ldc ", fatal error: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
19: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
istore 4
start local 4 22: aload 0
iconst_4
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
23: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
24: aload 0
getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
25: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
ifnull 27
26: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
27: StackMap locals: int
StackMap stack:
iload 4
ifeq 29
28: aload 0
iconst_2
iload 1
invokevirtual sun.security.ssl.SSLEngineImpl.sendAlert:(BB)V
29: StackMap locals:
StackMap stack:
aload 3
instanceof javax.net.ssl.SSLException
ifeq 32
30: aload 0
aload 3
checkcast javax.net.ssl.SSLException
putfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
31: goto 35
32: StackMap locals:
StackMap stack:
aload 0
33: iload 1
aload 3
aload 2
invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/Throwable;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
34: putfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
35: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.writer:Lsun/security/ssl/EngineWriter;
invokevirtual sun.security.ssl.EngineWriter.closeOutbound:()V
36: aload 0
bipush 6
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
37: aload 0
getfield sun.security.ssl.SSLEngineImpl.readCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.CipherBox.dispose:()V
38: aload 0
getfield sun.security.ssl.SSLEngineImpl.writeCipher:Lsun/security/ssl/CipherBox;
invokevirtual sun.security.ssl.CipherBox.dispose:()V
39: aload 3
instanceof java.lang.RuntimeException
ifeq 41
40: aload 3
checkcast java.lang.RuntimeException
athrow
41: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/security/ssl/SSLEngineImpl;
0 42 1 description B
0 42 2 diagnostic Ljava/lang/String;
0 42 3 cause Ljava/lang/Throwable;
22 42 4 oldState I
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
description
diagnostic
cause
private void recvAlert();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
invokevirtual sun.security.ssl.EngineInputRecord.read:()I
i2b
istore 1
start local 1 1: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/EngineInputRecord;
invokevirtual sun.security.ssl.EngineInputRecord.read:()I
i2b
istore 2
start local 2 2: iload 2
iconst_m1
if_icmpne 4
3: aload 0
bipush 47
ldc "Short alert message"
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
4: StackMap locals: int int
StackMap stack:
getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 21
ldc "record"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifne 6
5: ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 21
6: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
dup
astore 3
monitorenter
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", RECV "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ALERT: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
9: iload 1
iconst_2
if_icmpne 12
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "fatal, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
11: goto 16
StackMap locals: java.io.PrintStream
StackMap stack:
12: iload 1
iconst_1
if_icmpne 15
13: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "warning, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
14: goto 16
15: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "<level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
sipush 255
iload 1
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ">, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
iload 2
invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: aload 3
monitorexit
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 3
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpne 34
22: iload 2
ifne 31
23: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpne 28
24: aload 0
bipush 10
25: ldc "Received close_notify during handshake"
26: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
27: goto 40
28: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.recvCN:Z
29: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.closeInboundInternal:()V
30: goto 40
31: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 40
32: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
iload 2
invokevirtual sun.security.ssl.Handshaker.handshakeAlert:(B)V
33: goto 40
34: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Received fatal alert: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
35: iload 2
invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
36: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 37: aload 0
getfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
ifnonnull 39
38: aload 0
iload 2
aload 3
invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/String;)Ljavax/net/ssl/SSLException;
putfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
39: StackMap locals: java.lang.String
StackMap stack:
aload 0
bipush 10
aload 3
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
end local 3 40: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lsun/security/ssl/SSLEngineImpl;
1 41 1 level B
2 41 2 description B
37 40 3 reason Ljava/lang/String;
Exception table:
from to target type
7 18 19 any
19 20 19 any
Exceptions:
throws java.io.IOException
private void sendAlert(byte, byte);
descriptor: (BB)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
bipush 6
if_icmplt 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpne 5
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 4
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.started:()Z
ifne 5
4: StackMap locals:
StackMap stack:
return
5: StackMap locals:
StackMap stack:
new sun.security.ssl.EngineOutputRecord
dup
bipush 21
aload 0
invokespecial sun.security.ssl.EngineOutputRecord.<init>:(BLsun/security/ssl/SSLEngineImpl;)V
astore 3
start local 3 6: aload 3
aload 0
getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.EngineOutputRecord.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
7: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 8
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 8
iconst_1
goto 9
StackMap locals: sun.security.ssl.EngineOutputRecord
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 4
start local 4 10: iload 4
ifeq 28
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
dup
astore 5
monitorenter
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
13: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc ", SEND "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " ALERT: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
14: iload 1
iconst_2
if_icmpne 17
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "fatal, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
16: goto 21
StackMap locals: int java.io.PrintStream
StackMap stack:
17: iload 1
iconst_1
if_icmpne 20
18: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "warning, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
19: goto 21
20: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "<level = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
sipush 255
iload 1
iand
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ">, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "description = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: iload 2
invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: aload 5
monitorexit
25: goto 28
StackMap locals:
StackMap stack: java.lang.Throwable
26: aload 5
monitorexit
27: athrow
28: StackMap locals:
StackMap stack:
aload 3
iload 1
invokevirtual sun.security.ssl.EngineOutputRecord.write:(I)V
29: aload 3
iload 2
invokevirtual sun.security.ssl.EngineOutputRecord.write:(I)V
30: aload 0
aload 3
invokevirtual sun.security.ssl.SSLEngineImpl.writeRecord:(Lsun/security/ssl/EngineOutputRecord;)V
31: goto 37
StackMap locals:
StackMap stack: java.io.IOException
32: astore 5
start local 5 33: iload 4
ifeq 37
34: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
35: ldc ", Exception sending alert: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 37: 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 38 0 this Lsun/security/ssl/SSLEngineImpl;
0 38 1 level B
0 38 2 description B
6 38 3 r Lsun/security/ssl/EngineOutputRecord;
10 38 4 useDebug Z
33 37 5 e Ljava/io/IOException;
Exception table:
from to target type
12 25 26 any
26 27 26 any
30 31 32 Class java.io.IOException
MethodParameters:
Name Flags
level
description
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
iload 1
putfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 3
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 3
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
invokevirtual sun.security.ssl.Handshaker.setEnableSessionCreation:(Z)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
0 4 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.enableSessionCreation: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
iload 1
ifeq 2
1: iconst_2
goto 3
StackMap locals:
StackMap stack: sun.security.ssl.SSLEngineImpl
2: iconst_0
3: StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl int
putfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
4: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 8
5: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
instanceof sun.security.ssl.ServerHandshaker
ifeq 8
6: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 8
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
checkcast sun.security.ssl.ServerHandshaker
aload 0
getfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(B)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLEngineImpl;
0 9 1 flag Z
MethodParameters:
Name Flags
flag
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.doClientAuth:B
iconst_2
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 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
iload 1
ifeq 2
1: iconst_1
goto 3
StackMap locals:
StackMap stack: sun.security.ssl.SSLEngineImpl
2: iconst_0
3: StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl int
putfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
4: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 8
5: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
instanceof sun.security.ssl.ServerHandshaker
ifeq 8
6: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 8
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
checkcast sun.security.ssl.ServerHandshaker
aload 0
getfield sun.security.ssl.SSLEngineImpl.doClientAuth:B
invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(B)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/SSLEngineImpl;
0 9 1 flag Z
MethodParameters:
Name Flags
flag
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.doClientAuth:B
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized void setUseClientMode(boolean);
descriptor: (Z)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
tableswitch { // 0 - 1
0: 1
1: 21
default: 36
}
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
iload 1
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack: int
2: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: int int
3: if_icmpeq 16
4: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.SSLContextImpl.isDefaultProtocolList:(Lsun/security/ssl/ProtocolList;)Z
ifeq 10
5: aload 0
6: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 7
iconst_0
goto 8
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl
7: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl int
8: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
9: putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.SSLContextImpl.isDefaultCipherSuiteList:(Lsun/security/ssl/CipherSuiteList;)Z
ifeq 16
11: aload 0
12: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 13
iconst_0
goto 14
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl
13: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl int
14: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
15: putfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
16: StackMap locals:
StackMap stack:
aload 0
iload 1
ifeq 17
iconst_0
goto 18
StackMap locals:
StackMap stack: sun.security.ssl.SSLEngineImpl
17: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl int
18: putfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
19: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
20: goto 44
21: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLEngineImpl.$assertionsDisabled:Z
ifne 22
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnonnull 22
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 36
23: aload 0
getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
iload 1
ifeq 24
iconst_0
goto 25
StackMap locals:
StackMap stack: int
24: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: int int
25: if_icmpeq 30
26: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.SSLContextImpl.isDefaultProtocolList:(Lsun/security/ssl/ProtocolList;)Z
ifeq 30
27: aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 28
iconst_0
goto 29
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl
28: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl int
29: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
30: StackMap locals:
StackMap stack:
aload 0
iload 1
ifeq 31
iconst_0
goto 32
StackMap locals:
StackMap stack: sun.security.ssl.SSLEngineImpl
31: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl int
32: putfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
33: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
34: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
35: goto 44
36: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 41
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 41
37: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic sun.security.ssl.SSLEngineImpl.threadName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
38: ldc ", setUseClientMode() invoked in state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
39: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
40: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
41: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
42: ldc "Cannot change mode after SSL traffic has started"
43: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
44: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lsun/security/ssl/SSLEngineImpl;
0 45 1 flag Z
MethodParameters:
Name Flags
flag
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.roleIsServer:Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 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.getSupportedCipherSuiteList:()Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.CipherSuiteList.toStringArray:()[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=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.security.ssl.CipherSuiteList
dup
aload 1
invokespecial sun.security.ssl.CipherSuiteList.<init>:([Ljava/lang/String;)V
putfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 3
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 3
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.Handshaker.setEnabledCipherSuites:(Lsun/security/ssl/CipherSuiteList;)V
3: StackMap locals:
StackMap stack:
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 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.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
invokevirtual sun.security.ssl.CipherSuiteList.toStringArray:()[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
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.getSuportedProtocolList:()Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.ProtocolList.toStringArray:()[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 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=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.security.ssl.ProtocolList
dup
aload 1
invokespecial sun.security.ssl.ProtocolList.<init>:([Ljava/lang/String;)V
putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 3
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 3
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.Handshaker.setEnabledProtocols:(Lsun/security/ssl/ProtocolList;)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
0 4 1 protocols [Ljava/lang/String;
MethodParameters:
Name Flags
protocols
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.enabledProtocols:Lsun/security/ssl/ProtocolList;
invokevirtual sun.security.ssl.ProtocolList.toStringArray:()[Ljava/lang/String;
areturn
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=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial javax.net.ssl.SSLEngine.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
astore 1
start local 1 1: aload 1
aload 0
getfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
invokevirtual javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm:(Ljava/lang/String;)V
2: aload 1
aload 0
getfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
invokevirtual javax.net.ssl.SSLParameters.setAlgorithmConstraints:(Ljava/security/AlgorithmConstraints;)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
1 4 1 params Ljavax/net/ssl/SSLParameters;
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
aload 1
invokespecial javax.net.ssl.SSLEngine.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
1: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getEndpointIdentificationAlgorithm:()Ljava/lang/String;
putfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
2: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getAlgorithmConstraints:()Ljava/security/AlgorithmConstraints;
putfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 6
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.started:()Z
ifne 6
4: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
invokevirtual sun.security.ssl.Handshaker.setIdentificationProtocol:(Ljava/lang/String;)V
5: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
invokevirtual sun.security.ssl.Handshaker.setAlgorithmConstraints:(Ljava/security/AlgorithmConstraints;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLEngineImpl;
0 7 1 params Ljavax/net/ssl/SSLParameters;
MethodParameters:
Name Flags
params
private static java.lang.String threadName();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
bipush 80
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.lang.Object.hashCode:()I
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: aload 1
ldc "SSLEngine[hostname="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getPeerHost:()Ljava/lang/String;
astore 2
start local 2 5: aload 1
aload 2
ifnonnull 6
ldc "null"
goto 7
StackMap locals: sun.security.ssl.SSLEngineImpl java.lang.StringBuilder java.lang.String
StackMap stack: java.lang.StringBuilder
6: aload 2
StackMap locals: sun.security.ssl.SSLEngineImpl java.lang.StringBuilder java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 1
ldc " port="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getPeerPort:()I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 1
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 1
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getCipherSuite:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: aload 1
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/SSLEngineImpl;
1 14 1 retval Ljava/lang/StringBuilder;
5 14 2 host Ljava/lang/String;
}
SourceFile: "SSLEngineImpl.java"
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
DelegatedTask = sun.security.ssl.Handshaker$DelegatedTask of sun.security.ssl.Handshaker