public final class sun.security.jca.ProviderList
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.jca.ProviderList
super_class: java.lang.Object
{
static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final sun.security.jca.ProviderConfig[] PC0;
descriptor: [Lsun/security/jca/ProviderConfig;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.security.Provider[] P0;
descriptor: [Ljava/security/Provider;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final sun.security.jca.ProviderList EMPTY;
descriptor: Lsun/security/jca/ProviderList;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static sun.security.jca.ProviderList$PreferredList preferredPropList;
descriptor: Lsun/security/jca/ProviderList$PreferredList;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.security.Provider EMPTY_PROVIDER;
descriptor: Ljava/security/Provider;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final sun.security.jca.ProviderConfig[] configs;
descriptor: [Lsun/security/jca/ProviderConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean allLoaded;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.List<java.security.Provider> userList;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/security/Provider;>;
private static final java.lang.String[] SHA2Group;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] HmacSHA2Group;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] SHA2RSAGroup;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] SHA2DSAGroup;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] SHA2ECDSAGroup;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] SHA3Group;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] HmacSHA3Group;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc "jca"
ldc "ProviderList"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
1: putstatic sun.security.jca.ProviderList.debug:Lsun/security/util/Debug;
2: iconst_0
anewarray sun.security.jca.ProviderConfig
putstatic sun.security.jca.ProviderList.PC0:[Lsun/security/jca/ProviderConfig;
3: iconst_0
anewarray java.security.Provider
putstatic sun.security.jca.ProviderList.P0:[Ljava/security/Provider;
4: new sun.security.jca.ProviderList
dup
getstatic sun.security.jca.ProviderList.PC0:[Lsun/security/jca/ProviderConfig;
iconst_1
invokespecial sun.security.jca.ProviderList.<init>:([Lsun/security/jca/ProviderConfig;Z)V
putstatic sun.security.jca.ProviderList.EMPTY:Lsun/security/jca/ProviderList;
5: aconst_null
putstatic sun.security.jca.ProviderList.preferredPropList:Lsun/security/jca/ProviderList$PreferredList;
6: new sun.security.jca.ProviderList$1
dup
ldc "##Empty##"
ldc "1.0"
ldc "initialization in progress"
invokespecial sun.security.jca.ProviderList$1.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
7: putstatic sun.security.jca.ProviderList.EMPTY_PROVIDER:Ljava/security/Provider;
8: bipush 6
anewarray java.lang.String
dup
iconst_0
ldc "SHA-224"
aastore
dup
iconst_1
ldc "SHA-256"
aastore
dup
iconst_2
9: ldc "SHA-384"
aastore
dup
iconst_3
ldc "SHA-512"
aastore
dup
iconst_4
ldc "SHA-512/224"
aastore
dup
iconst_5
ldc "SHA-512/256"
aastore
10: putstatic sun.security.jca.ProviderList.SHA2Group:[Ljava/lang/String;
11: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "HmacSHA224"
aastore
dup
iconst_1
12: ldc "HmacSHA256"
aastore
dup
iconst_2
ldc "HmacSHA384"
aastore
dup
iconst_3
ldc "HmacSHA512"
aastore
13: putstatic sun.security.jca.ProviderList.HmacSHA2Group:[Ljava/lang/String;
14: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "SHA224withRSA"
aastore
dup
iconst_1
15: ldc "SHA256withRSA"
aastore
dup
iconst_2
ldc "SHA384withRSA"
aastore
dup
iconst_3
ldc "SHA512withRSA"
aastore
16: putstatic sun.security.jca.ProviderList.SHA2RSAGroup:[Ljava/lang/String;
17: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "SHA224withDSA"
aastore
dup
iconst_1
18: ldc "SHA256withDSA"
aastore
dup
iconst_2
ldc "SHA384withDSA"
aastore
dup
iconst_3
ldc "SHA512withDSA"
aastore
19: putstatic sun.security.jca.ProviderList.SHA2DSAGroup:[Ljava/lang/String;
20: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "SHA224withECDSA"
aastore
dup
iconst_1
21: ldc "SHA256withECDSA"
aastore
dup
iconst_2
ldc "SHA384withECDSA"
aastore
dup
iconst_3
ldc "SHA512withECDSA"
aastore
22: putstatic sun.security.jca.ProviderList.SHA2ECDSAGroup:[Ljava/lang/String;
23: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "SHA3-224"
aastore
dup
iconst_1
ldc "SHA3-256"
aastore
dup
iconst_2
24: ldc "SHA3-384"
aastore
dup
iconst_3
ldc "SHA3-512"
aastore
25: putstatic sun.security.jca.ProviderList.SHA3Group:[Ljava/lang/String;
26: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "HmacSHA3-224"
aastore
dup
iconst_1
27: ldc "HmacSHA3-256"
aastore
dup
iconst_2
ldc "HmacSHA3-384"
aastore
dup
iconst_3
ldc "HmacSHA3-512"
aastore
28: putstatic sun.security.jca.ProviderList.HmacSHA3Group:[Ljava/lang/String;
29: return
LocalVariableTable:
Start End Slot Name Signature
static sun.security.jca.ProviderList fromSecurityProperties();
descriptor: ()Lsun/security/jca/ProviderList;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.security.jca.ProviderList$3
dup
invokespecial sun.security.jca.ProviderList$3.<init>:()V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast sun.security.jca.ProviderList
areturn
LocalVariableTable:
Start End Slot Name Signature
public static sun.security.jca.ProviderList add(sun.security.jca.ProviderList, java.security.Provider);
descriptor: (Lsun/security/jca/ProviderList;Ljava/security/Provider;)Lsun/security/jca/ProviderList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_m1
invokestatic sun.security.jca.ProviderList.insertAt:(Lsun/security/jca/ProviderList;Ljava/security/Provider;I)Lsun/security/jca/ProviderList;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 providerList Lsun/security/jca/ProviderList;
0 1 1 p Ljava/security/Provider;
MethodParameters:
Name Flags
providerList
p
public static sun.security.jca.ProviderList insertAt(sun.security.jca.ProviderList, java.security.Provider, int);
descriptor: (Lsun/security/jca/ProviderList;Ljava/security/Provider;I)Lsun/security/jca/ProviderList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual sun.security.jca.ProviderList.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
ifnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
3: aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
4: invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 5: aload 3
invokeinterface java.util.List.size:()I
istore 4
start local 4 6: iload 2
iflt 7
iload 2
iload 4
if_icmple 8
7: StackMap locals: java.util.List int
StackMap stack:
iload 4
istore 2
8: StackMap locals:
StackMap stack:
aload 3
iload 2
new sun.security.jca.ProviderConfig
dup
aload 1
invokespecial sun.security.jca.ProviderConfig.<init>:(Ljava/security/Provider;)V
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
9: new sun.security.jca.ProviderList
dup
aload 3
getstatic sun.security.jca.ProviderList.PC0:[Lsun/security/jca/ProviderConfig;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.security.jca.ProviderConfig[]
iconst_1
invokespecial sun.security.jca.ProviderList.<init>:([Lsun/security/jca/ProviderConfig;Z)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 providerList Lsun/security/jca/ProviderList;
0 10 1 p Ljava/security/Provider;
0 10 2 position I
5 10 3 list Ljava/util/List<Lsun/security/jca/ProviderConfig;>;
6 10 4 n I
MethodParameters:
Name Flags
providerList
p
position
public static sun.security.jca.ProviderList remove(sun.security.jca.ProviderList, java.lang.String);
descriptor: (Lsun/security/jca/ProviderList;Ljava/lang/String;)Lsun/security/jca/ProviderList;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.jca.ProviderList.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
ifnonnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.jca.ProviderList.size:()I
iconst_1
isub
anewarray sun.security.jca.ProviderConfig
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 9
StackMap locals: sun.security.jca.ProviderList java.lang.String sun.security.jca.ProviderConfig[] int top int int sun.security.jca.ProviderConfig[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 4
invokevirtual sun.security.jca.ProviderConfig.getProvider:()Ljava/security/Provider;
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
7: aload 2
iload 3
iinc 3 1
aload 4
aastore
end local 4 8: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 6
if_icmplt 5
10: new sun.security.jca.ProviderList
dup
aload 2
iconst_1
invokespecial sun.security.jca.ProviderList.<init>:([Lsun/security/jca/ProviderConfig;Z)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 providerList Lsun/security/jca/ProviderList;
0 11 1 name Ljava/lang/String;
3 11 2 configs [Lsun/security/jca/ProviderConfig;
4 11 3 j I
6 8 4 config Lsun/security/jca/ProviderConfig;
MethodParameters:
Name Flags
providerList
name
public static sun.security.jca.ProviderList newList(java.security.Provider[]);
descriptor: ([Ljava/security/Provider;)Lsun/security/jca/ProviderList;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
arraylength
anewarray sun.security.jca.ProviderConfig
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: sun.security.jca.ProviderConfig[] int
StackMap stack:
aload 1
iload 2
new sun.security.jca.ProviderConfig
dup
aload 0
iload 2
aaload
invokespecial sun.security.jca.ProviderConfig.<init>:(Ljava/security/Provider;)V
aastore
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 3
end local 2 6: new sun.security.jca.ProviderList
dup
aload 1
iconst_1
invokespecial sun.security.jca.ProviderList.<init>:([Lsun/security/jca/ProviderConfig;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 providers [Ljava/security/Provider;
1 7 1 configs [Lsun/security/jca/ProviderConfig;
2 6 2 i I
MethodParameters:
Name Flags
providers
private void <init>(sun.security.jca.ProviderConfig[], boolean);
descriptor: ([Lsun/security/jca/ProviderConfig;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new sun.security.jca.ProviderList$2
dup
aload 0
invokespecial sun.security.jca.ProviderList$2.<init>:(Lsun/security/jca/ProviderList;)V
putfield sun.security.jca.ProviderList.userList:Ljava/util/List;
2: aload 0
aload 1
putfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
3: aload 0
iload 2
putfield sun.security.jca.ProviderList.allLoaded:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/jca/ProviderList;
0 5 1 configs [Lsun/security/jca/ProviderConfig;
0 5 2 allLoaded Z
MethodParameters:
Name Flags
configs
allLoaded
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new sun.security.jca.ProviderList$2
dup
aload 0
invokespecial sun.security.jca.ProviderList$2.<init>:(Lsun/security/jca/ProviderList;)V
putfield sun.security.jca.ProviderList.userList:Ljava/util/List;
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 3: iconst_1
istore 3
start local 3 4: goto 21
start local 2 5: StackMap locals: sun.security.jca.ProviderList java.util.List java.lang.String int
StackMap stack:
aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
6: aload 2
invokevirtual java.lang.String.length:()I
ifne 11
7: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "invalid entry for security.provider."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: goto 23
11: StackMap locals:
StackMap stack:
aload 2
bipush 32
invokevirtual java.lang.String.indexOf:(I)I
istore 4
start local 4 12: iload 4
iconst_m1
if_icmpne 15
13: new sun.security.jca.ProviderConfig
dup
aload 2
invokespecial sun.security.jca.ProviderConfig.<init>:(Ljava/lang/String;)V
astore 5
start local 5 14: goto 18
end local 5 15: StackMap locals: int
StackMap stack:
aload 2
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
start local 6 16: aload 2
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 7
start local 7 17: new sun.security.jca.ProviderConfig
dup
aload 6
aload 7
invokespecial sun.security.jca.ProviderConfig.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
end local 7 end local 6 start local 5 18: StackMap locals: sun.security.jca.ProviderConfig
StackMap stack:
aload 1
aload 5
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 20
19: aload 1
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: StackMap locals:
StackMap stack:
iinc 3 1
end local 5 end local 4 end local 2 21: StackMap locals: sun.security.jca.ProviderList java.util.List top int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "security.provider."
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;
invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
dup
astore 2
start local 2 22: ifnonnull 5
23: StackMap locals: sun.security.jca.ProviderList java.util.List java.lang.String int
StackMap stack:
aload 0
aload 1
getstatic sun.security.jca.ProviderList.PC0:[Lsun/security/jca/ProviderConfig;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.security.jca.ProviderConfig[]
putfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
24: ldc "jdk.security.provider.preferred"
invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
25: aload 2
ifnull 43
aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
dup
astore 2
invokevirtual java.lang.String.length:()I
ifle 43
26: aload 2
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 27: getstatic sun.security.jca.ProviderList.preferredPropList:Lsun/security/jca/ProviderList$PreferredList;
ifnonnull 29
28: new sun.security.jca.ProviderList$PreferredList
dup
invokespecial sun.security.jca.ProviderList$PreferredList.<init>:()V
putstatic sun.security.jca.ProviderList.preferredPropList:Lsun/security/jca/ProviderList$PreferredList;
29: StackMap locals: java.lang.String[]
StackMap stack:
aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 42
StackMap locals: sun.security.jca.ProviderList java.util.List java.lang.String int java.lang.String[] top int int java.lang.String[]
StackMap stack:
30: aload 8
iload 6
aaload
astore 5
start local 5 31: aload 5
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 3
32: iload 3
ifge 38
33: getstatic sun.security.jca.ProviderList.debug:Lsun/security/util/Debug;
ifnull 41
34: getstatic sun.security.jca.ProviderList.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "invalid preferred entry skipped. Missing colon delimiter \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
35: aload 5
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;
36: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
37: goto 41
38: StackMap locals: sun.security.jca.ProviderList java.util.List java.lang.String int java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
getstatic sun.security.jca.ProviderList.preferredPropList:Lsun/security/jca/ProviderList$PreferredList;
new sun.security.jca.ProviderList$PreferredEntry
dup
39: aload 5
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aload 5
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokespecial sun.security.jca.ProviderList$PreferredEntry.<init>:(Ljava/lang/String;Ljava/lang/String;)V
40: invokevirtual sun.security.jca.ProviderList$PreferredList.add:(Lsun/security/jca/ProviderList$PreferredEntry;)Z
pop
end local 5 41: StackMap locals: sun.security.jca.ProviderList java.util.List java.lang.String int java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
42: iload 6
iload 7
if_icmplt 30
end local 4 43: StackMap locals: sun.security.jca.ProviderList java.util.List java.lang.String int
StackMap stack:
getstatic sun.security.jca.ProviderList.debug:Lsun/security/util/Debug;
ifnull 48
44: getstatic sun.security.jca.ProviderList.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "provider configuration: "
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;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
45: getstatic sun.security.jca.ProviderList.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "config configuration: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
46: getstatic sun.security.jca.ProviderList.preferredPropList:Lsun/security/jca/ProviderList$PreferredList;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
48: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/security/jca/ProviderList;
3 49 1 configList Ljava/util/List<Lsun/security/jca/ProviderConfig;>;
5 21 2 entry Ljava/lang/String;
22 49 2 entry Ljava/lang/String;
4 49 3 i I
12 21 4 k I
14 15 5 config Lsun/security/jca/ProviderConfig;
18 21 5 config Lsun/security/jca/ProviderConfig;
16 18 6 provName Ljava/lang/String;
17 18 7 argument Ljava/lang/String;
27 43 4 entries [Ljava/lang/String;
31 41 5 e Ljava/lang/String;
sun.security.jca.ProviderList getJarList(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Lsun/security/jca/ProviderList;
flags: (0x0000)
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 13
StackMap locals: sun.security.jca.ProviderList java.lang.String[] java.util.List top int int java.lang.String[]
StackMap stack:
2: aload 6
iload 4
aaload
astore 3
start local 3 3: new sun.security.jca.ProviderConfig
dup
aload 3
invokespecial sun.security.jca.ProviderConfig.<init>:(Ljava/lang/String;)V
astore 7
start local 7 4: aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 10
StackMap locals: sun.security.jca.ProviderList java.lang.String[] java.util.List java.lang.String int int java.lang.String[] sun.security.jca.ProviderConfig top int int sun.security.jca.ProviderConfig[]
StackMap stack:
5: aload 11
iload 9
aaload
astore 8
start local 8 6: aload 8
aload 7
invokevirtual sun.security.jca.ProviderConfig.equals:(Ljava/lang/Object;)Z
ifeq 9
7: aload 8
astore 7
8: goto 11
end local 8 9: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
10: iload 9
iload 10
if_icmplt 5
11: StackMap locals: sun.security.jca.ProviderList java.lang.String[] java.util.List java.lang.String int int java.lang.String[] sun.security.jca.ProviderConfig
StackMap stack:
aload 2
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 3 12: iinc 4 1
StackMap locals: sun.security.jca.ProviderList java.lang.String[] java.util.List top int int java.lang.String[]
StackMap stack:
13: iload 4
iload 5
if_icmplt 2
14: aload 2
getstatic sun.security.jca.ProviderList.PC0:[Lsun/security/jca/ProviderConfig;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.security.jca.ProviderConfig[]
astore 3
start local 3 15: new sun.security.jca.ProviderList
dup
aload 3
iconst_0
invokespecial sun.security.jca.ProviderList.<init>:([Lsun/security/jca/ProviderConfig;Z)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/jca/ProviderList;
0 16 1 jarProvNames [Ljava/lang/String;
1 16 2 newConfigs Ljava/util/List<Lsun/security/jca/ProviderConfig;>;
3 12 3 provName Ljava/lang/String;
4 12 7 newConfig Lsun/security/jca/ProviderConfig;
6 9 8 config Lsun/security/jca/ProviderConfig;
15 16 3 configArray [Lsun/security/jca/ProviderConfig;
MethodParameters:
Name Flags
jarProvNames
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jca/ProviderList;
java.security.Provider getProvider(int);
descriptor: (I)Ljava/security/Provider;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
iload 1
aaload
invokevirtual sun.security.jca.ProviderConfig.getProvider:()Ljava/security/Provider;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
goto 3
StackMap locals: java.security.Provider
StackMap stack:
2: getstatic sun.security.jca.ProviderList.EMPTY_PROVIDER:Ljava/security/Provider;
StackMap locals:
StackMap stack: java.security.Provider
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/jca/ProviderList;
0 4 1 index I
1 4 2 p Ljava/security/Provider;
MethodParameters:
Name Flags
index
public java.util.List<java.security.Provider> providers();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.jca.ProviderList.userList:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jca/ProviderList;
Signature: ()Ljava/util/List<Ljava/security/Provider;>;
private sun.security.jca.ProviderConfig getProviderConfig(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/security/jca/ProviderConfig;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.jca.ProviderList.getIndex:(Ljava/lang/String;)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpeq 2
aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
iload 2
aaload
goto 3
StackMap locals: int
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: sun.security.jca.ProviderConfig
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/jca/ProviderList;
0 4 1 name Ljava/lang/String;
1 4 2 index I
MethodParameters:
Name Flags
name
public java.security.Provider getProvider(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/Provider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.jca.ProviderList.getProviderConfig:(Ljava/lang/String;)Lsun/security/jca/ProviderConfig;
astore 2
start local 2 1: aload 2
ifnonnull 2
aconst_null
goto 3
StackMap locals: sun.security.jca.ProviderConfig
StackMap stack:
2: aload 2
invokevirtual sun.security.jca.ProviderConfig.getProvider:()Ljava/security/Provider;
StackMap locals:
StackMap stack: java.security.Provider
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/jca/ProviderList;
0 4 1 name Ljava/lang/String;
1 4 2 config Lsun/security/jca/ProviderConfig;
MethodParameters:
Name Flags
name
public int getIndex(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual sun.security.jca.ProviderList.getProvider:(I)Ljava/security/Provider;
astore 3
start local 3 3: aload 3
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iload 2
ireturn
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
arraylength
if_icmplt 2
end local 2 7: iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/jca/ProviderList;
0 8 1 name Ljava/lang/String;
1 7 2 i I
3 5 3 p Ljava/security/Provider;
MethodParameters:
Name Flags
name
private int loadAll();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.jca.ProviderList.allLoaded:Z
ifeq 2
1: aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
arraylength
ireturn
2: StackMap locals:
StackMap stack:
getstatic sun.security.jca.ProviderList.debug:Lsun/security/util/Debug;
ifnull 5
3: getstatic sun.security.jca.ProviderList.debug:Lsun/security/util/Debug;
ldc "Loading all providers"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
4: new java.lang.Exception
dup
ldc "Debug Info. Call trace:"
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
invokevirtual java.lang.Exception.printStackTrace:()V
5: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 6: iconst_0
istore 2
start local 2 7: goto 12
8: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
iload 2
aaload
invokevirtual sun.security.jca.ProviderConfig.getProvider:()Ljava/security/Provider;
astore 3
start local 3 9: aload 3
ifnull 11
10: iinc 1 1
end local 3 11: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
arraylength
if_icmplt 8
end local 2 13: iload 1
aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
arraylength
if_icmpne 15
14: aload 0
iconst_1
putfield sun.security.jca.ProviderList.allLoaded:Z
15: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/jca/ProviderList;
6 16 1 n I
7 13 2 i I
9 11 3 p Ljava/security/Provider;
sun.security.jca.ProviderList removeInvalid();
descriptor: ()Lsun/security/jca/ProviderList;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.jca.ProviderList.loadAll:()I
istore 1
start local 1 1: iload 1
aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
arraylength
if_icmpne 3
2: aload 0
areturn
3: StackMap locals: int
StackMap stack:
iload 1
anewarray sun.security.jca.ProviderConfig
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 11
7: StackMap locals: sun.security.jca.ProviderConfig[] int int
StackMap stack:
aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
iload 3
aaload
astore 5
start local 5 8: aload 5
invokevirtual sun.security.jca.ProviderConfig.isLoaded:()Z
ifeq 10
9: aload 2
iload 4
iinc 4 1
aload 5
aastore
end local 5 10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
arraylength
if_icmplt 7
end local 4 end local 3 12: new sun.security.jca.ProviderList
dup
aload 2
iconst_1
invokespecial sun.security.jca.ProviderList.<init>:([Lsun/security/jca/ProviderConfig;Z)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/jca/ProviderList;
1 13 1 n I
4 13 2 newConfigs [Lsun/security/jca/ProviderConfig;
5 12 3 i I
6 12 4 j I
8 10 5 config Lsun/security/jca/ProviderConfig;
public java.security.Provider[] toArray();
descriptor: ()[Ljava/security/Provider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.jca.ProviderList.providers:()Ljava/util/List;
getstatic sun.security.jca.ProviderList.P0:[Ljava/security/Provider;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.Provider[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jca/ProviderList;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jca/ProviderList;
public java.security.Provider$Service getService(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: getstatic sun.security.jca.ProviderList.preferredPropList:Lsun/security/jca/ProviderList$PreferredList;
ifnull 11
2: getstatic sun.security.jca.ProviderList.preferredPropList:Lsun/security/jca/ProviderList$PreferredList;
aload 1
aload 2
invokevirtual sun.security.jca.ProviderList$PreferredList.getAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/ArrayList;
dup
astore 3
ifnull 11
3: iconst_0
istore 4
start local 4 4: goto 10
5: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 0
aload 3
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast sun.security.jca.ProviderList$PreferredEntry
getfield sun.security.jca.ProviderList$PreferredEntry.provider:Ljava/lang/String;
invokevirtual sun.security.jca.ProviderList.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
astore 5
start local 5 6: aload 5
aload 1
aload 2
invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
astore 6
start local 6 7: aload 6
ifnull 9
8: aload 6
areturn
end local 6 end local 5 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 3
invokevirtual java.util.ArrayList.size:()I
if_icmplt 5
end local 4 11: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 12: goto 18
13: StackMap locals: int
StackMap stack:
aload 0
iload 4
invokevirtual sun.security.jca.ProviderList.getProvider:(I)Ljava/security/Provider;
astore 5
start local 5 14: aload 5
aload 1
aload 2
invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
astore 6
start local 6 15: aload 6
ifnull 17
16: aload 6
areturn
end local 6 end local 5 17: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
aload 0
getfield sun.security.jca.ProviderList.configs:[Lsun/security/jca/ProviderConfig;
arraylength
if_icmplt 13
19: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/jca/ProviderList;
0 20 1 type Ljava/lang/String;
0 20 2 name Ljava/lang/String;
1 20 3 pList Ljava/util/ArrayList<Lsun/security/jca/ProviderList$PreferredEntry;>;
4 11 4 i I
12 20 4 i I
6 9 5 p Ljava/security/Provider;
7 9 6 s Ljava/security/Provider$Service;
14 17 5 p Ljava/security/Provider;
15 17 6 s Ljava/security/Provider$Service;
MethodParameters:
Name Flags
type
name
public java.util.List<java.security.Provider$Service> getServices(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new sun.security.jca.ProviderList$ServiceList
dup
aload 0
aload 1
aload 2
invokespecial sun.security.jca.ProviderList$ServiceList.<init>:(Lsun/security/jca/ProviderList;Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jca/ProviderList;
0 1 1 type Ljava/lang/String;
0 1 2 algorithm Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Ljava/security/Provider$Service;>;
MethodParameters:
Name Flags
type
algorithm
public java.util.List<java.security.Provider$Service> getServices(java.lang.String, java.util.List<java.lang.String>);
descriptor: (Ljava/lang/String;Ljava/util/List;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: sun.security.jca.ProviderList java.lang.String java.util.List java.util.List top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 3: aload 3
new sun.security.jca.ServiceId
dup
aload 1
aload 4
invokespecial sun.security.jca.ServiceId.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
aload 3
invokevirtual sun.security.jca.ProviderList.getServices:(Ljava/util/List;)Ljava/util/List;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/jca/ProviderList;
0 6 1 type Ljava/lang/String;
0 6 2 algorithms Ljava/util/List<Ljava/lang/String;>;
1 6 3 ids Ljava/util/List<Lsun/security/jca/ServiceId;>;
3 4 4 alg Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)Ljava/util/List<Ljava/security/Provider$Service;>;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
type
algorithms
public java.util.List<java.security.Provider$Service> getServices(java.util.List<sun.security.jca.ServiceId>);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new sun.security.jca.ProviderList$ServiceList
dup
aload 0
aload 1
invokespecial sun.security.jca.ProviderList$ServiceList.<init>:(Lsun/security/jca/ProviderList;Ljava/util/List;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/jca/ProviderList;
0 1 1 ids Ljava/util/List<Lsun/security/jca/ServiceId;>;
Signature: (Ljava/util/List<Lsun/security/jca/ServiceId;>;)Ljava/util/List<Ljava/security/Provider$Service;>;
MethodParameters:
Name Flags
ids
}
SourceFile: "ProviderList.java"
NestMembers:
sun.security.jca.ProviderList$1 sun.security.jca.ProviderList$2 sun.security.jca.ProviderList$3 sun.security.jca.ProviderList$PreferredEntry sun.security.jca.ProviderList$PreferredList sun.security.jca.ProviderList$ServiceList sun.security.jca.ProviderList$ServiceList$1
InnerClasses:
public Service = java.security.Provider$Service of java.security.Provider
sun.security.jca.ProviderList$1
sun.security.jca.ProviderList$2
sun.security.jca.ProviderList$3
private PreferredEntry = sun.security.jca.ProviderList$PreferredEntry of sun.security.jca.ProviderList
final PreferredList = sun.security.jca.ProviderList$PreferredList of sun.security.jca.ProviderList
private final ServiceList = sun.security.jca.ProviderList$ServiceList of sun.security.jca.ProviderList