public class sun.security.provider.PolicyFile extends java.security.Policy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.provider.PolicyFile
super_class: java.security.Policy
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String SELF;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "${{self}}"
private static final java.lang.String X500PRINCIPAL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "javax.security.auth.x500.X500Principal"
private static final java.lang.String POLICY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.security.policy"
private static final java.lang.String POLICY_URL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "policy.url."
private static final int DEFAULT_CACHE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private volatile sun.security.provider.PolicyFile$PolicyInfo policyInfo;
descriptor: Lsun/security/provider/PolicyFile$PolicyInfo;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean expandProperties;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean allowSystemProperties;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean notUtf8;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.net.URL url;
descriptor: Ljava/net/URL;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.Class<?>[] PARAMS0;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private static final java.lang.Class<?>[] PARAMS1;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private static final java.lang.Class<?>[] PARAMS2;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private static java.util.Set<java.net.URL> badPolicyURLs;
descriptor: Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Set<Ljava/net/URL;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc "policy"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
1: iconst_0
anewarray java.lang.Class
putstatic sun.security.provider.PolicyFile.PARAMS0:[Ljava/lang/Class;
2: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
putstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
3: iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
ldc Ljava/lang/String;
aastore
putstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
4: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
5: putstatic sun.security.provider.PolicyFile.badPolicyURLs:Ljava/util/Set;
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.security.Policy.<init>:()V
1: aload 0
iconst_1
putfield sun.security.provider.PolicyFile.expandProperties:Z
2: aload 0
iconst_1
putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
3: aload 0
iconst_0
putfield sun.security.provider.PolicyFile.notUtf8:Z
4: aload 0
aconst_null
invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/provider/PolicyFile;
public void <init>(java.net.URL);
descriptor: (Ljava/net/URL;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.security.Policy.<init>:()V
1: aload 0
iconst_1
putfield sun.security.provider.PolicyFile.expandProperties:Z
2: aload 0
iconst_1
putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
3: aload 0
iconst_0
putfield sun.security.provider.PolicyFile.notUtf8:Z
4: aload 0
aload 1
putfield sun.security.provider.PolicyFile.url:Ljava/net/URL;
5: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/provider/PolicyFile;
0 7 1 url Ljava/net/URL;
MethodParameters:
Name Flags
url
private void init(java.net.URL);
descriptor: (Ljava/net/URL;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new sun.security.provider.PolicyFile$1
dup
aload 0
invokespecial sun.security.provider.PolicyFile$1.<init>:(Lsun/security/provider/PolicyFile;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
1: astore 2
start local 2 2: aload 2
ifnull 8
3: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 3
start local 3 4: goto 9
end local 3 StackMap locals: sun.security.provider.PolicyFile java.net.URL java.lang.String
StackMap stack: java.lang.NumberFormatException
5: pop
6: iconst_1
istore 3
start local 3 7: goto 9
end local 3 8: StackMap locals:
StackMap stack:
iconst_1
istore 3
start local 3 9: StackMap locals: int
StackMap stack:
new sun.security.provider.PolicyFile$PolicyInfo
dup
iload 3
invokespecial sun.security.provider.PolicyFile$PolicyInfo.<init>:(I)V
astore 4
start local 4 10: aload 0
aload 4
aload 1
invokevirtual sun.security.provider.PolicyFile.initPolicyFile:(Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/net/URL;)V
11: aload 0
aload 4
putfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/provider/PolicyFile;
0 13 1 url Ljava/net/URL;
2 13 2 numCacheStr Ljava/lang/String;
4 5 3 numCaches I
7 8 3 numCaches I
9 13 3 numCaches I
10 13 4 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
Exception table:
from to target type
3 4 5 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
url
private void initPolicyFile(sun.security.provider.PolicyFile$PolicyInfo, java.net.URL);
descriptor: (Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/net/URL;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new sun.security.provider.PolicyFile$2
dup
aload 0
aload 1
invokespecial sun.security.provider.PolicyFile$2.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyInfo;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
1: aload 2
ifnull 6
2: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 4
3: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "reading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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
4: StackMap locals:
StackMap stack:
new sun.security.provider.PolicyFile$3
dup
aload 0
aload 2
aload 1
invokespecial sun.security.provider.PolicyFile$3.<init>:(Lsun/security/provider/PolicyFile;Ljava/net/URL;Lsun/security/provider/PolicyFile$PolicyInfo;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
5: goto 9
6: StackMap locals:
StackMap stack:
aload 0
ldc "java.security.policy"
ldc "policy.url."
aload 1
invokevirtual sun.security.provider.PolicyFile.initPolicyFile:(Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
istore 3
start local 3 7: iload 3
ifne 9
8: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.initStaticPolicy:(Lsun/security/provider/PolicyFile$PolicyInfo;)V
end local 3 9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/provider/PolicyFile;
0 10 1 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
0 10 2 url Ljava/net/URL;
7 9 3 loaded_one Z
MethodParameters:
Name Flags
newInfo final
url final
private boolean initPolicyFile(java.lang.String, java.lang.String, sun.security.provider.PolicyFile$PolicyInfo);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new sun.security.provider.PolicyFile$4
dup
aload 0
aload 1
aload 3
aload 2
invokespecial sun.security.provider.PolicyFile$4.<init>:(Lsun/security/provider/PolicyFile;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/lang/String;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
1: istore 4
start local 4 2: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/provider/PolicyFile;
0 3 1 propname Ljava/lang/String;
0 3 2 urlname Ljava/lang/String;
0 3 3 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
2 3 4 loadedPolicy Z
MethodParameters:
Name Flags
propname final
urlname final
newInfo final
private void initDefaultPolicy(sun.security.provider.PolicyFile$PolicyInfo);
descriptor: (Lsun/security/provider/PolicyFile$PolicyInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: invokestatic jdk.internal.util.StaticProperty.javaHome:()Ljava/lang/String;
iconst_3
anewarray java.lang.String
dup
iconst_0
1: ldc "lib"
aastore
dup
iconst_1
2: ldc "security"
aastore
dup
iconst_2
3: ldc "default.policy"
aastore
4: invokestatic java.nio.file.Path.of:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 2
start local 2 5: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 7
6: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "reading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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
7: StackMap locals: java.nio.file.Path
StackMap stack:
aconst_null
astore 3
aconst_null
astore 4
8: aload 2
invokestatic java.nio.file.Files.newBufferedReader:(Ljava/nio/file/Path;)Ljava/io/BufferedReader;
astore 5
start local 5 9: new sun.security.provider.PolicyParser
dup
aload 0
getfield sun.security.provider.PolicyFile.expandProperties:Z
invokespecial sun.security.provider.PolicyParser.<init>:(Z)V
astore 6
start local 6 10: aload 6
aload 5
invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
11: aload 6
invokevirtual sun.security.provider.PolicyParser.grantElements:()Ljava/util/Enumeration;
astore 7
start local 7 12: goto 15
13: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$PolicyInfo java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.BufferedReader sun.security.provider.PolicyParser java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$GrantEntry
astore 8
start local 8 14: aload 0
aload 8
aconst_null
aload 1
invokevirtual sun.security.provider.PolicyFile.addGrantEntry:(Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)V
end local 8 15: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 13
end local 7 end local 6 16: aload 5
ifnull 24
aload 5
invokevirtual java.io.BufferedReader.close:()V
goto 24
StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$PolicyInfo java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.BufferedReader
StackMap stack: java.lang.Throwable
17: astore 3
aload 5
ifnull 18
aload 5
invokevirtual java.io.BufferedReader.close:()V
end local 5 StackMap locals:
StackMap stack:
18: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 4
aload 3
ifnonnull 20
aload 4
astore 3
goto 21
StackMap locals:
StackMap stack:
20: aload 3
aload 4
if_acmpeq 21
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
21: aload 3
athrow
StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$PolicyInfo java.nio.file.Path
StackMap stack: java.lang.Exception
22: astore 3
start local 3 23: new java.lang.InternalError
dup
ldc "Failed to load default.policy"
aload 3
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/provider/PolicyFile;
0 25 1 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
5 25 2 defaultPolicy Ljava/nio/file/Path;
9 18 5 br Ljava/io/BufferedReader;
10 16 6 pp Lsun/security/provider/PolicyParser;
12 16 7 enum_ Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
14 15 8 ge Lsun/security/provider/PolicyParser$GrantEntry;
23 24 3 e Ljava/lang/Exception;
Exception table:
from to target type
9 16 17 any
8 19 19 any
7 22 22 Class java.lang.Exception
MethodParameters:
Name Flags
newInfo
private boolean init(java.net.URL, sun.security.provider.PolicyFile$PolicyInfo);
descriptor: (Ljava/net/URL;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.provider.PolicyFile.badPolicyURLs:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 4
1: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 3
2: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "skipping bad policy file: "
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
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aconst_null
astore 3
aconst_null
astore 4
5: aload 0
aload 1
invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
invokevirtual sun.security.provider.PolicyFile.getInputStreamReader:(Ljava/io/InputStream;)Ljava/io/InputStreamReader;
6: astore 5
start local 5 7: new sun.security.provider.PolicyParser
dup
aload 0
getfield sun.security.provider.PolicyFile.expandProperties:Z
invokespecial sun.security.provider.PolicyParser.<init>:(Z)V
astore 6
start local 6 8: aload 6
aload 5
invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
9: aconst_null
astore 7
start local 7 10: aload 1
11: aload 6
invokevirtual sun.security.provider.PolicyParser.getKeyStoreUrl:()Ljava/lang/String;
12: aload 6
invokevirtual sun.security.provider.PolicyParser.getKeyStoreType:()Ljava/lang/String;
13: aload 6
invokevirtual sun.security.provider.PolicyParser.getKeyStoreProvider:()Ljava/lang/String;
14: aload 6
invokevirtual sun.security.provider.PolicyParser.getStorePassURL:()Ljava/lang/String;
15: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
16: invokestatic sun.security.util.PolicyUtil.getKeyStore:(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lsun/security/util/Debug;)Ljava/security/KeyStore;
astore 7
17: goto 22
StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo java.lang.Throwable java.lang.Throwable java.io.InputStreamReader sun.security.provider.PolicyParser java.security.KeyStore
StackMap stack: java.lang.Exception
18: astore 8
start local 8 19: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 22
20: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "Debug info only. Ignoring exception."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
21: aload 8
invokevirtual java.lang.Exception.printStackTrace:()V
end local 8 22: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.security.provider.PolicyParser.grantElements:()Ljava/util/Enumeration;
astore 8
start local 8 23: goto 26
24: StackMap locals: java.util.Enumeration
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$GrantEntry
astore 9
start local 9 25: aload 0
aload 9
aload 7
aload 2
invokevirtual sun.security.provider.PolicyFile.addGrantEntry:(Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)V
end local 9 26: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 24
27: aload 5
ifnull 28
aload 5
invokevirtual java.io.InputStreamReader.close:()V
28: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 8 end local 7 end local 6 StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo java.lang.Throwable java.lang.Throwable java.io.InputStreamReader
StackMap stack: java.lang.Throwable
29: astore 3
30: aload 5
ifnull 31
aload 5
invokevirtual java.io.InputStreamReader.close:()V
end local 5 StackMap locals:
StackMap stack:
31: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 4
aload 3
ifnonnull 33
aload 4
astore 3
goto 34
StackMap locals:
StackMap stack:
33: aload 3
aload 4
if_acmpeq 34
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
34: aload 3
athrow
StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo
StackMap stack: sun.security.provider.PolicyParser$ParsingException
35: astore 3
start local 3 36: getstatic sun.security.provider.PolicyFile.badPolicyURLs:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
37: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 3
invokevirtual sun.security.provider.PolicyParser$ParsingException.getNonlocalizedMessage:()Ljava/lang/String;
aastore
astore 4
start local 4 38: getstatic java.lang.System.err:Ljava/io/PrintStream;
39: ldc "java.security.policy.error.parsing.policy.message"
aload 4
40: invokestatic sun.security.util.LocalizedMessage.getNonlocalized:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
41: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 49
42: aload 3
invokevirtual sun.security.provider.PolicyParser$ParsingException.printStackTrace:()V
end local 4 end local 3 43: goto 49
44: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 45: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 49
46: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "error parsing "
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
47: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
aload 3
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
48: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
end local 3 49: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lsun/security/provider/PolicyFile;
0 50 1 policy Ljava/net/URL;
0 50 2 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
7 31 5 isr Ljava/io/InputStreamReader;
8 29 6 pp Lsun/security/provider/PolicyParser;
10 29 7 keyStore Ljava/security/KeyStore;
19 22 8 e Ljava/lang/Exception;
23 29 8 enum_ Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
25 26 9 ge Lsun/security/provider/PolicyParser$GrantEntry;
36 43 3 pe Lsun/security/provider/PolicyParser$ParsingException;
38 43 4 source [Ljava/lang/Object;
45 49 3 e Ljava/lang/Exception;
Exception table:
from to target type
10 17 18 Class java.lang.Exception
7 27 29 any
5 28 32 any
29 32 32 any
4 28 35 Class sun.security.provider.PolicyParser$ParsingException
29 35 35 Class sun.security.provider.PolicyParser$ParsingException
4 28 44 Class java.lang.Exception
29 35 44 Class java.lang.Exception
MethodParameters:
Name Flags
policy
newInfo
private java.io.InputStreamReader getInputStreamReader(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/io/InputStreamReader;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.PolicyFile.notUtf8:Z
ifeq 2
1: new java.io.InputStreamReader
dup
aload 1
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
goto 3
2: StackMap locals:
StackMap stack:
new java.io.InputStreamReader
dup
aload 1
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
3: StackMap locals:
StackMap stack: java.io.InputStreamReader
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/provider/PolicyFile;
0 4 1 is Ljava/io/InputStream;
MethodParameters:
Name Flags
is
private void initStaticPolicy(sun.security.provider.PolicyFile$PolicyInfo);
descriptor: (Lsun/security/provider/PolicyFile$PolicyInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "Initializing with static permissions"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
new sun.security.provider.PolicyFile$5
dup
aload 0
aload 1
invokespecial sun.security.provider.PolicyFile$5.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyInfo;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/provider/PolicyFile;
0 4 1 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
MethodParameters:
Name Flags
newInfo final
private java.security.CodeSource getCodeSource(sun.security.provider.PolicyParser$GrantEntry, java.security.KeyStore, sun.security.provider.PolicyFile$PolicyInfo);
descriptor: (Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)Ljava/security/CodeSource;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
ifnull 9
2: aload 0
aload 2
aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
aload 3
invokevirtual sun.security.provider.PolicyFile.getCertificates:(Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
astore 4
3: aload 4
ifnonnull 9
4: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 8
5: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " -- No certs for alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' - ignoring entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
8: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
aconst_null
areturn
9: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
ifnull 12
10: new java.net.URL
dup
aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 5
start local 5 11: goto 13
end local 5 12: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 13: StackMap locals: java.net.URL
StackMap stack:
aload 0
new java.security.CodeSource
dup
aload 5
aload 4
invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
iconst_0
invokevirtual sun.security.provider.PolicyFile.canonicalizeCodebase:(Ljava/security/CodeSource;Z)Ljava/security/CodeSource;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/provider/PolicyFile;
0 14 1 ge Lsun/security/provider/PolicyParser$GrantEntry;
0 14 2 keyStore Ljava/security/KeyStore;
0 14 3 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
1 14 4 certs [Ljava/security/cert/Certificate;
11 12 5 location Ljava/net/URL;
13 14 5 location Ljava/net/URL;
Exceptions:
throws java.net.MalformedURLException
MethodParameters:
Name Flags
ge
keyStore
newInfo
private void addGrantEntry(sun.security.provider.PolicyParser$GrantEntry, java.security.KeyStore, sun.security.provider.PolicyFile$PolicyInfo);
descriptor: (Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 9
1: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "Adding policy entry: "
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " signedBy "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
3: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " codeBase "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
4: aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
ifnull 9
5: aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 5
goto 8
StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PrincipalEntry
astore 4
start local 4 7: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 4 8: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual sun.security.provider.PolicyFile.getCodeSource:(Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)Ljava/security/CodeSource;
astore 4
start local 4 10: aload 4
ifnonnull 12
11: return
12: StackMap locals: java.security.CodeSource
StackMap stack:
aload 0
aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
aload 2
invokevirtual sun.security.provider.PolicyFile.replacePrincipals:(Ljava/util/List;Ljava/security/KeyStore;)Z
ifne 14
13: return
14: StackMap locals:
StackMap stack:
new sun.security.provider.PolicyFile$PolicyEntry
dup
aload 4
aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
invokespecial sun.security.provider.PolicyFile$PolicyEntry.<init>:(Ljava/security/CodeSource;Ljava/util/List;)V
astore 5
start local 5 15: aload 1
invokevirtual sun.security.provider.PolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
16: astore 6
start local 6 17: goto 88
18: StackMap locals: sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PermissionEntry
astore 7
start local 7 19: aload 0
aload 7
aload 2
invokevirtual sun.security.provider.PolicyFile.expandPermissionName:(Lsun/security/provider/PolicyParser$PermissionEntry;Ljava/security/KeyStore;)V
20: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
21: ldc "javax.security.auth.PrivateCredentialPermission"
22: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
23: ifeq 28
24: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ldc " self"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 28
25: aload 7
new java.lang.StringBuilder
dup
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
iconst_0
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ldc "self"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
26: ldc "${{self}}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
28: StackMap locals: sun.security.provider.PolicyParser$PermissionEntry
StackMap stack:
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ifnull 42
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ldc "${{self}}"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 42
29: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
ifnull 35
30: aload 0
aload 2
31: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
32: aload 3
33: invokevirtual sun.security.provider.PolicyFile.getCertificates:(Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
astore 9
start local 9 34: goto 36
end local 9 35: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 36: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry top java.security.cert.Certificate[]
StackMap stack:
new sun.security.provider.PolicyFile$SelfPermission
dup
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
37: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
38: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
39: aload 9
40: invokespecial sun.security.provider.PolicyFile$SelfPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
astore 8
end local 9 start local 8 41: goto 46
end local 8 42: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
StackMap stack:
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
43: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
44: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
45: invokestatic sun.security.provider.PolicyFile.getInstance:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
astore 8
start local 8 46: StackMap locals: java.security.Permission
StackMap stack:
aload 5
aload 8
invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
47: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 88
48: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
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
end local 8 49: goto 88
StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
StackMap stack: java.lang.ClassNotFoundException
50: pop
51: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
ifnull 57
52: aload 0
aload 2
53: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
54: aload 3
55: invokevirtual sun.security.provider.PolicyFile.getCertificates:(Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
astore 8
start local 8 56: goto 58
end local 8 57: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 58: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
aload 8
ifnonnull 59
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
ifnonnull 88
59: StackMap locals:
StackMap stack:
new java.security.UnresolvedPermission
dup
60: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
61: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
62: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
63: aload 8
64: invokespecial java.security.UnresolvedPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
astore 9
start local 9 65: aload 5
aload 9
invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
66: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 88
67: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
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
end local 9 end local 8 68: goto 88
69: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
StackMap stack: java.lang.reflect.InvocationTargetException
astore 8
start local 8 70: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
aastore
dup
iconst_1
71: aload 8
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
aastore
72: astore 9
start local 9 73: getstatic java.lang.System.err:Ljava/io/PrintStream;
74: ldc "java.security.policy.error.adding.Permission.perm.message"
75: aload 9
76: invokestatic sun.security.util.LocalizedMessage.getNonlocalized:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
77: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 9 end local 8 78: goto 88
79: StackMap locals:
StackMap stack: java.lang.Exception
astore 8
start local 8 80: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
aastore
dup
iconst_1
81: aload 8
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aastore
82: astore 9
start local 9 83: getstatic java.lang.System.err:Ljava/io/PrintStream;
84: ldc "java.security.policy.error.adding.Permission.perm.message"
85: aload 9
86: invokestatic sun.security.util.LocalizedMessage.getNonlocalized:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
87: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 9 end local 8 end local 7 88: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 18
89: aload 3
getfield sun.security.provider.PolicyFile$PolicyInfo.policyEntries:Ljava/util/List;
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 end local 4 90: goto 98
StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo
StackMap stack: java.lang.Exception
91: astore 4
start local 4 92: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aastore
astore 5
start local 5 93: getstatic java.lang.System.err:Ljava/io/PrintStream;
94: ldc "java.security.policy.error.adding.Entry.message"
95: aload 5
96: invokestatic sun.security.util.LocalizedMessage.getNonlocalized:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
97: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 end local 4 98: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 100
99: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
invokevirtual sun.security.util.Debug.println:()V
100: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 101 0 this Lsun/security/provider/PolicyFile;
0 101 1 ge Lsun/security/provider/PolicyParser$GrantEntry;
0 101 2 keyStore Ljava/security/KeyStore;
0 101 3 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
7 8 4 pppe Lsun/security/provider/PolicyParser$PrincipalEntry;
10 90 4 codesource Ljava/security/CodeSource;
15 90 5 entry Lsun/security/provider/PolicyFile$PolicyEntry;
17 90 6 enum_ Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$PermissionEntry;>;
19 88 7 pe Lsun/security/provider/PolicyParser$PermissionEntry;
41 42 8 perm Ljava/security/Permission;
46 49 8 perm Ljava/security/Permission;
34 35 9 certs [Ljava/security/cert/Certificate;
36 41 9 certs [Ljava/security/cert/Certificate;
56 57 8 certs [Ljava/security/cert/Certificate;
58 68 8 certs [Ljava/security/cert/Certificate;
65 68 9 perm Ljava/security/Permission;
70 78 8 ite Ljava/lang/reflect/InvocationTargetException;
73 78 9 source [Ljava/lang/Object;
80 88 8 e Ljava/lang/Exception;
83 88 9 source [Ljava/lang/Object;
92 98 4 e Ljava/lang/Exception;
93 98 5 source [Ljava/lang/Object;
Exception table:
from to target type
19 49 50 Class java.lang.ClassNotFoundException
19 49 69 Class java.lang.reflect.InvocationTargetException
19 49 79 Class java.lang.Exception
9 11 91 Class java.lang.Exception
12 13 91 Class java.lang.Exception
14 90 91 Class java.lang.Exception
MethodParameters:
Name Flags
ge
keyStore
newInfo
private static final java.security.Permission getInstance(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_0
aconst_null
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 3
start local 3 1: aload 3
aload 1
aload 2
invokestatic sun.security.provider.PolicyFile.getKnownPermission:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
astore 4
start local 4 2: aload 4
ifnull 4
3: aload 4
areturn
4: StackMap locals: java.lang.Class java.security.Permission
StackMap stack:
ldc Ljava/security/Permission;
aload 3
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 6
5: new java.lang.ClassCastException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " is not a Permission"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
ifnonnull 21
aload 2
ifnonnull 21
7: aload 3
getstatic sun.security.provider.PolicyFile.PARAMS0:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
start local 5 8: aload 5
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
9: areturn
end local 5 10: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
11: aload 3
getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
start local 5 12: aload 5
13: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
14: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
15: areturn
end local 5 16: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
17: aload 3
getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
start local 5 18: aload 5
19: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
20: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
areturn
end local 5 21: StackMap locals:
StackMap stack:
aload 1
ifnull 30
aload 2
ifnonnull 30
22: aload 3
getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
start local 5 23: aload 5
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
24: areturn
end local 5 25: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
26: aload 3
getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
start local 5 27: aload 5
28: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
29: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
areturn
end local 5 30: StackMap locals:
StackMap stack:
aload 3
getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
start local 5 31: aload 5
32: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
33: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 type Ljava/lang/String;
0 34 1 name Ljava/lang/String;
0 34 2 actions Ljava/lang/String;
1 34 3 pc Ljava/lang/Class<*>;
2 34 4 answer Ljava/security/Permission;
8 10 5 c Ljava/lang/reflect/Constructor<*>;
12 16 5 c Ljava/lang/reflect/Constructor<*>;
18 21 5 c Ljava/lang/reflect/Constructor<*>;
23 25 5 c Ljava/lang/reflect/Constructor<*>;
27 30 5 c Ljava/lang/reflect/Constructor<*>;
31 34 5 c Ljava/lang/reflect/Constructor<*>;
Exception table:
from to target type
7 9 10 Class java.lang.NoSuchMethodException
11 15 16 Class java.lang.NoSuchMethodException
22 24 25 Class java.lang.NoSuchMethodException
Exceptions:
throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
type
name
actions
private static java.security.Permission getKnownPermission(java.lang.Class<?>, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc Ljava/io/FilePermission;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: new java.io.FilePermission
dup
aload 1
aload 2
invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/net/SocketPermission;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
3: new java.net.SocketPermission
dup
aload 1
aload 2
invokespecial java.net.SocketPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/lang/RuntimePermission;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: new java.lang.RuntimePermission
dup
aload 1
aload 2
invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
6: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/util/PropertyPermission;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
7: new java.util.PropertyPermission
dup
aload 1
aload 2
invokespecial java.util.PropertyPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
8: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/net/NetPermission;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
9: new java.net.NetPermission
dup
aload 1
aload 2
invokespecial java.net.NetPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
10: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/security/AllPermission;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
11: getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
areturn
12: StackMap locals:
StackMap stack:
aload 0
ldc Ljava/security/SecurityPermission;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
13: new java.security.SecurityPermission
dup
aload 1
aload 2
invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
14: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 claz Ljava/lang/Class<*>;
0 15 1 name Ljava/lang/String;
0 15 2 actions Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
MethodParameters:
Name Flags
claz
name
actions
private static java.security.Principal getKnownPrincipal(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/security/Principal;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Ljavax/security/auth/x500/X500Principal;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
1: new javax.security.auth.x500.X500Principal
dup
aload 1
invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 claz Ljava/lang/Class<*>;
0 3 1 name Ljava/lang/String;
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/security/Principal;
MethodParameters:
Name Flags
claz
name
private java.security.cert.Certificate[] getCertificates(java.security.KeyStore, java.lang.String, sun.security.provider.PolicyFile$PolicyInfo);
descriptor: (Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: new java.util.StringTokenizer
dup
aload 2
ldc ","
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 24
4: StackMap locals: java.util.List java.util.StringTokenizer int
StackMap stack:
aload 5
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 7
start local 7 5: iinc 6 1
6: aconst_null
astore 8
start local 8 7: aload 3
getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
dup
astore 9
monitorenter
8: aload 3
getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 8
9: aload 8
ifnonnull 16
aload 1
ifnull 16
10: aload 1
aload 7
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 8
11: goto 13
StackMap locals: sun.security.provider.PolicyFile java.security.KeyStore java.lang.String sun.security.provider.PolicyFile$PolicyInfo java.util.List java.util.StringTokenizer int java.lang.String java.security.cert.Certificate java.util.Map
StackMap stack: java.security.KeyStoreException
12: pop
13: StackMap locals:
StackMap stack:
aload 8
ifnull 16
14: aload 3
getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
aload 7
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: aload 3
getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
aload 8
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: StackMap locals:
StackMap stack:
aload 9
monitorexit
17: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 9
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
aload 8
ifnull 24
21: aload 4
ifnonnull 23
22: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
23: StackMap locals:
StackMap stack:
aload 4
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 24: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 4
25: aload 4
ifnull 29
iload 6
aload 4
invokeinterface java.util.List.size:()I
if_icmpne 29
26: aload 4
invokeinterface java.util.List.size:()I
anewarray java.security.cert.Certificate
astore 7
start local 7 27: aload 4
aload 7
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
28: aload 7
areturn
end local 7 29: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/security/provider/PolicyFile;
0 30 1 keyStore Ljava/security/KeyStore;
0 30 2 aliases Ljava/lang/String;
0 30 3 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
1 30 4 vcerts Ljava/util/List<Ljava/security/cert/Certificate;>;
2 30 5 st Ljava/util/StringTokenizer;
3 30 6 n I
5 24 7 alias Ljava/lang/String;
7 24 8 cert Ljava/security/cert/Certificate;
27 29 7 certs [Ljava/security/cert/Certificate;
Exception table:
from to target type
10 11 12 Class java.security.KeyStoreException
8 17 18 any
18 19 18 any
MethodParameters:
Name Flags
keyStore
aliases
newInfo
public void refresh();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.security.provider.PolicyFile.url:Ljava/net/URL;
invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/PolicyFile;
public boolean implies(java.security.ProtectionDomain, java.security.Permission);
descriptor: (Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
invokevirtual sun.security.provider.PolicyFile$PolicyInfo.getPdMapping:()Ljdk/internal/access/JavaSecurityAccess$ProtectionDomainCache;
astore 3
start local 3 1: aload 3
aload 1
invokeinterface jdk.internal.access.JavaSecurityAccess$ProtectionDomainCache.get:(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
astore 4
start local 4 2: aload 4
ifnull 4
3: aload 4
aload 2
invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
ireturn
4: StackMap locals: jdk.internal.access.JavaSecurityAccess$ProtectionDomainCache java.security.PermissionCollection
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
astore 4
5: aload 4
ifnonnull 7
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 3
aload 1
aload 4
invokeinterface jdk.internal.access.JavaSecurityAccess$ProtectionDomainCache.put:(Ljava/security/ProtectionDomain;Ljava/security/PermissionCollection;)V
8: aload 4
aload 2
invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/provider/PolicyFile;
0 9 1 pd Ljava/security/ProtectionDomain;
0 9 2 p Ljava/security/Permission;
1 9 3 pdMap Ljdk/internal/access/JavaSecurityAccess$ProtectionDomainCache;
2 9 4 pc Ljava/security/PermissionCollection;
MethodParameters:
Name Flags
pd
p
public java.security.PermissionCollection getPermissions(java.security.ProtectionDomain);
descriptor: (Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: new java.security.Permissions
dup
invokespecial java.security.Permissions.<init>:()V
astore 2
start local 2 1: aload 1
ifnonnull 3
2: aload 2
areturn
3: StackMap locals: java.security.Permissions
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
pop
4: aload 1
invokevirtual java.security.ProtectionDomain.getPermissions:()Ljava/security/PermissionCollection;
astore 3
start local 3 5: aload 3
ifnull 15
6: aload 3
dup
astore 4
monitorenter
7: aload 3
invokevirtual java.security.PermissionCollection.elements:()Ljava/util/Enumeration;
astore 5
start local 5 8: goto 10
9: StackMap locals: java.security.PermissionCollection java.security.PermissionCollection java.util.Enumeration
StackMap stack:
aload 2
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.Permission
invokestatic sun.security.util.FilePermCompat.newPermPlusAltPath:(Ljava/security/Permission;)Ljava/security/Permission;
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 9
end local 5 11: aload 4
monitorexit
12: goto 15
StackMap locals: sun.security.provider.PolicyFile java.security.ProtectionDomain java.security.Permissions java.security.PermissionCollection java.security.PermissionCollection
StackMap stack: java.lang.Throwable
13: aload 4
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 2
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/provider/PolicyFile;
0 16 1 domain Ljava/security/ProtectionDomain;
1 16 2 perms Ljava/security/Permissions;
5 16 3 pc Ljava/security/PermissionCollection;
8 11 5 e Ljava/util/Enumeration<Ljava/security/Permission;>;
Exception table:
from to target type
7 12 13 any
13 14 13 any
MethodParameters:
Name Flags
domain
public java.security.PermissionCollection getPermissions(java.security.CodeSource);
descriptor: (Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.security.Permissions
dup
invokespecial java.security.Permissions.<init>:()V
aload 1
invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/PolicyFile;
0 1 1 codesource Ljava/security/CodeSource;
MethodParameters:
Name Flags
codesource
private java.security.PermissionCollection getPermissions(java.security.Permissions, java.security.ProtectionDomain);
descriptor: (Ljava/security/Permissions;Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "getPermissions:\n\t"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 2
invokevirtual sun.security.provider.PolicyFile.printPD:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: aload 1
areturn
5: StackMap locals: java.security.CodeSource
StackMap stack:
new sun.security.provider.PolicyFile$6
dup
aload 0
aload 3
invokespecial sun.security.provider.PolicyFile$6.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/CodeSource;)V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.security.CodeSource
astore 4
start local 4 7: aload 0
aload 1
aload 4
aload 2
invokevirtual java.security.ProtectionDomain.getPrincipals:()[Ljava/security/Principal;
invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;)Ljava/security/Permissions;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/provider/PolicyFile;
0 8 1 perms Ljava/security/Permissions;
0 8 2 pd Ljava/security/ProtectionDomain;
3 8 3 cs Ljava/security/CodeSource;
7 8 4 canonCodeSource Ljava/security/CodeSource;
MethodParameters:
Name Flags
perms
pd
private java.security.PermissionCollection getPermissions(java.security.Permissions, java.security.CodeSource);
descriptor: (Ljava/security/Permissions;Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
new sun.security.provider.PolicyFile$7
dup
aload 0
aload 2
invokespecial sun.security.provider.PolicyFile$7.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/CodeSource;)V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.security.CodeSource
astore 3
start local 3 4: aload 0
aload 1
aload 3
aconst_null
invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;)Ljava/security/Permissions;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/provider/PolicyFile;
0 5 1 perms Ljava/security/Permissions;
0 5 2 cs Ljava/security/CodeSource;
4 5 3 canonCodeSource Ljava/security/CodeSource;
MethodParameters:
Name Flags
perms
cs final
private java.security.Permissions getPermissions(java.security.Permissions, java.security.CodeSource, java.security.Principal[]);
descriptor: (Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;)Ljava/security/Permissions;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
getfield sun.security.provider.PolicyFile$PolicyInfo.policyEntries:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 3
StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyFile$PolicyEntry
astore 4
start local 4 2: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual sun.security.provider.PolicyFile.addPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
end local 4 3: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/provider/PolicyFile;
0 5 1 perms Ljava/security/Permissions;
0 5 2 cs Ljava/security/CodeSource;
0 5 3 principals [Ljava/security/Principal;
2 3 4 entry Lsun/security/provider/PolicyFile$PolicyEntry;
MethodParameters:
Name Flags
perms
cs final
principals
private void addPermissions(java.security.Permissions, java.security.CodeSource, java.security.Principal[], sun.security.provider.PolicyFile$PolicyEntry);
descriptor: (Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 5
1: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "evaluate codesources:\n\tPolicy CodeSource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 4
invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getCodeSource:()Ljava/security/CodeSource;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "\tActive CodeSource: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
new sun.security.provider.PolicyFile$8
dup
aload 0
aload 4
aload 2
invokespecial sun.security.provider.PolicyFile$8.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyEntry;Ljava/security/CodeSource;)V
6: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 5
start local 5 7: aload 5
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 11
8: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 10
9: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "evaluation (codesource) failed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
10: StackMap locals: java.lang.Boolean
StackMap stack:
return
11: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getPrincipals:()Ljava/util/List;
astore 6
start local 6 12: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 27
13: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 14: aload 3
ifnull 23
15: iconst_0
istore 8
start local 8 16: goto 22
17: StackMap locals: java.util.List java.util.List int
StackMap stack:
aload 7
new sun.security.provider.PolicyParser$PrincipalEntry
dup
18: aload 3
iload 8
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
19: aload 3
iload 8
aaload
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
invokespecial sun.security.provider.PolicyParser$PrincipalEntry.<init>:(Ljava/lang/String;Ljava/lang/String;)V
20: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
21: iinc 8 1
StackMap locals:
StackMap stack:
22: iload 8
aload 3
arraylength
if_icmplt 17
end local 8 23: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "evaluate principals:\n\tPolicy Principals: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc "\tActive Principals: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 7 27: StackMap locals:
StackMap stack:
aload 6
ifnull 28
aload 6
invokeinterface java.util.List.isEmpty:()Z
ifeq 32
28: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
aload 4
invokevirtual sun.security.provider.PolicyFile.addPerms:(Ljava/security/Permissions;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
29: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 31
30: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "evaluation (codesource/principals) passed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
31: StackMap locals:
StackMap stack:
return
32: StackMap locals:
StackMap stack:
aload 3
ifnull 33
aload 3
arraylength
ifne 36
33: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 35
34: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "evaluation (principals) failed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
return
36: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 79
StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List top java.util.Iterator
StackMap stack:
37: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PrincipalEntry
astore 7
start local 7 38: aload 7
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardClass:()Z
ifeq 40
39: goto 79
40: StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List sun.security.provider.PolicyParser$PrincipalEntry java.util.Iterator
StackMap stack:
aload 7
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardName:()Z
ifeq 49
41: aload 7
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
42: aload 3
43: invokestatic sun.security.provider.PolicyFile.wildcardPrincipalNameImplies:(Ljava/lang/String;[Ljava/security/Principal;)Z
44: ifeq 46
45: goto 79
46: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 48
47: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "evaluation (principal name wildcard) failed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
48: StackMap locals:
StackMap stack:
return
49: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
aload 3
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 9
start local 9 50: new javax.security.auth.Subject
dup
iconst_1
aload 9
51: getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
52: getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
53: invokespecial javax.security.auth.Subject.<init>:(ZLjava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
astore 10
start local 10 54: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 11
start local 11 55: aload 7
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
iconst_0
aload 11
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 12
start local 12 56: aload 12
aload 7
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
invokestatic sun.security.provider.PolicyFile.getKnownPrincipal:(Ljava/lang/Class;Ljava/lang/String;)Ljava/security/Principal;
astore 13
start local 13 57: aload 13
ifnonnull 66
58: ldc Ljava/security/Principal;
aload 12
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 62
59: new java.lang.ClassCastException
dup
new java.lang.StringBuilder
dup
aload 7
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
60: ldc " is not a Principal"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
61: invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
athrow
62: StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List sun.security.provider.PolicyParser$PrincipalEntry java.util.Iterator java.util.Set javax.security.auth.Subject java.lang.ClassLoader java.lang.Class java.security.Principal
StackMap stack:
aload 12
getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 14
start local 14 63: aload 14
iconst_1
anewarray java.lang.Object
dup
iconst_0
64: aload 7
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
aastore
65: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Principal
astore 13
end local 14 66: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 68
67: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "found Principal "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
68: StackMap locals:
StackMap stack:
aload 13
aload 10
invokeinterface java.security.Principal.implies:(Ljavax/security/auth/Subject;)Z
ifne 79
69: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 71
70: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "evaluation (principal implies) failed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
71: StackMap locals:
StackMap stack:
return
end local 13 end local 12 end local 11 72: StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List sun.security.provider.PolicyParser$PrincipalEntry java.util.Iterator java.util.Set javax.security.auth.Subject
StackMap stack: java.lang.Exception
astore 11
start local 11 73: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 75
74: aload 11
invokevirtual java.lang.Exception.printStackTrace:()V
75: StackMap locals: java.lang.Exception
StackMap stack:
aload 7
aload 10
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.implies:(Ljavax/security/auth/Subject;)Z
ifne 79
76: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 78
77: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "evaluation (default principal implies) failed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
78: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 9 end local 7 79: StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 37
80: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 82
81: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "evaluation (codesource/principals) passed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
82: StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List
StackMap stack:
aload 0
aload 1
aload 3
aload 4
invokevirtual sun.security.provider.PolicyFile.addPerms:(Ljava/security/Permissions;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
83: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 84 0 this Lsun/security/provider/PolicyFile;
0 84 1 perms Ljava/security/Permissions;
0 84 2 cs Ljava/security/CodeSource;
0 84 3 principals [Ljava/security/Principal;
0 84 4 entry Lsun/security/provider/PolicyFile$PolicyEntry;
7 84 5 imp Ljava/lang/Boolean;
12 84 6 entryPs Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
14 27 7 accPs Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
16 23 8 i I
38 79 7 pppe Lsun/security/provider/PolicyParser$PrincipalEntry;
50 79 9 pSet Ljava/util/Set<Ljava/security/Principal;>;
54 79 10 subject Ljavax/security/auth/Subject;
55 72 11 cl Ljava/lang/ClassLoader;
56 72 12 pClass Ljava/lang/Class<*>;
57 72 13 p Ljava/security/Principal;
63 66 14 c Ljava/lang/reflect/Constructor<*>;
73 79 11 e Ljava/lang/Exception;
Exception table:
from to target type
54 71 72 Class java.lang.Exception
MethodParameters:
Name Flags
perms
cs final
principals
entry final
private static boolean wildcardPrincipalNameImplies(java.lang.String, java.security.Principal[]);
descriptor: (Ljava/lang/String;[Ljava/security/Principal;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: java.lang.String java.security.Principal[] top int int java.security.Principal[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 0
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 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 principalClass Ljava/lang/String;
0 7 1 principals [Ljava/security/Principal;
2 4 2 p Ljava/security/Principal;
MethodParameters:
Name Flags
principalClass
principals
private void addPerms(java.security.Permissions, java.security.Principal[], sun.security.provider.PolicyFile$PolicyEntry);
descriptor: (Ljava/security/Permissions;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 14
2: StackMap locals: int
StackMap stack:
aload 3
getfield sun.security.provider.PolicyFile$PolicyEntry.permissions:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.Permission
astore 5
start local 5 3: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 5
4: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " granting "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
5: StackMap locals: java.security.Permission
StackMap stack:
aload 5
instanceof sun.security.provider.PolicyFile$SelfPermission
ifeq 12
6: aload 0
aload 5
checkcast sun.security.provider.PolicyFile$SelfPermission
7: aload 3
invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getPrincipals:()Ljava/util/List;
8: aload 2
9: aload 1
10: invokevirtual sun.security.provider.PolicyFile.expandSelf:(Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List;[Ljava/security/Principal;Ljava/security/Permissions;)V
11: goto 13
12: StackMap locals:
StackMap stack:
aload 1
aload 5
invokestatic sun.security.util.FilePermCompat.newPermPlusAltPath:(Ljava/security/Permission;)Ljava/security/Permission;
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
end local 5 13: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
aload 3
getfield sun.security.provider.PolicyFile$PolicyEntry.permissions:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 2
end local 4 15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/provider/PolicyFile;
0 16 1 perms Ljava/security/Permissions;
0 16 2 accPs [Ljava/security/Principal;
0 16 3 entry Lsun/security/provider/PolicyFile$PolicyEntry;
1 15 4 i I
3 13 5 p Ljava/security/Permission;
MethodParameters:
Name Flags
perms
accPs
entry
private void expandSelf(sun.security.provider.PolicyFile$SelfPermission, java.util.List<sun.security.provider.PolicyParser$PrincipalEntry>, java.security.Principal[], java.security.Permissions);
descriptor: (Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List;[Ljava/security/Principal;Ljava/security/Permissions;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnull 1
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 13
1: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 12
2: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Ignoring permission "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " with target name ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "). "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "No Principal(s) specified "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "in the grant clause. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc "SELF-based target names are "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc "only valid in the context "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc "of a Principal-based grant entry."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
return
13: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 14: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 7
start local 7 15: goto 34
start local 6 16: StackMap locals: int int java.lang.StringBuilder
StackMap stack:
aload 7
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
iload 5
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
start local 8 18: goto 32
19: StackMap locals: java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PrincipalEntry
astore 9
start local 9 20: aload 0
aload 9
aload 3
invokevirtual sun.security.provider.PolicyFile.getPrincipalInfo:(Lsun/security/provider/PolicyParser$PrincipalEntry;[Ljava/security/Principal;)[[Ljava/lang/String;
astore 10
start local 10 21: iconst_0
istore 11
start local 11 22: goto 29
23: StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.String[][] int
StackMap stack:
iload 11
ifeq 25
24: aload 7
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: StackMap locals:
StackMap stack:
aload 7
new java.lang.StringBuilder
dup
aload 10
iload 11
aaload
iconst_0
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
iload 11
aaload
iconst_1
aaload
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;
27: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: iinc 11 1
StackMap locals:
StackMap stack:
29: iload 11
aload 10
arraylength
if_icmplt 23
end local 11 30: aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 32
31: aload 7
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 10 end local 9 32: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
33: iload 6
ldc "${{self}}"
invokevirtual java.lang.String.length:()I
iadd
istore 5
end local 8 end local 6 34: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$SelfPermission java.util.List java.security.Principal[] java.security.Permissions int top java.lang.StringBuilder
StackMap stack:
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
ldc "${{self}}"
iload 5
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
dup
istore 6
start local 6 35: iconst_m1
if_icmpne 16
36: aload 7
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
iload 5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
37: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 41
38: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " expanded:\n\t"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
39: ldc "\n into:\n\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
40: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
41: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$SelfPermission java.util.List java.security.Principal[] java.security.Permissions int int java.lang.StringBuilder
StackMap stack:
aload 4
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
42: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
44: invokestatic sun.security.provider.PolicyFile.getInstance:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
invokestatic sun.security.util.FilePermCompat.newPermPlusAltPath:(Ljava/security/Permission;)Ljava/security/Permission;
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
45: goto 95
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
46: pop
47: aconst_null
astore 8
start local 8 48: aload 4
dup
astore 9
monitorenter
49: aload 4
invokevirtual java.security.Permissions.elements:()Ljava/util/Enumeration;
astore 10
start local 10 50: goto 55
51: StackMap locals: java.lang.Class java.security.Permissions java.util.Enumeration
StackMap stack:
aload 10
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.Permission
astore 11
start local 11 52: aload 11
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 55
53: aload 11
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 8
54: goto 56
end local 11 55: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 51
end local 10 56: StackMap locals:
StackMap stack:
aload 9
monitorexit
57: goto 60
StackMap locals:
StackMap stack: java.lang.Throwable
58: aload 9
monitorexit
59: athrow
60: StackMap locals:
StackMap stack:
aload 8
ifnonnull 67
61: aload 4
new java.security.UnresolvedPermission
dup
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
62: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
64: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getCerts:()[Ljava/security/cert/Certificate;
invokespecial java.security.UnresolvedPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
65: invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
66: goto 95
67: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
ifnonnull 80
68: aload 8
getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 9
start local 9 69: aload 4
aload 9
70: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
71: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
72: goto 95
end local 9 StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
73: pop
74: aload 8
getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 9
start local 9 75: aload 4
aload 9
76: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
77: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
aastore
78: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
79: goto 95
end local 9 80: StackMap locals:
StackMap stack:
aload 8
getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 9
start local 9 81: aload 4
aload 9
82: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
83: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
aastore
84: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
end local 9 85: goto 95
StackMap locals:
StackMap stack: java.lang.Exception
86: astore 9
start local 9 87: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 95
88: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "self entry expansion instantiation failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
89: aload 9
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
90: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 9 end local 8 91: goto 95
92: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$SelfPermission java.util.List java.security.Principal[] java.security.Permissions int int java.lang.StringBuilder
StackMap stack: java.lang.Exception
astore 8
start local 8 93: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 95
94: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
aload 8
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 8 95: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 96 0 this Lsun/security/provider/PolicyFile;
0 96 1 sp Lsun/security/provider/PolicyFile$SelfPermission;
0 96 2 entryPs Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
0 96 3 pdp [Ljava/security/Principal;
0 96 4 perms Ljava/security/Permissions;
14 96 5 startIndex I
16 34 6 v I
35 96 6 v I
15 96 7 sb Ljava/lang/StringBuilder;
18 34 8 pli Ljava/util/Iterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
20 32 9 pppe Lsun/security/provider/PolicyParser$PrincipalEntry;
21 32 10 principalInfo [[Ljava/lang/String;
22 30 11 i I
48 91 8 pc Ljava/lang/Class<*>;
50 56 10 e Ljava/util/Enumeration<Ljava/security/Permission;>;
52 55 11 pElement Ljava/security/Permission;
69 73 9 c Ljava/lang/reflect/Constructor<*>;
75 80 9 c Ljava/lang/reflect/Constructor<*>;
81 85 9 c Ljava/lang/reflect/Constructor<*>;
87 91 9 nme Ljava/lang/Exception;
93 95 8 e Ljava/lang/Exception;
Exception table:
from to target type
41 45 46 Class java.lang.ClassNotFoundException
49 57 58 any
58 59 58 any
68 72 73 Class java.lang.NoSuchMethodException
67 85 86 Class java.lang.Exception
41 45 92 Class java.lang.Exception
Signature: (Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;[Ljava/security/Principal;Ljava/security/Permissions;)V
MethodParameters:
Name Flags
sp
entryPs
pdp
perms
private java.lang.String[][] getPrincipalInfo(sun.security.provider.PolicyParser$PrincipalEntry, java.security.Principal[]);
descriptor: (Lsun/security/provider/PolicyParser$PrincipalEntry;[Ljava/security/Principal;)[[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardClass:()Z
ifne 5
aload 1
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardName:()Z
ifne 5
1: iconst_1
iconst_2
multianewarray [[Ljava/lang/String; 2
astore 3
start local 3 2: aload 3
iconst_0
aaload
iconst_0
aload 1
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
aastore
3: aload 3
iconst_0
aaload
iconst_1
aload 1
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
aastore
4: aload 3
areturn
end local 3 5: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardClass:()Z
ifne 22
aload 1
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardName:()Z
ifeq 22
6: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 7: iconst_0
istore 4
start local 4 8: goto 12
9: StackMap locals: java.util.List int
StackMap stack:
aload 1
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
aload 2
iload 4
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: aload 3
aload 2
iload 4
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
aload 2
arraylength
if_icmplt 9
end local 4 13: aload 3
invokeinterface java.util.List.size:()I
iconst_2
multianewarray [[Ljava/lang/String; 2
astore 4
start local 4 14: iconst_0
istore 5
start local 5 15: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 20
StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PrincipalEntry java.security.Principal[] java.util.List java.lang.String[][] int top java.util.Iterator
StackMap stack:
16: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Principal
astore 6
start local 6 17: aload 4
iload 5
aaload
iconst_0
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
18: aload 4
iload 5
aaload
iconst_1
aload 6
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
aastore
19: iinc 5 1
end local 6 20: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
21: aload 4
areturn
end local 5 end local 4 end local 3 22: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PrincipalEntry java.security.Principal[]
StackMap stack:
aload 2
arraylength
iconst_2
multianewarray [[Ljava/lang/String; 2
astore 3
start local 3 23: iconst_0
istore 4
start local 4 24: goto 28
25: StackMap locals: java.lang.String[][] int
StackMap stack:
aload 3
iload 4
aaload
iconst_0
aload 2
iload 4
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
26: aload 3
iload 4
aaload
iconst_1
aload 2
iload 4
aaload
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
aastore
27: iinc 4 1
StackMap locals:
StackMap stack:
28: iload 4
aload 2
arraylength
if_icmplt 25
end local 4 29: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/security/provider/PolicyFile;
0 30 1 pe Lsun/security/provider/PolicyParser$PrincipalEntry;
0 30 2 pdp [Ljava/security/Principal;
2 5 3 info [[Ljava/lang/String;
7 22 3 plist Ljava/util/List<Ljava/security/Principal;>;
8 13 4 i I
14 22 4 info [[Ljava/lang/String;
15 22 5 i I
17 20 6 p Ljava/security/Principal;
23 30 3 info [[Ljava/lang/String;
24 29 4 i I
MethodParameters:
Name Flags
pe
pdp
protected java.security.cert.Certificate[] getSignerCertificates(java.security.CodeSource);
descriptor: (Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
dup
astore 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
iconst_0
istore 3
start local 3 4: goto 8
5: StackMap locals: int
StackMap stack:
aload 2
iload 3
aaload
instanceof java.security.cert.X509Certificate
ifne 7
6: aload 1
invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
areturn
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 2
arraylength
if_icmplt 5
end local 3 9: iconst_0
istore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 21
12: StackMap locals: int
StackMap stack:
iinc 4 1
13: goto 15
14: StackMap locals:
StackMap stack:
iinc 3 1
15: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
aload 2
arraylength
if_icmpge 20
16: aload 2
iload 3
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
17: aload 2
iload 3
iconst_1
iadd
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
18: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
19: ifne 14
20: StackMap locals:
StackMap stack:
iinc 3 1
21: StackMap locals:
StackMap stack:
iload 3
aload 2
arraylength
if_icmplt 12
22: iload 4
aload 2
arraylength
if_icmpne 24
23: aload 2
areturn
24: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 25: iconst_0
istore 3
26: goto 36
27: StackMap locals: java.util.List
StackMap stack:
aload 5
aload 2
iload 3
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
28: goto 30
29: StackMap locals:
StackMap stack:
iinc 3 1
30: StackMap locals:
StackMap stack:
iload 3
iconst_1
iadd
aload 2
arraylength
if_icmpge 35
31: aload 2
iload 3
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
32: aload 2
iload 3
iconst_1
iadd
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
33: invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
34: ifne 29
35: StackMap locals:
StackMap stack:
iinc 3 1
36: StackMap locals:
StackMap stack:
iload 3
aload 2
arraylength
if_icmplt 27
37: aload 5
invokeinterface java.util.List.size:()I
anewarray java.security.cert.Certificate
astore 6
start local 6 38: aload 5
aload 6
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
39: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lsun/security/provider/PolicyFile;
0 40 1 cs Ljava/security/CodeSource;
1 40 2 certs [Ljava/security/cert/Certificate;
4 9 3 i I
10 40 3 i I
11 40 4 count I
25 40 5 userCertList Ljava/util/List<Ljava/security/cert/Certificate;>;
38 40 6 userCerts [Ljava/security/cert/Certificate;
MethodParameters:
Name Flags
cs
private java.security.CodeSource canonicalizeCodebase(java.security.CodeSource, boolean);
descriptor: (Ljava/security/CodeSource;Z)Ljava/security/CodeSource;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
astore 4
start local 4 2: aload 1
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
astore 5
start local 5 3: aload 5
ifnull 22
4: aload 5
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "jar"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
5: aload 5
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
astore 6
start local 6 6: aload 6
ldc "!/"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 7
start local 7 7: iload 7
iconst_m1
if_icmpeq 11
8: new java.net.URL
dup
aload 6
iconst_0
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 5
9: goto 11
StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL java.lang.String int
StackMap stack: java.net.MalformedURLException
10: pop
end local 7 end local 6 11: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
12: iconst_0
istore 6
start local 6 13: aload 5
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
astore 7
start local 7 14: aload 7
ifnull 17
aload 7
invokevirtual java.lang.String.isEmpty:()Z
ifne 17
15: aload 7
ldc "~"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
aload 7
ldc "localhost"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 17
16: iconst_0
goto 18
StackMap locals: int java.lang.String
StackMap stack:
17: iconst_1
StackMap locals:
StackMap stack: int
18: istore 6
19: iload 6
ifeq 22
20: aload 5
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
bipush 47
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 3
21: aload 3
invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
astore 3
end local 7 end local 6 22: StackMap locals:
StackMap stack:
aload 3
ifnull 41
23: aconst_null
astore 6
start local 6 24: aload 3
invokestatic sun.security.provider.PolicyFile.canonPath:(Ljava/lang/String;)Ljava/lang/String;
astore 3
25: new java.io.File
dup
aload 3
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic sun.net.www.ParseUtil.fileToEncodedURL:(Ljava/io/File;)Ljava/net/URL;
astore 6
26: iload 2
ifeq 31
27: new java.security.CodeSource
dup
aload 6
28: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
29: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
astore 4
30: goto 45
31: StackMap locals: java.net.URL
StackMap stack:
new java.security.CodeSource
dup
aload 6
32: aload 1
invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
33: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
astore 4
end local 6 34: goto 45
StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL
StackMap stack: java.io.IOException
35: pop
36: iload 2
ifeq 45
37: new java.security.CodeSource
dup
aload 1
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
38: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
39: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
astore 4
40: goto 45
41: StackMap locals:
StackMap stack:
iload 2
ifeq 45
42: new java.security.CodeSource
dup
aload 1
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
43: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
44: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
astore 4
45: StackMap locals:
StackMap stack:
aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/security/provider/PolicyFile;
0 46 1 cs Ljava/security/CodeSource;
0 46 2 extractSignerCerts Z
1 46 3 path Ljava/lang/String;
2 46 4 canonCs Ljava/security/CodeSource;
3 46 5 u Ljava/net/URL;
6 11 6 spec Ljava/lang/String;
7 11 7 separator I
13 22 6 isLocalFile Z
14 22 7 host Ljava/lang/String;
24 34 6 csUrl Ljava/net/URL;
Exception table:
from to target type
8 9 10 Class java.net.MalformedURLException
23 34 35 Class java.io.IOException
MethodParameters:
Name Flags
cs
extractSignerCerts
private static java.lang.String canonPath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
ldc "*"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 4
1: new java.lang.StringBuilder
dup
aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 0
2: new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 0
3: new java.lang.StringBuilder
dup
aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 0
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 path Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
private java.lang.String printPD(java.security.ProtectionDomain);
descriptor: (Ljava/security/ProtectionDomain;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.security.ProtectionDomain.getPrincipals:()[Ljava/security/Principal;
astore 2
start local 2 1: ldc "<no principals>"
astore 3
start local 3 2: aload 2
ifnull 16
aload 2
arraylength
ifle 16
3: new java.lang.StringBuilder
dup
ldc "(principals "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 14
6: StackMap locals: sun.security.provider.PolicyFile java.security.ProtectionDomain java.security.Principal[] java.lang.String java.lang.StringBuilder int
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
aload 2
iload 5
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: ldc " \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
iload 5
aaload
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: iload 5
aload 2
arraylength
iconst_1
isub
if_icmpge 12
11: aload 4
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 13
12: StackMap locals:
StackMap stack:
aload 4
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
aload 2
arraylength
if_icmplt 6
end local 5 15: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
end local 4 16: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "PD CodeSource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 1
invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18: ldc "\n\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "PD ClassLoader: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: aload 1
invokevirtual java.security.ProtectionDomain.getClassLoader:()Ljava/lang/ClassLoader;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20: ldc "\n\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "PD Principals: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
22: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/provider/PolicyFile;
0 23 1 pd Ljava/security/ProtectionDomain;
1 23 2 principals [Ljava/security/Principal;
2 23 3 pals Ljava/lang/String;
4 16 4 palBuf Ljava/lang/StringBuilder;
5 15 5 i I
MethodParameters:
Name Flags
pd
private boolean replacePrincipals(java.util.List<sun.security.provider.PolicyParser$PrincipalEntry>, java.security.KeyStore);
descriptor: (Ljava/util/List;Ljava/security/KeyStore;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 1
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifne 1
aload 2
ifnonnull 2
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 18
StackMap locals: sun.security.provider.PolicyFile java.util.List java.security.KeyStore top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PrincipalEntry
astore 3
start local 3 4: aload 3
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isReplaceName:()Z
ifeq 18
5: aload 0
aload 3
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
aload 2
invokevirtual sun.security.provider.PolicyFile.getDN:(Ljava/lang/String;Ljava/security/KeyStore;)Ljava/lang/String;
dup
astore 5
start local 5 6: ifnonnull 8
7: iconst_0
ireturn
8: StackMap locals: sun.security.provider.PolicyFile java.util.List java.security.KeyStore sun.security.provider.PolicyParser$PrincipalEntry java.util.Iterator java.lang.String
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 16
9: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " Replacing \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 3
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "\" with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "javax.security.auth.x500.X500Principal"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
aload 3
ldc "javax.security.auth.x500.X500Principal"
putfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
17: aload 3
aload 5
putfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
end local 5 end local 3 18: StackMap locals: sun.security.provider.PolicyFile java.util.List java.security.KeyStore top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
19: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/provider/PolicyFile;
0 20 1 principals Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
0 20 2 keystore Ljava/security/KeyStore;
4 18 3 pppe Lsun/security/provider/PolicyParser$PrincipalEntry;
6 18 5 name Ljava/lang/String;
Signature: (Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;Ljava/security/KeyStore;)Z
MethodParameters:
Name Flags
principals
keystore
private void expandPermissionName(sun.security.provider.PolicyParser$PermissionEntry, java.security.KeyStore);
descriptor: (Lsun/security/provider/PolicyParser$PermissionEntry;Ljava/security/KeyStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ifnull 1
aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ldc "${{"
iconst_0
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
iconst_m1
if_icmpne 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 6
start local 6 4: goto 43
start local 4 5: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int int top java.lang.StringBuilder
StackMap stack:
aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ldc "}}"
iload 4
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5
start local 5 6: iload 5
iconst_1
if_icmpge 8
7: goto 45
8: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int int int java.lang.StringBuilder
StackMap stack:
aload 6
aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
iload 3
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
iload 4
iconst_3
iadd
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
start local 7 10: aload 7
astore 9
start local 9 11: aload 7
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
dup
istore 8
start local 8 12: iconst_m1
if_icmpeq 14
13: aload 7
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
14: StackMap locals: java.lang.String int java.lang.String
StackMap stack:
aload 9
ldc "self"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 18
15: aload 6
aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
iload 4
iload 5
iconst_2
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: iload 5
iconst_2
iadd
istore 3
17: goto 43
18: StackMap locals:
StackMap stack:
aload 9
ldc "alias"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 37
19: iload 8
iconst_m1
if_icmpne 26
20: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
aastore
astore 11
start local 11 21: new java.lang.Exception
dup
22: ldc "alias.name.not.provided.pe.name."
23: aload 11
24: invokestatic sun.security.util.LocalizedMessage.getNonlocalized:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
25: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 11 26: StackMap locals:
StackMap stack:
aload 7
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 10
start local 10 27: aload 0
aload 10
aload 2
invokevirtual sun.security.provider.PolicyFile.getDN:(Ljava/lang/String;Ljava/security/KeyStore;)Ljava/lang/String;
dup
astore 10
ifnonnull 34
28: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 7
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aastore
astore 11
start local 11 29: new java.lang.Exception
dup
30: ldc "unable.to.perform.substitution.on.alias.suffix"
31: aload 11
32: invokestatic sun.security.util.LocalizedMessage.getNonlocalized:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
33: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 11 34: StackMap locals: java.lang.String
StackMap stack:
aload 6
new java.lang.StringBuilder
dup
ldc "javax.security.auth.x500.X500Principal \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: iload 5
iconst_2
iadd
istore 3
36: goto 43
end local 10 37: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9
aastore
astore 11
start local 11 38: new java.lang.Exception
dup
39: ldc "substitution.value.prefix.unsupported"
40: aload 11
41: invokestatic sun.security.util.LocalizedMessage.getNonlocalized:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
42: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 11 end local 9 end local 8 end local 7 end local 5 end local 4 43: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int top top java.lang.StringBuilder
StackMap stack:
aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ldc "${{"
iload 3
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
dup
istore 4
start local 4 44: iconst_m1
if_icmpne 5
45: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int int top java.lang.StringBuilder
StackMap stack:
aload 6
aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
iload 3
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
46: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 50
47: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " Permission name expanded from:\n\t"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\nto\n\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
50: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
51: return
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lsun/security/provider/PolicyFile;
0 52 1 pe Lsun/security/provider/PolicyParser$PermissionEntry;
0 52 2 keystore Ljava/security/KeyStore;
3 52 3 startIndex I
5 43 4 b I
44 52 4 b I
6 43 5 e I
4 52 6 sb Ljava/lang/StringBuilder;
10 43 7 value Ljava/lang/String;
12 43 8 colonIndex I
11 43 9 prefix Ljava/lang/String;
27 37 10 suffix Ljava/lang/String;
21 26 11 source [Ljava/lang/Object;
29 34 11 source [Ljava/lang/Object;
38 43 11 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
pe
keystore
private java.lang.String getDN(java.lang.String, java.security.KeyStore);
descriptor: (Ljava/lang/String;Ljava/security/KeyStore;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
aload 1
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 3
2: goto 11
StackMap locals: sun.security.provider.PolicyFile java.lang.String java.security.KeyStore java.security.cert.Certificate
StackMap stack: java.lang.Exception
3: astore 4
start local 4 4: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 10
5: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " Error retrieving certificate for '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "': "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
10: StackMap locals: java.lang.Exception
StackMap stack:
aconst_null
areturn
end local 4 11: StackMap locals:
StackMap stack:
aload 3
ifnull 12
aload 3
instanceof java.security.cert.X509Certificate
ifne 18
12: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 17
13: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " -- No certificate for '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: ldc "' - ignoring entry"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aconst_null
areturn
18: StackMap locals:
StackMap stack:
aload 3
checkcast java.security.cert.X509Certificate
astore 4
start local 4 19: new javax.security.auth.x500.X500Principal
dup
20: aload 4
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
21: invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
astore 5
start local 5 22: aload 5
invokevirtual javax.security.auth.x500.X500Principal.getName:()Ljava/lang/String;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/provider/PolicyFile;
0 23 1 alias Ljava/lang/String;
0 23 2 keystore Ljava/security/KeyStore;
1 23 3 cert Ljava/security/cert/Certificate;
4 11 4 e Ljava/lang/Exception;
19 23 4 x509Cert Ljava/security/cert/X509Certificate;
22 23 5 p Ljavax/security/auth/x500/X500Principal;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
MethodParameters:
Name Flags
alias
keystore
}
SourceFile: "PolicyFile.java"
NestMembers:
sun.security.provider.PolicyFile$1 sun.security.provider.PolicyFile$2 sun.security.provider.PolicyFile$3 sun.security.provider.PolicyFile$4 sun.security.provider.PolicyFile$5 sun.security.provider.PolicyFile$6 sun.security.provider.PolicyFile$7 sun.security.provider.PolicyFile$8 sun.security.provider.PolicyFile$PolicyEntry sun.security.provider.PolicyFile$PolicyInfo sun.security.provider.PolicyFile$SelfPermission
InnerClasses:
public abstract ProtectionDomainCache = jdk.internal.access.JavaSecurityAccess$ProtectionDomainCache of jdk.internal.access.JavaSecurityAccess
sun.security.provider.PolicyFile$1
sun.security.provider.PolicyFile$2
sun.security.provider.PolicyFile$3
sun.security.provider.PolicyFile$4
sun.security.provider.PolicyFile$5
sun.security.provider.PolicyFile$6
sun.security.provider.PolicyFile$7
sun.security.provider.PolicyFile$8
private PolicyEntry = sun.security.provider.PolicyFile$PolicyEntry of sun.security.provider.PolicyFile
private PolicyInfo = sun.security.provider.PolicyFile$PolicyInfo of sun.security.provider.PolicyFile
private SelfPermission = sun.security.provider.PolicyFile$SelfPermission of sun.security.provider.PolicyFile
public GrantEntry = sun.security.provider.PolicyParser$GrantEntry of sun.security.provider.PolicyParser
public ParsingException = sun.security.provider.PolicyParser$ParsingException of sun.security.provider.PolicyParser
public PermissionEntry = sun.security.provider.PolicyParser$PermissionEntry of sun.security.provider.PolicyParser
public PrincipalEntry = sun.security.provider.PolicyParser$PrincipalEntry of sun.security.provider.PolicyParser