final class sun.security.ssl.SupportedGroupsExtension extends sun.security.ssl.HelloExtension
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SupportedGroupsExtension
super_class: sun.security.ssl.HelloExtension
{
private static final sun.security.ssl.Debug debug;
descriptor: Lsun/security/ssl/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int ARBITRARY_PRIME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65281
private static final int ARBITRARY_CHAR2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65282
private static final java.util.Map<sun.security.ssl.NamedGroup, java.security.AlgorithmParameters> namedGroupParams;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Lsun/security/ssl/NamedGroup;Ljava/security/AlgorithmParameters;>;
private static final sun.security.ssl.NamedGroup[] supportedNamedGroups;
descriptor: [Lsun/security/ssl/NamedGroup;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final int[] requestedNamedGroupIds;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$sun$security$ssl$NamedGroup;
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=9, args_size=0
0: ldc "ssl"
invokestatic sun.security.ssl.Debug.getInstance:(Ljava/lang/String;)Lsun/security/ssl/Debug;
putstatic sun.security.ssl.SupportedGroupsExtension.debug:Lsun/security/ssl/Debug;
1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic sun.security.ssl.SupportedGroupsExtension.namedGroupParams:Ljava/util/Map;
2: invokestatic sun.security.ssl.SunJSSE.isFIPS:()Z
istore 0
start local 0 3: new sun.security.action.GetPropertyAction
dup
ldc "jdk.tls.namedGroups"
invokespecial sun.security.action.GetPropertyAction.<init>:(Ljava/lang/String;)V
4: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 5: aload 1
ifnull 9
aload 1
invokevirtual java.lang.String.length:()I
ifeq 9
6: aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 9
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpne 9
7: aload 1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 34
if_icmpne 9
8: aload 1
iconst_1
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
9: StackMap locals: int java.lang.String
StackMap stack:
aload 1
ifnull 29
aload 1
invokevirtual java.lang.String.length:()I
ifeq 29
10: aload 1
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 11: new java.util.ArrayList
dup
aload 3
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 12: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 22
StackMap locals: int java.lang.String java.util.ArrayList java.lang.String[] top int int java.lang.String[]
StackMap stack:
13: aload 7
iload 5
aaload
astore 4
start local 4 14: aload 4
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 4
15: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifne 21
16: aload 4
invokestatic sun.security.ssl.NamedGroup.nameOf:(Ljava/lang/String;)Lsun/security/ssl/NamedGroup;
astore 8
start local 8 17: aload 8
ifnull 21
18: iload 0
ifeq 19
aload 8
getfield sun.security.ssl.NamedGroup.isFips:Z
ifeq 21
19: StackMap locals: int java.lang.String java.util.ArrayList java.lang.String[] java.lang.String int int java.lang.String[] sun.security.ssl.NamedGroup
StackMap stack:
aload 8
invokestatic sun.security.ssl.SupportedGroupsExtension.isAvailableGroup:(Lsun/security/ssl/NamedGroup;)Z
ifeq 21
20: aload 2
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 4 21: StackMap locals: int java.lang.String java.util.ArrayList java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
22: iload 5
iload 6
if_icmplt 13
23: aload 2
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 71
invokestatic sun.security.ssl.JsseJce.isEcAvailable:()Z
ifeq 71
24: new java.lang.IllegalArgumentException
dup
25: new java.lang.StringBuilder
dup
ldc "System property jdk.tls.namedGroups("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc "contains no supported elliptic curves"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
27: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 29: StackMap locals: int java.lang.String
StackMap stack:
iload 0
ifeq 47
30: bipush 14
anewarray sun.security.ssl.NamedGroup
dup
iconst_0
31: getstatic sun.security.ssl.NamedGroup.SECP256_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_1
32: getstatic sun.security.ssl.NamedGroup.SECP384_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_2
33: getstatic sun.security.ssl.NamedGroup.SECP521_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_3
34: getstatic sun.security.ssl.NamedGroup.SECT283_K1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_4
35: getstatic sun.security.ssl.NamedGroup.SECT283_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_5
36: getstatic sun.security.ssl.NamedGroup.SECT409_K1:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 6
37: getstatic sun.security.ssl.NamedGroup.SECT409_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 7
38: getstatic sun.security.ssl.NamedGroup.SECT571_K1:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 8
39: getstatic sun.security.ssl.NamedGroup.SECT571_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 9
40: getstatic sun.security.ssl.NamedGroup.FFDHE_2048:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 10
41: getstatic sun.security.ssl.NamedGroup.FFDHE_3072:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 11
42: getstatic sun.security.ssl.NamedGroup.FFDHE_4096:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 12
43: getstatic sun.security.ssl.NamedGroup.FFDHE_6144:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 13
44: getstatic sun.security.ssl.NamedGroup.FFDHE_8192:Lsun/security/ssl/NamedGroup;
aastore
45: astore 3
start local 3 46: goto 64
end local 3 47: StackMap locals:
StackMap stack:
bipush 15
anewarray sun.security.ssl.NamedGroup
dup
iconst_0
48: getstatic sun.security.ssl.NamedGroup.SECP256_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_1
49: getstatic sun.security.ssl.NamedGroup.SECP384_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_2
50: getstatic sun.security.ssl.NamedGroup.SECP521_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_3
51: getstatic sun.security.ssl.NamedGroup.SECT283_K1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_4
52: getstatic sun.security.ssl.NamedGroup.SECT283_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
iconst_5
53: getstatic sun.security.ssl.NamedGroup.SECT409_K1:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 6
54: getstatic sun.security.ssl.NamedGroup.SECT409_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 7
55: getstatic sun.security.ssl.NamedGroup.SECT571_K1:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 8
56: getstatic sun.security.ssl.NamedGroup.SECT571_R1:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 9
57: getstatic sun.security.ssl.NamedGroup.SECP256_K1:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 10
58: getstatic sun.security.ssl.NamedGroup.FFDHE_2048:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 11
59: getstatic sun.security.ssl.NamedGroup.FFDHE_3072:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 12
60: getstatic sun.security.ssl.NamedGroup.FFDHE_4096:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 13
61: getstatic sun.security.ssl.NamedGroup.FFDHE_6144:Lsun/security/ssl/NamedGroup;
aastore
dup
bipush 14
62: getstatic sun.security.ssl.NamedGroup.FFDHE_8192:Lsun/security/ssl/NamedGroup;
aastore
63: astore 3
start local 3 64: StackMap locals: int java.lang.String top sun.security.ssl.NamedGroup[]
StackMap stack:
new java.util.ArrayList
dup
aload 3
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 65: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 70
StackMap locals: int java.lang.String java.util.ArrayList sun.security.ssl.NamedGroup[] top int int sun.security.ssl.NamedGroup[]
StackMap stack:
66: aload 7
iload 5
aaload
astore 4
start local 4 67: aload 4
invokestatic sun.security.ssl.SupportedGroupsExtension.isAvailableGroup:(Lsun/security/ssl/NamedGroup;)Z
ifeq 69
68: aload 2
aload 4
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 69: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
70: iload 5
iload 6
if_icmplt 66
end local 3 71: StackMap locals: int java.lang.String java.util.ArrayList
StackMap stack:
getstatic sun.security.ssl.SupportedGroupsExtension.debug:Lsun/security/ssl/Debug;
ifnull 78
aload 2
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 78
72: new java.lang.StringBuilder
dup
ldc "Initialized [jdk.tls.namedGroups|default] list contains no available elliptic curves. "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
73: aload 1
ifnull 74
new java.lang.StringBuilder
dup
ldc "("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 75
StackMap locals:
StackMap stack: java.lang.StringBuilder
74: ldc "[Default]"
StackMap locals: int java.lang.String java.util.ArrayList
StackMap stack: java.lang.StringBuilder java.lang.String
75: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
76: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
77: invokestatic sun.security.ssl.Debug.log:(Ljava/lang/String;)V
78: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.ArrayList.size:()I
anewarray sun.security.ssl.NamedGroup
putstatic sun.security.ssl.SupportedGroupsExtension.supportedNamedGroups:[Lsun/security/ssl/NamedGroup;
79: iconst_0
istore 3
start local 3 80: aload 2
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 83
StackMap locals: int java.lang.String java.util.ArrayList int top java.util.Iterator
StackMap stack:
81: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.ssl.NamedGroup
astore 4
start local 4 82: getstatic sun.security.ssl.SupportedGroupsExtension.supportedNamedGroups:[Lsun/security/ssl/NamedGroup;
iload 3
iinc 3 1
aload 4
aastore
end local 4 83: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 81
end local 3 end local 2 end local 1 end local 0 84: return
LocalVariableTable:
Start End Slot Name Signature
3 84 0 requireFips Z
5 84 1 property Ljava/lang/String;
12 29 2 groupList Ljava/util/ArrayList<Lsun/security/ssl/NamedGroup;>;
65 84 2 groupList Ljava/util/ArrayList<Lsun/security/ssl/NamedGroup;>;
11 29 3 groups [Ljava/lang/String;
14 21 4 group Ljava/lang/String;
17 21 8 namedGroup Lsun/security/ssl/NamedGroup;
46 47 3 groups [Lsun/security/ssl/NamedGroup;
64 71 3 groups [Lsun/security/ssl/NamedGroup;
67 69 4 group Lsun/security/ssl/NamedGroup;
80 84 3 i I
82 83 4 namedGroup Lsun/security/ssl/NamedGroup;
private static boolean isAvailableGroup(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: ldc "EC"
aload 0
getfield sun.security.ssl.NamedGroup.algorithm:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
3: aload 0
getfield sun.security.ssl.NamedGroup.oid:Ljava/lang/String;
ifnull 15
4: ldc "EC"
invokestatic sun.security.ssl.JsseJce.getAlgorithmParameters:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 1
5: new java.security.spec.ECGenParameterSpec
dup
aload 0
getfield sun.security.ssl.NamedGroup.oid:Ljava/lang/String;
invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
astore 2
6: goto 15
StackMap locals: sun.security.ssl.NamedGroup java.security.AlgorithmParameters java.security.spec.AlgorithmParameterSpec
StackMap stack: java.lang.Exception
7: pop
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
ldc "DiffieHellman"
aload 0
getfield sun.security.ssl.NamedGroup.algorithm:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
10: ldc "DiffieHellman"
invokestatic sun.security.ssl.JsseJce.getAlgorithmParameters:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 1
11: aload 0
invokestatic sun.security.ssl.SupportedGroupsExtension.getFFDHEDHParameterSpec:(Lsun/security/ssl/NamedGroup;)Ljavax/crypto/spec/DHParameterSpec;
astore 2
12: goto 15
StackMap locals:
StackMap stack: java.lang.Exception
13: pop
14: iconst_0
ireturn
15: StackMap locals:
StackMap stack:
aload 1
ifnull 22
aload 2
ifnull 22
16: aload 1
aload 2
invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
17: goto 20
StackMap locals:
StackMap stack: java.lang.Exception
18: pop
19: iconst_0
ireturn
20: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SupportedGroupsExtension.namedGroupParams:Ljava/util/Map;
aload 0
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 namedGroup Lsun/security/ssl/NamedGroup;
1 23 1 params Ljava/security/AlgorithmParameters;
2 23 2 spec Ljava/security/spec/AlgorithmParameterSpec;
Exception table:
from to target type
4 6 7 Class java.lang.Exception
10 12 13 Class java.lang.Exception
16 17 18 Class java.lang.Exception
MethodParameters:
Name Flags
namedGroup
private static javax.crypto.spec.DHParameterSpec getFFDHEDHParameterSpec(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Ljavax/crypto/spec/DHParameterSpec;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: invokestatic sun.security.ssl.SupportedGroupsExtension.$SWITCH_TABLE$sun$security$ssl$NamedGroup:()[I
aload 0
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
iaload
tableswitch { // 26 - 30
26: 2
27: 4
28: 6
29: 8
30: 10
default: 11
}
2: StackMap locals: javax.crypto.spec.DHParameterSpec
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.ffdheParams:Ljava/util/Map;
sipush 2048
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
3: goto 11
4: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.ffdheParams:Ljava/util/Map;
sipush 3072
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
5: goto 11
6: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.ffdheParams:Ljava/util/Map;
sipush 4096
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
7: goto 11
8: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.ffdheParams:Ljava/util/Map;
sipush 6144
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
9: goto 11
10: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.ffdheParams:Ljava/util/Map;
sipush 8192
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 namedGroup Lsun/security/ssl/NamedGroup;
1 12 1 spec Ljavax/crypto/spec/DHParameterSpec;
MethodParameters:
Name Flags
namedGroup
private static javax.crypto.spec.DHParameterSpec getPredefinedDHParameterSpec(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Ljavax/crypto/spec/DHParameterSpec;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: invokestatic sun.security.ssl.SupportedGroupsExtension.$SWITCH_TABLE$sun$security$ssl$NamedGroup:()[I
aload 0
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
iaload
tableswitch { // 26 - 30
26: 2
27: 4
28: 6
29: 8
30: 10
default: 11
}
2: StackMap locals: javax.crypto.spec.DHParameterSpec
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.definedParams:Ljava/util/Map;
sipush 2048
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
3: goto 11
4: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.definedParams:Ljava/util/Map;
sipush 3072
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
5: goto 11
6: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.definedParams:Ljava/util/Map;
sipush 4096
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
7: goto 11
8: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.definedParams:Ljava/util/Map;
sipush 6144
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
9: goto 11
10: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.PredefinedDHParameterSpecs.definedParams:Ljava/util/Map;
sipush 8192
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.crypto.spec.DHParameterSpec
astore 1
11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 namedGroup Lsun/security/ssl/NamedGroup;
1 12 1 spec Ljavax/crypto/spec/DHParameterSpec;
MethodParameters:
Name Flags
namedGroup
private void <init>(int[]);
descriptor: ([I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic sun.security.ssl.ExtensionType.EXT_SUPPORTED_GROUPS:Lsun/security/ssl/ExtensionType;
invokespecial sun.security.ssl.HelloExtension.<init>:(Lsun/security/ssl/ExtensionType;)V
1: aload 0
aload 1
putfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SupportedGroupsExtension;
0 3 1 requestedNamedGroupIds [I
MethodParameters:
Name Flags
requestedNamedGroupIds
void <init>(sun.security.ssl.HandshakeInStream, int);
descriptor: (Lsun/security/ssl/HandshakeInStream;I)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic sun.security.ssl.ExtensionType.EXT_SUPPORTED_GROUPS:Lsun/security/ssl/ExtensionType;
invokespecial sun.security.ssl.HelloExtension.<init>:(Lsun/security/ssl/ExtensionType;)V
1: aload 1
invokevirtual sun.security.ssl.HandshakeInStream.getInt16:()I
istore 3
start local 3 2: iload 2
iconst_1
iand
ifne 3
iload 3
ifeq 3
iload 3
iconst_2
iadd
iload 2
if_icmpeq 4
3: StackMap locals: sun.security.ssl.SupportedGroupsExtension sun.security.ssl.HandshakeInStream int int
StackMap stack:
new javax.net.ssl.SSLProtocolException
dup
new java.lang.StringBuilder
dup
ldc "Invalid "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SupportedGroupsExtension.type:Lsun/security/ssl/ExtensionType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " extension"
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
4: StackMap locals:
StackMap stack:
aload 0
iload 3
iconst_1
ishr
newarray 10
putfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
5: iconst_0
istore 4
start local 4 6: goto 9
7: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
iload 4
aload 1
invokevirtual sun.security.ssl.HandshakeInStream.getInt16:()I
iastore
8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 0
getfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
arraylength
if_icmplt 7
end local 4 10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/SupportedGroupsExtension;
0 11 1 s Lsun/security/ssl/HandshakeInStream;
0 11 2 len I
2 11 3 k I
6 10 4 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
len
static sun.security.ssl.NamedGroup getPreferredECGroup(java.security.AlgorithmConstraints);
descriptor: (Ljava/security/AlgorithmConstraints;)Lsun/security/ssl/NamedGroup;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: getstatic sun.security.ssl.SupportedGroupsExtension.supportedNamedGroups:[Lsun/security/ssl/NamedGroup;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 9
StackMap locals: java.security.AlgorithmConstraints top int int sun.security.ssl.NamedGroup[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
getfield sun.security.ssl.NamedGroup.type:Lsun/security/ssl/NamedGroupType;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_ECDHE:Lsun/security/ssl/NamedGroupType;
if_acmpne 8
3: aload 0
getstatic java.security.CryptoPrimitive.KEY_AGREEMENT:Ljava/security/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
4: aload 1
getfield sun.security.ssl.NamedGroup.algorithm:Ljava/lang/String;
getstatic sun.security.ssl.SupportedGroupsExtension.namedGroupParams:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.AlgorithmParameters
5: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
6: ifeq 8
7: aload 1
areturn
end local 1 8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
iload 3
if_icmplt 1
10: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 constraints Ljava/security/AlgorithmConstraints;
2 8 1 namedGroup Lsun/security/ssl/NamedGroup;
MethodParameters:
Name Flags
constraints
static boolean isActivatable(java.security.AlgorithmConstraints, sun.security.ssl.NamedGroupType);
descriptor: (Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: getstatic sun.security.ssl.SupportedGroupsExtension.supportedNamedGroups:[Lsun/security/ssl/NamedGroup;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 15
StackMap locals: java.security.AlgorithmConstraints sun.security.ssl.NamedGroupType int top int int sun.security.ssl.NamedGroup[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: aload 3
getfield sun.security.ssl.NamedGroup.type:Lsun/security/ssl/NamedGroupType;
aload 1
if_acmpne 14
4: aload 0
5: getstatic java.security.CryptoPrimitive.KEY_AGREEMENT:Ljava/security/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
6: aload 3
getfield sun.security.ssl.NamedGroup.algorithm:Ljava/lang/String;
7: getstatic sun.security.ssl.SupportedGroupsExtension.namedGroupParams:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.AlgorithmParameters
8: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
9: ifeq 11
10: iconst_1
ireturn
11: StackMap locals: java.security.AlgorithmConstraints sun.security.ssl.NamedGroupType int sun.security.ssl.NamedGroup int int sun.security.ssl.NamedGroup[]
StackMap stack:
iload 2
ifne 14
12: aload 1
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
if_acmpne 14
13: iconst_1
istore 2
end local 3 14: StackMap locals: java.security.AlgorithmConstraints sun.security.ssl.NamedGroupType int top int int sun.security.ssl.NamedGroup[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
15: iload 4
iload 5
if_icmplt 2
16: iload 2
ifne 18
aload 1
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
if_acmpne 18
17: iconst_1
ireturn
18: StackMap locals: java.security.AlgorithmConstraints sun.security.ssl.NamedGroupType int
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 constraints Ljava/security/AlgorithmConstraints;
0 19 1 type Lsun/security/ssl/NamedGroupType;
1 19 2 hasFFDHEGroups Z
3 14 3 namedGroup Lsun/security/ssl/NamedGroup;
MethodParameters:
Name Flags
constraints
type
static sun.security.ssl.SupportedGroupsExtension createExtension(java.security.AlgorithmConstraints, sun.security.ssl.CipherSuiteList, boolean);
descriptor: (Ljava/security/AlgorithmConstraints;Lsun/security/ssl/CipherSuiteList;Z)Lsun/security/ssl/SupportedGroupsExtension;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
getstatic sun.security.ssl.SupportedGroupsExtension.supportedNamedGroups:[Lsun/security/ssl/NamedGroup;
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
1: astore 3
start local 3 2: getstatic sun.security.ssl.SupportedGroupsExtension.supportedNamedGroups:[Lsun/security/ssl/NamedGroup;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 14
StackMap locals: java.security.AlgorithmConstraints sun.security.ssl.CipherSuiteList int java.util.ArrayList top int int sun.security.ssl.NamedGroup[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: iload 2
ifne 7
5: aload 4
getfield sun.security.ssl.NamedGroup.type:Lsun/security/ssl/NamedGroupType;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
if_acmpne 7
6: goto 13
7: StackMap locals: java.security.AlgorithmConstraints sun.security.ssl.CipherSuiteList int java.util.ArrayList sun.security.ssl.NamedGroup int int sun.security.ssl.NamedGroup[]
StackMap stack:
aload 1
aload 4
getfield sun.security.ssl.NamedGroup.type:Lsun/security/ssl/NamedGroupType;
invokevirtual sun.security.ssl.CipherSuiteList.contains:(Lsun/security/ssl/NamedGroupType;)Z
ifeq 13
8: aload 0
getstatic java.security.CryptoPrimitive.KEY_AGREEMENT:Ljava/security/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
9: aload 4
getfield sun.security.ssl.NamedGroup.algorithm:Ljava/lang/String;
getstatic sun.security.ssl.SupportedGroupsExtension.namedGroupParams:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.AlgorithmParameters
10: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
11: ifeq 13
12: aload 3
aload 4
getfield sun.security.ssl.NamedGroup.id:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 13: StackMap locals: java.security.AlgorithmConstraints sun.security.ssl.CipherSuiteList int java.util.ArrayList top int int sun.security.ssl.NamedGroup[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
iload 6
if_icmplt 3
15: aload 3
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 23
16: aload 3
invokevirtual java.util.ArrayList.size:()I
newarray 10
astore 4
start local 4 17: iconst_0
istore 5
start local 5 18: aload 3
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 7
goto 21
StackMap locals: java.security.AlgorithmConstraints sun.security.ssl.CipherSuiteList int java.util.ArrayList int[] int top java.util.Iterator
StackMap stack:
19: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 6
start local 6 20: aload 4
iload 5
iinc 5 1
aload 6
invokevirtual java.lang.Integer.intValue:()I
iastore
end local 6 21: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
22: new sun.security.ssl.SupportedGroupsExtension
dup
aload 4
invokespecial sun.security.ssl.SupportedGroupsExtension.<init>:([I)V
areturn
end local 5 end local 4 23: StackMap locals: java.security.AlgorithmConstraints sun.security.ssl.CipherSuiteList int java.util.ArrayList
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 constraints Ljava/security/AlgorithmConstraints;
0 24 1 cipherSuites Lsun/security/ssl/CipherSuiteList;
0 24 2 enableFFDHE Z
2 24 3 groupList Ljava/util/ArrayList<Ljava/lang/Integer;>;
4 13 4 namedGroup Lsun/security/ssl/NamedGroup;
17 23 4 ids [I
18 23 5 i I
20 21 6 id Ljava/lang/Integer;
MethodParameters:
Name Flags
constraints
cipherSuites
enableFFDHE
sun.security.ssl.NamedGroup getPreferredGroup(java.security.AlgorithmConstraints, sun.security.ssl.NamedGroupType);
descriptor: (Ljava/security/AlgorithmConstraints;Lsun/security/ssl/NamedGroupType;)Lsun/security/ssl/NamedGroup;
flags: (0x0000)
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 11
StackMap locals: sun.security.ssl.SupportedGroupsExtension java.security.AlgorithmConstraints sun.security.ssl.NamedGroupType top int int int[]
StackMap stack:
1: aload 6
iload 4
iaload
istore 3
start local 3 2: iload 3
invokestatic sun.security.ssl.NamedGroup.valueOf:(I)Lsun/security/ssl/NamedGroup;
astore 7
start local 7 3: aload 7
ifnull 10
aload 7
getfield sun.security.ssl.NamedGroup.type:Lsun/security/ssl/NamedGroupType;
aload 2
if_acmpne 10
4: aload 7
invokestatic sun.security.ssl.SupportedGroupsExtension.supports:(Lsun/security/ssl/NamedGroup;)Z
ifeq 10
5: aload 1
getstatic java.security.CryptoPrimitive.KEY_AGREEMENT:Ljava/security/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
6: aload 7
getfield sun.security.ssl.NamedGroup.algorithm:Ljava/lang/String;
getstatic sun.security.ssl.SupportedGroupsExtension.namedGroupParams:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.AlgorithmParameters
7: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
8: ifeq 10
9: aload 7
areturn
end local 7 end local 3 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 5
if_icmplt 1
12: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/ssl/SupportedGroupsExtension;
0 13 1 constraints Ljava/security/AlgorithmConstraints;
0 13 2 type Lsun/security/ssl/NamedGroupType;
2 10 3 groupId I
3 10 7 namedGroup Lsun/security/ssl/NamedGroup;
MethodParameters:
Name Flags
constraints
type
boolean hasFFDHEGroup();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: sun.security.ssl.SupportedGroupsExtension top int int int[]
StackMap stack:
1: aload 4
iload 2
iaload
istore 1
start local 1 2: iload 1
sipush 256
if_icmplt 4
iload 1
sipush 511
if_icmpgt 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SupportedGroupsExtension;
2 4 1 groupId I
boolean contains(int);
descriptor: (I)Z
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: sun.security.ssl.SupportedGroupsExtension int top int int int[]
StackMap stack:
1: aload 5
iload 3
iaload
istore 2
start local 2 2: iload 1
iload 2
if_icmpne 4
3: iconst_1
ireturn
end local 2 4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 1
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SupportedGroupsExtension;
0 7 1 index I
2 4 2 groupId I
MethodParameters:
Name Flags
index
int length();
descriptor: ()I
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: bipush 6
aload 0
getfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
arraylength
iconst_1
ishl
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SupportedGroupsExtension;
void send(sun.security.ssl.HandshakeOutStream);
descriptor: (Lsun/security/ssl/HandshakeOutStream;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield sun.security.ssl.SupportedGroupsExtension.type:Lsun/security/ssl/ExtensionType;
getfield sun.security.ssl.ExtensionType.id:I
invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
1: aload 0
getfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
arraylength
iconst_1
ishl
istore 2
start local 2 2: aload 1
iload 2
iconst_2
iadd
invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
3: aload 1
iload 2
invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
4: aload 0
getfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 8
StackMap locals: sun.security.ssl.SupportedGroupsExtension sun.security.ssl.HandshakeOutStream int top int int int[]
StackMap stack:
5: aload 6
iload 4
iaload
istore 3
start local 3 6: aload 1
iload 3
invokevirtual sun.security.ssl.HandshakeOutStream.putInt16:(I)V
end local 3 7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 5
if_icmplt 5
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SupportedGroupsExtension;
0 10 1 s Lsun/security/ssl/HandshakeOutStream;
2 10 2 k I
6 7 3 groupId I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
new java.lang.StringBuilder
dup
ldc "Extension "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.SupportedGroupsExtension.type:Lsun/security/ssl/ExtensionType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", group names: {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: iconst_1
istore 2
start local 2 3: aload 0
getfield sun.security.ssl.SupportedGroupsExtension.requestedNamedGroupIds:[I
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 21
StackMap locals: sun.security.ssl.SupportedGroupsExtension java.lang.StringBuilder int top int int int[]
StackMap stack:
4: aload 6
iload 4
iaload
istore 3
start local 3 5: iload 2
ifeq 8
6: iconst_0
istore 2
7: goto 9
8: StackMap locals: sun.security.ssl.SupportedGroupsExtension java.lang.StringBuilder int int int int int[]
StackMap stack:
aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
iload 3
invokestatic sun.security.ssl.NamedGroup.valueOf:(I)Lsun/security/ssl/NamedGroup;
astore 7
start local 7 10: aload 7
ifnull 13
11: aload 1
aload 7
getfield sun.security.ssl.NamedGroup.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: goto 20
StackMap locals: sun.security.ssl.NamedGroup
StackMap stack:
13: iload 3
ldc 65281
if_icmpne 16
14: aload 1
ldc "arbitrary_explicit_prime_curves"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: goto 20
StackMap locals:
StackMap stack:
16: iload 3
ldc 65282
if_icmpne 19
17: aload 1
ldc "arbitrary_explicit_char2_curves"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: goto 20
19: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "unknown named group "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 7 end local 3 20: StackMap locals: sun.security.ssl.SupportedGroupsExtension java.lang.StringBuilder int top int int int[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
iload 5
if_icmplt 4
22: aload 1
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/ssl/SupportedGroupsExtension;
1 24 1 sb Ljava/lang/StringBuilder;
3 24 2 first Z
5 20 3 groupId I
10 20 7 namedGroup Lsun/security/ssl/NamedGroup;
static boolean supports(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: getstatic sun.security.ssl.SupportedGroupsExtension.supportedNamedGroups:[Lsun/security/ssl/NamedGroup;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: sun.security.ssl.NamedGroup top int int sun.security.ssl.NamedGroup[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 0
getfield sun.security.ssl.NamedGroup.id:I
aload 1
getfield sun.security.ssl.NamedGroup.id:I
if_icmpne 4
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 namedGroup Lsun/security/ssl/NamedGroup;
2 4 1 group Lsun/security/ssl/NamedGroup;
MethodParameters:
Name Flags
namedGroup
static java.security.spec.ECGenParameterSpec getECGenParamSpec(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Ljava/security/spec/ECGenParameterSpec;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.NamedGroup.type:Lsun/security/ssl/NamedGroupType;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_ECDHE:Lsun/security/ssl/NamedGroupType;
if_acmpeq 2
1: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Not a named EC group: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SupportedGroupsExtension.namedGroupParams:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.AlgorithmParameters
astore 1
start local 1 3: aload 1
ldc Ljava/security/spec/ECGenParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
checkcast java.security.spec.ECGenParameterSpec
4: areturn
5: StackMap locals: sun.security.ssl.NamedGroup java.security.AlgorithmParameters
StackMap stack: java.security.spec.InvalidParameterSpecException
pop
6: new java.security.spec.ECGenParameterSpec
dup
aload 0
getfield sun.security.ssl.NamedGroup.oid:Ljava/lang/String;
invokespecial java.security.spec.ECGenParameterSpec.<init>:(Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 namedGroup Lsun/security/ssl/NamedGroup;
3 7 1 params Ljava/security/AlgorithmParameters;
Exception table:
from to target type
3 4 5 Class java.security.spec.InvalidParameterSpecException
MethodParameters:
Name Flags
namedGroup
static javax.crypto.spec.DHParameterSpec getDHParameterSpec(sun.security.ssl.NamedGroup);
descriptor: (Lsun/security/ssl/NamedGroup;)Ljavax/crypto/spec/DHParameterSpec;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.NamedGroup.type:Lsun/security/ssl/NamedGroupType;
getstatic sun.security.ssl.NamedGroupType.NAMED_GROUP_FFDHE:Lsun/security/ssl/NamedGroupType;
if_acmpeq 2
1: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Not a named DH group: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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
2: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SupportedGroupsExtension.namedGroupParams:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.AlgorithmParameters
astore 1
start local 1 3: aload 1
ldc Ljavax/crypto/spec/DHParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
checkcast javax.crypto.spec.DHParameterSpec
4: areturn
5: StackMap locals: sun.security.ssl.NamedGroup java.security.AlgorithmParameters
StackMap stack: java.security.spec.InvalidParameterSpecException
pop
6: aload 0
invokestatic sun.security.ssl.SupportedGroupsExtension.getPredefinedDHParameterSpec:(Lsun/security/ssl/NamedGroup;)Ljavax/crypto/spec/DHParameterSpec;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 namedGroup Lsun/security/ssl/NamedGroup;
3 7 1 params Ljava/security/AlgorithmParameters;
Exception table:
from to target type
3 4 5 Class java.security.spec.InvalidParameterSpecException
MethodParameters:
Name Flags
namedGroup
static int[] $SWITCH_TABLE$sun$security$ssl$NamedGroup();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic sun.security.ssl.SupportedGroupsExtension.$SWITCH_TABLE$sun$security$ssl$NamedGroup:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic sun.security.ssl.NamedGroup.values:()[Lsun/security/ssl/NamedGroup;
arraylength
newarray 10
astore 0
2: aload 0
getstatic sun.security.ssl.NamedGroup.FFDHE_2048:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 26
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.NamedGroup.FFDHE_3072:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 27
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic sun.security.ssl.NamedGroup.FFDHE_4096:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 28
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic sun.security.ssl.NamedGroup.FFDHE_6144:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 29
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic sun.security.ssl.NamedGroup.FFDHE_8192:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 30
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic sun.security.ssl.NamedGroup.SECP160_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 15
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic sun.security.ssl.NamedGroup.SECP160_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 16
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic sun.security.ssl.NamedGroup.SECP160_R2:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 17
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic sun.security.ssl.NamedGroup.SECP192_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 18
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic sun.security.ssl.NamedGroup.SECP192_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 19
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic sun.security.ssl.NamedGroup.SECP224_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 20
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic sun.security.ssl.NamedGroup.SECP224_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 21
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic sun.security.ssl.NamedGroup.SECP256_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 22
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic sun.security.ssl.NamedGroup.SECP256_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 23
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic sun.security.ssl.NamedGroup.SECP384_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 24
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic sun.security.ssl.NamedGroup.SECP521_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 25
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic sun.security.ssl.NamedGroup.SECT163_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
iconst_1
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic sun.security.ssl.NamedGroup.SECT163_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
iconst_2
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic sun.security.ssl.NamedGroup.SECT163_R2:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
iconst_3
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic sun.security.ssl.NamedGroup.SECT193_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
iconst_4
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic sun.security.ssl.NamedGroup.SECT193_R2:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
iconst_5
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic sun.security.ssl.NamedGroup.SECT233_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 6
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic sun.security.ssl.NamedGroup.SECT233_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 7
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic sun.security.ssl.NamedGroup.SECT239_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 8
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic sun.security.ssl.NamedGroup.SECT283_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 9
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic sun.security.ssl.NamedGroup.SECT283_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 10
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic sun.security.ssl.NamedGroup.SECT409_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 11
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
getstatic sun.security.ssl.NamedGroup.SECT409_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 12
iastore
84: goto 86
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
85: pop
StackMap locals:
StackMap stack:
86: aload 0
getstatic sun.security.ssl.NamedGroup.SECT571_K1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 13
iastore
87: goto 89
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
88: pop
StackMap locals:
StackMap stack:
89: aload 0
getstatic sun.security.ssl.NamedGroup.SECT571_R1:Lsun/security/ssl/NamedGroup;
invokevirtual sun.security.ssl.NamedGroup.ordinal:()I
bipush 14
iastore
90: goto 92
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
91: pop
StackMap locals:
StackMap stack:
92: aload 0
dup
putstatic sun.security.ssl.SupportedGroupsExtension.$SWITCH_TABLE$sun$security$ssl$NamedGroup:[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
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
83 84 85 Class java.lang.NoSuchFieldError
86 87 88 Class java.lang.NoSuchFieldError
89 90 91 Class java.lang.NoSuchFieldError
}
SourceFile: "SupportedGroupsExtension.java"