final class sun.security.ssl.ServerHandshaker extends sun.security.ssl.Handshaker
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.ServerHandshaker
super_class: sun.security.ssl.Handshaker
{
private static final long DEFAULT_STATUS_RESP_DELAY;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5000
private sun.security.ssl.ClientAuthType doClientAuth;
descriptor: Lsun/security/ssl/ClientAuthType;
flags: (0x0002) ACC_PRIVATE
private java.security.cert.X509Certificate[] certs;
descriptor: [Ljava/security/cert/X509Certificate;
flags: (0x0002) ACC_PRIVATE
private java.security.PrivateKey privateKey;
descriptor: Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object serviceCreds;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private boolean needClientVerify;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.security.PrivateKey tempPrivateKey;
descriptor: Ljava/security/PrivateKey;
flags: (0x0002) ACC_PRIVATE
private java.security.PublicKey tempPublicKey;
descriptor: Ljava/security/PublicKey;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.DHCrypt dh;
descriptor: Lsun/security/ssl/DHCrypt;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ECDHCrypt ecdh;
descriptor: Lsun/security/ssl/ECDHCrypt;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.ProtocolVersion clientRequestedVersion;
descriptor: Lsun/security/ssl/ProtocolVersion;
flags: (0x0002) ACC_PRIVATE
private sun.security.ssl.SupportedGroupsExtension requestedGroups;
descriptor: Lsun/security/ssl/SupportedGroupsExtension;
flags: (0x0002) ACC_PRIVATE
sun.security.ssl.SignatureAndHashAlgorithm preferableSignatureAlgorithm;
descriptor: Lsun/security/ssl/SignatureAndHashAlgorithm;
flags: (0x0000)
private static final boolean useSmartEphemeralDHKeys;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean useLegacyEphemeralDHKeys;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int customizedDHKeySize;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.security.AlgorithmConstraints legacyAlgorithmConstraints;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private long statusRespTimeout;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=0
0: new sun.security.util.LegacyAlgorithmConstraints
dup
1: ldc "jdk.tls.legacyAlgorithms"
2: new sun.security.ssl.SSLAlgorithmDecomposer
dup
invokespecial sun.security.ssl.SSLAlgorithmDecomposer.<init>:()V
3: invokespecial sun.security.util.LegacyAlgorithmConstraints.<init>:(Ljava/lang/String;Lsun/security/util/AlgorithmDecomposer;)V
4: putstatic sun.security.ssl.ServerHandshaker.legacyAlgorithmConstraints:Ljava/security/AlgorithmConstraints;
5: ldc "jdk.tls.ephemeralDHKeySize"
invokestatic sun.security.action.GetPropertyAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/String;
6: astore 0
start local 0 7: aload 0
ifnull 8
aload 0
invokevirtual java.lang.String.length:()I
ifne 12
8: StackMap locals: java.lang.String
StackMap stack:
iconst_0
putstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
9: iconst_0
putstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
10: iconst_m1
putstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
11: goto 38
StackMap locals:
StackMap stack:
12: ldc "matched"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
13: iconst_0
putstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
14: iconst_1
putstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
15: iconst_m1
putstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
16: goto 38
StackMap locals:
StackMap stack:
17: ldc "legacy"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
18: iconst_1
putstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
19: iconst_0
putstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
20: iconst_m1
putstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
21: goto 38
22: StackMap locals:
StackMap stack:
iconst_0
putstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
23: iconst_0
putstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
24: aload 0
invokestatic java.lang.Integer.parseUnsignedInt:(Ljava/lang/String;)I
putstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
25: getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
sipush 1024
if_icmplt 27
getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
sipush 8192
if_icmpgt 27
26: getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
bipush 63
iand
ifeq 38
27: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
28: new java.lang.StringBuilder
dup
ldc "Unsupported customized DH key size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
30: ldc "The key size must be multiple of 64, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
31: ldc "and can only range from 1024 to 8192 (inclusive)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
35: new java.lang.IllegalArgumentException
dup
36: ldc "Invalid system property jdk.tls.ephemeralDHKeySize"
37: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 0 38: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
7 38 0 property Ljava/lang/String;
Exception table:
from to target type
24 34 34 Class java.lang.NumberFormatException
void <init>(sun.security.ssl.SSLSocketImpl, sun.security.ssl.SSLContextImpl, sun.security.ssl.ProtocolList, sun.security.ssl.ClientAuthType, sun.security.ssl.ProtocolVersion, boolean, boolean, byte[], byte[]);
descriptor: (Lsun/security/ssl/SSLSocketImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;Lsun/security/ssl/ClientAuthType;Lsun/security/ssl/ProtocolVersion;ZZ[B[B)V
flags: (0x0000)
Code:
stack=11, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
aload 1
aload 2
aload 3
1: aload 4
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
if_acmpeq 2
iconst_1
goto 3
StackMap locals: uninitialized-this sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[]
StackMap stack: uninitialized-this sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList
2: iconst_0
StackMap locals: uninitialized-this sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[]
StackMap stack: uninitialized-this sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int
3: iconst_0
4: aload 5
iload 6
iload 7
5: aload 8
aload 9
invokespecial sun.security.ssl.Handshaker.<init>:(Lsun/security/ssl/SSLSocketImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;ZZLsun/security/ssl/ProtocolVersion;ZZ[B[B)V
6: aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
7: aload 0
aload 4
putfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
8: aload 0
9: new sun.security.action.GetLongAction
dup
ldc "jdk.tls.stapling.responseTimeout"
10: ldc 5000
11: invokespecial sun.security.action.GetLongAction.<init>:(Ljava/lang/String;J)V
12: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
putfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
13: aload 0
aload 0
getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
lconst_0
lcmp
iflt 14
aload 0
getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
goto 15
14: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[]
StackMap stack: sun.security.ssl.ServerHandshaker
ldc 5000
15: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.SSLSocketImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[]
StackMap stack: sun.security.ssl.ServerHandshaker long
putfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
16: return
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 17 0 this Lsun/security/ssl/ServerHandshaker;
0 17 1 socket Lsun/security/ssl/SSLSocketImpl;
0 17 2 context Lsun/security/ssl/SSLContextImpl;
0 17 3 enabledProtocols Lsun/security/ssl/ProtocolList;
0 17 4 clientAuth Lsun/security/ssl/ClientAuthType;
0 17 5 activeProtocolVersion Lsun/security/ssl/ProtocolVersion;
0 17 6 isInitialHandshake Z
0 17 7 secureRenegotiation Z
0 17 8 clientVerifyData [B
0 17 9 serverVerifyData [B
MethodParameters:
Name Flags
socket
context
enabledProtocols
clientAuth
activeProtocolVersion
isInitialHandshake
secureRenegotiation
clientVerifyData
serverVerifyData
void <init>(sun.security.ssl.SSLEngineImpl, sun.security.ssl.SSLContextImpl, sun.security.ssl.ProtocolList, sun.security.ssl.ClientAuthType, sun.security.ssl.ProtocolVersion, boolean, boolean, byte[], byte[], boolean);
descriptor: (Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;Lsun/security/ssl/ClientAuthType;Lsun/security/ssl/ProtocolVersion;ZZ[B[BZ)V
flags: (0x0000)
Code:
stack=12, locals=11, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
aload 1
aload 2
aload 3
1: aload 4
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
if_acmpeq 2
iconst_1
goto 3
StackMap locals: uninitialized-this sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[] int
StackMap stack: uninitialized-this sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList
2: iconst_0
StackMap locals: uninitialized-this sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[] int
StackMap stack: uninitialized-this sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList int
3: iconst_0
4: aload 5
iload 6
iload 7
5: aload 8
aload 9
iload 10
invokespecial sun.security.ssl.Handshaker.<init>:(Lsun/security/ssl/SSLEngineImpl;Lsun/security/ssl/SSLContextImpl;Lsun/security/ssl/ProtocolList;ZZLsun/security/ssl/ProtocolVersion;ZZ[B[BZ)V
6: aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
7: aload 0
aload 4
putfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
8: aload 0
9: new sun.security.action.GetLongAction
dup
ldc "jdk.tls.stapling.responseTimeout"
10: ldc 5000
11: invokespecial sun.security.action.GetLongAction.<init>:(Ljava/lang/String;J)V
12: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
putfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
13: aload 0
aload 0
getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
lconst_0
lcmp
iflt 14
aload 0
getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
goto 15
14: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[] int
StackMap stack: sun.security.ssl.ServerHandshaker
ldc 5000
15: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.SSLEngineImpl sun.security.ssl.SSLContextImpl sun.security.ssl.ProtocolList sun.security.ssl.ClientAuthType sun.security.ssl.ProtocolVersion int int byte[] byte[] int
StackMap stack: sun.security.ssl.ServerHandshaker long
putfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
16: return
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 17 0 this Lsun/security/ssl/ServerHandshaker;
0 17 1 engine Lsun/security/ssl/SSLEngineImpl;
0 17 2 context Lsun/security/ssl/SSLContextImpl;
0 17 3 enabledProtocols Lsun/security/ssl/ProtocolList;
0 17 4 clientAuth Lsun/security/ssl/ClientAuthType;
0 17 5 activeProtocolVersion Lsun/security/ssl/ProtocolVersion;
0 17 6 isInitialHandshake Z
0 17 7 secureRenegotiation Z
0 17 8 clientVerifyData [B
0 17 9 serverVerifyData [B
0 17 10 isDTLS Z
MethodParameters:
Name Flags
engine
context
enabledProtocols
clientAuth
activeProtocolVersion
isInitialHandshake
secureRenegotiation
clientVerifyData
serverVerifyData
isDTLS
void setClientAuth(sun.security.ssl.ClientAuthType);
descriptor: (Lsun/security/ssl/ClientAuthType;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/ServerHandshaker;
0 2 1 clientAuth Lsun/security/ssl/ClientAuthType;
MethodParameters:
Name Flags
clientAuth
void processMessage(byte, int);
descriptor: (BI)V
flags: (0x0000)
Code:
stack=8, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
iload 1
invokevirtual sun.security.ssl.HandshakeStateManager.check:(B)Ljava/util/List;
pop
1: iload 1
lookupswitch { // 5
1: 2
11: 6
15: 52
16: 14
20: 59
default: 64
}
2: StackMap locals:
StackMap stack:
new sun.security.ssl.HandshakeMessage$ClientHello
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
iload 2
aload 0
getfield sun.security.ssl.ServerHandshaker.isDTLS:Z
invokespecial sun.security.ssl.HandshakeMessage$ClientHello.<init>:(Lsun/security/ssl/HandshakeInStream;IZ)V
astore 3
start local 3 3: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 3
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
4: aload 0
aload 3
invokevirtual sun.security.ssl.ServerHandshaker.clientHello:(Lsun/security/ssl/HandshakeMessage$ClientHello;)V
5: goto 67
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
if_acmpne 10
7: aload 0
bipush 10
8: ldc "client sent unsolicited cert chain"
9: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
10: StackMap locals:
StackMap stack:
new sun.security.ssl.HandshakeMessage$CertificateMsg
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
invokespecial sun.security.ssl.HandshakeMessage$CertificateMsg.<init>:(Lsun/security/ssl/HandshakeInStream;)V
astore 4
start local 4 11: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 4
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
12: aload 0
aload 4
invokevirtual sun.security.ssl.ServerHandshaker.clientCertificate:(Lsun/security/ssl/HandshakeMessage$CertificateMsg;)V
13: goto 67
end local 4 14: StackMap locals:
StackMap stack:
invokestatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:()[I
aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
iaload
tableswitch { // 2 - 13
2: 15
3: 15
4: 32
5: 32
6: 23
7: 23
8: 23
9: 27
10: 27
11: 27
12: 27
13: 27
default: 32
}
15: StackMap locals:
StackMap stack:
new sun.security.ssl.RSAClientKeyExchange
dup
16: aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 0
getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
17: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
18: iload 2
aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
19: invokespecial sun.security.ssl.RSAClientKeyExchange.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/ProtocolVersion;Ljava/security/SecureRandom;Lsun/security/ssl/HandshakeInStream;ILjava/security/PrivateKey;)V
astore 6
start local 6 20: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 6
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
21: aload 0
aload 6
invokevirtual sun.security.ssl.ServerHandshaker.clientKeyExchange:(Lsun/security/ssl/RSAClientKeyExchange;)Ljavax/crypto/SecretKey;
astore 5
start local 5 22: goto 50
end local 6 end local 5 23: StackMap locals:
StackMap stack:
new sun.security.ssl.DHClientKeyExchange
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
invokespecial sun.security.ssl.DHClientKeyExchange.<init>:(Lsun/security/ssl/HandshakeInStream;)V
astore 7
start local 7 24: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 7
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
25: aload 0
aload 7
invokevirtual sun.security.ssl.ServerHandshaker.clientKeyExchange:(Lsun/security/ssl/DHClientKeyExchange;)Ljavax/crypto/SecretKey;
astore 5
start local 5 26: goto 50
end local 7 end local 5 27: StackMap locals:
StackMap stack:
new sun.security.ssl.ECDHClientKeyExchange
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
invokespecial sun.security.ssl.ECDHClientKeyExchange.<init>:(Lsun/security/ssl/HandshakeInStream;)V
28: astore 8
start local 8 29: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 8
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
30: aload 0
aload 8
invokevirtual sun.security.ssl.ServerHandshaker.clientKeyExchange:(Lsun/security/ssl/ECDHClientKeyExchange;)Ljavax/crypto/SecretKey;
astore 5
start local 5 31: goto 50
end local 8 end local 5 32: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
33: astore 9
start local 9 34: aload 9
ifnonnull 38
35: new javax.net.ssl.SSLProtocolException
dup
36: new java.lang.StringBuilder
dup
ldc "Unrecognized key exchange: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals: sun.security.ssl.ServerHandshaker int int top top top top top top sun.security.ssl.ClientKeyExchangeService
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
astore 10
start local 10 39: aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
pop
40: aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
invokevirtual sun.security.ssl.HandshakeInStream.getBytes16:()[B
astore 11
start local 11 41: aload 9
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
42: aload 0
getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
43: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
44: aload 10
45: aload 11
46: aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getAccSE:()Ljava/security/AccessControlContext;
aload 0
getfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
47: invokeinterface sun.security.ssl.ClientKeyExchangeService.createServerExchange:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/ProtocolVersion;Ljava/security/SecureRandom;[B[BLjava/security/AccessControlContext;Ljava/lang/Object;)Lsun/security/ssl/ClientKeyExchange;
astore 12
start local 12 48: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 12
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
49: aload 0
aload 12
invokevirtual sun.security.ssl.ServerHandshaker.clientKeyExchange:(Lsun/security/ssl/ClientKeyExchange;)Ljavax/crypto/SecretKey;
astore 5
end local 12 end local 11 end local 10 end local 9 start local 5 50: StackMap locals: sun.security.ssl.ServerHandshaker int int top top javax.crypto.SecretKey
StackMap stack:
aload 0
aload 5
aload 0
getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ServerHandshaker.calculateKeys:(Ljavax/crypto/SecretKey;Lsun/security/ssl/ProtocolVersion;)V
51: goto 67
end local 5 52: StackMap locals: sun.security.ssl.ServerHandshaker int int
StackMap stack:
new sun.security.ssl.HandshakeMessage$CertificateVerify
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
53: aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getLocalSupportedSignAlgs:()Ljava/util/Collection;
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
54: invokespecial sun.security.ssl.HandshakeMessage$CertificateVerify.<init>:(Lsun/security/ssl/HandshakeInStream;Ljava/util/Collection;Lsun/security/ssl/ProtocolVersion;)V
55: astore 6
start local 6 56: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 6
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
57: aload 0
aload 6
invokevirtual sun.security.ssl.ServerHandshaker.clientCertificateVerify:(Lsun/security/ssl/HandshakeMessage$CertificateVerify;)V
58: goto 67
end local 6 59: StackMap locals:
StackMap stack:
new sun.security.ssl.HandshakeMessage$Finished
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
aload 0
getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
invokespecial sun.security.ssl.HandshakeMessage$Finished.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/HandshakeInStream;Lsun/security/ssl/CipherSuite;)V
60: astore 7
start local 7 61: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 7
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
62: aload 0
aload 7
invokevirtual sun.security.ssl.ServerHandshaker.clientFinished:(Lsun/security/ssl/HandshakeMessage$Finished;)V
63: goto 67
end local 7 64: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
65: new java.lang.StringBuilder
dup
ldc "Illegal server handshake msg, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
66: invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
67: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lsun/security/ssl/ServerHandshaker;
0 68 1 type B
0 68 2 message_len I
3 6 3 ch Lsun/security/ssl/HandshakeMessage$ClientHello;
11 14 4 certificateMsg Lsun/security/ssl/HandshakeMessage$CertificateMsg;
22 23 5 preMasterSecret Ljavax/crypto/SecretKey;
26 27 5 preMasterSecret Ljavax/crypto/SecretKey;
31 32 5 preMasterSecret Ljavax/crypto/SecretKey;
50 52 5 preMasterSecret Ljavax/crypto/SecretKey;
20 23 6 pms Lsun/security/ssl/RSAClientKeyExchange;
24 27 7 dhcke Lsun/security/ssl/DHClientKeyExchange;
29 32 8 ecdhcke Lsun/security/ssl/ECDHClientKeyExchange;
34 50 9 p Lsun/security/ssl/ClientKeyExchangeService;
39 50 10 encodedTicket [B
41 50 11 secret [B
48 50 12 cke Lsun/security/ssl/ClientKeyExchange;
56 59 6 cvm Lsun/security/ssl/HandshakeMessage$CertificateVerify;
61 64 7 cfm Lsun/security/ssl/HandshakeMessage$Finished;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
type
message_len
private void clientHello(sun.security.ssl.HandshakeMessage$ClientHello);
descriptor: (Lsun/security/ssl/HandshakeMessage$ClientHello;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=17, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.print:(Ljava/io/PrintStream;)V
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.rejectClientInitiatedRenego:Z
ifeq 7
aload 0
getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
ifne 7
3: aload 0
getfield sun.security.ssl.ServerHandshaker.serverHelloRequested:Z
ifne 7
4: aload 0
bipush 40
5: ldc "Client initiated renegotiation is not allowed"
6: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
7: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
getstatic sun.security.ssl.ExtensionType.EXT_SERVER_NAME:Lsun/security/ssl/ExtensionType;
invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
8: checkcast sun.security.ssl.ServerNameExtension
astore 2
start local 2 9: aload 0
getfield sun.security.ssl.ServerHandshaker.sniMatchers:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifne 15
10: aload 2
ifnull 15
11: aload 2
aload 0
getfield sun.security.ssl.ServerHandshaker.sniMatchers:Ljava/util/Collection;
invokevirtual sun.security.ssl.ServerNameExtension.isMatched:(Ljava/util/Collection;)Z
ifne 15
12: aload 0
bipush 112
13: ldc "Unrecognized server name indication"
14: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
15: StackMap locals: sun.security.ssl.ServerNameExtension
StackMap stack:
iconst_0
istore 3
start local 3 16: aload 1
invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.getCipherSuites:()Lsun/security/ssl/CipherSuiteList;
astore 4
start local 4 17: aload 4
getstatic sun.security.ssl.CipherSuite.C_SCSV:Lsun/security/ssl/CipherSuite;
invokevirtual sun.security.ssl.CipherSuiteList.contains:(Lsun/security/ssl/CipherSuite;)Z
ifeq 30
18: iconst_1
istore 3
19: aload 0
getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
ifeq 22
20: aload 0
iconst_1
putfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
21: goto 30
22: StackMap locals: int sun.security.ssl.CipherSuiteList
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
ifeq 27
23: aload 0
bipush 40
24: ldc "The SCSV is present in a secure renegotiation"
25: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
26: goto 30
27: StackMap locals:
StackMap stack:
aload 0
bipush 40
28: ldc "The SCSV is present in a insecure renegotiation"
29: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
30: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
getstatic sun.security.ssl.ExtensionType.EXT_RENEGOTIATION_INFO:Lsun/security/ssl/ExtensionType;
invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
31: checkcast sun.security.ssl.RenegotiationInfoExtension
astore 5
start local 5 32: aload 5
ifnull 53
33: iconst_1
istore 3
34: aload 0
getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
ifeq 41
35: aload 5
invokevirtual sun.security.ssl.RenegotiationInfoExtension.isEmpty:()Z
ifne 39
36: aload 0
bipush 40
37: ldc "The renegotiation_info field is not empty"
38: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
39: StackMap locals: sun.security.ssl.RenegotiationInfoExtension
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
40: goto 57
41: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
ifne 45
42: aload 0
bipush 40
43: ldc "The renegotiation_info is present in a insecure renegotiation"
44: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
45: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.clientVerifyData:[B
46: aload 5
invokevirtual sun.security.ssl.RenegotiationInfoExtension.getRenegotiatedConnection:()[B
47: invokestatic java.security.MessageDigest.isEqual:([B[B)Z
48: ifne 57
49: aload 0
bipush 40
50: ldc "Incorrect verify data in ClientHello renegotiation_info message"
51: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
52: goto 57
StackMap locals:
StackMap stack:
53: aload 0
getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
ifne 57
aload 0
getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
ifeq 57
54: aload 0
bipush 40
55: ldc "Inconsistent secure renegotiation indication"
56: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
57: StackMap locals:
StackMap stack:
iload 3
ifeq 58
aload 0
getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
ifne 83
58: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.isInitialHandshake:Z
ifeq 66
59: getstatic sun.security.ssl.ServerHandshaker.allowLegacyHelloMessages:Z
ifne 63
60: aload 0
bipush 40
61: ldc "Failed to negotiate the use of secure renegotiation"
62: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
63: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 83
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 83
64: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Warning: No renegotiation indication in ClientHello, allow legacy ClientHello"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
65: goto 83
StackMap locals:
StackMap stack:
66: getstatic sun.security.ssl.ServerHandshaker.allowUnsafeRenegotiation:Z
ifne 79
67: aload 0
getfield sun.security.ssl.ServerHandshaker.activeProtocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS10PlusSpec:()Z
ifeq 75
68: aload 0
bipush 100
invokevirtual sun.security.ssl.ServerHandshaker.warningSE:(B)V
69: aload 0
iconst_1
putfield sun.security.ssl.ServerHandshaker.invalidated:Z
70: aload 0
getfield sun.security.ssl.ServerHandshaker.input:Lsun/security/ssl/HandshakeInStream;
invokevirtual sun.security.ssl.HandshakeInStream.available:()I
ifle 74
71: aload 0
bipush 10
72: ldc "ClientHello followed by an unexpected handshake message"
73: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
74: StackMap locals:
StackMap stack:
return
75: StackMap locals:
StackMap stack:
aload 0
bipush 40
76: ldc "Renegotiation is not allowed"
77: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
78: goto 83
79: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 83
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 83
80: getstatic java.lang.System.out:Ljava/io/PrintStream;
81: ldc "Warning: continue with insecure renegotiation"
82: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
83: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
getstatic sun.security.ssl.ExtensionType.EXT_MAX_FRAGMENT_LENGTH:Lsun/security/ssl/ExtensionType;
invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
84: checkcast sun.security.ssl.MaxFragmentLengthExtension
astore 6
start local 6 85: aload 6
ifnull 93
aload 0
getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
ifeq 93
86: aload 0
getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
istore 7
start local 7 87: aload 0
getfield sun.security.ssl.ServerHandshaker.isDTLS:Z
ifeq 90
88: iinc 7 -13
89: goto 91
90: StackMap locals: sun.security.ssl.MaxFragmentLengthExtension int
StackMap stack:
iinc 7 -5
91: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.security.ssl.MaxFragmentLengthExtension.getMaxFragLen:()I
iload 7
if_icmple 93
92: aconst_null
astore 6
end local 7 93: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.useExtendedMasterSecret:Z
ifeq 106
94: aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
95: getstatic sun.security.ssl.ExtensionType.EXT_EXTENDED_MASTER_SECRET:Lsun/security/ssl/ExtensionType;
96: invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
checkcast sun.security.ssl.ExtendedMasterSecretExtension
97: astore 7
start local 7 98: aload 7
ifnull 101
99: aload 0
iconst_1
putfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
100: goto 106
StackMap locals: sun.security.ssl.ExtendedMasterSecretExtension
StackMap stack:
101: aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS10PlusSpec:()Z
ifeq 106
102: getstatic sun.security.ssl.ServerHandshaker.allowLegacyMasterSecret:Z
ifne 106
103: aload 0
bipush 40
104: ldc "Extended Master Secret extension is required"
105: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
end local 7 106: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
getstatic sun.security.ssl.ExtensionType.EXT_ALPN:Lsun/security/ssl/ExtensionType;
invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
107: checkcast sun.security.ssl.ALPNExtension
astore 7
start local 7 108: aload 0
getfield sun.security.ssl.ServerHandshaker.engine:Lsun/security/ssl/SSLEngineImpl;
ifnull 109
aload 0
getfield sun.security.ssl.ServerHandshaker.appProtocolSelectorSSLEngine:Ljava/util/function/BiFunction;
ifnonnull 111
109: StackMap locals: sun.security.ssl.ALPNExtension
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
ifnull 110
aload 0
getfield sun.security.ssl.ServerHandshaker.appProtocolSelectorSSLSocket:Ljava/util/function/BiFunction;
ifnonnull 111
110: StackMap locals:
StackMap stack:
iconst_0
goto 112
StackMap locals:
StackMap stack:
111: iconst_1
StackMap locals:
StackMap stack: int
112: istore 8
start local 8 113: iload 8
ifne 133
114: aload 7
ifnull 132
aload 0
getfield sun.security.ssl.ServerHandshaker.localApl:[Ljava/lang/String;
arraylength
ifle 132
115: aconst_null
astore 9
start local 9 116: aload 7
invokevirtual sun.security.ssl.ALPNExtension.getPeerAPs:()Ljava/util/List;
astore 10
start local 10 117: aload 0
getfield sun.security.ssl.ServerHandshaker.localApl:[Ljava/lang/String;
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 123
StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int java.lang.String java.util.List top int int java.lang.String[]
StackMap stack:
118: aload 14
iload 12
aaload
astore 11
start local 11 119: aload 10
aload 11
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 122
120: aload 11
astore 9
121: goto 124
end local 11 122: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
123: iload 12
iload 13
if_icmplt 118
124: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int java.lang.String java.util.List
StackMap stack:
aload 9
ifnonnull 130
125: aload 0
bipush 120
126: new javax.net.ssl.SSLHandshakeException
dup
127: ldc "No matching ALPN values"
128: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
129: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/Throwable;)V
130: StackMap locals:
StackMap stack:
aload 0
aload 9
putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
end local 10 end local 9 131: goto 133
132: StackMap locals:
StackMap stack:
aload 0
ldc ""
putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
133: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
134: aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.sessionId:Lsun/security/ssl/SessionId;
invokevirtual sun.security.ssl.SessionId.length:()I
ifeq 213
135: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
136: invokevirtual sun.security.ssl.SSLContextImpl.engineGetServerSessionContext:()Ljavax/net/ssl/SSLSessionContext;
137: checkcast sun.security.ssl.SSLSessionContextImpl
138: aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.sessionId:Lsun/security/ssl/SessionId;
invokevirtual sun.security.ssl.SessionId.getId:()[B
invokevirtual sun.security.ssl.SSLSessionContextImpl.get:([B)Lsun/security/ssl/SSLSessionImpl;
139: astore 9
start local 9 140: aload 9
ifnull 213
141: aload 0
aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.isRejoinable:()Z
putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
142: aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 146
143: aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.getProtocolVersion:()Lsun/security/ssl/ProtocolVersion;
astore 10
start local 10 144: aload 10
aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.protocolVersion:Lsun/security/ssl/ProtocolVersion;
if_acmpeq 146
145: aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
end local 10 146: StackMap locals: sun.security.ssl.SSLSessionImpl
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 165
getstatic sun.security.ssl.ServerHandshaker.useExtendedMasterSecret:Z
ifeq 165
147: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
ifeq 151
148: aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.getUseExtendedMasterSecret:()Z
ifne 151
149: aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
150: goto 165
StackMap locals:
StackMap stack:
151: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
ifne 157
152: aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.getUseExtendedMasterSecret:()Z
ifeq 157
153: aload 0
bipush 40
154: ldc "Missing Extended Master Secret extension on session resumption"
155: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
156: goto 165
StackMap locals:
StackMap stack:
157: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
ifne 165
158: aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.getUseExtendedMasterSecret:()Z
ifne 165
159: getstatic sun.security.ssl.ServerHandshaker.allowLegacyResumption:Z
ifne 164
160: aload 0
bipush 40
161: ldc "Missing Extended Master Secret extension on session resumption"
162: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
163: goto 165
164: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
165: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 179
166: aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.getRequestedServerNames:()Ljava/util/List;
167: astore 10
start local 10 168: aload 2
ifnull 172
169: aload 2
aload 10
invokevirtual sun.security.ssl.ServerNameExtension.isIdentical:(Ljava/util/List;)Z
ifne 174
170: aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
171: goto 174
StackMap locals: java.util.List
StackMap stack:
172: aload 10
invokeinterface java.util.List.isEmpty:()Z
ifne 174
173: aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
174: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifne 179
175: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 179
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 179
176: getstatic java.lang.System.out:Ljava/io/PrintStream;
177: ldc "The requested server name indication is not identical to the previous one"
178: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 10 179: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 185
180: aload 0
getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
if_acmpne 185
181: aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.getPeerPrincipal:()Ljava/security/Principal;
pop
182: goto 185
StackMap locals:
StackMap stack: javax.net.ssl.SSLPeerUnverifiedException
183: pop
184: aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
185: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 201
186: aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
astore 10
start local 10 187: aload 10
getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
188: astore 11
start local 11 189: aload 11
ifnull 201
190: aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.getLocalPrincipal:()Ljava/security/Principal;
astore 12
start local 12 191: aload 11
192: iconst_0
aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getAccSE:()Ljava/security/AccessControlContext;
aload 12
193: invokeinterface sun.security.ssl.ClientKeyExchangeService.isRelated:(ZLjava/security/AccessControlContext;Ljava/security/Principal;)Z
194: ifeq 198
195: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 201
ldc "session"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 201
196: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Subject can provide creds for princ"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
197: goto 201
198: StackMap locals: sun.security.ssl.CipherSuite sun.security.ssl.ClientKeyExchangeService java.security.Principal
StackMap stack:
aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
199: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 201
ldc "session"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 201
200: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Subject cannot provide creds for princ"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 12 end local 11 end local 10 201: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 208
202: aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
astore 10
start local 10 203: aload 0
aload 10
invokevirtual sun.security.ssl.ServerHandshaker.isNegotiable:(Lsun/security/ssl/CipherSuite;)Z
ifeq 205
204: aload 1
invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.getCipherSuites:()Lsun/security/ssl/CipherSuiteList;
aload 10
invokevirtual sun.security.ssl.CipherSuiteList.contains:(Lsun/security/ssl/CipherSuite;)Z
ifne 207
205: StackMap locals: sun.security.ssl.CipherSuite
StackMap stack:
aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.resumingSession:Z
206: goto 208
207: StackMap locals:
StackMap stack:
aload 0
aload 10
invokevirtual sun.security.ssl.ServerHandshaker.setCipherSuite:(Lsun/security/ssl/CipherSuite;)V
end local 10 208: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 213
209: aload 0
aload 9
putfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
210: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 213
211: ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifne 212
ldc "session"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 213
212: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "%% Resuming "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 9 213: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.isDTLS:Z
ifeq 224
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifne 224
214: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getHelloCookieManager:()Lsun/security/ssl/HelloCookieManager;
astore 9
start local 9 215: aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.cookie:[B
ifnull 217
aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.cookie:[B
arraylength
ifeq 217
216: aload 9
aload 1
invokevirtual sun.security.ssl.HelloCookieManager.isValid:(Lsun/security/ssl/HandshakeMessage$ClientHello;)Z
ifne 224
217: StackMap locals: sun.security.ssl.HelloCookieManager
StackMap stack:
new sun.security.ssl.HandshakeMessage$HelloVerifyRequest
dup
aload 9
aload 1
invokespecial sun.security.ssl.HandshakeMessage$HelloVerifyRequest.<init>:(Lsun/security/ssl/HelloCookieManager;Lsun/security/ssl/HandshakeMessage$ClientHello;)V
astore 10
start local 10 218: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 220
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 220
219: aload 10
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$HelloVerifyRequest.print:(Ljava/io/PrintStream;)V
220: StackMap locals: sun.security.ssl.HandshakeMessage$HelloVerifyRequest
StackMap stack:
aload 10
aload 0
getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeMessage$HelloVerifyRequest.write:(Lsun/security/ssl/HandshakeOutStream;)V
221: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 10
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
222: aload 0
getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeOutStream.flush:()V
223: return
end local 10 end local 9 224: StackMap locals:
StackMap stack:
new sun.security.ssl.HandshakeMessage$ServerHello
dup
invokespecial sun.security.ssl.HandshakeMessage$ServerHello.<init>:()V
astore 9
start local 9 225: aload 0
aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.protocolVersion:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
226: aload 0
aload 0
getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ServerHandshaker.selectProtocolVersion:(Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/ProtocolVersion;
227: astore 10
start local 10 228: aload 10
ifnull 230
229: aload 10
getfield sun.security.ssl.ProtocolVersion.v:I
getstatic sun.security.ssl.ProtocolVersion.SSL20Hello:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmpne 235
230: StackMap locals: sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion
StackMap stack:
aload 0
bipush 40
231: new java.lang.StringBuilder
dup
ldc "Client requested protocol "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.ServerHandshaker.clientRequestedVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
232: ldc " not enabled or not supported"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
233: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
234: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
235: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
aload 10
invokevirtual sun.security.ssl.HandshakeHash.protocolDetermined:(Lsun/security/ssl/ProtocolVersion;)V
236: aload 0
aload 10
invokevirtual sun.security.ssl.ServerHandshaker.setVersion:(Lsun/security/ssl/ProtocolVersion;)V
237: aload 9
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
putfield sun.security.ssl.HandshakeMessage$ServerHello.protocolVersion:Lsun/security/ssl/ProtocolVersion;
238: aload 0
aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.clnt_random:Lsun/security/ssl/RandomCookie;
putfield sun.security.ssl.ServerHandshaker.clnt_random:Lsun/security/ssl/RandomCookie;
239: aload 0
new sun.security.ssl.RandomCookie
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
invokespecial sun.security.ssl.RandomCookie.<init>:(Ljava/security/SecureRandom;)V
putfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
240: aload 9
aload 0
getfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
putfield sun.security.ssl.HandshakeMessage$ServerHello.svr_random:Lsun/security/ssl/RandomCookie;
241: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
ifnonnull 303
242: aload 0
getfield sun.security.ssl.ServerHandshaker.enableNewSession:Z
ifne 244
243: new javax.net.ssl.SSLException
dup
ldc "Client did not resume a session"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
athrow
244: StackMap locals:
StackMap stack:
aload 0
245: aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
getstatic sun.security.ssl.ExtensionType.EXT_SUPPORTED_GROUPS:Lsun/security/ssl/ExtensionType;
invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
246: checkcast sun.security.ssl.SupportedGroupsExtension
putfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
247: aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 267
248: aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
249: getstatic sun.security.ssl.ExtensionType.EXT_SIGNATURE_ALGORITHMS:Lsun/security/ssl/ExtensionType;
250: invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
checkcast sun.security.ssl.SignatureAlgorithmsExtension
251: astore 11
start local 11 252: aload 11
ifnull 267
253: aload 11
invokevirtual sun.security.ssl.SignatureAlgorithmsExtension.getSignAlgorithms:()Ljava/util/Collection;
254: astore 12
start local 12 255: aload 12
ifnull 256
aload 12
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 259
256: StackMap locals: sun.security.ssl.SignatureAlgorithmsExtension java.util.Collection
StackMap stack:
new javax.net.ssl.SSLHandshakeException
dup
257: ldc "No peer supported signature algorithms"
258: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
259: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
aload 12
260: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getSupportedAlgorithms:(Ljava/security/AlgorithmConstraints;Ljava/util/Collection;)Ljava/util/Collection;
261: astore 13
start local 13 262: aload 13
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 266
263: new javax.net.ssl.SSLHandshakeException
dup
264: ldc "No signature and hash algorithm in common"
265: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
266: StackMap locals: java.util.Collection
StackMap stack:
aload 0
aload 13
invokevirtual sun.security.ssl.ServerHandshaker.setPeerSupportedSignAlgs:(Ljava/util/Collection;)V
end local 13 end local 12 end local 11 267: StackMap locals:
StackMap stack:
aload 0
268: new sun.security.ssl.SSLSessionImpl
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
getstatic sun.security.ssl.CipherSuite.C_NULL:Lsun/security/ssl/CipherSuite;
269: aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getLocalSupportedSignAlgs:()Ljava/util/Collection;
270: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
271: aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getHostAddressSE:()Ljava/lang/String;
aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getPortSE:()I
272: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedToUseEMS:Z
ifeq 274
273: aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS10PlusSpec:()Z
ifeq 274
iconst_1
goto 275
StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion
StackMap stack: sun.security.ssl.ServerHandshaker new 268 new 268 sun.security.ssl.ProtocolVersion sun.security.ssl.CipherSuite java.util.Collection java.security.SecureRandom java.lang.String int
274: iconst_0
StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion
StackMap stack: sun.security.ssl.ServerHandshaker new 268 new 268 sun.security.ssl.ProtocolVersion sun.security.ssl.CipherSuite java.util.Collection java.security.SecureRandom java.lang.String int int
275: invokespecial sun.security.ssl.SSLSessionImpl.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Ljava/security/SecureRandom;Ljava/lang/String;IZ)V
276: putfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
277: aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 282
278: aload 0
getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
ifnull 282
279: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
280: aload 0
getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
281: invokevirtual sun.security.ssl.SSLSessionImpl.setPeerSupportedSignatureAlgorithms:(Ljava/util/Collection;)V
282: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
283: astore 11
start local 11 284: aload 2
ifnull 286
285: aload 2
invokevirtual sun.security.ssl.ServerNameExtension.getServerNames:()Ljava/util/List;
astore 11
286: StackMap locals: java.util.List
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
aload 11
invokevirtual sun.security.ssl.SSLSessionImpl.setRequestedServerNames:(Ljava/util/List;)V
287: aload 0
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.ServerHandshaker.setHandshakeSessionSE:(Lsun/security/ssl/SSLSessionImpl;)V
288: aload 0
aload 1
invokevirtual sun.security.ssl.ServerHandshaker.chooseCipherSuite:(Lsun/security/ssl/HandshakeMessage$ClientHello;)V
289: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
aload 0
getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
invokevirtual sun.security.ssl.SSLSessionImpl.setSuite:(Lsun/security/ssl/CipherSuite;)V
290: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
invokevirtual sun.security.ssl.SSLSessionImpl.setLocalPrivateKey:(Ljava/security/PrivateKey;)V
291: aload 6
ifnull 301
292: aload 6
invokevirtual sun.security.ssl.MaxFragmentLengthExtension.getMaxFragLen:()I
istore 12
start local 12 293: aload 0
getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
ifeq 299
294: aload 0
getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
295: iload 12
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 0
getfield sun.security.ssl.ServerHandshaker.isDTLS:Z
296: invokevirtual sun.security.ssl.CipherSuite.calculatePacketSize:(ILsun/security/ssl/ProtocolVersion;Z)I
istore 13
start local 13 297: iload 13
aload 0
getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
if_icmple 299
298: aconst_null
astore 6
end local 13 299: StackMap locals: int
StackMap stack:
aload 6
ifnull 301
300: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
iload 12
invokevirtual sun.security.ssl.SSLSessionImpl.setNegotiatedMaxFragSize:(I)V
end local 12 301: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
aload 0
getfield sun.security.ssl.ServerHandshaker.maximumPacketSize:I
invokevirtual sun.security.ssl.SSLSessionImpl.setMaximumPacketSize:(I)V
end local 11 302: goto 304
303: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.ServerHandshaker.setHandshakeSessionSE:(Lsun/security/ssl/SSLSessionImpl;)V
304: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 306
305: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
aload 0
getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
getfield sun.security.ssl.CipherSuite.prfAlg:Lsun/security/ssl/CipherSuite$PRF;
invokevirtual sun.security.ssl.CipherSuite$PRF.getPRFHashAlg:()Ljava/lang/String;
invokevirtual sun.security.ssl.HandshakeHash.setFinishedAlg:(Ljava/lang/String;)V
306: StackMap locals:
StackMap stack:
aload 9
aload 0
getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
putfield sun.security.ssl.HandshakeMessage$ServerHello.cipherSuite:Lsun/security/ssl/CipherSuite;
307: aload 9
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getSessionId:()Lsun/security/ssl/SessionId;
putfield sun.security.ssl.HandshakeMessage$ServerHello.sessionId:Lsun/security/ssl/SessionId;
308: aload 9
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getCompression:()B
putfield sun.security.ssl.HandshakeMessage$ServerHello.compression_method:B
309: aload 0
getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
ifeq 314
310: new sun.security.ssl.RenegotiationInfoExtension
dup
311: aload 0
getfield sun.security.ssl.ServerHandshaker.clientVerifyData:[B
aload 0
getfield sun.security.ssl.ServerHandshaker.serverVerifyData:[B
312: invokespecial sun.security.ssl.RenegotiationInfoExtension.<init>:([B[B)V
astore 11
start local 11 313: aload 9
getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
aload 11
invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
end local 11 314: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.sniMatchers:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifne 318
aload 2
ifnull 318
315: aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifne 318
316: new sun.security.ssl.ServerNameExtension
dup
invokespecial sun.security.ssl.ServerNameExtension.<init>:()V
astore 11
start local 11 317: aload 9
getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
aload 11
invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
end local 11 318: StackMap locals:
StackMap stack:
aload 6
ifnull 320
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifne 320
319: aload 9
getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
aload 6
invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
320: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getUseExtendedMasterSecret:()Z
ifeq 322
321: aload 9
getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
new sun.security.ssl.ExtendedMasterSecretExtension
dup
invokespecial sun.security.ssl.ExtendedMasterSecretExtension.<init>:()V
invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
322: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.ssl.ServerHandshaker.processStapling:(Lsun/security/ssl/HandshakeMessage$ClientHello;)Lsun/security/ssl/ServerHandshaker$StaplingParameters;
astore 11
start local 11 323: aload 11
ifnull 332
324: aload 11
getfield sun.security.ssl.ServerHandshaker$StaplingParameters.statusRespExt:Lsun/security/ssl/ExtensionType;
325: getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST:Lsun/security/ssl/ExtensionType;
326: if_acmpne 329
327: aload 9
getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
new sun.security.ssl.CertStatusReqExtension
dup
invokespecial sun.security.ssl.CertStatusReqExtension.<init>:()V
invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
328: goto 332
StackMap locals: sun.security.ssl.ServerHandshaker$StaplingParameters
StackMap stack:
329: aload 11
getfield sun.security.ssl.ServerHandshaker$StaplingParameters.statusRespExt:Lsun/security/ssl/ExtensionType;
330: getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST_V2:Lsun/security/ssl/ExtensionType;
if_acmpne 332
331: aload 9
getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
new sun.security.ssl.CertStatusReqListV2Extension
dup
invokespecial sun.security.ssl.CertStatusReqListV2Extension.<init>:()V
invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
332: StackMap locals:
StackMap stack:
aload 7
ifnull 355
333: aload 7
invokevirtual sun.security.ssl.ALPNExtension.getPeerAPs:()Ljava/util/List;
astore 12
start local 12 334: iload 8
ifeq 343
335: aload 0
getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
ifnull 340
336: aload 0
337: aload 0
getfield sun.security.ssl.ServerHandshaker.appProtocolSelectorSSLSocket:Ljava/util/function/BiFunction;
aload 0
getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
aload 12
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
338: putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
339: goto 343
340: StackMap locals: java.util.List
StackMap stack:
aload 0
341: aload 0
getfield sun.security.ssl.ServerHandshaker.appProtocolSelectorSSLEngine:Ljava/util/function/BiFunction;
aload 0
getfield sun.security.ssl.ServerHandshaker.engine:Lsun/security/ssl/SSLEngineImpl;
aload 12
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
342: putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
343: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
ifnull 346
344: aload 0
getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 352
345: aload 12
aload 0
getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 352
346: StackMap locals:
StackMap stack:
aload 0
bipush 120
347: new javax.net.ssl.SSLHandshakeException
dup
348: ldc "No matching ALPN values"
349: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
350: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/Throwable;)V
351: goto 356
StackMap locals:
StackMap stack:
352: aload 0
getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 356
353: aload 9
getfield sun.security.ssl.HandshakeMessage$ServerHello.extensions:Lsun/security/ssl/HelloExtensions;
new sun.security.ssl.ALPNExtension
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
invokespecial sun.security.ssl.ALPNExtension.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.ssl.HelloExtensions.add:(Lsun/security/ssl/HelloExtension;)V
end local 12 354: goto 356
355: StackMap locals:
StackMap stack:
aload 0
ldc ""
putfield sun.security.ssl.ServerHandshaker.applicationProtocol:Ljava/lang/String;
356: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 359
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 359
357: aload 9
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$ServerHello.print:(Ljava/io/PrintStream;)V
358: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Cipher suite: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
359: StackMap locals:
StackMap stack:
aload 9
aload 0
getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeMessage$ServerHello.write:(Lsun/security/ssl/HandshakeOutStream;)V
360: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 9
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
361: aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 366
362: aload 0
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
invokevirtual sun.security.ssl.ServerHandshaker.calculateConnectionKeys:(Ljavax/crypto/SecretKey;)V
363: aload 0
iconst_0
invokevirtual sun.security.ssl.ServerHandshaker.sendChangeCipherAndFinish:(Z)V
364: aload 0
invokevirtual sun.security.ssl.ServerHandshaker.expectingFinishFlightSE:()V
365: return
366: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
367: invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
ifnonnull 380
368: aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 378
aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 378
369: aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
ifnonnull 371
370: new java.lang.RuntimeException
dup
ldc "no certificates"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
371: StackMap locals:
StackMap stack:
new sun.security.ssl.HandshakeMessage$CertificateMsg
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
invokespecial sun.security.ssl.HandshakeMessage$CertificateMsg.<init>:([Ljava/security/cert/X509Certificate;)V
astore 12
start local 12 372: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
invokevirtual sun.security.ssl.SSLSessionImpl.setLocalCertificates:([Ljava/security/cert/X509Certificate;)V
373: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 375
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 375
374: aload 12
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$CertificateMsg.print:(Ljava/io/PrintStream;)V
375: StackMap locals: sun.security.ssl.HandshakeMessage$CertificateMsg
StackMap stack:
aload 12
aload 0
getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeMessage$CertificateMsg.write:(Lsun/security/ssl/HandshakeOutStream;)V
376: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 12
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
end local 12 377: goto 380
378: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
ifnull 380
379: new java.lang.RuntimeException
dup
ldc "anonymous keyexchange with certs"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
380: StackMap locals:
StackMap stack:
aload 11
ifnull 389
381: new sun.security.ssl.HandshakeMessage$CertificateStatus
dup
382: aload 11
getfield sun.security.ssl.ServerHandshaker$StaplingParameters.statReqType:Lsun/security/ssl/StatusRequestType;
aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
383: aload 11
getfield sun.security.ssl.ServerHandshaker$StaplingParameters.responseMap:Ljava/util/Map;
384: invokespecial sun.security.ssl.HandshakeMessage$CertificateStatus.<init>:(Lsun/security/ssl/StatusRequestType;[Ljava/security/cert/X509Certificate;Ljava/util/Map;)V
astore 12
start local 12 385: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 387
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 387
386: aload 12
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$CertificateStatus.print:(Ljava/io/PrintStream;)V
387: StackMap locals: sun.security.ssl.HandshakeMessage$CertificateStatus
StackMap stack:
aload 12
aload 0
getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeMessage$CertificateStatus.write:(Lsun/security/ssl/HandshakeOutStream;)V
388: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 12
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
end local 12 389: StackMap locals:
StackMap stack:
invokestatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:()[I
aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
iaload
tableswitch { // 2 - 13
2: 390
3: 392
4: 439
5: 439
6: 407
7: 407
8: 421
9: 437
10: 437
11: 423
12: 423
13: 423
default: 439
}
390: StackMap locals:
StackMap stack:
aconst_null
astore 12
start local 12 391: goto 445
end local 12 392: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokestatic sun.security.ssl.JsseJce.getRSAKeyLength:(Ljava/security/PublicKey;)I
sipush 512
if_icmple 405
393: new sun.security.ssl.HandshakeMessage$RSA_ServerKeyExchange
dup
394: aload 0
getfield sun.security.ssl.ServerHandshaker.tempPublicKey:Ljava/security/PublicKey;
aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
395: aload 0
getfield sun.security.ssl.ServerHandshaker.clnt_random:Lsun/security/ssl/RandomCookie;
aload 0
getfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
396: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
397: invokespecial sun.security.ssl.HandshakeMessage$RSA_ServerKeyExchange.<init>:(Ljava/security/PublicKey;Ljava/security/PrivateKey;Lsun/security/ssl/RandomCookie;Lsun/security/ssl/RandomCookie;Ljava/security/SecureRandom;)V
astore 12
start local 12 398: aload 0
aload 0
getfield sun.security.ssl.ServerHandshaker.tempPrivateKey:Ljava/security/PrivateKey;
putfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
399: goto 445
end local 12 StackMap locals:
StackMap stack: java.security.GeneralSecurityException
400: astore 13
start local 13 401: aconst_null
astore 12
start local 12 402: new javax.net.ssl.SSLException
dup
403: ldc "Error generating RSA server key exchange"
aload 13
404: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 end local 12 405: StackMap locals:
StackMap stack:
aconst_null
astore 12
start local 12 406: goto 445
end local 12 407: StackMap locals:
StackMap stack:
new sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
408: aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
409: aload 0
getfield sun.security.ssl.ServerHandshaker.clnt_random:Lsun/security/ssl/RandomCookie;
getfield sun.security.ssl.RandomCookie.random_bytes:[B
410: aload 0
getfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
getfield sun.security.ssl.RandomCookie.random_bytes:[B
411: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
412: aload 0
getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
413: aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
414: invokespecial sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.<init>:(Lsun/security/ssl/DHCrypt;Ljava/security/PrivateKey;[B[BLjava/security/SecureRandom;Lsun/security/ssl/SignatureAndHashAlgorithm;Lsun/security/ssl/ProtocolVersion;)V
astore 12
start local 12 415: goto 445
end local 12 StackMap locals:
StackMap stack: java.security.GeneralSecurityException
416: astore 13
start local 13 417: aconst_null
astore 12
start local 12 418: new javax.net.ssl.SSLException
dup
419: ldc "Error generating DH server key exchange"
aload 13
420: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 end local 12 421: StackMap locals:
StackMap stack:
new sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokespecial sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange.<init>:(Lsun/security/ssl/DHCrypt;Lsun/security/ssl/ProtocolVersion;)V
astore 12
start local 12 422: goto 445
end local 12 423: StackMap locals:
StackMap stack:
new sun.security.ssl.HandshakeMessage$ECDH_ServerKeyExchange
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
424: aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
425: aload 0
getfield sun.security.ssl.ServerHandshaker.clnt_random:Lsun/security/ssl/RandomCookie;
getfield sun.security.ssl.RandomCookie.random_bytes:[B
426: aload 0
getfield sun.security.ssl.ServerHandshaker.svr_random:Lsun/security/ssl/RandomCookie;
getfield sun.security.ssl.RandomCookie.random_bytes:[B
427: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
428: aload 0
getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
429: aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
430: invokespecial sun.security.ssl.HandshakeMessage$ECDH_ServerKeyExchange.<init>:(Lsun/security/ssl/ECDHCrypt;Ljava/security/PrivateKey;[B[BLjava/security/SecureRandom;Lsun/security/ssl/SignatureAndHashAlgorithm;Lsun/security/ssl/ProtocolVersion;)V
astore 12
start local 12 431: goto 445
end local 12 StackMap locals:
StackMap stack: java.security.GeneralSecurityException
432: astore 13
start local 13 433: aconst_null
astore 12
start local 12 434: new javax.net.ssl.SSLException
dup
435: ldc "Error generating ECDH server key exchange"
aload 13
436: invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 end local 12 437: StackMap locals:
StackMap stack:
aconst_null
astore 12
start local 12 438: goto 445
end local 12 439: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
440: astore 13
start local 13 441: aload 13
ifnull 444
442: aconst_null
astore 12
start local 12 443: goto 445
end local 12 444: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion sun.security.ssl.ServerHandshaker$StaplingParameters top sun.security.ssl.ClientKeyExchangeService
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "internal error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 13 start local 12 445: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.HandshakeMessage$ServerKeyExchange
StackMap stack:
aload 12
ifnull 450
446: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 448
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 448
447: aload 12
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$ServerKeyExchange.print:(Ljava/io/PrintStream;)V
448: StackMap locals:
StackMap stack:
aload 12
aload 0
getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeMessage$ServerKeyExchange.write:(Lsun/security/ssl/HandshakeOutStream;)V
449: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 12
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
450: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_NONE:Lsun/security/ssl/ClientAuthType;
if_acmpeq 475
451: aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 475
aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 475
452: aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
ifnonnull 475
453: aconst_null
astore 15
start local 15 454: aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 467
455: aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getLocalSupportedSignAlgs:()Ljava/util/Collection;
astore 15
456: aload 15
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 460
457: new javax.net.ssl.SSLHandshakeException
dup
458: ldc "No supported signature algorithm"
459: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
460: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.HandshakeMessage$ServerKeyExchange top top java.util.Collection
StackMap stack:
aload 15
461: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getHashAlgorithmNames:(Ljava/util/Collection;)Ljava/util/Set;
462: astore 16
start local 16 463: aload 16
invokeinterface java.util.Set.isEmpty:()Z
ifeq 467
464: new javax.net.ssl.SSLHandshakeException
dup
465: ldc "No supported signature algorithm"
466: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
end local 16 467: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getX509TrustManager:()Ljavax/net/ssl/X509TrustManager;
invokeinterface javax.net.ssl.X509TrustManager.getAcceptedIssuers:()[Ljava/security/cert/X509Certificate;
astore 14
start local 14 468: new sun.security.ssl.HandshakeMessage$CertificateRequest
dup
aload 14
aload 0
getfield sun.security.ssl.ServerHandshaker.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
469: aload 15
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
470: invokespecial sun.security.ssl.HandshakeMessage$CertificateRequest.<init>:([Ljava/security/cert/X509Certificate;Lsun/security/ssl/CipherSuite$KeyExchange;Ljava/util/Collection;Lsun/security/ssl/ProtocolVersion;)V
astore 13
start local 13 471: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 473
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 473
472: aload 13
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$CertificateRequest.print:(Ljava/io/PrintStream;)V
473: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerNameExtension int sun.security.ssl.CipherSuiteList sun.security.ssl.RenegotiationInfoExtension sun.security.ssl.MaxFragmentLengthExtension sun.security.ssl.ALPNExtension int sun.security.ssl.HandshakeMessage$ServerHello sun.security.ssl.ProtocolVersion sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.HandshakeMessage$ServerKeyExchange sun.security.ssl.HandshakeMessage$CertificateRequest java.security.cert.X509Certificate[] java.util.Collection
StackMap stack:
aload 13
aload 0
getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeMessage$CertificateRequest.write:(Lsun/security/ssl/HandshakeOutStream;)V
474: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 13
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
end local 15 end local 14 end local 13 475: StackMap locals:
StackMap stack:
new sun.security.ssl.HandshakeMessage$ServerHelloDone
dup
invokespecial sun.security.ssl.HandshakeMessage$ServerHelloDone.<init>:()V
astore 13
start local 13 476: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 478
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 478
477: aload 13
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$ServerHelloDone.print:(Ljava/io/PrintStream;)V
478: StackMap locals: sun.security.ssl.HandshakeMessage$ServerHelloDone
StackMap stack:
aload 13
aload 0
getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeMessage$ServerHelloDone.write:(Lsun/security/ssl/HandshakeOutStream;)V
479: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeState:Lsun/security/ssl/HandshakeStateManager;
aload 13
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
invokevirtual sun.security.ssl.HandshakeStateManager.update:(Lsun/security/ssl/HandshakeMessage;Z)V
480: aload 0
getfield sun.security.ssl.ServerHandshaker.output:Lsun/security/ssl/HandshakeOutStream;
invokevirtual sun.security.ssl.HandshakeOutStream.flush:()V
481: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 482 0 this Lsun/security/ssl/ServerHandshaker;
0 482 1 mesg Lsun/security/ssl/HandshakeMessage$ClientHello;
9 482 2 clientHelloSNIExt Lsun/security/ssl/ServerNameExtension;
16 482 3 renegotiationIndicated Z
17 482 4 cipherSuites Lsun/security/ssl/CipherSuiteList;
32 482 5 clientHelloRI Lsun/security/ssl/RenegotiationInfoExtension;
85 482 6 maxFragLenExt Lsun/security/ssl/MaxFragmentLengthExtension;
87 93 7 estimatedMaxFragSize I
98 106 7 extendedMasterSecretExtension Lsun/security/ssl/ExtendedMasterSecretExtension;
108 482 7 clientHelloALPN Lsun/security/ssl/ALPNExtension;
113 482 8 hasAPCallback Z
116 131 9 negotiatedValue Ljava/lang/String;
117 131 10 protocols Ljava/util/List<Ljava/lang/String;>;
119 122 11 ap Ljava/lang/String;
140 213 9 previous Lsun/security/ssl/SSLSessionImpl;
144 146 10 oldVersion Lsun/security/ssl/ProtocolVersion;
168 179 10 oldServerNames Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
187 201 10 suite Lsun/security/ssl/CipherSuite;
189 201 11 p Lsun/security/ssl/ClientKeyExchangeService;
191 201 12 localPrincipal Ljava/security/Principal;
203 208 10 suite Lsun/security/ssl/CipherSuite;
215 224 9 hcMgr Lsun/security/ssl/HelloCookieManager;
218 224 10 m0 Lsun/security/ssl/HandshakeMessage$HelloVerifyRequest;
225 482 9 m1 Lsun/security/ssl/HandshakeMessage$ServerHello;
228 482 10 selectedVersion Lsun/security/ssl/ProtocolVersion;
252 267 11 signAlgs Lsun/security/ssl/SignatureAlgorithmsExtension;
255 267 12 peerSignAlgs Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
262 267 13 supportedPeerSignAlgs Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
284 302 11 clientHelloSNI Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
293 301 12 maxFragLen I
297 299 13 estimatedMaxFragSize I
313 314 11 serverHelloRI Lsun/security/ssl/HelloExtension;
317 318 11 serverHelloSNI Lsun/security/ssl/ServerNameExtension;
323 482 11 staplingParams Lsun/security/ssl/ServerHandshaker$StaplingParameters;
334 354 12 peerAPs Ljava/util/List<Ljava/lang/String;>;
372 377 12 m2 Lsun/security/ssl/HandshakeMessage$CertificateMsg;
385 389 12 csMsg Lsun/security/ssl/HandshakeMessage$CertificateStatus;
391 392 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
398 400 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
402 405 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
406 407 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
415 416 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
418 421 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
422 423 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
431 432 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
434 437 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
438 439 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
443 444 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
445 482 12 m3 Lsun/security/ssl/HandshakeMessage$ServerKeyExchange;
401 405 13 e Ljava/security/GeneralSecurityException;
417 421 13 e Ljava/security/GeneralSecurityException;
433 437 13 e Ljava/security/GeneralSecurityException;
441 445 13 p Lsun/security/ssl/ClientKeyExchangeService;
471 475 13 m4 Lsun/security/ssl/HandshakeMessage$CertificateRequest;
468 475 14 caCerts [Ljava/security/cert/X509Certificate;
454 475 15 localSignAlgs Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
463 467 16 localHashAlgs Ljava/util/Set<Ljava/lang/String;>;
476 482 13 m5 Lsun/security/ssl/HandshakeMessage$ServerHelloDone;
Exception table:
from to target type
181 182 183 Class javax.net.ssl.SSLPeerUnverifiedException
393 399 400 Class java.security.GeneralSecurityException
407 415 416 Class java.security.GeneralSecurityException
423 431 432 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mesg
private void chooseCipherSuite(sun.security.ssl.HandshakeMessage$ClientHello);
descriptor: (Lsun/security/ssl/HandshakeMessage$ClientHello;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.ServerHandshaker.preferLocalCipherSuites:Z
ifeq 4
1: aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getActiveCipherSuites:()Lsun/security/ssl/CipherSuiteList;
astore 2
start local 2 2: aload 1
invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.getCipherSuites:()Lsun/security/ssl/CipherSuiteList;
astore 3
start local 3 3: goto 6
end local 3 end local 2 4: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.HandshakeMessage$ClientHello.getCipherSuites:()Lsun/security/ssl/CipherSuiteList;
astore 2
start local 2 5: aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getActiveCipherSuites:()Lsun/security/ssl/CipherSuiteList;
astore 3
start local 3 6: StackMap locals: sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 7: aload 2
invokevirtual sun.security.ssl.CipherSuiteList.collection:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 23
StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List top java.util.Iterator
StackMap stack:
8: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.CipherSuite
astore 5
start local 5 9: aload 3
aload 5
invokestatic sun.security.ssl.ServerHandshaker.isNegotiable:(Lsun/security/ssl/CipherSuiteList;Lsun/security/ssl/CipherSuite;)Z
ifne 11
10: goto 23
11: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List sun.security.ssl.CipherSuite java.util.Iterator
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
if_acmpne 15
12: aload 5
getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpeq 23
13: aload 5
getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
if_acmpne 15
14: goto 23
15: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.legacyAlgorithmConstraints:Ljava/security/AlgorithmConstraints;
aconst_null
aload 5
getfield sun.security.ssl.CipherSuite.name:Ljava/lang/String;
aconst_null
invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
ifne 18
16: aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: goto 23
18: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual sun.security.ssl.ServerHandshaker.trySetCipherSuite:(Lsun/security/ssl/CipherSuite;)Z
ifne 20
19: goto 23
20: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 22
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 22
21: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Standard ciphersuite chosen: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
22: StackMap locals:
StackMap stack:
return
end local 5 23: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
24: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 30
StackMap locals:
StackMap stack:
25: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.CipherSuite
astore 5
start local 5 26: aload 0
aload 5
invokevirtual sun.security.ssl.ServerHandshaker.trySetCipherSuite:(Lsun/security/ssl/CipherSuite;)Z
ifeq 30
27: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 29
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 29
28: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Legacy ciphersuite chosen: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
29: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List sun.security.ssl.CipherSuite java.util.Iterator
StackMap stack:
return
end local 5 30: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.CipherSuiteList sun.security.ssl.CipherSuiteList java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
31: aload 0
bipush 40
ldc "no cipher suites in common"
invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
32: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/security/ssl/ServerHandshaker;
0 33 1 mesg Lsun/security/ssl/HandshakeMessage$ClientHello;
2 4 2 prefered Lsun/security/ssl/CipherSuiteList;
5 33 2 prefered Lsun/security/ssl/CipherSuiteList;
3 4 3 proposed Lsun/security/ssl/CipherSuiteList;
6 33 3 proposed Lsun/security/ssl/CipherSuiteList;
7 33 4 legacySuites Ljava/util/List<Lsun/security/ssl/CipherSuite;>;
9 23 5 suite Lsun/security/ssl/CipherSuite;
26 30 5 suite Lsun/security/ssl/CipherSuite;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mesg
boolean trySetCipherSuite(sun.security.ssl.CipherSuite);
descriptor: (Lsun/security/ssl/CipherSuite;)Z
flags: (0x0000)
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.CipherSuite.isNegotiable:()Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 1
invokevirtual sun.security.ssl.ProtocolVersion.obsoletes:(Lsun/security/ssl/CipherSuite;)Z
ifeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 1
invokevirtual sun.security.ssl.ProtocolVersion.supports:(Lsun/security/ssl/CipherSuite;)Z
ifne 8
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.ssl.CipherSuite.keyExchange:Lsun/security/ssl/CipherSuite$KeyExchange;
astore 2
start local 2 9: aload 0
aconst_null
putfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
10: aload 0
aconst_null
putfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
11: aload 0
aconst_null
putfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
12: aload 0
aconst_null
putfield sun.security.ssl.ServerHandshaker.tempPrivateKey:Ljava/security/PrivateKey;
13: aload 0
aconst_null
putfield sun.security.ssl.ServerHandshaker.tempPublicKey:Ljava/security/PublicKey;
14: aconst_null
astore 3
start local 3 15: aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 43
16: aload 0
getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
ifnull 19
17: aload 0
getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
astore 3
18: goto 43
19: StackMap locals: sun.security.ssl.CipherSuite$KeyExchange java.util.Collection
StackMap stack:
aconst_null
astore 4
start local 4 20: invokestatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:()[I
aload 2
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
iaload
tableswitch { // 2 - 12
2: 21
3: 32
4: 21
5: 25
6: 25
7: 21
8: 32
9: 29
10: 21
11: 29
12: 21
default: 32
}
21: StackMap locals: sun.security.ssl.SignatureAndHashAlgorithm
StackMap stack:
getstatic sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.SHA1:Lsun/security/ssl/SignatureAndHashAlgorithm$HashAlgorithm;
getfield sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.value:I
22: getstatic sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.RSA:Lsun/security/ssl/SignatureAndHashAlgorithm$SignatureAlgorithm;
getfield sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.value:I
iconst_0
23: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.valueOf:(III)Lsun/security/ssl/SignatureAndHashAlgorithm;
astore 4
24: goto 32
25: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.SHA1:Lsun/security/ssl/SignatureAndHashAlgorithm$HashAlgorithm;
getfield sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.value:I
26: getstatic sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.DSA:Lsun/security/ssl/SignatureAndHashAlgorithm$SignatureAlgorithm;
getfield sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.value:I
iconst_0
27: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.valueOf:(III)Lsun/security/ssl/SignatureAndHashAlgorithm;
astore 4
28: goto 32
29: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.SHA1:Lsun/security/ssl/SignatureAndHashAlgorithm$HashAlgorithm;
getfield sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm.value:I
30: getstatic sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.ECDSA:Lsun/security/ssl/SignatureAndHashAlgorithm$SignatureAlgorithm;
getfield sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm.value:I
iconst_0
31: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.valueOf:(III)Lsun/security/ssl/SignatureAndHashAlgorithm;
astore 4
32: StackMap locals:
StackMap stack:
aload 4
ifnonnull 36
33: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
34: astore 3
35: goto 42
36: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
37: astore 3
38: aload 3
aload 4
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
39: aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
aload 3
40: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getSupportedAlgorithms:(Ljava/security/AlgorithmConstraints;Ljava/util/Collection;)Ljava/util/Collection;
41: astore 3
42: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
aload 3
invokevirtual sun.security.ssl.SSLSessionImpl.setPeerSupportedSignatureAlgorithms:(Ljava/util/Collection;)V
end local 4 43: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 44: invokestatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:()[I
aload 2
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
iaload
tableswitch { // 2 - 13
2: 45
3: 47
4: 185
5: 185
6: 105
7: 54
8: 164
9: 160
10: 156
11: 129
12: 78
13: 173
default: 185
}
45: StackMap locals: sun.security.ssl.NamedGroup
StackMap stack:
aload 0
ldc "RSA"
invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
ifne 199
46: iconst_0
ireturn
47: StackMap locals:
StackMap stack:
aload 0
ldc "RSA"
invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
ifne 49
48: iconst_0
ireturn
49: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokestatic sun.security.ssl.JsseJce.getRSAKeyLength:(Ljava/security/PublicKey;)I
sipush 512
if_icmple 199
50: aload 0
aload 1
getfield sun.security.ssl.CipherSuite.exportable:Z
invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralRSAKeys:(Z)Z
ifne 199
51: iconst_0
ireturn
52: StackMap locals:
StackMap stack: java.lang.RuntimeException
pop
53: iconst_0
ireturn
54: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
ifne 61
aload 1
getfield sun.security.ssl.CipherSuite.exportable:Z
ifne 61
55: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
ifnull 61
aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
invokevirtual sun.security.ssl.SupportedGroupsExtension.hasFFDHEGroup:()Z
ifeq 61
56: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
57: aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
58: invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
astore 4
59: aload 4
ifnonnull 61
60: iconst_0
ireturn
61: StackMap locals:
StackMap stack:
aload 0
ldc "RSA"
invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
ifne 63
62: iconst_0
ireturn
63: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 76
64: aload 0
65: aload 3
ldc "RSA"
aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
66: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getPreferableAlgorithm:(Ljava/util/Collection;Ljava/lang/String;Ljava/security/PrivateKey;)Lsun/security/ssl/SignatureAndHashAlgorithm;
67: putfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
68: aload 0
getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
ifnonnull 76
69: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 75
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 75
70: getstatic java.lang.System.out:Ljava/io/PrintStream;
71: new java.lang.StringBuilder
dup
ldc "No signature and hash algorithm for cipher "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
72: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
73: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
74: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
75: StackMap locals:
StackMap stack:
iconst_0
ireturn
76: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
getfield sun.security.ssl.CipherSuite.exportable:Z
aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralDHKeys:(Lsun/security/ssl/NamedGroup;ZLjava/security/Key;)V
77: goto 199
78: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
ifnull 83
79: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
80: aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_ECDHE:Lsun/security/ssl/NamedGroupType;
81: invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
82: goto 85
83: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
84: invokestatic sun.security.ssl.SupportedGroupsExtension.getPreferredECGroup:(Ljava/security/AlgorithmConstraints;)Lsun/security/ssl/NamedGroup;
85: StackMap locals:
StackMap stack: sun.security.ssl.NamedGroup
astore 4
86: aload 4
ifnonnull 88
87: iconst_0
ireturn
88: StackMap locals:
StackMap stack:
aload 0
ldc "RSA"
invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
ifne 90
89: iconst_0
ireturn
90: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 103
91: aload 0
92: aload 3
ldc "RSA"
aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
93: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getPreferableAlgorithm:(Ljava/util/Collection;Ljava/lang/String;Ljava/security/PrivateKey;)Lsun/security/ssl/SignatureAndHashAlgorithm;
94: putfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
95: aload 0
getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
ifnonnull 103
96: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 102
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 102
97: getstatic java.lang.System.out:Ljava/io/PrintStream;
98: new java.lang.StringBuilder
dup
ldc "No signature and hash algorithm for cipher "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
99: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
100: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
101: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
102: StackMap locals:
StackMap stack:
iconst_0
ireturn
103: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralECDHKeys:(Lsun/security/ssl/NamedGroup;)V
104: goto 199
105: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
ifne 112
aload 1
getfield sun.security.ssl.CipherSuite.exportable:Z
ifne 112
106: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
ifnull 112
aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
invokevirtual sun.security.ssl.SupportedGroupsExtension.hasFFDHEGroup:()Z
ifeq 112
107: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
108: aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
109: invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
astore 4
110: aload 4
ifnonnull 112
111: iconst_0
ireturn
112: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 125
113: aload 0
114: aload 3
ldc "DSA"
115: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getPreferableAlgorithm:(Ljava/util/Collection;Ljava/lang/String;)Lsun/security/ssl/SignatureAndHashAlgorithm;
116: putfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
117: aload 0
getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
ifnonnull 125
118: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 124
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 124
119: getstatic java.lang.System.out:Ljava/io/PrintStream;
120: new java.lang.StringBuilder
dup
ldc "No signature and hash algorithm for cipher "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
121: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
122: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
123: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
124: StackMap locals:
StackMap stack:
iconst_0
ireturn
125: StackMap locals:
StackMap stack:
aload 0
ldc "DSA"
invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
ifne 127
126: iconst_0
ireturn
127: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
getfield sun.security.ssl.CipherSuite.exportable:Z
aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralDHKeys:(Lsun/security/ssl/NamedGroup;ZLjava/security/Key;)V
128: goto 199
129: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
ifnull 134
130: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
131: aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_ECDHE:Lsun/security/ssl/NamedGroupType;
132: invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
133: goto 136
134: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
135: invokestatic sun.security.ssl.SupportedGroupsExtension.getPreferredECGroup:(Ljava/security/AlgorithmConstraints;)Lsun/security/ssl/NamedGroup;
136: StackMap locals:
StackMap stack: sun.security.ssl.NamedGroup
astore 4
137: aload 4
ifnonnull 139
138: iconst_0
ireturn
139: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 152
140: aload 0
141: aload 3
ldc "ECDSA"
142: invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getPreferableAlgorithm:(Ljava/util/Collection;Ljava/lang/String;)Lsun/security/ssl/SignatureAndHashAlgorithm;
143: putfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
144: aload 0
getfield sun.security.ssl.ServerHandshaker.preferableSignatureAlgorithm:Lsun/security/ssl/SignatureAndHashAlgorithm;
ifnonnull 152
145: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 151
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 151
146: getstatic java.lang.System.out:Ljava/io/PrintStream;
147: new java.lang.StringBuilder
dup
ldc "No signature and hash algorithm for cipher "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
148: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
149: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
150: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
151: StackMap locals:
StackMap stack:
iconst_0
ireturn
152: StackMap locals:
StackMap stack:
aload 0
ldc "EC"
invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
ifne 154
153: iconst_0
ireturn
154: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralECDHKeys:(Lsun/security/ssl/NamedGroup;)V
155: goto 199
156: StackMap locals:
StackMap stack:
aload 0
ldc "EC"
invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
ifne 158
157: iconst_0
ireturn
158: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.ServerHandshaker.setupStaticECDHKeys:()V
159: goto 199
160: StackMap locals:
StackMap stack:
aload 0
ldc "EC"
invokevirtual sun.security.ssl.ServerHandshaker.setupPrivateKeyAndChain:(Ljava/lang/String;)Z
ifne 162
161: iconst_0
ireturn
162: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.ServerHandshaker.setupStaticECDHKeys:()V
163: goto 199
164: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
ifne 171
aload 1
getfield sun.security.ssl.CipherSuite.exportable:Z
ifne 171
165: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
ifnull 171
aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
invokevirtual sun.security.ssl.SupportedGroupsExtension.hasFFDHEGroup:()Z
ifeq 171
166: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
167: aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
168: invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
astore 4
169: aload 4
ifnonnull 171
170: iconst_0
ireturn
171: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 1
getfield sun.security.ssl.CipherSuite.exportable:Z
aconst_null
invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralDHKeys:(Lsun/security/ssl/NamedGroup;ZLjava/security/Key;)V
172: goto 199
173: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
ifnull 178
174: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
175: aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_ECDHE:Lsun/security/ssl/NamedGroupType;
176: invokevirtual sun.security.ssl.SupportedGroupsExtension.getPreferredGroup:(Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
177: goto 180
178: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
179: invokestatic sun.security.ssl.SupportedGroupsExtension.getPreferredECGroup:(Ljava/security/AlgorithmConstraints;)Lsun/security/ssl/NamedGroup;
180: StackMap locals:
StackMap stack: sun.security.ssl.NamedGroup
astore 4
181: aload 4
ifnonnull 183
182: iconst_0
ireturn
183: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual sun.security.ssl.ServerHandshaker.setupEphemeralECDHKeys:(Lsun/security/ssl/NamedGroup;)V
184: goto 199
185: StackMap locals:
StackMap stack:
aload 2
getfield sun.security.ssl.CipherSuite$KeyExchange.name:Ljava/lang/String;
invokestatic sun.security.ssl.ClientKeyExchangeService.find:(Ljava/lang/String;)Lsun/security/ssl/ClientKeyExchangeService;
186: astore 5
start local 5 187: aload 5
ifnonnull 191
188: new java.lang.RuntimeException
dup
189: new java.lang.StringBuilder
dup
ldc "Unrecognized cipherSuite: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
190: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
191: StackMap locals: sun.security.ssl.ClientKeyExchangeService
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
ifnonnull 199
192: aload 0
invokevirtual sun.security.ssl.ServerHandshaker.getAccSE:()Ljava/security/AccessControlContext;
astore 6
start local 6 193: aload 0
aload 5
aload 6
invokeinterface sun.security.ssl.ClientKeyExchangeService.getServiceCreds:(Ljava/security/AccessControlContext;)Ljava/lang/Object;
putfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
194: aload 0
getfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
ifnull 197
195: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 197
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 197
196: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Using serviceCreds"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
197: StackMap locals: java.security.AccessControlContext
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.serviceCreds:Ljava/lang/Object;
ifnonnull 199
198: iconst_0
ireturn
end local 6 end local 5 199: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.ssl.ServerHandshaker.setCipherSuite:(Lsun/security/ssl/CipherSuite;)V
200: aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 203
201: aload 0
getfield sun.security.ssl.ServerHandshaker.peerSupportedSignAlgs:Ljava/util/Collection;
ifnonnull 203
202: aload 0
aload 3
invokevirtual sun.security.ssl.ServerHandshaker.setPeerSupportedSignAlgs:(Ljava/util/Collection;)V
203: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 204 0 this Lsun/security/ssl/ServerHandshaker;
0 204 1 suite Lsun/security/ssl/CipherSuite;
9 204 2 keyExchange Lsun/security/ssl/CipherSuite$KeyExchange;
15 204 3 supportedSignAlgs Ljava/util/Collection<Lsun/security/ssl/SignatureAndHashAlgorithm;>;
20 43 4 algorithm Lsun/security/ssl/SignatureAndHashAlgorithm;
44 204 4 namedGroup Lsun/security/ssl/NamedGroup;
187 199 5 p Lsun/security/ssl/ClientKeyExchangeService;
193 199 6 acc Ljava/security/AccessControlContext;
Exception table:
from to target type
49 51 52 Class java.lang.RuntimeException
MethodParameters:
Name Flags
suite
private boolean setupEphemeralRSAKeys(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getEphemeralKeyManager:()Lsun/security/ssl/EphemeralKeyManager;
1: iload 1
aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
invokevirtual sun.security.ssl.EphemeralKeyManager.getRSAKeyPair:(ZLjava/security/SecureRandom;)Ljava/security/KeyPair;
2: astore 2
start local 2 3: aload 2
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: java.security.KeyPair
StackMap stack:
aload 0
aload 2
invokevirtual java.security.KeyPair.getPublic:()Ljava/security/PublicKey;
putfield sun.security.ssl.ServerHandshaker.tempPublicKey:Ljava/security/PublicKey;
6: aload 0
aload 2
invokevirtual java.security.KeyPair.getPrivate:()Ljava/security/PrivateKey;
putfield sun.security.ssl.ServerHandshaker.tempPrivateKey:Ljava/security/PrivateKey;
7: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/ServerHandshaker;
0 8 1 export Z
3 8 2 kp Ljava/security/KeyPair;
MethodParameters:
Name Flags
export
private void setupEphemeralDHKeys(sun.security.ssl.NamedGroup, boolean, java.security.Key);
descriptor: (Lsun/security/ssl/NamedGroup;ZLjava/security/Key;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
ifne 3
iload 2
ifne 3
aload 1
ifnull 3
1: aload 0
new sun.security.ssl.DHCrypt
dup
aload 1
aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
invokespecial sun.security.ssl.DHCrypt.<init>:(Lsun/security/ssl/NamedGroup;Ljava/security/SecureRandom;)V
putfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
2: return
3: StackMap locals:
StackMap stack:
iload 2
ifeq 4
sipush 512
goto 5
StackMap locals:
StackMap stack:
4: sipush 1024
StackMap locals:
StackMap stack: int
5: istore 4
start local 4 6: iload 2
ifne 19
7: getstatic sun.security.ssl.ServerHandshaker.useLegacyEphemeralDHKeys:Z
ifeq 10
8: sipush 768
istore 4
9: goto 19
StackMap locals: int
StackMap stack:
10: getstatic sun.security.ssl.ServerHandshaker.useSmartEphemeralDHKeys:Z
ifeq 17
11: aload 3
ifnull 19
12: aload 3
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
istore 5
start local 5 13: iload 5
sipush 1024
if_icmpgt 14
sipush 1024
goto 15
StackMap locals: int
StackMap stack:
14: sipush 2048
StackMap locals:
StackMap stack: int
15: istore 4
end local 5 16: goto 19
StackMap locals:
StackMap stack:
17: getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
ifle 19
18: getstatic sun.security.ssl.ServerHandshaker.customizedDHKeySize:I
istore 4
19: StackMap locals:
StackMap stack:
aload 0
new sun.security.ssl.DHCrypt
dup
iload 4
aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
invokespecial sun.security.ssl.DHCrypt.<init>:(ILjava/security/SecureRandom;)V
putfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
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/ServerHandshaker;
0 21 1 namedGroup Lsun/security/ssl/NamedGroup;
0 21 2 export Z
0 21 3 key Ljava/security/Key;
6 21 4 keySize I
13 16 5 ks I
MethodParameters:
Name Flags
namedGroup
export
key
private void setupEphemeralECDHKeys(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new sun.security.ssl.ECDHCrypt
dup
aload 1
aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
invokespecial sun.security.ssl.ECDHCrypt.<init>:(Lsun/security/ssl/NamedGroup;Ljava/security/SecureRandom;)V
putfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/ServerHandshaker;
0 2 1 namedGroup Lsun/security/ssl/NamedGroup;
MethodParameters:
Name Flags
namedGroup
private void setupStaticECDHKeys();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
new sun.security.ssl.ECDHCrypt
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokespecial sun.security.ssl.ECDHCrypt.<init>:(Ljava/security/PrivateKey;Ljava/security/PublicKey;)V
putfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/ServerHandshaker;
private boolean setupPrivateKeyAndChain(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getX509KeyManager:()Ljavax/net/ssl/X509ExtendedKeyManager;
astore 2
start local 2 1: aload 0
getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
ifnull 4
2: aload 2
aload 1
aconst_null
aload 0
getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
invokevirtual javax.net.ssl.X509ExtendedKeyManager.chooseServerAlias:(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
astore 3
start local 3 3: goto 5
end local 3 4: StackMap locals: javax.net.ssl.X509ExtendedKeyManager
StackMap stack:
aload 2
aload 1
aconst_null
aload 0
getfield sun.security.ssl.ServerHandshaker.engine:Lsun/security/ssl/SSLEngineImpl;
invokevirtual javax.net.ssl.X509ExtendedKeyManager.chooseEngineServerAlias:(Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;
astore 3
start local 3 5: StackMap locals: java.lang.String
StackMap stack:
aload 3
ifnonnull 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 2
aload 3
invokevirtual javax.net.ssl.X509ExtendedKeyManager.getPrivateKey:(Ljava/lang/String;)Ljava/security/PrivateKey;
astore 4
start local 4 8: aload 4
ifnonnull 10
9: iconst_0
ireturn
10: StackMap locals: java.security.PrivateKey
StackMap stack:
aload 2
aload 3
invokevirtual javax.net.ssl.X509ExtendedKeyManager.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
astore 5
start local 5 11: aload 5
ifnull 12
aload 5
arraylength
ifne 13
12: StackMap locals: java.security.cert.X509Certificate[]
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 1
ldc "_"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
iconst_0
aaload
astore 6
start local 6 14: aload 5
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 7
start local 7 15: aload 4
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
16: aload 7
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
aload 6
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
17: StackMap locals: java.lang.String java.security.PublicKey
StackMap stack:
iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 6
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 28
19: aload 7
instanceof java.security.interfaces.ECPublicKey
ifne 21
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
aload 7
checkcast java.security.interfaces.ECPublicKey
invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
astore 8
start local 8 22: aload 8
invokestatic sun.security.ssl.NamedGroup.valueOf:(Ljava/security/spec/ECParameterSpec;)Lsun/security/ssl/NamedGroup;
astore 9
start local 9 23: aload 9
ifnull 27
24: aload 9
invokestatic sun.security.ssl.SupportedGroupsExtension.supports:(Lsun/security/ssl/NamedGroup;)Z
ifeq 27
25: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
ifnull 28
26: aload 0
getfield sun.security.ssl.ServerHandshaker.requestedGroups:Lsun/security/ssl/SupportedGroupsExtension;
aload 9
getfield sun.security.ssl.NamedGroup.id:I
invokevirtual sun.security.ssl.SupportedGroupsExtension.contains:(I)Z
ifne 28
27: StackMap locals: java.security.spec.ECParameterSpec sun.security.ssl.NamedGroup
StackMap stack:
iconst_0
ireturn
end local 9 end local 8 28: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield sun.security.ssl.ServerHandshaker.privateKey:Ljava/security/PrivateKey;
29: aload 0
aload 5
putfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
30: iconst_1
ireturn
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 31 0 this Lsun/security/ssl/ServerHandshaker;
0 31 1 algorithm Ljava/lang/String;
1 31 2 km Ljavax/net/ssl/X509ExtendedKeyManager;
3 4 3 alias Ljava/lang/String;
5 31 3 alias Ljava/lang/String;
8 31 4 tempPrivateKey Ljava/security/PrivateKey;
11 31 5 tempCerts [Ljava/security/cert/X509Certificate;
14 31 6 keyAlgorithm Ljava/lang/String;
15 31 7 publicKey Ljava/security/PublicKey;
22 28 8 params Ljava/security/spec/ECParameterSpec;
23 28 9 namedGroup Lsun/security/ssl/NamedGroup;
MethodParameters:
Name Flags
algorithm
private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.ClientKeyExchange);
descriptor: (Lsun/security/ssl/ClientKeyExchange;)Ljavax/crypto/SecretKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.ClientKeyExchange.print:(Ljava/io/PrintStream;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
aload 1
invokevirtual sun.security.ssl.ClientKeyExchange.getPeerPrincipal:()Ljava/security/Principal;
invokevirtual sun.security.ssl.SSLSessionImpl.setPeerPrincipal:(Ljava/security/Principal;)V
3: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
aload 1
invokevirtual sun.security.ssl.ClientKeyExchange.getLocalPrincipal:()Ljava/security/Principal;
invokevirtual sun.security.ssl.SSLSessionImpl.setLocalPrincipal:(Ljava/security/Principal;)V
4: aload 1
invokevirtual sun.security.ssl.ClientKeyExchange.clientKeyExchange:()Ljavax/crypto/SecretKey;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/ServerHandshaker;
0 5 1 mesg Lsun/security/ssl/ClientKeyExchange;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mesg
private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.DHClientKeyExchange);
descriptor: (Lsun/security/ssl/DHClientKeyExchange;)Ljavax/crypto/SecretKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.DHClientKeyExchange.print:(Ljava/io/PrintStream;)V
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.DHClientKeyExchange.getClientPublicKey:()Ljava/math/BigInteger;
astore 2
start local 2 3: aload 0
getfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
aload 2
invokevirtual sun.security.ssl.DHCrypt.checkConstraints:(Ljava/security/AlgorithmConstraints;Ljava/math/BigInteger;)V
4: aload 0
getfield sun.security.ssl.ServerHandshaker.dh:Lsun/security/ssl/DHCrypt;
aload 2
iconst_0
invokevirtual sun.security.ssl.DHCrypt.getAgreedSecret:(Ljava/math/BigInteger;Z)Ljavax/crypto/SecretKey;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/ServerHandshaker;
0 5 1 mesg Lsun/security/ssl/DHClientKeyExchange;
3 5 2 publicKeyValue Ljava/math/BigInteger;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mesg
private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.ECDHClientKeyExchange);
descriptor: (Lsun/security/ssl/ECDHClientKeyExchange;)Ljavax/crypto/SecretKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.ECDHClientKeyExchange.print:(Ljava/io/PrintStream;)V
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.ECDHClientKeyExchange.getEncodedPoint:()[B
astore 2
start local 2 3: aload 0
getfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
aload 0
getfield sun.security.ssl.ServerHandshaker.algorithmConstraints:Ljava/security/AlgorithmConstraints;
aload 2
invokevirtual sun.security.ssl.ECDHCrypt.checkConstraints:(Ljava/security/AlgorithmConstraints;[B)V
4: aload 0
getfield sun.security.ssl.ServerHandshaker.ecdh:Lsun/security/ssl/ECDHCrypt;
aload 2
invokevirtual sun.security.ssl.ECDHCrypt.getAgreedSecret:([B)Ljavax/crypto/SecretKey;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/ServerHandshaker;
0 5 1 mesg Lsun/security/ssl/ECDHClientKeyExchange;
3 5 2 publicPoint [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mesg
private void clientCertificateVerify(sun.security.ssl.HandshakeMessage$CertificateVerify);
descriptor: (Lsun/security/ssl/HandshakeMessage$CertificateVerify;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$CertificateVerify.print:(Ljava/io/PrintStream;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 15
3: aload 1
invokevirtual sun.security.ssl.HandshakeMessage$CertificateVerify.getPreferableSignatureAlgorithm:()Lsun/security/ssl/SignatureAndHashAlgorithm;
4: astore 2
start local 2 5: aload 2
ifnonnull 9
6: new javax.net.ssl.SSLHandshakeException
dup
7: ldc "Illegal CertificateVerify message"
8: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: sun.security.ssl.SignatureAndHashAlgorithm
StackMap stack:
aload 2
invokestatic sun.security.ssl.SignatureAndHashAlgorithm.getHashAlgorithmName:(Lsun/security/ssl/SignatureAndHashAlgorithm;)Ljava/lang/String;
10: astore 3
start local 3 11: aload 3
ifnull 12
aload 3
invokevirtual java.lang.String.length:()I
ifne 15
12: StackMap locals: java.lang.String
StackMap stack:
new javax.net.ssl.SSLHandshakeException
dup
13: ldc "No supported hash algorithm"
14: invokespecial javax.net.ssl.SSLHandshakeException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getPeerCertificates:()[Ljava/security/cert/Certificate;
iconst_0
aaload
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
16: astore 2
start local 2 17: aload 1
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
18: aload 2
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
19: invokevirtual sun.security.ssl.HandshakeMessage$CertificateVerify.verify:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/HandshakeHash;Ljava/security/PublicKey;Ljavax/crypto/SecretKey;)Z
istore 3
start local 3 20: iload 3
ifne 29
21: aload 0
bipush 42
22: ldc "certificate verify message signature error"
23: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
end local 3 end local 2 24: goto 29
StackMap locals:
StackMap stack: java.security.GeneralSecurityException
25: astore 2
start local 2 26: aload 0
bipush 42
27: ldc "certificate verify format error"
aload 2
28: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;Ljava/lang/Throwable;)V
end local 2 29: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
30: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/ssl/ServerHandshaker;
0 31 1 mesg Lsun/security/ssl/HandshakeMessage$CertificateVerify;
5 15 2 signAlg Lsun/security/ssl/SignatureAndHashAlgorithm;
11 15 3 hashAlg Ljava/lang/String;
17 24 2 publicKey Ljava/security/PublicKey;
20 24 3 valid Z
26 29 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
15 24 25 Class java.security.GeneralSecurityException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mesg
private void clientFinished(sun.security.ssl.HandshakeMessage$Finished);
descriptor: (Lsun/security/ssl/HandshakeMessage$Finished;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$Finished.print:(Ljava/io/PrintStream;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUIRED:Lsun/security/ssl/ClientAuthType;
if_acmpne 4
3: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getPeerPrincipal:()Ljava/security/Principal;
pop
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
ifeq 8
5: aload 0
bipush 40
6: ldc "client did not send certificate verify message"
7: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
iconst_1
9: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
10: invokevirtual sun.security.ssl.HandshakeMessage$Finished.verify:(Lsun/security/ssl/HandshakeHash;ILjavax/crypto/SecretKey;)Z
istore 2
start local 2 11: iload 2
ifne 15
12: aload 0
bipush 40
13: ldc "client 'finished' message doesn't verify"
14: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
15: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
ifeq 17
16: aload 0
aload 1
invokevirtual sun.security.ssl.HandshakeMessage$Finished.getVerifyData:()[B
putfield sun.security.ssl.ServerHandshaker.clientVerifyData:[B
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifne 20
18: aload 0
iconst_1
invokevirtual sun.security.ssl.ServerHandshaker.sendChangeCipherAndFinish:(Z)V
19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.ServerHandshaker.handshakeFinished:Z
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual sun.security.ssl.SSLSessionImpl.setLastAccessedTime:(J)V
22: aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifne 30
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.isRejoinable:()Z
ifeq 30
23: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.engineGetServerSessionContext:()Ljavax/net/ssl/SSLSessionContext;
checkcast sun.security.ssl.SSLSessionContextImpl
24: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionContextImpl.put:(Lsun/security/ssl/SSLSessionImpl;)V
25: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 37
ldc "session"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 37
26: getstatic java.lang.System.out:Ljava/io/PrintStream;
27: new java.lang.StringBuilder
dup
ldc "%% Cached server session: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
29: goto 37
StackMap locals:
StackMap stack:
30: aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifne 37
31: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 37
ldc "session"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 37
32: getstatic java.lang.System.out:Ljava/io/PrintStream;
33: new java.lang.StringBuilder
dup
ldc "%% Didn't cache non-resumable server session: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
34: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
35: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
37: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/security/ssl/ServerHandshaker;
0 38 1 mesg Lsun/security/ssl/HandshakeMessage$Finished;
11 38 2 verified Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mesg
private void sendChangeCipherAndFinish(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
invokevirtual sun.security.ssl.HandshakeHash.reload:()V
1: new sun.security.ssl.HandshakeMessage$Finished
dup
aload 0
getfield sun.security.ssl.ServerHandshaker.protocolVersion:Lsun/security/ssl/ProtocolVersion;
aload 0
getfield sun.security.ssl.ServerHandshaker.handshakeHash:Lsun/security/ssl/HandshakeHash;
2: iconst_2
aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getMasterSecret:()Ljavax/crypto/SecretKey;
aload 0
getfield sun.security.ssl.ServerHandshaker.cipherSuite:Lsun/security/ssl/CipherSuite;
3: invokespecial sun.security.ssl.HandshakeMessage$Finished.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/HandshakeHash;ILjavax/crypto/SecretKey;Lsun/security/ssl/CipherSuite;)V
astore 2
start local 2 4: aload 0
aload 2
iload 1
invokevirtual sun.security.ssl.ServerHandshaker.sendChangeCipherSpec:(Lsun/security/ssl/HandshakeMessage$Finished;Z)V
5: aload 0
getfield sun.security.ssl.ServerHandshaker.secureRenegotiation:Z
ifeq 7
6: aload 0
aload 2
invokevirtual sun.security.ssl.HandshakeMessage$Finished.getVerifyData:()[B
putfield sun.security.ssl.ServerHandshaker.serverVerifyData:[B
7: StackMap locals: sun.security.ssl.HandshakeMessage$Finished
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/ssl/ServerHandshaker;
0 8 1 finishedTag Z
4 8 2 mesg Lsun/security/ssl/HandshakeMessage$Finished;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
finishedTag
sun.security.ssl.HandshakeMessage getKickstartMessage();
descriptor: ()Lsun/security/ssl/HandshakeMessage;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: new sun.security.ssl.HandshakeMessage$HelloRequest
dup
invokespecial sun.security.ssl.HandshakeMessage$HelloRequest.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/ServerHandshaker;
void handshakeAlert(byte);
descriptor: (B)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iload 1
invokestatic sun.security.ssl.Alerts.alertDescription:(B)Ljava/lang/String;
astore 2
start local 2 1: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 5
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 5
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "SSL -- handshake alert: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: StackMap locals: java.lang.String
StackMap stack:
iload 1
bipush 41
if_icmpne 8
6: aload 0
getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
if_acmpne 8
7: return
8: StackMap locals:
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
new java.lang.StringBuilder
dup
ldc "handshake alert: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.net.ssl.SSLProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/ssl/ServerHandshaker;
0 9 1 description B
1 9 2 message Ljava/lang/String;
Exceptions:
throws javax.net.ssl.SSLProtocolException
MethodParameters:
Name Flags
description
private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.RSAClientKeyExchange);
descriptor: (Lsun/security/ssl/RSAClientKeyExchange;)Ljavax/crypto/SecretKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.RSAClientKeyExchange.print:(Ljava/io/PrintStream;)V
2: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.ssl.RSAClientKeyExchange.preMaster:Ljavax/crypto/SecretKey;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/ServerHandshaker;
0 3 1 mesg Lsun/security/ssl/RSAClientKeyExchange;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mesg
private void clientCertificate(sun.security.ssl.HandshakeMessage$CertificateMsg);
descriptor: (Lsun/security/ssl/HandshakeMessage$CertificateMsg;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 2
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 2
1: aload 1
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.ssl.HandshakeMessage$CertificateMsg.print:(Ljava/io/PrintStream;)V
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.ssl.HandshakeMessage$CertificateMsg.getCertificateChain:()[Ljava/security/cert/X509Certificate;
astore 2
start local 2 3: aload 2
arraylength
ifne 9
4: aload 0
getfield sun.security.ssl.ServerHandshaker.doClientAuth:Lsun/security/ssl/ClientAuthType;
getstatic sun.security.ssl.ClientAuthType.CLIENT_AUTH_REQUESTED:Lsun/security/ssl/ClientAuthType;
if_acmpne 6
5: return
6: StackMap locals: java.security.cert.X509Certificate[]
StackMap stack:
aload 0
bipush 42
7: ldc "null cert chain"
8: invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getX509TrustManager:()Ljavax/net/ssl/X509TrustManager;
astore 3
start local 3 10: aload 2
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 4
start local 4 11: aload 4
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
astore 5
start local 5 12: aload 5
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: ldc "RSA"
astore 6
start local 6 14: goto 22
end local 6 StackMap locals: javax.net.ssl.X509TrustManager java.security.PublicKey java.lang.String
StackMap stack:
15: aload 5
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
16: ldc "DSA"
astore 6
start local 6 17: goto 22
end local 6 StackMap locals:
StackMap stack:
18: aload 5
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
19: ldc "EC"
astore 6
start local 6 20: goto 22
end local 6 21: StackMap locals:
StackMap stack:
ldc "UNKNOWN"
astore 6
start local 6 22: StackMap locals: java.lang.String
StackMap stack:
aload 3
instanceof javax.net.ssl.X509ExtendedTrustManager
ifeq 36
23: aload 0
getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
ifnull 30
24: aload 3
checkcast javax.net.ssl.X509ExtendedTrustManager
25: aload 2
invokevirtual java.security.cert.X509Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate[]
26: aload 6
27: aload 0
getfield sun.security.ssl.ServerHandshaker.conn:Lsun/security/ssl/SSLSocketImpl;
28: invokevirtual javax.net.ssl.X509ExtendedTrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
29: goto 41
30: StackMap locals:
StackMap stack:
aload 3
checkcast javax.net.ssl.X509ExtendedTrustManager
31: aload 2
invokevirtual java.security.cert.X509Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate[]
32: aload 6
33: aload 0
getfield sun.security.ssl.ServerHandshaker.engine:Lsun/security/ssl/SSLEngineImpl;
34: invokevirtual javax.net.ssl.X509ExtendedTrustManager.checkClientTrusted:([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V
35: goto 41
36: StackMap locals:
StackMap stack:
new java.security.cert.CertificateException
dup
37: ldc "Improper X509TrustManager implementation"
38: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 end local 4 39: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$CertificateMsg java.security.cert.X509Certificate[] javax.net.ssl.X509TrustManager
StackMap stack: java.security.cert.CertificateException
astore 4
start local 4 40: aload 0
bipush 46
aload 4
invokevirtual sun.security.ssl.ServerHandshaker.fatalSE:(BLjava/lang/Throwable;)V
end local 4 41: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.ssl.ServerHandshaker.needClientVerify:Z
42: aload 0
getfield sun.security.ssl.ServerHandshaker.session:Lsun/security/ssl/SSLSessionImpl;
aload 2
invokevirtual sun.security.ssl.SSLSessionImpl.setPeerCertificates:([Ljava/security/cert/X509Certificate;)V
43: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/security/ssl/ServerHandshaker;
0 44 1 mesg Lsun/security/ssl/HandshakeMessage$CertificateMsg;
3 44 2 peerCerts [Ljava/security/cert/X509Certificate;
10 44 3 tm Ljavax/net/ssl/X509TrustManager;
11 39 4 key Ljava/security/PublicKey;
12 39 5 keyAlgorithm Ljava/lang/String;
14 15 6 authType Ljava/lang/String;
17 18 6 authType Ljava/lang/String;
20 21 6 authType Ljava/lang/String;
22 39 6 authType Ljava/lang/String;
40 41 4 e Ljava/security/cert/CertificateException;
Exception table:
from to target type
10 39 39 Class java.security.cert.CertificateException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
mesg
private sun.security.ssl.ServerHandshaker$StaplingParameters processStapling(sun.security.ssl.HandshakeMessage$ClientHello);
descriptor: (Lsun/security/ssl/HandshakeMessage$ClientHello;)Lsun/security/ssl/ServerHandshaker$StaplingParameters;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=16, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
iconst_0
invokevirtual sun.security.ssl.SSLContextImpl.isStaplingEnabled:(Z)Z
ifeq 5
aload 0
getfield sun.security.ssl.ServerHandshaker.resumingSession:Z
ifeq 6
5: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.ExtensionType sun.security.ssl.StatusRequestType sun.security.ssl.StatusRequest
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST:Lsun/security/ssl/ExtensionType;
invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
7: checkcast sun.security.ssl.CertStatusReqExtension
astore 7
start local 7 8: aload 1
getfield sun.security.ssl.HandshakeMessage$ClientHello.extensions:Lsun/security/ssl/HelloExtensions;
9: getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST_V2:Lsun/security/ssl/ExtensionType;
10: invokevirtual sun.security.ssl.HelloExtensions.get:(Lsun/security/ssl/ExtensionType;)Lsun/security/ssl/HelloExtension;
checkcast sun.security.ssl.CertStatusReqListV2Extension
11: astore 8
start local 8 12: aload 8
ifnull 47
13: getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST_V2:Lsun/security/ssl/ExtensionType;
astore 3
14: aload 8
invokevirtual sun.security.ssl.CertStatusReqListV2Extension.getRequestItems:()Ljava/util/List;
15: astore 9
start local 9 16: iconst_m1
istore 10
start local 10 17: iconst_m1
istore 11
start local 11 18: iconst_0
istore 12
start local 12 19: goto 35
20: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.ExtensionType sun.security.ssl.StatusRequestType sun.security.ssl.StatusRequest top sun.security.ssl.CertStatusReqExtension sun.security.ssl.CertStatusReqListV2Extension java.util.List int int int
StackMap stack:
aload 9
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast sun.security.ssl.CertStatusReqItemV2
astore 13
start local 13 21: aload 13
invokevirtual sun.security.ssl.CertStatusReqItemV2.getType:()Lsun/security/ssl/StatusRequestType;
astore 14
start local 14 22: iload 10
ifge 28
aload 14
getstatic sun.security.ssl.StatusRequestType.OCSP:Lsun/security/ssl/StatusRequestType;
if_acmpne 28
23: aload 13
invokevirtual sun.security.ssl.CertStatusReqItemV2.getRequest:()Lsun/security/ssl/StatusRequest;
checkcast sun.security.ssl.OCSPStatusRequest
24: astore 15
start local 15 25: aload 15
invokevirtual sun.security.ssl.OCSPStatusRequest.getResponderIds:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 34
26: iload 12
istore 10
end local 15 27: goto 34
StackMap locals: sun.security.ssl.CertStatusReqItemV2 sun.security.ssl.StatusRequestType
StackMap stack:
28: iload 11
ifge 34
29: aload 14
getstatic sun.security.ssl.StatusRequestType.OCSP_MULTI:Lsun/security/ssl/StatusRequestType;
if_acmpne 34
30: aload 13
invokevirtual sun.security.ssl.CertStatusReqItemV2.getRequest:()Lsun/security/ssl/StatusRequest;
checkcast sun.security.ssl.OCSPStatusRequest
31: astore 15
start local 15 32: aload 15
invokevirtual sun.security.ssl.OCSPStatusRequest.getResponderIds:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 34
33: iload 12
istore 11
end local 15 end local 14 end local 13 34: StackMap locals:
StackMap stack:
iinc 12 1
35: StackMap locals:
StackMap stack:
iload 12
aload 9
invokeinterface java.util.List.size:()I
if_icmpge 37
36: iload 10
iconst_m1
if_icmpeq 20
iload 11
iconst_m1
if_icmpeq 20
end local 12 37: StackMap locals:
StackMap stack:
iload 11
iflt 41
38: aload 9
iload 11
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast sun.security.ssl.CertStatusReqItemV2
invokevirtual sun.security.ssl.CertStatusReqItemV2.getType:()Lsun/security/ssl/StatusRequestType;
astore 4
39: aload 9
iload 11
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast sun.security.ssl.CertStatusReqItemV2
invokevirtual sun.security.ssl.CertStatusReqItemV2.getRequest:()Lsun/security/ssl/StatusRequest;
astore 5
40: goto 47
StackMap locals:
StackMap stack:
41: iload 10
iflt 45
42: aload 9
iload 10
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast sun.security.ssl.CertStatusReqItemV2
invokevirtual sun.security.ssl.CertStatusReqItemV2.getType:()Lsun/security/ssl/StatusRequestType;
astore 4
43: aload 9
iload 10
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast sun.security.ssl.CertStatusReqItemV2
invokevirtual sun.security.ssl.CertStatusReqItemV2.getRequest:()Lsun/security/ssl/StatusRequest;
astore 5
44: goto 47
45: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 47
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 47
46: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Warning: No suitable request found in the status_request_v2 extension."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 11 end local 10 end local 9 47: StackMap locals:
StackMap stack:
aload 7
ifnull 60
48: aload 3
ifnull 49
aload 4
ifnull 49
aload 5
ifnonnull 60
49: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.ExtensionType.EXT_STATUS_REQUEST:Lsun/security/ssl/ExtensionType;
astore 3
50: aload 7
invokevirtual sun.security.ssl.CertStatusReqExtension.getType:()Lsun/security/ssl/StatusRequestType;
astore 4
51: aload 4
getstatic sun.security.ssl.StatusRequestType.OCSP:Lsun/security/ssl/StatusRequestType;
if_acmpne 60
52: aload 7
invokevirtual sun.security.ssl.CertStatusReqExtension.getRequest:()Lsun/security/ssl/StatusRequest;
checkcast sun.security.ssl.OCSPStatusRequest
53: astore 9
start local 9 54: aload 9
invokevirtual sun.security.ssl.OCSPStatusRequest.getResponderIds:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 57
55: aload 9
astore 5
56: goto 60
57: StackMap locals: sun.security.ssl.OCSPStatusRequest
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 60
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 60
58: aconst_null
astore 5
59: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Warning: No suitable request found in the status_request extension."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 9 60: StackMap locals:
StackMap stack:
aload 4
ifnull 61
aload 5
ifnull 61
aload 3
ifnonnull 62
61: StackMap locals:
StackMap stack:
aconst_null
areturn
62: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.ServerHandshaker.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getStatusResponseManager:()Lsun/security/ssl/StatusResponseManager;
63: astore 9
start local 9 64: aload 9
ifnull 75
65: aload 9
aload 4
aload 5
aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
aload 0
getfield sun.security.ssl.ServerHandshaker.statusRespTimeout:J
66: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
67: invokevirtual sun.security.ssl.StatusResponseManager.get:(Lsun/security/ssl/StatusRequestType;Lsun/security/ssl/StatusRequest;[Ljava/security/cert/X509Certificate;JLjava/util/concurrent/TimeUnit;)Ljava/util/Map;
astore 6
start local 6 68: aload 6
invokeinterface java.util.Map.isEmpty:()Z
ifne 77
69: aload 4
getstatic sun.security.ssl.StatusRequestType.OCSP:Lsun/security/ssl/StatusRequestType;
if_acmpne 73
70: aload 6
aload 0
getfield sun.security.ssl.ServerHandshaker.certs:[Ljava/security/cert/X509Certificate;
iconst_0
aaload
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 10
start local 10 71: aload 10
ifnull 72
aload 10
arraylength
ifgt 73
72: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.ExtensionType sun.security.ssl.StatusRequestType sun.security.ssl.StatusRequest java.util.Map sun.security.ssl.CertStatusReqExtension sun.security.ssl.CertStatusReqListV2Extension sun.security.ssl.StatusResponseManager byte[]
StackMap stack:
aconst_null
areturn
end local 10 73: StackMap locals:
StackMap stack:
new sun.security.ssl.ServerHandshaker$StaplingParameters
dup
aload 0
aload 3
aload 4
aload 5
aload 6
invokespecial sun.security.ssl.ServerHandshaker$StaplingParameters.<init>:(Lsun/security/ssl/ServerHandshaker;Lsun/security/ssl/ExtensionType;Lsun/security/ssl/StatusRequestType;Lsun/security/ssl/StatusRequest;Ljava/util/Map;)V
astore 2
74: goto 77
end local 6 75: StackMap locals: sun.security.ssl.ServerHandshaker sun.security.ssl.HandshakeMessage$ClientHello sun.security.ssl.ServerHandshaker$StaplingParameters sun.security.ssl.ExtensionType sun.security.ssl.StatusRequestType sun.security.ssl.StatusRequest top sun.security.ssl.CertStatusReqExtension sun.security.ssl.CertStatusReqListV2Extension sun.security.ssl.StatusResponseManager
StackMap stack:
getstatic sun.security.ssl.ServerHandshaker.debug:Lsun/security/ssl/Debug;
ifnull 77
ldc "handshake"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 77
76: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Warning: lazy initialization of the StatusResponseManager failed. Stapling has been disabled."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
77: StackMap locals:
StackMap stack:
aload 2
areturn
end local 9 end local 8 end local 7 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 78 0 this Lsun/security/ssl/ServerHandshaker;
0 78 1 mesg Lsun/security/ssl/HandshakeMessage$ClientHello;
1 78 2 params Lsun/security/ssl/ServerHandshaker$StaplingParameters;
2 78 3 ext Lsun/security/ssl/ExtensionType;
3 78 4 type Lsun/security/ssl/StatusRequestType;
4 78 5 req Lsun/security/ssl/StatusRequest;
68 75 6 responses Ljava/util/Map<Ljava/security/cert/X509Certificate;[B>;
8 78 7 statReqExt Lsun/security/ssl/CertStatusReqExtension;
12 78 8 statReqExtV2 Lsun/security/ssl/CertStatusReqListV2Extension;
16 47 9 reqItems Ljava/util/List<Lsun/security/ssl/CertStatusReqItemV2;>;
17 47 10 ocspIdx I
18 47 11 ocspMultiIdx I
19 37 12 pos I
21 34 13 item Lsun/security/ssl/CertStatusReqItemV2;
22 34 14 curType Lsun/security/ssl/StatusRequestType;
25 27 15 ocspReq Lsun/security/ssl/OCSPStatusRequest;
32 34 15 ocspReq Lsun/security/ssl/OCSPStatusRequest;
54 60 9 ocspReq Lsun/security/ssl/OCSPStatusRequest;
64 78 9 statRespMgr Lsun/security/ssl/StatusResponseManager;
71 73 10 respDER [B
MethodParameters:
Name Flags
mesg
static int[] $SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic sun.security.ssl.CipherSuite$KeyExchange.values:()[Lsun/security/ssl/CipherSuite$KeyExchange;
arraylength
newarray 10
astore 0
2: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DHE_DSS:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 6
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DHE_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 7
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 8
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_DSS:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
iconst_5
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_DH_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
iconst_4
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDHE_ECDSA:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDHE_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 12
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ANON:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 13
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_ECDSA:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_ECDH_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 10
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 14
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_KRB5_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 15
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_NULL:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
iconst_1
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_RSA:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
iconst_2
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_RSA_EXPORT:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
iconst_3
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic sun.security.ssl.CipherSuite$KeyExchange.K_SCSV:Lsun/security/ssl/CipherSuite$KeyExchange;
invokevirtual sun.security.ssl.CipherSuite$KeyExchange.ordinal:()I
bipush 16
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
dup
putstatic sun.security.ssl.ServerHandshaker.$SWITCH_TABLE$sun$security$ssl$CipherSuite$KeyExchange:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
}
SourceFile: "ServerHandshaker.java"
NestMembers:
sun.security.ssl.ServerHandshaker$StaplingParameters
InnerClasses:
final KeyExchange = sun.security.ssl.CipherSuite$KeyExchange of sun.security.ssl.CipherSuite
final PRF = sun.security.ssl.CipherSuite$PRF of sun.security.ssl.CipherSuite
final CertificateMsg = sun.security.ssl.HandshakeMessage$CertificateMsg of sun.security.ssl.HandshakeMessage
final CertificateRequest = sun.security.ssl.HandshakeMessage$CertificateRequest of sun.security.ssl.HandshakeMessage
final CertificateStatus = sun.security.ssl.HandshakeMessage$CertificateStatus of sun.security.ssl.HandshakeMessage
final CertificateVerify = sun.security.ssl.HandshakeMessage$CertificateVerify of sun.security.ssl.HandshakeMessage
final ClientHello = sun.security.ssl.HandshakeMessage$ClientHello of sun.security.ssl.HandshakeMessage
final DH_ServerKeyExchange = sun.security.ssl.HandshakeMessage$DH_ServerKeyExchange of sun.security.ssl.HandshakeMessage
final ECDH_ServerKeyExchange = sun.security.ssl.HandshakeMessage$ECDH_ServerKeyExchange of sun.security.ssl.HandshakeMessage
final Finished = sun.security.ssl.HandshakeMessage$Finished of sun.security.ssl.HandshakeMessage
final HelloRequest = sun.security.ssl.HandshakeMessage$HelloRequest of sun.security.ssl.HandshakeMessage
final HelloVerifyRequest = sun.security.ssl.HandshakeMessage$HelloVerifyRequest of sun.security.ssl.HandshakeMessage
final RSA_ServerKeyExchange = sun.security.ssl.HandshakeMessage$RSA_ServerKeyExchange of sun.security.ssl.HandshakeMessage
final ServerHello = sun.security.ssl.HandshakeMessage$ServerHello of sun.security.ssl.HandshakeMessage
final ServerHelloDone = sun.security.ssl.HandshakeMessage$ServerHelloDone of sun.security.ssl.HandshakeMessage
abstract ServerKeyExchange = sun.security.ssl.HandshakeMessage$ServerKeyExchange of sun.security.ssl.HandshakeMessage
private StaplingParameters = sun.security.ssl.ServerHandshaker$StaplingParameters of sun.security.ssl.ServerHandshaker
final HashAlgorithm = sun.security.ssl.SignatureAndHashAlgorithm$HashAlgorithm of sun.security.ssl.SignatureAndHashAlgorithm
final SignatureAlgorithm = sun.security.ssl.SignatureAndHashAlgorithm$SignatureAlgorithm of sun.security.ssl.SignatureAndHashAlgorithm