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
private boolean outboundDone;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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
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 sun.security.ssl.ClientAuthType doClientAuth;
descriptor: Lsun/security/ssl/ClientAuthType;
flags: (0x0002) ACC_PRIVATE
private boolean enableSessionCreation;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
sun.security.ssl.InputRecord inputRecord;
descriptor: Lsun/security/ssl/InputRecord;
flags: (0x0000)
sun.security.ssl.OutputRecord outputRecord;
descriptor: Lsun/security/ssl/OutputRecord;
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
java.util.List<javax.net.ssl.SNIServerName> serverNames;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
java.util.Collection<javax.net.ssl.SNIMatcher> sniMatchers;
descriptor: Ljava/util/Collection;
flags: (0x0000)
Signature: Ljava/util/Collection<Ljavax/net/ssl/SNIMatcher;>;
java.lang.String[] applicationProtocols;
descriptor: [Ljava/lang/String;
flags: (0x0000)
java.lang.String applicationProtocol;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.util.function.BiFunction<javax.net.ssl.SSLEngine, java.util.List<java.lang.String>, java.lang.String> applicationProtocolSelector;
descriptor: Ljava/util/function/BiFunction;
flags: (0x0000)
Signature: Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
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 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 preferLocalCipherSuites;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean enableRetransmissions;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int maximumPacketSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final boolean isDTLS;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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, boolean);
descriptor: (Lsun/security/ssl/SSLContextImpl;Z)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 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_0
putfield sun.security.ssl.SSLEngineImpl.outboundDone:Z
3: aload 0
4: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLEngineImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
5: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
6: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
7: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
8: aload 0
9: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLEngineImpl.serverNames:Ljava/util/List;
10: aload 0
11: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLEngineImpl.sniMatchers:Ljava/util/Collection;
12: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLEngineImpl.applicationProtocols:[Ljava/lang/String;
13: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.applicationProtocol:Ljava/lang/String;
14: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
15: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.preferLocalCipherSuites:Z
16: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.enableRetransmissions:Z
17: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
18: aload 0
iload 2
putfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
19: aload 0
aload 1
iload 2
invokevirtual sun.security.ssl.SSLEngineImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/ssl/SSLEngineImpl;
0 21 1 ctx Lsun/security/ssl/SSLContextImpl;
0 21 2 isDTLS Z
MethodParameters:
Name Flags
ctx
isDTLS
void <init>(sun.security.ssl.SSLContextImpl, java.lang.String, int, boolean);
descriptor: (Lsun/security/ssl/SSLContextImpl;Ljava/lang/String;IZ)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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_0
putfield sun.security.ssl.SSLEngineImpl.outboundDone:Z
3: aload 0
4: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
putfield sun.security.ssl.SSLEngineImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
5: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.enableSessionCreation:Z
6: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.identificationProtocol:Ljava/lang/String;
7: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.algorithmConstraints:Ljava/security/AlgorithmConstraints;
8: aload 0
9: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLEngineImpl.serverNames:Ljava/util/List;
10: aload 0
11: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield sun.security.ssl.SSLEngineImpl.sniMatchers:Ljava/util/Collection;
12: aload 0
iconst_0
anewarray java.lang.String
putfield sun.security.ssl.SSLEngineImpl.applicationProtocols:[Ljava/lang/String;
13: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.applicationProtocol:Ljava/lang/String;
14: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.serverModeSet:Z
15: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.preferLocalCipherSuites:Z
16: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.enableRetransmissions:Z
17: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
18: aload 0
iload 4
putfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
19: aload 0
aload 1
iload 4
invokevirtual sun.security.ssl.SSLEngineImpl.init:(Lsun/security/ssl/SSLContextImpl;Z)V
20: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/ssl/SSLEngineImpl;
0 21 1 ctx Lsun/security/ssl/SSLContextImpl;
0 21 2 host Ljava/lang/String;
0 21 3 port I
0 21 4 isDTLS Z
MethodParameters:
Name Flags
ctx
host
port
isDTLS
private void init(sun.security.ssl.SSLContextImpl, boolean);
descriptor: (Lsun/security/ssl/SSLContextImpl;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 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
getstatic sun.security.ssl.SSLSessionImpl.nullSession:Lsun/security/ssl/SSLSessionImpl;
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
iload 2
ifeq 7
6: getstatic sun.security.ssl.ProtocolVersion.DEFAULT_DTLS:Lsun/security/ssl/ProtocolVersion;
goto 8
StackMap locals:
StackMap stack: sun.security.ssl.SSLEngineImpl
7: getstatic sun.security.ssl.ProtocolVersion.DEFAULT_TLS:Lsun/security/ssl/ProtocolVersion;
8: StackMap locals: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.ProtocolVersion
putfield sun.security.ssl.SSLEngineImpl.protocolVersion:Lsun/security/ssl/ProtocolVersion;
9: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
10: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
11: aload 0
12: aload 0
getfield sun.security.ssl.SSLEngineImpl.serverNames:Ljava/util/List;
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getPeerHost:()Ljava/lang/String;
invokestatic sun.security.ssl.Utilities.addToSNIServerNameList:(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
13: putfield sun.security.ssl.SSLEngineImpl.serverNames:Ljava/util/List;
14: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
15: aload 0
iconst_0
newarray 8
putfield sun.security.ssl.SSLEngineImpl.clientVerifyData:[B
16: aload 0
iconst_0
newarray 8
putfield sun.security.ssl.SSLEngineImpl.serverVerifyData:[B
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.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
19: putfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
20: aload 0
21: 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;
22: putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
23: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.wrapLock:Ljava/lang/Object;
24: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.unwrapLock:Ljava/lang/Object;
25: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.writeLock:Ljava/lang/Object;
26: aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield sun.security.ssl.SSLEngineImpl.acc:Ljava/security/AccessControlContext;
27: iload 2
ifeq 32
28: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.enableRetransmissions:Z
29: aload 0
new sun.security.ssl.DTLSOutputRecord
dup
invokespecial sun.security.ssl.DTLSOutputRecord.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
30: aload 0
new sun.security.ssl.DTLSInputRecord
dup
invokespecial sun.security.ssl.DTLSInputRecord.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
31: goto 34
32: StackMap locals:
StackMap stack:
aload 0
new sun.security.ssl.SSLEngineOutputRecord
dup
invokespecial sun.security.ssl.SSLEngineOutputRecord.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
33: aload 0
new sun.security.ssl.SSLEngineInputRecord
dup
invokespecial sun.security.ssl.SSLEngineInputRecord.<init>:()V
putfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
34: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.getMaxPacketSize:()I
putfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
35: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/ssl/SSLEngineImpl;
0 36 1 ctx Lsun/security/ssl/SSLContextImpl;
0 36 2 isDTLS Z
MethodParameters:
Name Flags
ctx
isDTLS
private void initHandshaker();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, 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 20
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:Lsun/security/ssl/ClientAuthType;
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 sun.security.ssl.ClientAuthType 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 sun.security.ssl.ClientAuthType 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
15: aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
invokespecial sun.security.ssl.ServerHandshaker.<init>:(Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;Lsun/security/ssl/ClientAuthType;Lsun/security/ssl/ProtocolVersion;ZZ[B[BZ)V
16: putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
17: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.sniMatchers:Ljava/util/Collection;
invokevirtual sun.security.ssl.Handshaker.setSNIMatchers:(Ljava/util/Collection;)V
18: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.preferLocalCipherSuites:Z
invokevirtual sun.security.ssl.Handshaker.setUseCipherSuitesOrder:(Z)V
19: goto 29
20: StackMap locals:
StackMap stack:
aload 0
21: new sun.security.ssl.ClientHandshaker
dup
aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
22: aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
23: 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 24
iconst_1
goto 25
StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack: sun.security.ssl.SSLEngineImpl new 21 new 21 sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ProtocolVersion
24: iconst_0
25: StackMap locals: sun.security.ssl.SSLEngineImpl
StackMap stack: sun.security.ssl.SSLEngineImpl new 21 new 21 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
26: aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
invokespecial sun.security.ssl.ClientHandshaker.<init>:(Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;Lsun/security/ssl/ProtocolVersion;ZZ[B[BZ)V
27: putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
28: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.serverNames:Ljava/util/List;
invokevirtual sun.security.ssl.Handshaker.setSNIServerNames:(Ljava/util/List;)V
29: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
invokevirtual sun.security.ssl.Handshaker.setMaximumPacketSize:(I)V
30: 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
31: 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
32: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.applicationProtocols:[Ljava/lang/String;
invokevirtual sun.security.ssl.Handshaker.setApplicationProtocols:([Ljava/lang/String;)V
33: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
34: aload 0
getfield sun.security.ssl.SSLEngineImpl.applicationProtocolSelector:Ljava/util/function/BiFunction;
35: invokevirtual sun.security.ssl.Handshaker.setApplicationProtocolSelectorSSLEngine:(Ljava/util/function/BiFunction;)V
36: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.initHandshaker:()V
37: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 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.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.isEmpty:()Z
ifne 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 15
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:
aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifeq 13
aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.isEmpty:()Z
ifne 13
11: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP_AGAIN:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aload 2
monitorexit
12: areturn
13: StackMap locals:
StackMap stack:
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aload 2
monitorexit
14: areturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
bipush 6
if_icmpne 19
16: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifne 19
17: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aload 2
monitorexit
18: areturn
19: StackMap locals:
StackMap stack:
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
aload 2
monitorexit
20: areturn
21: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
22: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/ssl/SSLEngineImpl;
0 23 1 hss Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
Exception table:
from to target type
3 5 21 any
6 9 21 any
10 12 21 any
13 14 21 any
15 18 21 any
19 20 21 any
21 22 21 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;
void changeWriteCiphers();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newWriteCipher:()Lsun/security/ssl/CipherBox;
astore 2
start local 2 1: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newWriteAuthenticator:()Lsun/security/ssl/Authenticator;
astore 1
start local 1 2: goto 5
end local 2 end local 1 StackMap locals:
StackMap stack: java.security.GeneralSecurityException
3: astore 3
start local 3 4: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 3
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 start local 1 start local 2 5: StackMap locals: sun.security.ssl.Authenticator sun.security.ssl.CipherBox
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aload 1
aload 2
invokevirtual sun.security.ssl.OutputRecord.changeWriteCiphers:(Lsun/security/ssl/Authenticator;Lsun/security/ssl/CipherBox;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLEngineImpl;
2 3 1 writeAuthenticator Lsun/security/ssl/Authenticator;
5 7 1 writeAuthenticator Lsun/security/ssl/Authenticator;
1 3 2 writeCipher Lsun/security/ssl/CipherBox;
5 7 2 writeCipher Lsun/security/ssl/CipherBox;
4 5 3 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 2 3 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException
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/OutputRecord;
aload 1
invokevirtual sun.security.ssl.OutputRecord.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 31
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 31
29: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpeq 31
30: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.kickstart:()V
31: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 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=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
iload 3
iload 4
iconst_0
invokestatic sun.security.ssl.SSLEngineImpl.checkEngineParas:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;IIZ)V
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.unwrapLock:Ljava/lang/Object;
dup
astore 5
monitorenter
2: aload 0
aload 1
aload 2
iload 3
iload 4
invokevirtual sun.security.ssl.SSLEngineImpl.readNetRecord:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
aload 5
monitorexit
3: areturn
4: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int java.lang.Object
StackMap stack: java.lang.Throwable
aload 5
monitorexit
5: athrow
6: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int
StackMap stack: javax.net.ssl.SSLProtocolException
astore 5
start local 5 7: aload 0
bipush 10
aload 5
invokevirtual javax.net.ssl.SSLProtocolException.getMessage:()Ljava/lang/String;
aload 5
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
8: aconst_null
areturn
end local 5 9: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 10: aload 0
bipush 80
11: ldc "problem unwrapping net record"
aload 5
12: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
13: aconst_null
areturn
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 14 0 this Lsun/security/ssl/SSLEngineImpl;
0 14 1 netData Ljava/nio/ByteBuffer;
0 14 2 appData [Ljava/nio/ByteBuffer;
0 14 3 offset I
0 14 4 length I
7 9 5 spe Ljavax/net/ssl/SSLProtocolException;
10 14 5 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 any
4 5 4 any
1 3 6 Class javax.net.ssl.SSLProtocolException
4 6 6 Class javax.net.ssl.SSLProtocolException
1 3 9 Class java.lang.Exception
4 6 9 Class java.lang.Exception
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
netData
appData
offset
length
private static void checkEngineParas(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int, boolean);
descriptor: (Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;IIZ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ifnull 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "src/dst is null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iflt 3
iload 3
iflt 3
iload 2
aload 1
arraylength
iload 3
isub
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
iload 4
ifeq 6
aload 0
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifeq 6
5: new java.nio.ReadOnlyBufferException
dup
invokespecial java.nio.ReadOnlyBufferException.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iload 2
istore 5
start local 5 7: goto 15
8: StackMap locals: int
StackMap stack:
aload 1
iload 5
aaload
ifnonnull 12
9: new java.lang.IllegalArgumentException
dup
10: new java.lang.StringBuilder
dup
ldc "appData["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] == null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
iload 4
ifne 14
aload 1
iload 5
aaload
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifeq 14
13: new java.nio.ReadOnlyBufferException
dup
invokespecial java.nio.ReadOnlyBufferException.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 2
iload 3
iadd
if_icmplt 8
end local 5 16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 netData Ljava/nio/ByteBuffer;
0 17 1 appData [Ljava/nio/ByteBuffer;
0 17 2 offset I
0 17 3 len I
0 17 4 isForWrap Z
7 16 5 i I
MethodParameters:
Name Flags
netData
appData
offset
len
isForWrap
private javax.net.ssl.SSLEngineResult readNetRecord(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int);
descriptor: (Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aconst_null
astore 6
start local 6 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 7
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 6
10: aload 6
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 6
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
aload 7
monitorexit
12: areturn
13: StackMap locals:
StackMap stack:
aload 7
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 7
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aload 6
ifnonnull 19
18: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
19: StackMap locals:
StackMap stack:
aload 6
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 21
20: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 6
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
21: StackMap locals:
StackMap stack:
aload 6
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP_AGAIN:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 36
22: aconst_null
astore 7
start local 7 23: aload 0
aconst_null
aconst_null
iconst_0
iconst_0
invokevirtual sun.security.ssl.SSLEngineImpl.readRecord:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;
astore 7
24: goto 29
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus sun.security.ssl.Plaintext
StackMap stack: javax.net.ssl.SSLException
25: astore 8
start local 8 26: aload 8
athrow
end local 8 27: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 28: new javax.net.ssl.SSLException
dup
ldc "readRecord"
aload 8
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 29: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 30
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 31
StackMap locals:
StackMap stack:
30: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
31: astore 5
32: aload 0
aload 7
getfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
33: new javax.net.ssl.SSLEngineResult
dup
34: aload 5
aload 6
iconst_0
iconst_0
aload 7
getfield sun.security.ssl.Plaintext.recordSN:J
35: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;IIJ)V
areturn
end local 7 36: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 37: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 1
invokevirtual sun.security.ssl.InputRecord.bytesInCompletePacket:(Ljava/nio/ByteBuffer;)I
istore 7
38: goto 55
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus int
StackMap stack: javax.net.ssl.SSLException
39: astore 8
start local 8 40: aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifeq 54
41: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 47
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 47
42: getstatic java.lang.System.out:Ljava/io/PrintStream;
43: new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
44: ldc " discard invalid record: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
45: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
46: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
47: StackMap locals: javax.net.ssl.SSLException
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 9
start local 9 48: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
49: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 50
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 51
StackMap locals: int
StackMap stack:
50: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
51: astore 5
52: aload 0
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
53: new javax.net.ssl.SSLEngineResult
dup
aload 5
aload 6
iload 9
iconst_0
ldc -1
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;IIJ)V
areturn
end local 9 54: StackMap locals:
StackMap stack:
aload 8
athrow
end local 8 55: StackMap locals:
StackMap stack:
iload 7
aload 0
getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getPacketBufferSize:()I
if_icmple 69
56: aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifeq 58
57: sipush 16717
goto 59
StackMap locals:
StackMap stack:
58: ldc 33093
59: StackMap locals:
StackMap stack: int
istore 8
start local 8 60: iload 7
iload 8
if_icmpgt 62
aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifne 62
61: aload 0
getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.expandBufferSizes:()V
62: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getPacketBufferSize:()I
istore 8
63: iload 7
iload 8
if_icmple 69
64: new javax.net.ssl.SSLProtocolException
dup
65: new java.lang.StringBuilder
dup
ldc "Input record too big: max = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
66: iload 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " len = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
67: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
68: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 8 69: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 8
start local 8 70: iconst_0
istore 9
start local 9 71: iload 3
istore 10
start local 10 72: goto 79
73: StackMap locals: int int int
StackMap stack:
aload 2
iload 10
aaload
ifnonnull 77
74: new java.lang.IllegalArgumentException
dup
75: new java.lang.StringBuilder
dup
ldc "appData["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] == null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
76: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
77: StackMap locals:
StackMap stack:
iload 9
aload 2
iload 10
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
istore 9
78: iinc 10 1
StackMap locals:
StackMap stack:
79: iload 10
iload 3
iload 4
iadd
if_icmplt 73
end local 10 80: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_2
if_icmpeq 82
81: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpne 87
82: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
iload 7
invokevirtual sun.security.ssl.InputRecord.estimateFragmentSize:(I)I
istore 10
start local 10 83: iload 10
iload 9
if_icmple 87
84: new javax.net.ssl.SSLEngineResult
dup
85: getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
aload 6
iconst_0
iconst_0
86: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
end local 10 87: StackMap locals:
StackMap stack:
iload 7
iconst_m1
if_icmpeq 88
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 7
if_icmpge 89
88: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
aload 6
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
areturn
89: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 90: aload 0
aload 1
aload 2
iload 3
iload 4
invokevirtual sun.security.ssl.SSLEngineImpl.readRecord:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;
astore 10
91: goto 96
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus int int int sun.security.ssl.Plaintext
StackMap stack: javax.net.ssl.SSLException
92: astore 11
start local 11 93: aload 11
athrow
end local 11 94: StackMap locals:
StackMap stack: java.io.IOException
astore 11
start local 11 95: new javax.net.ssl.SSLException
dup
ldc "readRecord"
aload 11
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 11 96: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifeq 97
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 98
StackMap locals:
StackMap stack:
97: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
98: astore 5
99: aload 0
aload 10
getfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
100: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 8
isub
istore 11
start local 11 101: iload 9
istore 12
start local 12 102: iload 3
istore 13
start local 13 103: goto 106
104: StackMap locals: int int int
StackMap stack:
iload 12
aload 2
iload 13
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
istore 12
105: iinc 13 1
StackMap locals:
StackMap stack:
106: iload 13
iload 3
iload 4
iadd
if_icmplt 104
end local 13 107: new javax.net.ssl.SSLEngineResult
dup
108: aload 5
aload 6
iload 11
iload 12
aload 10
getfield sun.security.ssl.Plaintext.recordSN:J
109: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;IIJ)V
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 110 0 this Lsun/security/ssl/SSLEngineImpl;
0 110 1 netData Ljava/nio/ByteBuffer;
0 110 2 appData [Ljava/nio/ByteBuffer;
0 110 3 offset I
0 110 4 length I
1 110 5 status Ljavax/net/ssl/SSLEngineResult$Status;
2 110 6 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
23 36 7 plainText Lsun/security/ssl/Plaintext;
26 27 8 e Ljavax/net/ssl/SSLException;
28 29 8 e Ljava/io/IOException;
37 110 7 packetLen I
40 55 8 ssle Ljavax/net/ssl/SSLException;
48 54 9 deltaNet I
60 69 8 largestRecordSize I
70 110 8 netPos I
71 110 9 appRemains I
72 80 10 i I
83 87 10 FragLen I
90 110 10 plainText Lsun/security/ssl/Plaintext;
93 94 11 e Ljavax/net/ssl/SSLException;
95 96 11 e Ljava/io/IOException;
101 110 11 deltaNet I
102 110 12 deltaApp I
103 107 13 i I
Exception table:
from to target type
6 12 15 any
13 14 15 any
15 16 15 any
23 24 25 Class javax.net.ssl.SSLException
23 24 27 Class java.io.IOException
37 38 39 Class javax.net.ssl.SSLException
90 91 92 Class javax.net.ssl.SSLException
90 91 94 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
netData
appData
offset
length
void expectingFinishFlight();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.expectingFinishFlight:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/SSLEngineImpl;
private sun.security.ssl.Plaintext readRecord(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int);
descriptor: (Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.getConnectionState:()I
iconst_4
if_icmpne 3
2: getstatic sun.security.ssl.Plaintext.PLAINTEXT_NULL:Lsun/security/ssl/Plaintext;
areturn
3: StackMap locals: sun.security.ssl.Plaintext
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifeq 5
4: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.acquirePlaintext:()Lsun/security/ssl/Plaintext;
astore 5
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifeq 6
aload 5
ifnonnull 26
StackMap locals:
StackMap stack:
6: aload 1
ifnull 26
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 1
invokevirtual sun.security.ssl.InputRecord.decode:(Ljava/nio/ByteBuffer;)Lsun/security/ssl/Plaintext;
astore 5
8: goto 26
StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
9: astore 6
start local 6 10: aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifne 12
11: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.encodeV2NoCipher:()V
12: StackMap locals: java.lang.UnsupportedOperationException
StackMap stack:
aload 0
bipush 10
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/Throwable;)V
end local 6 13: goto 26
14: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int sun.security.ssl.Plaintext
StackMap stack: javax.crypto.BadPaddingException
astore 6
start local 6 15: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_2
if_icmpeq 17
16: bipush 40
goto 18
17: StackMap locals: javax.crypto.BadPaddingException
StackMap stack:
bipush 20
18: StackMap locals:
StackMap stack: int
istore 7
start local 7 19: aload 0
iload 7
aload 6
invokevirtual javax.crypto.BadPaddingException.getMessage:()Ljava/lang/String;
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
end local 7 end local 6 20: goto 26
21: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int sun.security.ssl.Plaintext
StackMap stack: javax.net.ssl.SSLHandshakeException
astore 6
start local 6 22: aload 0
bipush 40
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/Throwable;)V
end local 6 23: goto 26
24: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 25: aload 0
bipush 10
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/Throwable;)V
end local 6 26: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 27: aload 5
getstatic sun.security.ssl.Plaintext.PLAINTEXT_NULL:Lsun/security/ssl/Plaintext;
if_acmpne 38
28: aload 0
getfield sun.security.ssl.SSLEngineImpl.enableRetransmissions:Z
ifeq 40
29: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 32
ldc "verbose"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 32
30: ldc "Retransmit the previous handshake flight messages."
31: invokestatic sun.security.ssl.Debug.log:(Ljava/lang/String;)V
32: StackMap locals: javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
aload 0
dup
astore 7
monitorenter
33: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.launchRetransmission:()V
34: aload 7
monitorexit
35: goto 40
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer java.nio.ByteBuffer[] int int sun.security.ssl.Plaintext javax.net.ssl.SSLEngineResult$HandshakeStatus sun.security.ssl.SSLEngineImpl
StackMap stack: java.lang.Throwable
36: aload 7
monitorexit
37: athrow
38: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifeq 39
aload 5
ifnull 40
39: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 2
iload 3
iload 4
invokevirtual sun.security.ssl.SSLEngineImpl.processInputRecord:(Lsun/security/ssl/Plaintext;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
40: StackMap locals:
StackMap stack:
aload 6
ifnonnull 42
41: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
42: StackMap locals:
StackMap stack:
aload 5
ifnonnull 44
43: getstatic sun.security.ssl.Plaintext.PLAINTEXT_NULL:Lsun/security/ssl/Plaintext;
astore 5
44: StackMap locals:
StackMap stack:
aload 5
aload 6
putfield sun.security.ssl.Plaintext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
45: aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/security/ssl/SSLEngineImpl;
0 46 1 netData Ljava/nio/ByteBuffer;
0 46 2 appData [Ljava/nio/ByteBuffer;
0 46 3 offset I
0 46 4 length I
1 46 5 plainText Lsun/security/ssl/Plaintext;
10 13 6 unsoe Ljava/lang/UnsupportedOperationException;
15 20 6 e Ljavax/crypto/BadPaddingException;
19 20 7 alertType B
22 23 6 she Ljavax/net/ssl/SSLHandshakeException;
25 26 6 ioe Ljava/io/IOException;
27 46 6 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
Exception table:
from to target type
3 8 9 Class java.lang.UnsupportedOperationException
3 8 14 Class javax.crypto.BadPaddingException
3 8 21 Class javax.net.ssl.SSLHandshakeException
3 8 24 Class java.io.IOException
33 35 36 any
36 37 36 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
netData
appData
offset
length
private synchronized javax.net.ssl.SSLEngineResult$HandshakeStatus processInputRecord(sun.security.ssl.Plaintext, java.nio.ByteBuffer[], int, int);
descriptor: (Lsun/security/ssl/Plaintext;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aload 1
getfield sun.security.ssl.Plaintext.contentType:B
tableswitch { // 20 - 23
20: 60
21: 58
22: 2
23: 33
default: 82
}
2: StackMap locals: javax.net.ssl.SSLEngineResult$HandshakeStatus
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 8
4: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpne 7
5: 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
6: goto 8
7: 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
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
aload 0
getfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
invokevirtual sun.security.ssl.Handshaker.processRecord:(Ljava/nio/ByteBuffer;Z)V
9: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
10: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
getfield sun.security.ssl.Handshaker.invalidated:Z
ifeq 15
11: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.finishHandshake:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
pop
12: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpne 86
13: aload 0
iconst_2
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
14: goto 86
StackMap locals:
StackMap stack:
15: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.isDone:()Z
ifeq 30
16: aload 0
17: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.isSecureRenegotiation:()Z
18: putfield sun.security.ssl.SSLEngineImpl.secureRenegotiation:Z
19: 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
20: 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
21: aload 0
22: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getHandshakeApplicationProtocol:()Ljava/lang/String;
23: putfield sun.security.ssl.SSLEngineImpl.applicationProtocol:Ljava/lang/String;
24: 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;
25: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
26: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.isEmpty:()Z
ifeq 86
27: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.finishHandshake:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 5
28: aload 0
iconst_2
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
29: goto 86
StackMap locals:
StackMap stack:
30: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.taskOutstanding:()Z
ifeq 86
31: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 5
32: goto 86
33: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_2
if_icmpeq 41
34: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpeq 41
35: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
bipush 6
if_icmpeq 41
36: new javax.net.ssl.SSLProtocolException
dup
37: new java.lang.StringBuilder
dup
ldc "Data received in non-data state: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
38: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
39: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
40: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
ifeq 45
42: new javax.net.ssl.SSLProtocolException
dup
43: ldc "Expecting finished message, received data"
44: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
ifne 86
46: aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
astore 6
start local 6 47: aload 6
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 7
start local 7 48: iload 3
istore 8
start local 8 49: goto 55
50: StackMap locals: java.nio.ByteBuffer int int
StackMap stack:
aload 2
iload 8
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 7
invokestatic java.lang.Math.min:(II)I
istore 9
start local 9 51: aload 6
aload 6
invokevirtual java.nio.ByteBuffer.position:()I
iload 9
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
52: aload 2
iload 8
aaload
aload 6
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
53: iload 7
iload 9
isub
istore 7
end local 9 54: iinc 8 1
StackMap locals:
StackMap stack:
55: iload 8
iload 3
iload 4
iadd
if_icmpge 86
iload 7
56: ifgt 50
end local 8 end local 7 end local 6 57: goto 86
58: StackMap locals:
StackMap stack:
aload 0
aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
invokevirtual sun.security.ssl.SSLEngineImpl.recvAlert:(Ljava/nio/ByteBuffer;)V
59: goto 86
60: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpeq 68
61: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_3
if_icmpeq 68
62: aload 0
bipush 10
63: new java.lang.StringBuilder
dup
ldc "illegal change cipher spec msg, conn state = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
64: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
65: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
66: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
67: goto 73
StackMap locals:
StackMap stack:
68: aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_1
if_icmpne 70
69: aload 1
getfield sun.security.ssl.Plaintext.fragment:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
iconst_1
if_icmpeq 73
70: StackMap locals:
StackMap stack:
aload 0
bipush 10
71: ldc "Malformed change cipher spec msg"
72: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
73: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.receiveChangeCipherSpec:()V
74: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newReadCipher:()Lsun/security/ssl/CipherBox;
astore 6
start local 6 75: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.newReadAuthenticator:()Lsun/security/ssl/Authenticator;
astore 7
start local 7 76: goto 79
end local 7 end local 6 StackMap locals:
StackMap stack: java.security.GeneralSecurityException
77: astore 8
start local 8 78: new javax.net.ssl.SSLException
dup
ldc "Algorithm missing: "
aload 8
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 start local 6 start local 7 79: StackMap locals: sun.security.ssl.CipherBox sun.security.ssl.Authenticator
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 7
aload 6
invokevirtual sun.security.ssl.InputRecord.changeReadCiphers:(Lsun/security/ssl/Authenticator;Lsun/security/ssl/CipherBox;)V
80: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.expectingFinished:Z
81: goto 86
end local 7 end local 6 82: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 86
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 86
83: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
84: ldc ", Received record type: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield sun.security.ssl.Plaintext.contentType:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
85: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
86: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 5
87: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_4
if_icmpge 97
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isInboundDone:()Z
ifne 97
88: aload 5
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 97
89: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.seqNumIsHuge:()Z
ifeq 97
90: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 95
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 95
91: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
92: ldc ", request renegotiation "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
93: 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;
94: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
95: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.beginHandshake:()V
96: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 5
97: StackMap locals:
StackMap stack:
aload 5
areturn
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 98 0 this Lsun/security/ssl/SSLEngineImpl;
0 98 1 plainText Lsun/security/ssl/Plaintext;
0 98 2 appData [Ljava/nio/ByteBuffer;
0 98 3 offset I
0 98 4 length I
1 98 5 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
47 57 6 fragment Ljava/nio/ByteBuffer;
48 57 7 remains I
49 57 8 i I
51 54 9 amount I
75 77 6 readCipher Lsun/security/ssl/CipherBox;
79 82 6 readCipher Lsun/security/ssl/CipherBox;
76 77 7 readAuthenticator Lsun/security/ssl/Authenticator;
79 82 7 readAuthenticator Lsun/security/ssl/Authenticator;
78 79 8 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
74 76 77 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
plainText
appData
offset
length
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=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
aload 1
iload 2
iload 3
iconst_1
invokestatic sun.security.ssl.SSLEngineImpl.checkEngineParas:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;IIZ)V
1: aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 0
getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getPacketBufferSize:()I
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:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.wrapLock:Ljava/lang/Object;
dup
astore 5
monitorenter
6: aload 0
aload 1
iload 2
iload 3
aload 4
invokevirtual sun.security.ssl.SSLEngineImpl.writeAppRecord:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
aload 5
monitorexit
7: areturn
8: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer java.lang.Object
StackMap stack: java.lang.Throwable
aload 5
monitorexit
9: athrow
10: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer
StackMap stack: javax.net.ssl.SSLProtocolException
astore 5
start local 5 11: aload 0
bipush 10
aload 5
invokevirtual javax.net.ssl.SSLProtocolException.getMessage:()Ljava/lang/String;
aload 5
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
12: aconst_null
areturn
end local 5 13: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 14: aload 0
bipush 80
15: ldc "problem wrapping app data"
aload 5
16: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;)V
17: aconst_null
areturn
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 18 0 this Lsun/security/ssl/SSLEngineImpl;
0 18 1 appData [Ljava/nio/ByteBuffer;
0 18 2 offset I
0 18 3 length I
0 18 4 netData Ljava/nio/ByteBuffer;
11 13 5 spe Ljavax/net/ssl/SSLProtocolException;
14 18 5 e Ljava/lang/Exception;
Exception table:
from to target type
6 7 8 any
8 9 8 any
5 7 10 Class javax.net.ssl.SSLProtocolException
8 10 10 Class javax.net.ssl.SSLProtocolException
5 7 13 Class java.lang.Exception
8 10 13 Class java.lang.Exception
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
appData
offset
length
netData
private javax.net.ssl.SSLEngineResult writeAppRecord(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer);
descriptor: ([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.checkTaskThrown:()V
3: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.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 7
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 15
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 6
10: aload 6
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 15
11: aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifeq 13
aload 0
getfield sun.security.ssl.SSLEngineImpl.enableRetransmissions:Z
ifeq 13
12: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 13
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
getfield sun.security.ssl.OutputRecord.firstMessage:Z
ifeq 15
13: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 6
iconst_0
iconst_0
invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
aload 7
monitorexit
14: areturn
15: StackMap locals:
StackMap stack:
aload 7
monitorexit
16: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 7
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
aload 6
ifnonnull 21
20: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
21: StackMap locals:
StackMap stack:
aload 6
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 23
22: new javax.net.ssl.SSLEngineResult
dup
getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
aload 6
iconst_0
iconst_0
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 4
invokevirtual java.nio.ByteBuffer.position:()I
istore 7
start local 7 24: iconst_0
istore 8
start local 8 25: iload 2
istore 9
start local 9 26: goto 33
27: StackMap locals: int int int
StackMap stack:
aload 1
iload 9
aaload
ifnonnull 31
28: new java.lang.IllegalArgumentException
dup
29: new java.lang.StringBuilder
dup
ldc "appData["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] == null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
iload 8
aload 1
iload 9
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
istore 8
32: iinc 9 1
StackMap locals:
StackMap stack:
33: iload 9
iload 2
iload 3
iadd
if_icmplt 27
end local 9 34: aconst_null
astore 9
start local 9 35: iload 8
ifeq 42
36: aload 0
getfield sun.security.ssl.SSLEngineImpl.writeLock:Ljava/lang/Object;
dup
astore 10
monitorenter
37: aload 0
aload 1
iload 2
iload 3
aload 4
invokevirtual sun.security.ssl.SSLEngineImpl.writeRecord:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Lsun/security/ssl/Ciphertext;
astore 9
38: aload 10
monitorexit
39: goto 52
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus int int sun.security.ssl.Ciphertext java.lang.Object
StackMap stack: java.lang.Throwable
40: aload 10
monitorexit
41: athrow
42: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.writeLock:Ljava/lang/Object;
dup
astore 10
monitorenter
43: aload 0
aconst_null
iconst_0
iconst_0
aload 4
invokevirtual sun.security.ssl.SSLEngineImpl.writeRecord:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Lsun/security/ssl/Ciphertext;
astore 9
44: aload 10
monitorexit
45: goto 52
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus int int sun.security.ssl.Ciphertext java.lang.Object
StackMap stack: java.lang.Throwable
46: aload 10
monitorexit
47: athrow
48: StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus int int sun.security.ssl.Ciphertext
StackMap stack: javax.net.ssl.SSLException
astore 10
start local 10 49: aload 10
athrow
end local 10 50: StackMap locals:
StackMap stack: java.io.IOException
astore 10
start local 10 51: new javax.net.ssl.SSLException
dup
ldc "Write problems"
aload 10
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 10 52: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
ifeq 53
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
goto 54
StackMap locals:
StackMap stack:
53: getstatic javax.net.ssl.SSLEngineResult$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngineResult$Status
54: astore 5
55: aload 0
aload 9
getfield sun.security.ssl.Ciphertext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
56: aload 4
invokevirtual java.nio.ByteBuffer.position:()I
iload 7
isub
istore 10
start local 10 57: iload 8
istore 11
start local 11 58: iload 2
istore 12
start local 12 59: goto 62
60: StackMap locals: int int int
StackMap stack:
iload 11
aload 1
iload 12
aaload
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
istore 11
61: iinc 12 1
StackMap locals:
StackMap stack:
62: iload 12
iload 2
iload 3
iadd
if_icmplt 60
end local 12 63: new javax.net.ssl.SSLEngineResult
dup
64: aload 5
aload 6
iload 11
iload 10
aload 9
getfield sun.security.ssl.Ciphertext.recordSN:J
65: invokespecial javax.net.ssl.SSLEngineResult.<init>:(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;IIJ)V
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lsun/security/ssl/SSLEngineImpl;
0 66 1 appData [Ljava/nio/ByteBuffer;
0 66 2 offset I
0 66 3 length I
0 66 4 netData Ljava/nio/ByteBuffer;
1 66 5 status Ljavax/net/ssl/SSLEngineResult$Status;
2 66 6 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
24 66 7 netPos I
25 66 8 appRemains I
26 34 9 i I
35 66 9 ciphertext Lsun/security/ssl/Ciphertext;
49 50 10 e Ljavax/net/ssl/SSLException;
51 52 10 e Ljava/io/IOException;
57 66 10 deltaNet I
58 66 11 deltaApp I
59 63 12 i I
Exception table:
from to target type
6 14 17 any
15 16 17 any
17 18 17 any
37 39 40 any
40 41 40 any
43 45 46 any
46 47 46 any
35 48 48 Class javax.net.ssl.SSLException
35 48 50 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
appData
offset
length
netData
private sun.security.ssl.Ciphertext writeRecord(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer);
descriptor: ([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Lsun/security/ssl/Ciphertext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.isEmpty:()Z
ifeq 3
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.enableRetransmissions:Z
ifeq 4
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 4
3: StackMap locals: sun.security.ssl.Ciphertext
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aload 4
invokevirtual sun.security.ssl.OutputRecord.acquireCiphertext:(Ljava/nio/ByteBuffer;)Lsun/security/ssl/Ciphertext;
astore 5
4: StackMap locals:
StackMap stack:
aload 5
ifnonnull 15
aload 1
ifnull 15
5: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
6: aload 1
iload 2
iload 3
aload 4
7: invokevirtual sun.security.ssl.OutputRecord.encode:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Lsun/security/ssl/Ciphertext;
astore 5
8: goto 15
StackMap locals:
StackMap stack: javax.net.ssl.SSLHandshakeException
9: astore 6
start local 6 10: aload 0
bipush 40
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/Throwable;)V
11: getstatic sun.security.ssl.Ciphertext.CIPHERTEXT_NULL:Lsun/security/ssl/Ciphertext;
areturn
end local 6 12: StackMap locals:
StackMap stack: java.io.IOException
astore 6
start local 6 13: aload 0
bipush 10
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/Throwable;)V
14: getstatic sun.security.ssl.Ciphertext.CIPHERTEXT_NULL:Lsun/security/ssl/Ciphertext;
areturn
end local 6 15: StackMap locals:
StackMap stack:
aload 5
ifnonnull 17
16: getstatic sun.security.ssl.Ciphertext.CIPHERTEXT_NULL:Lsun/security/ssl/Ciphertext;
areturn
17: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 18: aload 5
getfield sun.security.ssl.Ciphertext.recordType:Lsun/security/ssl/Ciphertext$RecordType;
astore 7
start local 7 19: aload 7
getfield sun.security.ssl.Ciphertext$RecordType.contentType:B
bipush 22
if_icmpne 39
20: aload 7
getfield sun.security.ssl.Ciphertext$RecordType.handshakeType:B
bipush 20
if_icmpne 39
21: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.isEmpty:()Z
ifeq 39
22: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnonnull 25
23: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
24: goto 39
StackMap locals: javax.net.ssl.SSLEngineResult$HandshakeStatus sun.security.ssl.Ciphertext$RecordType
StackMap stack:
25: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.isDone:()Z
ifeq 39
26: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.finishHandshake:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
27: aload 0
iconst_2
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
28: aload 0
getfield sun.security.ssl.SSLEngineImpl.isDTLS:Z
ifeq 39
aload 0
getfield sun.security.ssl.SSLEngineImpl.enableRetransmissions:Z
ifeq 39
29: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 32
ldc "verbose"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 32
30: ldc "Retransmit the last flight messages."
31: invokestatic sun.security.ssl.Debug.log:(Ljava/lang/String;)V
32: StackMap locals:
StackMap stack:
aload 0
dup
astore 8
monitorenter
33: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.launchRetransmission:()V
34: aload 8
monitorexit
35: goto 38
StackMap locals: sun.security.ssl.SSLEngineImpl java.nio.ByteBuffer[] int int java.nio.ByteBuffer sun.security.ssl.Ciphertext javax.net.ssl.SSLEngineResult$HandshakeStatus sun.security.ssl.Ciphertext$RecordType sun.security.ssl.SSLEngineImpl
StackMap stack: java.lang.Throwable
36: aload 8
monitorexit
37: athrow
38: StackMap locals:
StackMap stack:
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
39: StackMap locals:
StackMap stack:
aload 0
aload 6
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
40: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_4
if_icmpge 50
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.isOutboundDone:()Z
ifne 50
41: aload 6
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 50
42: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.seqNumIsHuge:()Z
ifeq 50
43: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 48
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 48
44: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
45: ldc ", request renegotiation "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
46: 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;
47: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
48: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.beginHandshake:()V
49: aload 0
aconst_null
invokevirtual sun.security.ssl.SSLEngineImpl.getHSStatus:(Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 6
50: StackMap locals:
StackMap stack:
aload 5
aload 6
putfield sun.security.ssl.Ciphertext.handshakeStatus:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
51: aload 5
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lsun/security/ssl/SSLEngineImpl;
0 52 1 appData [Ljava/nio/ByteBuffer;
0 52 2 offset I
0 52 3 length I
0 52 4 netData Ljava/nio/ByteBuffer;
1 52 5 ciphertext Lsun/security/ssl/Ciphertext;
10 12 6 she Ljavax/net/ssl/SSLHandshakeException;
13 15 6 e Ljava/io/IOException;
18 52 6 hsStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
19 52 7 recordType Lsun/security/ssl/Ciphertext$RecordType;
Exception table:
from to target type
1 8 9 Class javax.net.ssl.SSLHandshakeException
1 8 12 Class java.io.IOException
33 35 36 any
36 37 36 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
appData
offset
length
netData
private javax.net.ssl.SSLEngineResult$HandshakeStatus finishHandshake();
descriptor: ()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
aconst_null
invokevirtual sun.security.ssl.InputRecord.setHandshakeHash:(Lsun/security/ssl/HandshakeHash;)V
2: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aconst_null
invokevirtual sun.security.ssl.OutputRecord.setHandshakeHash:(Lsun/security/ssl/HandshakeHash;)V
3: aload 0
iconst_2
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
4: getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLEngineImpl;
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 4
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc ", closeOutboundInternal()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.outboundDone:Z
ifeq 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
tableswitch { // 0 - 6
0: 7
1: 17
2: 17
3: 17
4: 16
5: 17
6: 16
default: 17
}
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.close:()V
8: goto 10
StackMap locals:
StackMap stack: java.io.IOException
9: pop
10: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.outboundDone:Z
11: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.close:()V
12: goto 14
StackMap locals:
StackMap stack: java.io.IOException
13: pop
14: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
15: goto 22
16: StackMap locals:
StackMap stack:
goto 22
17: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual sun.security.ssl.SSLEngineImpl.warning:(B)V
18: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.close:()V
19: goto 21
StackMap locals:
StackMap stack: java.io.IOException
20: pop
21: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.outboundDone:Z
22: StackMap locals:
StackMap stack:
aload 0
bipush 6
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
23: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/ssl/SSLEngineImpl;
Exception table:
from to target type
7 8 9 Class java.io.IOException
11 12 13 Class java.io.IOException
18 19 20 Class java.io.IOException
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 4
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc ", called closeOutbound()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.closeOutboundInternal:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 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.outboundDone:Z
ifeq 1
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.isEmpty:()Z
ifeq 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;
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 4
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc ", closeInboundInternal()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
ifeq 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.closeOutboundInternal:()V
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.close:()V
8: goto 10
StackMap locals:
StackMap stack: java.io.IOException
9: pop
10: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
11: aload 0
bipush 6
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SSLEngineImpl;
Exception table:
from to target type
7 8 9 Class java.io.IOException
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 4
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc ", called closeInbound()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
ifeq 10
aload 0
getfield sun.security.ssl.SSLEngineImpl.recvCN:Z
ifne 10
5: aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.recvCN:Z
6: aload 0
bipush 80
7: ldc "Inbound closed before receiving peer's close_notify: possible truncation attack?"
8: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.closeInboundInternal:()V
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 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
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
aload 1
invokevirtual sun.security.ssl.SSLSessionImpl.getNegotiatedMaxFragSize:()I
invokevirtual sun.security.ssl.InputRecord.changeFragmentSize:(I)V
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aload 1
invokevirtual sun.security.ssl.SSLSessionImpl.getNegotiatedMaxFragSize:()I
invokevirtual sun.security.ssl.OutputRecord.changeFragmentSize:(I)V
2: aload 0
aload 1
putfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/SSLEngineImpl;
0 4 1 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=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aload 2
aconst_null
iconst_0
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;Z)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=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aconst_null
aload 2
iconst_0
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;Z)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=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
aload 2
aload 3
iconst_0
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;Z)V
1: return
end local 3 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;
0 2 3 cause Ljava/lang/Throwable;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
description
diagnostic
cause
synchronized void fatal(byte, java.lang.String, java.lang.Throwable, boolean);
descriptor: (BLjava/lang/String;Ljava/lang/Throwable;Z)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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 java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()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 5
start local 5 22: aload 0
iconst_4
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
23: aload 0
getfield sun.security.ssl.SSLEngineImpl.inputRecord:Lsun/security/ssl/InputRecord;
invokevirtual sun.security.ssl.InputRecord.close:()V
24: goto 26
StackMap locals: sun.security.ssl.SSLEngineImpl int java.lang.String java.lang.Throwable int int
StackMap stack: java.io.IOException
25: pop
26: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.inboundDone:Z
27: aload 0
getfield sun.security.ssl.SSLEngineImpl.sess:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
28: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
ifnull 30
29: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.invalidate:()V
30: StackMap locals:
StackMap stack:
iload 5
ifeq 32
iload 4
ifne 32
31: aload 0
iconst_2
iload 1
invokevirtual sun.security.ssl.SSLEngineImpl.sendAlert:(BB)V
32: StackMap locals:
StackMap stack:
aload 3
instanceof javax.net.ssl.SSLException
ifeq 35
33: aload 0
aload 3
checkcast javax.net.ssl.SSLException
putfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
34: goto 38
35: StackMap locals:
StackMap stack:
aload 0
36: iload 1
aload 3
aload 2
invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/Throwable;Ljava/lang/String;)Ljavax/net/ssl/SSLException;
37: putfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
38: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.close:()V
39: goto 41
StackMap locals:
StackMap stack: java.io.IOException
40: pop
41: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.outboundDone:Z
42: aload 0
bipush 6
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
43: aload 3
instanceof java.lang.RuntimeException
ifeq 45
44: aload 3
checkcast java.lang.RuntimeException
athrow
45: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.closeReason:Ljavax/net/ssl/SSLException;
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 46 0 this Lsun/security/ssl/SSLEngineImpl;
0 46 1 description B
0 46 2 diagnostic Ljava/lang/String;
0 46 3 cause Ljava/lang/Throwable;
0 46 4 recvFatalAlert Z
22 46 5 oldState I
Exception table:
from to target type
23 24 25 Class java.io.IOException
38 39 40 Class java.io.IOException
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
description
diagnostic
cause
recvFatalAlert
private void recvAlert(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 2
start local 2 1: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 3
start local 3 2: getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 19
ldc "record"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifne 4
3: ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 19
4: StackMap locals: int int
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
dup
astore 4
monitorenter
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
6: 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
7: iload 2
iconst_2
if_icmpne 10
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "fatal, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
9: goto 14
StackMap locals: java.io.PrintStream
StackMap stack:
10: iload 2
iconst_1
if_icmpne 13
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "warning, "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
12: goto 14
13: 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 2
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
14: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
iload 3
invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: aload 4
monitorexit
16: goto 19
StackMap locals:
StackMap stack: java.lang.Throwable
17: aload 4
monitorexit
18: athrow
19: StackMap locals:
StackMap stack:
iload 2
iconst_1
if_icmpne 35
20: iload 3
iconst_m1
if_icmpne 23
21: aload 0
bipush 47
ldc "Short alert message"
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
22: goto 41
StackMap locals:
StackMap stack:
23: iload 3
ifne 32
24: aload 0
getfield sun.security.ssl.SSLEngineImpl.connectionState:I
iconst_1
if_icmpne 29
25: aload 0
bipush 10
26: ldc "Received close_notify during handshake"
27: invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;)V
28: goto 41
29: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.SSLEngineImpl.recvCN:Z
30: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.closeInboundInternal:()V
31: goto 41
32: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 41
33: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
iload 3
invokevirtual sun.security.ssl.Handshaker.handshakeAlert:(B)V
34: goto 41
35: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Received fatal alert: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
36: iload 3
invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 38: aload 0
aconst_null
putfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
39: iload 3
aload 4
invokestatic sun.security.ssl.Alerts.getSSLException:(BLjava/lang/String;)Ljavax/net/ssl/SSLException;
astore 5
start local 5 40: aload 0
iload 3
aconst_null
aload 5
iconst_1
invokevirtual sun.security.ssl.SSLEngineImpl.fatal:(BLjava/lang/String;Ljava/lang/Throwable;Z)V
end local 5 end local 4 41: StackMap locals:
StackMap stack:
return
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 fragment Ljava/nio/ByteBuffer;
1 42 2 level B
2 42 3 description B
38 41 4 reason Ljava/lang/String;
40 41 5 cause Ljava/lang/Throwable;
Exception table:
from to target type
5 16 17 any
17 18 17 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fragment
private void sendAlert(byte, byte);
descriptor: (BB)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, 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_icmpgt 6
3: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 5
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.started:()Z
ifeq 5
4: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 6
5: StackMap locals:
StackMap stack:
return
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
iload 1
iload 2
invokevirtual sun.security.ssl.OutputRecord.encodeAlert:(BB)V
7: goto 9
StackMap locals:
StackMap stack: java.io.IOException
8: pop
9: StackMap locals:
StackMap stack:
return
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 level B
0 10 2 description B
Exception table:
from to target type
6 7 8 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: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
goto 3
2: StackMap locals:
StackMap stack: sun.security.ssl.SSLEngineImpl
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
3: StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.ClientAuthType
putfield sun.security.ssl.SSLEngineImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
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:Lsun/security/ssl/ClientAuthType;
invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(Lsun/security/ssl/ClientAuthType;)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:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
if_acmpne 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: getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
goto 3
2: StackMap locals:
StackMap stack: sun.security.ssl.SSLEngineImpl
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
3: StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.ClientAuthType
putfield sun.security.ssl.SSLEngineImpl.doClientAuth:Lsun/security/ssl/ClientAuthType;
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:Lsun/security/ssl/ClientAuthType;
invokevirtual sun.security.ssl.ServerHandshaker.setClientAuth:(Lsun/security/ssl/ClientAuthType;)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:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
if_acmpne 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: 47
}
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 55
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 47
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 41
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 32
27: aload 0
28: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 29
iconst_0
goto 30
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl
29: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl int
30: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultProtocolList:(Z)Lsun/security/ssl/ProtocolList;
31: putfield sun.security.ssl.SSLEngineImpl.enabledProtocols:Lsun/security/ssl/ProtocolList;
32: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
33: aload 0
getfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
34: invokevirtual sun.security.ssl.SSLContextImpl.isDefaultCipherSuiteList:(Lsun/security/ssl/CipherSuiteList;)Z
35: ifeq 41
36: aload 0
37: aload 0
getfield sun.security.ssl.SSLEngineImpl.sslContext:Lsun/security/ssl/SSLContextImpl;
iload 1
ifeq 38
iconst_0
goto 39
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl
38: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl int
39: invokevirtual sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList:(Z)Lsun/security/ssl/CipherSuiteList;
40: putfield sun.security.ssl.SSLEngineImpl.enabledCipherSuites:Lsun/security/ssl/CipherSuiteList;
41: StackMap locals:
StackMap stack:
aload 0
iload 1
ifeq 42
iconst_0
goto 43
StackMap locals:
StackMap stack: sun.security.ssl.SSLEngineImpl
42: iconst_1
StackMap locals: sun.security.ssl.SSLEngineImpl int
StackMap stack: sun.security.ssl.SSLEngineImpl int
43: putfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
44: aload 0
iconst_0
putfield sun.security.ssl.SSLEngineImpl.connectionState:I
45: aload 0
invokevirtual sun.security.ssl.SSLEngineImpl.initHandshaker:()V
46: goto 55
47: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLEngineImpl.debug:Lsun/security/ssl/Debug;
ifnull 52
ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 52
48: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
49: ldc ", setUseClientMode() invoked in state = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
50: 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;
51: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
52: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
53: ldc "Cannot change mode after SSL traffic has started"
54: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
55: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lsun/security/ssl/SSLEngineImpl;
0 56 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
aload 0
getfield sun.security.ssl.SSLEngineImpl.sniMatchers:Ljava/util/Collection;
invokevirtual javax.net.ssl.SSLParameters.setSNIMatchers:(Ljava/util/Collection;)V
4: aload 1
aload 0
getfield sun.security.ssl.SSLEngineImpl.serverNames:Ljava/util/List;
invokevirtual javax.net.ssl.SSLParameters.setServerNames:(Ljava/util/List;)V
5: aload 1
aload 0
getfield sun.security.ssl.SSLEngineImpl.preferLocalCipherSuites:Z
invokevirtual javax.net.ssl.SSLParameters.setUseCipherSuitesOrder:(Z)V
6: aload 1
aload 0
getfield sun.security.ssl.SSLEngineImpl.enableRetransmissions:Z
invokevirtual javax.net.ssl.SSLParameters.setEnableRetransmissions:(Z)V
7: aload 1
aload 0
getfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
invokevirtual javax.net.ssl.SSLParameters.setMaximumPacketSize:(I)V
8: aload 1
aload 0
getfield sun.security.ssl.SSLEngineImpl.applicationProtocols:[Ljava/lang/String;
invokevirtual javax.net.ssl.SSLParameters.setApplicationProtocols:([Ljava/lang/String;)V
9: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLEngineImpl;
1 10 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=4, 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
aload 1
invokevirtual javax.net.ssl.SSLParameters.getUseCipherSuitesOrder:()Z
putfield sun.security.ssl.SSLEngineImpl.preferLocalCipherSuites:Z
4: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getEnableRetransmissions:()Z
putfield sun.security.ssl.SSLEngineImpl.enableRetransmissions:Z
5: aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getMaximumPacketSize:()I
putfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
6: aload 0
getfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
ifeq 9
7: aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
aload 0
getfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
invokevirtual sun.security.ssl.OutputRecord.changePacketSize:(I)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.ssl.SSLEngineImpl.outputRecord:Lsun/security/ssl/OutputRecord;
invokevirtual sun.security.ssl.OutputRecord.getMaxPacketSize:()I
putfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual javax.net.ssl.SSLParameters.getServerNames:()Ljava/util/List;
astore 2
start local 2 11: aload 2
ifnull 13
12: aload 0
aload 2
putfield sun.security.ssl.SSLEngineImpl.serverNames:Ljava/util/List;
13: StackMap locals: java.util.List
StackMap stack:
aload 1
invokevirtual javax.net.ssl.SSLParameters.getSNIMatchers:()Ljava/util/Collection;
astore 3
start local 3 14: aload 3
ifnull 16
15: aload 0
aload 3
putfield sun.security.ssl.SSLEngineImpl.sniMatchers:Ljava/util/Collection;
16: StackMap locals: java.util.Collection
StackMap stack:
aload 0
aload 1
invokevirtual javax.net.ssl.SSLParameters.getApplicationProtocols:()[Ljava/lang/String;
putfield sun.security.ssl.SSLEngineImpl.applicationProtocols:[Ljava/lang/String;
17: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 27
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.activated:()Z
ifne 27
18: 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
19: 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
20: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.maximumPacketSize:I
invokevirtual sun.security.ssl.Handshaker.setMaximumPacketSize:(I)V
21: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.applicationProtocols:[Ljava/lang/String;
invokevirtual sun.security.ssl.Handshaker.setApplicationProtocols:([Ljava/lang/String;)V
22: aload 0
getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
ifeq 26
23: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.sniMatchers:Ljava/util/Collection;
invokevirtual sun.security.ssl.Handshaker.setSNIMatchers:(Ljava/util/Collection;)V
24: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.preferLocalCipherSuites:Z
invokevirtual sun.security.ssl.Handshaker.setUseCipherSuitesOrder:(Z)V
25: goto 27
26: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
aload 0
getfield sun.security.ssl.SSLEngineImpl.serverNames:Ljava/util/List;
invokevirtual sun.security.ssl.Handshaker.setSNIServerNames:(Ljava/util/List;)V
27: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/security/ssl/SSLEngineImpl;
0 28 1 params Ljavax/net/ssl/SSLParameters;
11 28 2 sniNames Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
14 28 3 matchers Ljava/util/Collection<Ljavax/net/ssl/SNIMatcher;>;
MethodParameters:
Name Flags
params
public synchronized java.lang.String getApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.applicationProtocol:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
public synchronized java.lang.String getHandshakeApplicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
ifnull 2
aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.started:()Z
ifeq 2
1: aload 0
getfield sun.security.ssl.SSLEngineImpl.handshaker:Lsun/security/ssl/Handshaker;
invokevirtual sun.security.ssl.Handshaker.getHandshakeApplicationProtocol:()Ljava/lang/String;
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;
public synchronized void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLEngine, java.util.List<java.lang.String>, java.lang.String>);
descriptor: (Ljava/util/function/BiFunction;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.SSLEngineImpl.applicationProtocolSelector:Ljava/util/function/BiFunction;
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 1
invokevirtual sun.security.ssl.Handshaker.setApplicationProtocolSelectorSSLEngine:(Ljava/util/function/BiFunction;)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 selector Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
Signature: (Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
selector
public synchronized java.util.function.BiFunction<javax.net.ssl.SSLEngine, java.util.List<java.lang.String>, java.lang.String> getHandshakeApplicationProtocolSelector();
descriptor: ()Ljava/util/function/BiFunction;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SSLEngineImpl.applicationProtocolSelector:Ljava/util/function/BiFunction;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLEngineImpl;
Signature: ()Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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
new java.lang.StringBuilder
dup
ldc " role="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SSLEngineImpl.roleIsServer:Z
ifeq 11
ldc "Server"
goto 12
StackMap locals: sun.security.ssl.SSLEngineImpl java.lang.StringBuilder java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.StringBuilder
11: ldc "Client"
StackMap locals: sun.security.ssl.SSLEngineImpl java.lang.StringBuilder java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.StringBuilder java.lang.String
12: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: aload 1
ldc "] "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
14: 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
15: aload 1
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: 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 17 0 this Lsun/security/ssl/SSLEngineImpl;
1 17 1 retval Ljava/lang/StringBuilder;
5 17 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
final RecordType = sun.security.ssl.Ciphertext$RecordType of sun.security.ssl.Ciphertext
DelegatedTask = sun.security.ssl.Handshaker$DelegatedTask of sun.security.ssl.Handshaker