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 NONE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NONE"
private static final java.lang.String P11KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS11"
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 SECURITY_MANAGER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.security.manager"
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 java.lang.String AUTH_POLICY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java.security.auth.policy"
private static final java.lang.String AUTH_POLICY_URL;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "auth.policy.url."
private static final int DEFAULT_CACHE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static java.security.IdentityScope scope;
descriptor: Ljava/security/IdentityScope;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private volatile sun.security.provider.PolicyFile$PolicyInfo policyInfo;
descriptor: Lsun/security/provider/PolicyFile$PolicyInfo;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean constructed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean expandProperties;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean ignoreIdentityScope;
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
private static final java.lang.Class[] PARAMS1;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class[] PARAMS2;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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: aconst_null
putstatic sun.security.provider.PolicyFile.scope:Ljava/security/IdentityScope;
2: iconst_0
anewarray java.lang.Class
putstatic sun.security.provider.PolicyFile.PARAMS0:[Ljava/lang/Class;
3: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
putstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
4: 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;
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_0
putfield sun.security.provider.PolicyFile.constructed:Z
2: aload 0
iconst_1
putfield sun.security.provider.PolicyFile.expandProperties:Z
3: aload 0
iconst_0
putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
4: aload 0
iconst_1
putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
5: aload 0
iconst_0
putfield sun.security.provider.PolicyFile.notUtf8:Z
6: aload 0
aconst_null
invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 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_0
putfield sun.security.provider.PolicyFile.constructed:Z
2: aload 0
iconst_1
putfield sun.security.provider.PolicyFile.expandProperties:Z
3: aload 0
iconst_0
putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
4: aload 0
iconst_1
putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
5: aload 0
iconst_0
putfield sun.security.provider.PolicyFile.notUtf8:Z
6: aload 0
aload 1
putfield sun.security.provider.PolicyFile.url:Ljava/net/URL;
7: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/provider/PolicyFile;
0 9 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: aload 2
ifnull 5
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 "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
3: StackMap locals:
StackMap stack:
new sun.security.provider.PolicyFile$2
dup
aload 0
aload 2
aload 1
invokespecial sun.security.provider.PolicyFile$2.<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
4: goto 9
5: 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 6: iload 3
ifne 8
7: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.initStaticPolicy:(Lsun/security/provider/PolicyFile$PolicyInfo;)V
8: StackMap locals: int
StackMap stack:
aload 0
ldc "java.security.auth.policy"
ldc "auth.policy.url."
aload 1
invokevirtual sun.security.provider.PolicyFile.initPolicyFile:(Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
pop
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;
6 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$3
dup
aload 0
aload 1
aload 3
aload 2
invokespecial sun.security.provider.PolicyFile$3.<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
1: astore 4
start local 4 2: aload 4
invokevirtual java.lang.Boolean.booleanValue:()Z
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 Ljava/lang/Boolean;
MethodParameters:
Name Flags
propname final
urlname final
newInfo final
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: iconst_0
istore 3
start local 3 1: new sun.security.provider.PolicyParser
dup
aload 0
getfield sun.security.provider.PolicyFile.expandProperties:Z
invokespecial sun.security.provider.PolicyParser.<init>:(Z)V
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 0
getfield sun.security.provider.PolicyFile.notUtf8:Z
ifeq 8
4: new java.io.InputStreamReader
dup
5: aload 1
invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
6: invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
astore 5
7: goto 11
8: StackMap locals: int sun.security.provider.PolicyParser java.io.InputStreamReader
StackMap stack:
new java.io.InputStreamReader
dup
9: aload 1
invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
ldc "UTF-8"
10: invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
astore 5
11: StackMap locals:
StackMap stack:
aload 4
aload 5
invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
12: aconst_null
astore 6
start local 6 13: aload 1
14: aload 4
invokevirtual sun.security.provider.PolicyParser.getKeyStoreUrl:()Ljava/lang/String;
15: aload 4
invokevirtual sun.security.provider.PolicyParser.getKeyStoreType:()Ljava/lang/String;
16: aload 4
invokevirtual sun.security.provider.PolicyParser.getKeyStoreProvider:()Ljava/lang/String;
17: aload 4
invokevirtual sun.security.provider.PolicyParser.getStorePassURL:()Ljava/lang/String;
18: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
19: 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 6
20: goto 24
StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader java.security.KeyStore
StackMap stack: java.lang.Exception
21: astore 7
start local 7 22: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 24
23: aload 7
invokevirtual java.lang.Exception.printStackTrace:()V
end local 7 24: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.security.provider.PolicyParser.grantElements:()Ljava/util/Enumeration;
astore 7
start local 7 25: goto 28
26: StackMap locals: 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 27: aload 0
aload 8
aload 6
aload 2
invokevirtual sun.security.provider.PolicyFile.addGrantEntry:(Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)V
end local 8 28: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 26
end local 7 end local 6 29: goto 66
StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader
StackMap stack: sun.security.provider.PolicyParser$ParsingException
30: astore 6
start local 6 31: new java.text.MessageFormat
dup
32: ldc "java.security.policy.error.parsing.policy.message"
33: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 34: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 6
invokevirtual sun.security.provider.PolicyParser$ParsingException.getLocalizedMessage:()Ljava/lang/String;
aastore
astore 8
start local 8 35: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
36: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 38
37: aload 6
invokevirtual sun.security.provider.PolicyParser$ParsingException.printStackTrace:()V
end local 8 end local 7 end local 6 38: StackMap locals:
StackMap stack:
aload 5
ifnull 44
39: aload 5
invokevirtual java.io.InputStreamReader.close:()V
40: iconst_1
istore 3
41: goto 73
StackMap locals:
StackMap stack: java.io.IOException
42: pop
43: goto 73
44: StackMap locals:
StackMap stack:
iconst_1
istore 3
goto 73
45: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 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 "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
48: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
aload 6
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
49: aload 6
invokevirtual java.lang.Exception.printStackTrace:()V
end local 6 50: StackMap locals:
StackMap stack:
aload 5
ifnull 56
51: aload 5
invokevirtual java.io.InputStreamReader.close:()V
52: iconst_1
istore 3
53: goto 73
StackMap locals:
StackMap stack: java.io.IOException
54: pop
55: goto 73
56: StackMap locals:
StackMap stack:
iconst_1
istore 3
goto 73
57: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
58: aload 5
ifnull 64
59: aload 5
invokevirtual java.io.InputStreamReader.close:()V
60: iconst_1
istore 3
61: goto 65
StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader top top top java.lang.Throwable
StackMap stack: java.io.IOException
62: pop
63: goto 65
64: StackMap locals:
StackMap stack:
iconst_1
istore 3
65: StackMap locals:
StackMap stack:
aload 9
athrow
66: StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader
StackMap stack:
aload 5
ifnull 72
67: aload 5
invokevirtual java.io.InputStreamReader.close:()V
68: iconst_1
istore 3
69: goto 73
StackMap locals:
StackMap stack: java.io.IOException
70: pop
71: goto 73
72: StackMap locals:
StackMap stack:
iconst_1
istore 3
73: StackMap locals:
StackMap stack:
iload 3
ireturn
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 74 0 this Lsun/security/provider/PolicyFile;
0 74 1 policy Ljava/net/URL;
0 74 2 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
1 74 3 success Z
2 74 4 pp Lsun/security/provider/PolicyParser;
3 74 5 isr Ljava/io/InputStreamReader;
13 29 6 keyStore Ljava/security/KeyStore;
22 24 7 e Ljava/lang/Exception;
25 29 7 enum_ Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
27 28 8 ge Lsun/security/provider/PolicyParser$GrantEntry;
31 38 6 pe Lsun/security/provider/PolicyParser$ParsingException;
34 38 7 form Ljava/text/MessageFormat;
35 38 8 source [Ljava/lang/Object;
46 50 6 e Ljava/lang/Exception;
Exception table:
from to target type
13 20 21 Class java.lang.Exception
3 29 30 Class sun.security.provider.PolicyParser$ParsingException
39 41 42 Class java.io.IOException
3 29 45 Class java.lang.Exception
51 53 54 Class java.io.IOException
3 38 57 any
45 50 57 any
59 61 62 Class java.io.IOException
67 69 70 Class java.io.IOException
MethodParameters:
Name Flags
policy
newInfo
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: new sun.security.provider.PolicyFile$4
dup
aload 0
aload 1
invokespecial sun.security.provider.PolicyFile$4.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyInfo;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/PolicyFile;
0 2 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=11, 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 11
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 11
aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
ifle 11
5: aload 1
getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.listIterator:()Ljava/util/ListIterator;
6: astore 4
start local 4 7: goto 10
8: StackMap locals: java.util.ListIterator
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PrincipalEntry
astore 5
start local 5 9: 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 5
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 5 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 8
end local 4 11: StackMap locals:
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 12: aload 4
ifnonnull 14
13: return
14: 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 16
15: return
16: 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 17: aload 1
invokevirtual sun.security.provider.PolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
18: astore 6
start local 6 19: goto 90
20: 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 21: aload 0
aload 7
aload 2
invokevirtual sun.security.provider.PolicyFile.expandPermissionName:(Lsun/security/provider/PolicyParser$PermissionEntry;Ljava/security/KeyStore;)V
22: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
23: ldc "javax.security.auth.PrivateCredentialPermission"
24: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
25: ifeq 30
26: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ldc " self"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 30
27: 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
28: ldc "${{self}}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
30: StackMap locals: sun.security.provider.PolicyParser$PermissionEntry
StackMap stack:
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
ifnull 44
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 44
31: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
ifnull 37
32: aload 0
aload 2
33: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
34: aload 3
35: 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 36: goto 38
end local 9 37: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 38: 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;
39: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
40: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
41: aload 9
42: 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 43: goto 48
end local 8 44: 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;
45: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
46: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
47: invokestatic sun.security.provider.PolicyFile.getInstance:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
astore 8
start local 8 48: StackMap locals: java.security.Permission
StackMap stack:
aload 5
aload 8
invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
49: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 90
50: 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 51: goto 90
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
52: pop
53: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
ifnull 59
54: aload 0
aload 2
55: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
56: aload 3
57: 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 58: goto 60
end local 8 59: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 60: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
aload 8
ifnonnull 61
aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
ifnonnull 90
61: StackMap locals:
StackMap stack:
new java.security.UnresolvedPermission
dup
62: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
63: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
64: aload 7
getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
65: aload 8
66: invokespecial java.security.UnresolvedPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
astore 9
start local 9 67: aload 5
aload 9
invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
68: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 90
69: 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 70: goto 90
71: 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 72: new java.text.MessageFormat
dup
73: ldc "java.security.policy.error.adding.Permission.perm.message"
74: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
75: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 9
start local 9 76: 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
77: aload 8
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
aastore
78: astore 10
start local 10 79: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 9
aload 10
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 10 end local 9 end local 8 80: goto 90
81: StackMap locals:
StackMap stack: java.lang.Exception
astore 8
start local 8 82: new java.text.MessageFormat
dup
83: ldc "java.security.policy.error.adding.Permission.perm.message"
84: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
85: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 9
start local 9 86: 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
87: aload 8
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aastore
88: astore 10
start local 10 89: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 9
aload 10
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 10 end local 9 end local 8 end local 7 90: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 20
91: 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 92: goto 99
StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo
StackMap stack: java.lang.Exception
93: astore 4
start local 4 94: new java.text.MessageFormat
dup
95: ldc "java.security.policy.error.adding.Entry.message"
96: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 97: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aastore
astore 6
start local 6 98: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 5
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 end local 5 end local 4 99: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 101
100: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
invokevirtual sun.security.util.Debug.println:()V
101: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 102 0 this Lsun/security/provider/PolicyFile;
0 102 1 ge Lsun/security/provider/PolicyParser$GrantEntry;
0 102 2 keyStore Ljava/security/KeyStore;
0 102 3 newInfo Lsun/security/provider/PolicyFile$PolicyInfo;
7 11 4 li Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
9 10 5 pppe Lsun/security/provider/PolicyParser$PrincipalEntry;
12 92 4 codesource Ljava/security/CodeSource;
17 92 5 entry Lsun/security/provider/PolicyFile$PolicyEntry;
19 92 6 enum_ Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$PermissionEntry;>;
21 90 7 pe Lsun/security/provider/PolicyParser$PermissionEntry;
43 44 8 perm Ljava/security/Permission;
48 51 8 perm Ljava/security/Permission;
36 37 9 certs [Ljava/security/cert/Certificate;
38 43 9 certs [Ljava/security/cert/Certificate;
58 59 8 certs [Ljava/security/cert/Certificate;
60 70 8 certs [Ljava/security/cert/Certificate;
67 70 9 perm Ljava/security/Permission;
72 80 8 ite Ljava/lang/reflect/InvocationTargetException;
76 80 9 form Ljava/text/MessageFormat;
79 80 10 source [Ljava/lang/Object;
82 90 8 e Ljava/lang/Exception;
86 90 9 form Ljava/text/MessageFormat;
89 90 10 source [Ljava/lang/Object;
94 99 4 e Ljava/lang/Exception;
97 99 5 form Ljava/text/MessageFormat;
98 99 6 source [Ljava/lang/Object;
Exception table:
from to target type
21 51 52 Class java.lang.ClassNotFoundException
21 51 71 Class java.lang.reflect.InvocationTargetException
21 51 81 Class java.lang.Exception
11 13 93 Class java.lang.Exception
14 15 93 Class java.lang.Exception
16 92 93 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
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 1: aload 3
aload 1
aload 2
invokestatic sun.security.provider.PolicyFile.getKnownInstance:(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:
aload 1
ifnonnull 19
aload 2
ifnonnull 19
5: 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 6: aload 5
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
7: areturn
end local 5 8: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
9: 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 10: aload 5
11: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
12: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
13: areturn
end local 5 14: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
15: 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 16: aload 5
17: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
18: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
areturn
end local 5 19: StackMap locals:
StackMap stack:
aload 1
ifnull 28
aload 2
ifnonnull 28
20: 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 21: 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
22: areturn
end local 5 23: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
24: 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 25: aload 5
26: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
27: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
areturn
end local 5 28: 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 29: aload 5
30: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
31: 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 32 0 type Ljava/lang/String;
0 32 1 name Ljava/lang/String;
0 32 2 actions Ljava/lang/String;
1 32 3 pc Ljava/lang/Class<*>;
2 32 4 answer Ljava/security/Permission;
6 8 5 c Ljava/lang/reflect/Constructor<*>;
10 14 5 c Ljava/lang/reflect/Constructor<*>;
16 19 5 c Ljava/lang/reflect/Constructor<*>;
21 23 5 c Ljava/lang/reflect/Constructor<*>;
25 28 5 c Ljava/lang/reflect/Constructor<*>;
29 32 5 c Ljava/lang/reflect/Constructor<*>;
Exception table:
from to target type
5 7 8 Class java.lang.NoSuchMethodException
9 13 14 Class java.lang.NoSuchMethodException
20 22 23 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 final java.security.Permission getKnownInstance(java.lang.Class<?>, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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/awt/AWTPermission;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 14
13: new java.awt.AWTPermission
dup
aload 1
aload 2
invokespecial java.awt.AWTPermission.<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 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:()Lsun/misc/JavaSecurityProtectionDomainAccess$ProtectionDomainCache;
astore 3
start local 3 1: aload 3
aload 1
invokeinterface sun.misc.JavaSecurityProtectionDomainAccess$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: sun.misc.JavaSecurityProtectionDomainAccess$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 sun.misc.JavaSecurityProtectionDomainAccess$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 Lsun/misc/JavaSecurityProtectionDomainAccess$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
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$5
dup
aload 0
aload 3
invokespecial sun.security.provider.PolicyFile$5.<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: new sun.security.provider.PolicyFile$6
dup
aload 0
aload 2
invokespecial sun.security.provider.PolicyFile$6.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/CodeSource;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.security.CodeSource
astore 3
start local 3 2: 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 3 0 this Lsun/security/provider/PolicyFile;
0 3 1 perms Ljava/security/Permissions;
0 3 2 cs Ljava/security/CodeSource;
2 3 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=8, 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;
astore 4
start local 4 1: aload 4
getfield sun.security.provider.PolicyFile$PolicyInfo.policyEntries:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 4
StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyInfo top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyFile$PolicyEntry
astore 5
start local 5 3: aload 0
aload 1
aload 2
aload 3
aload 5
invokevirtual sun.security.provider.PolicyFile.addPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
end local 5 4: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 4
getfield sun.security.provider.PolicyFile$PolicyInfo.identityPolicyEntries:Ljava/util/List;
dup
astore 5
monitorenter
6: aload 4
getfield sun.security.provider.PolicyFile$PolicyInfo.identityPolicyEntries:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyInfo java.util.List top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyFile$PolicyEntry
astore 6
start local 6 8: aload 0
aload 1
aload 2
aload 3
aload 6
invokevirtual sun.security.provider.PolicyFile.addPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 5
monitorexit
11: goto 14
StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyInfo java.util.List
StackMap stack: java.lang.Throwable
12: aload 5
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
ifne 25
15: aload 2
invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
astore 5
start local 5 16: aload 5
ifnull 25
17: iconst_0
istore 6
start local 6 18: goto 24
19: StackMap locals: java.security.cert.Certificate[] int
StackMap stack:
aload 4
getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
aload 5
iload 6
aaload
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 20: aload 7
ifnonnull 23
21: aload 0
aload 5
iload 6
aaload
aload 4
invokevirtual sun.security.provider.PolicyFile.checkForTrustedIdentity:(Ljava/security/cert/Certificate;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
ifeq 23
22: aload 1
getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
end local 7 23: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
24: iload 6
aload 5
arraylength
if_icmplt 19
end local 6 end local 5 25: StackMap locals:
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/provider/PolicyFile;
0 26 1 perms Ljava/security/Permissions;
0 26 2 cs Ljava/security/CodeSource;
0 26 3 principals [Ljava/security/Principal;
1 26 4 pi Lsun/security/provider/PolicyFile$PolicyInfo;
3 4 5 entry Lsun/security/provider/PolicyFile$PolicyEntry;
8 9 6 entry Lsun/security/provider/PolicyFile$PolicyEntry;
16 25 5 certs [Ljava/security/cert/Certificate;
18 25 6 k I
20 23 7 idMap Ljava/lang/Object;
Exception table:
from to target type
6 11 12 any
12 13 12 any
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=14, 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$7
dup
aload 0
aload 4
aload 2
invokespecial sun.security.provider.PolicyFile$7.<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 28
13: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
14: astore 7
start local 7 15: aload 3
ifnull 24
16: iconst_0
istore 8
start local 8 17: goto 23
18: StackMap locals: java.util.List java.util.ArrayList int
StackMap stack:
aload 7
new sun.security.provider.PolicyParser$PrincipalEntry
dup
19: aload 3
iload 8
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
20: 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
21: invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
22: iinc 8 1
StackMap locals:
StackMap stack:
23: iload 8
aload 3
arraylength
if_icmplt 18
end local 8 24: 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
25: 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;
26: 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;
27: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 7 28: StackMap locals:
StackMap stack:
aload 6
ifnull 29
aload 6
invokeinterface java.util.List.isEmpty:()Z
ifeq 33
29: 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
30: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 32
31: 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
32: StackMap locals:
StackMap stack:
return
33: StackMap locals:
StackMap stack:
aload 3
ifnull 34
aload 3
arraylength
ifne 37
34: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 36
35: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "evaluation (principals) failed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
36: StackMap locals:
StackMap stack:
return
37: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 38: goto 83
39: StackMap locals: int
StackMap stack:
aload 6
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PrincipalEntry
astore 8
start local 8 40: aload 8
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
41: iconst_1
42: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
43: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 9
start local 9 44: ldc Lcom/sun/security/auth/PrincipalComparator;
aload 9
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 49
45: aload 0
aload 3
aload 8
invokevirtual sun.security.provider.PolicyFile.checkEntryPs:([Ljava/security/Principal;Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
ifne 82
46: 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 (principals) failed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
48: StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.Class
StackMap stack:
return
49: StackMap locals:
StackMap stack:
aload 9
getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 10
start local 10 50: aload 10
51: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
aastore
52: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.security.auth.PrincipalComparator
astore 11
start local 11 53: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 57
54: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "found PrincipalComparator "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
55: aload 11
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;
56: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
57: StackMap locals: java.lang.reflect.Constructor com.sun.security.auth.PrincipalComparator
StackMap stack:
new java.util.HashSet
dup
aload 3
arraylength
invokespecial java.util.HashSet.<init>:(I)V
58: astore 12
start local 12 59: iconst_0
istore 13
start local 13 60: goto 63
61: StackMap locals: java.util.Set int
StackMap stack:
aload 12
aload 3
iload 13
aaload
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
62: iinc 13 1
StackMap locals:
StackMap stack:
63: iload 13
aload 3
arraylength
if_icmplt 61
end local 13 64: new javax.security.auth.Subject
dup
iconst_1
65: aload 12
66: getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
67: getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
68: invokespecial javax.security.auth.Subject.<init>:(ZLjava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
astore 13
start local 13 69: aload 11
aload 13
invokeinterface com.sun.security.auth.PrincipalComparator.implies:(Ljavax/security/auth/Subject;)Z
ifne 82
70: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 74
71: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
72: ldc "evaluation (principal comparator) failed"
73: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
74: 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 int sun.security.provider.PolicyParser$PrincipalEntry java.lang.Class java.lang.reflect.Constructor com.sun.security.auth.PrincipalComparator java.util.Set javax.security.auth.Subject
StackMap stack:
return
end local 13 end local 12 end local 11 end local 10 end local 9 75: 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 int sun.security.provider.PolicyParser$PrincipalEntry
StackMap stack: java.lang.Exception
astore 9
start local 9 76: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 78
77: aload 9
invokevirtual java.lang.Exception.printStackTrace:()V
78: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
aload 3
aload 8
invokevirtual sun.security.provider.PolicyFile.checkEntryPs:([Ljava/security/Principal;Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
ifne 82
79: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 81
80: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "evaluation (principals) failed"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
81: StackMap locals:
StackMap stack:
return
end local 9 end local 8 82: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
83: iload 7
aload 6
invokeinterface java.util.List.size:()I
if_icmplt 39
end local 7 84: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 86
85: 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
86: 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
87: 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 88 0 this Lsun/security/provider/PolicyFile;
0 88 1 perms Ljava/security/Permissions;
0 88 2 cs Ljava/security/CodeSource;
0 88 3 principals [Ljava/security/Principal;
0 88 4 entry Lsun/security/provider/PolicyFile$PolicyEntry;
7 88 5 imp Ljava/lang/Boolean;
12 88 6 entryPs Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
15 28 7 accPs Ljava/util/ArrayList<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
17 24 8 i I
38 84 7 i I
40 82 8 pppe Lsun/security/provider/PolicyParser$PrincipalEntry;
44 75 9 pClass Ljava/lang/Class<*>;
50 75 10 c Ljava/lang/reflect/Constructor<*>;
53 75 11 pc Lcom/sun/security/auth/PrincipalComparator;
59 75 12 pSet Ljava/util/Set<Ljava/security/Principal;>;
60 64 13 j I
69 75 13 subject Ljavax/security/auth/Subject;
76 82 9 e Ljava/lang/Exception;
Exception table:
from to target type
40 48 75 Class java.lang.Exception
49 74 75 Class java.lang.Exception
MethodParameters:
Name Flags
perms
cs final
principals
entry final
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
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 boolean checkEntryPs(java.security.Principal[], sun.security.provider.PolicyParser$PrincipalEntry);
descriptor: ([Ljava/security/Principal;Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 20
2: StackMap locals: int
StackMap stack:
aload 2
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
3: ldc "WILDCARD_PRINCIPAL_CLASS"
4: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
5: ifne 10
6: aload 2
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
7: aload 1
iload 3
aaload
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
8: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
9: ifeq 19
10: StackMap locals:
StackMap stack:
aload 2
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
11: ldc "WILDCARD_PRINCIPAL_NAME"
12: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
13: ifne 18
14: aload 2
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
15: aload 1
iload 3
aaload
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
16: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
17: ifeq 19
18: StackMap locals:
StackMap stack:
iconst_1
ireturn
19: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
20: iload 3
aload 1
arraylength
if_icmplt 2
end local 3 21: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/security/provider/PolicyFile;
0 22 1 pList [Ljava/security/Principal;
0 22 2 pppe Lsun/security/provider/PolicyParser$PrincipalEntry;
1 21 3 i I
MethodParameters:
Name Flags
pList
pppe
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 35
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.listIterator:()Ljava/util/ListIterator;
18: astore 8
start local 8 19: goto 33
20: StackMap locals: java.util.ListIterator
StackMap stack:
aload 8
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PrincipalEntry
astore 9
start local 9 21: 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 22: iconst_0
istore 11
start local 11 23: goto 30
24: StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.String[][] int
StackMap stack:
iload 11
ifeq 26
25: aload 7
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: 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;
27: 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;
28: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
29: iinc 11 1
StackMap locals:
StackMap stack:
30: iload 11
aload 10
arraylength
if_icmplt 24
end local 11 31: aload 8
invokeinterface java.util.ListIterator.hasNext:()Z
ifeq 33
32: aload 7
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 10 end local 9 33: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 20
34: iload 6
ldc "${{self}}"
invokevirtual java.lang.String.length:()I
iadd
istore 5
end local 8 end local 6 35: 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 36: iconst_m1
if_icmpne 16
37: 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
38: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 42
39: 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;
40: 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;
41: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
42: 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;
43: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
45: invokestatic sun.security.provider.PolicyFile.getInstance:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
46: goto 96
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
47: pop
48: aconst_null
astore 8
start local 8 49: aload 4
dup
astore 9
monitorenter
50: aload 4
invokevirtual java.security.Permissions.elements:()Ljava/util/Enumeration;
astore 10
start local 10 51: goto 56
52: 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 53: 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 56
54: aload 11
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 8
55: goto 57
end local 11 56: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 52
end local 10 57: StackMap locals:
StackMap stack:
aload 9
monitorexit
58: goto 61
StackMap locals:
StackMap stack: java.lang.Throwable
59: aload 9
monitorexit
60: athrow
61: StackMap locals:
StackMap stack:
aload 8
ifnonnull 68
62: aload 4
new java.security.UnresolvedPermission
dup
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
63: aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
64: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
65: 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
66: invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
67: goto 96
68: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
ifnonnull 81
69: 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 70: aload 4
aload 9
71: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
72: 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
73: goto 96
end local 9 StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
74: pop
75: 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 76: aload 4
aload 9
77: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
78: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
aastore
79: 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
80: goto 96
end local 9 81: 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 82: aload 4
aload 9
83: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_1
84: aload 1
invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
aastore
85: 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 86: goto 96
StackMap locals:
StackMap stack: java.lang.Exception
87: astore 9
start local 9 88: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 96
89: 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
90: 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;
91: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 9 end local 8 92: goto 96
93: 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 94: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 96
95: 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 96: 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 97 0 this Lsun/security/provider/PolicyFile;
0 97 1 sp Lsun/security/provider/PolicyFile$SelfPermission;
0 97 2 entryPs Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
0 97 3 pdp [Ljava/security/Principal;
0 97 4 perms Ljava/security/Permissions;
14 97 5 startIndex I
16 35 6 v I
36 97 6 v I
15 97 7 sb Ljava/lang/StringBuilder;
19 35 8 pli Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
21 33 9 pppe Lsun/security/provider/PolicyParser$PrincipalEntry;
22 33 10 principalInfo [[Ljava/lang/String;
23 31 11 i I
49 92 8 pc Ljava/lang/Class<*>;
51 57 10 e Ljava/util/Enumeration<Ljava/security/Permission;>;
53 56 11 pElement Ljava/security/Permission;
70 74 9 c Ljava/lang/reflect/Constructor<*>;
76 81 9 c Ljava/lang/reflect/Constructor<*>;
82 86 9 c Ljava/lang/reflect/Constructor<*>;
88 92 9 nme Ljava/lang/Exception;
94 96 8 e Ljava/lang/Exception;
Exception table:
from to target type
42 46 47 Class java.lang.ClassNotFoundException
50 58 59 any
59 60 59 any
69 73 74 Class java.lang.NoSuchMethodException
68 86 87 Class java.lang.Exception
42 46 93 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
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
1: ldc "WILDCARD_PRINCIPAL_CLASS"
2: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
3: ifne 12
4: aload 1
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
5: ldc "WILDCARD_PRINCIPAL_NAME"
6: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
7: ifne 12
8: iconst_1
iconst_2
multianewarray [[Ljava/lang/String; 2
astore 3
start local 3 9: aload 3
iconst_0
aaload
iconst_0
aload 1
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
aastore
10: aload 3
iconst_0
aaload
iconst_1
aload 1
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
aastore
11: aload 3
areturn
end local 3 12: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
13: ldc "WILDCARD_PRINCIPAL_CLASS"
14: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
15: ifne 37
16: aload 1
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
17: ldc "WILDCARD_PRINCIPAL_NAME"
18: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
19: ifeq 37
20: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 21: iconst_0
istore 4
start local 4 22: goto 26
23: 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 25
24: aload 3
aload 2
iload 4
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
26: iload 4
aload 2
arraylength
if_icmplt 23
end local 4 27: aload 3
invokeinterface java.util.List.size:()I
iconst_2
multianewarray [[Ljava/lang/String; 2
astore 4
start local 4 28: iconst_0
istore 5
start local 5 29: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
start local 6 30: goto 35
31: StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PrincipalEntry java.security.Principal[] java.util.List java.lang.String[][] int java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Principal
astore 7
start local 7 32: aload 4
iload 5
aaload
iconst_0
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
33: aload 4
iload 5
aaload
iconst_1
aload 7
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
aastore
34: iinc 5 1
end local 7 35: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
36: aload 4
areturn
end local 6 end local 5 end local 4 end local 3 37: 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 38: iconst_0
istore 4
start local 4 39: goto 43
40: 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
41: aload 3
iload 4
aaload
iconst_1
aload 2
iload 4
aaload
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
aastore
42: iinc 4 1
StackMap locals:
StackMap stack:
43: iload 4
aload 2
arraylength
if_icmplt 40
end local 4 44: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lsun/security/provider/PolicyFile;
0 45 1 pe Lsun/security/provider/PolicyParser$PrincipalEntry;
0 45 2 pdp [Ljava/security/Principal;
9 12 3 info [[Ljava/lang/String;
21 37 3 plist Ljava/util/List<Ljava/security/Principal;>;
22 27 4 i I
28 37 4 info [[Ljava/lang/String;
29 37 5 i I
30 37 6 pIterator Ljava/util/Iterator<Ljava/security/Principal;>;
32 35 7 p Ljava/security/Principal;
38 45 3 info [[Ljava/lang/String;
39 44 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.getIssuerDN:()Ljava/security/Principal;
17: aload 2
iload 3
iconst_1
iadd
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
18: invokeinterface java.security.Principal.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.ArrayList
StackMap stack:
aload 5
aload 2
iload 3
aaload
invokevirtual java.util.ArrayList.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.getIssuerDN:()Ljava/security/Principal;
32: aload 2
iload 3
iconst_1
iadd
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
33: invokeinterface java.security.Principal.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
invokevirtual java.util.ArrayList.size:()I
anewarray java.security.cert.Certificate
astore 6
start local 6 38: aload 5
aload 6
invokevirtual java.util.ArrayList.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/ArrayList<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 14
aload 5
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
ldc "file"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
4: iconst_0
istore 6
start local 6 5: aload 5
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
astore 7
start local 7 6: aload 7
ifnull 9
aload 7
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
7: aload 7
ldc "~"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
aload 7
ldc "localhost"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 9
8: iconst_0
goto 10
StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL int java.lang.String
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: istore 6
11: iload 6
ifeq 14
12: 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
13: aload 3
invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
astore 3
end local 7 end local 6 14: StackMap locals:
StackMap stack:
aload 3
ifnull 33
15: aconst_null
astore 6
start local 6 16: aload 3
invokestatic sun.security.provider.PolicyFile.canonPath:(Ljava/lang/String;)Ljava/lang/String;
astore 3
17: 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
18: iload 2
ifeq 23
19: new java.security.CodeSource
dup
aload 6
20: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
21: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
astore 4
22: goto 37
23: StackMap locals: java.net.URL
StackMap stack:
new java.security.CodeSource
dup
aload 6
24: aload 1
invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
25: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
astore 4
end local 6 26: goto 37
StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL
StackMap stack: java.io.IOException
27: pop
28: iload 2
ifeq 37
29: new java.security.CodeSource
dup
aload 1
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
30: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
31: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
astore 4
32: goto 37
33: StackMap locals:
StackMap stack:
iload 2
ifeq 37
34: new java.security.CodeSource
dup
aload 1
invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
35: aload 0
aload 1
invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
36: invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
astore 4
37: 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 38 0 this Lsun/security/provider/PolicyFile;
0 38 1 cs Ljava/security/CodeSource;
0 38 2 extractSignerCerts Z
1 38 3 path Ljava/lang/String;
2 38 4 canonCs Ljava/security/CodeSource;
3 38 5 u Ljava/net/URL;
5 14 6 isLocalFile Z
6 14 7 host Ljava/lang/String;
16 26 6 csUrl Ljava/net/URL;
Exception table:
from to target type
15 26 27 Class java.io.IOException
MethodParameters:
Name Flags
cs
extractSignerCerts
public static java.lang.String canonPath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, 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.listIterator:()Ljava/util/ListIterator;
astore 3
start local 3 3: goto 19
4: StackMap locals: java.util.ListIterator
StackMap stack:
aload 3
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PrincipalEntry
astore 4
start local 4 5: aload 4
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
ldc "PolicyParser.REPLACE_NAME"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
6: aload 0
aload 4
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 7: ifnonnull 9
8: iconst_0
ireturn
9: StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.String
StackMap stack:
getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 17
10: 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
11: aload 4
getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "\" with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: 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;
14: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: ldc "\""
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:
aload 4
ldc "javax.security.auth.x500.X500Principal"
putfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
18: aload 4
aload 5
putfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
end local 5 end local 4 19: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 4
20: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/provider/PolicyFile;
0 21 1 principals Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
0 21 2 keystore Ljava/security/KeyStore;
3 21 3 i Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
5 19 4 pppe Lsun/security/provider/PolicyParser$PrincipalEntry;
7 19 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=13, 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
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)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: new java.text.MessageFormat
dup
21: ldc "alias.name.not.provided.pe.name."
22: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
23: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 11
start local 11 24: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
aastore
astore 12
start local 12 25: new java.lang.Exception
dup
aload 11
aload 12
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 12 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: new java.text.MessageFormat
dup
29: ldc "unable.to.perform.substitution.on.alias.suffix"
30: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
31: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 11
start local 11 32: 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 12
start local 12 33: new java.lang.Exception
dup
aload 11
aload 12
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 12 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:
new java.text.MessageFormat
dup
38: ldc "substitution.value.prefix.unsupported"
39: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
40: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 11
start local 11 41: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9
aastore
astore 12
start local 12 42: new java.lang.Exception
dup
aload 11
aload 12
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 12 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;
24 26 11 form Ljava/text/MessageFormat;
25 26 12 source [Ljava/lang/Object;
32 34 11 form Ljava/text/MessageFormat;
33 34 12 source [Ljava/lang/Object;
41 43 11 form Ljava/text/MessageFormat;
42 43 12 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
private boolean checkForTrustedIdentity(java.security.cert.Certificate, sun.security.provider.PolicyFile$PolicyInfo);
descriptor: (Ljava/security/cert/Certificate;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
ifeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
ldc Lsun/security/provider/PolicyFile;
dup
astore 3
monitorenter
5: getstatic sun.security.provider.PolicyFile.scope:Ljava/security/IdentityScope;
ifnonnull 9
6: invokestatic java.security.IdentityScope.getSystemScope:()Ljava/security/IdentityScope;
astore 4
start local 4 7: aload 4
instanceof sun.security.provider.IdentityDatabase
ifeq 9
8: aload 4
putstatic sun.security.provider.PolicyFile.scope:Ljava/security/IdentityScope;
end local 4 9: StackMap locals: java.lang.Class
StackMap stack:
aload 3
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 3
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
getstatic sun.security.provider.PolicyFile.scope:Ljava/security/IdentityScope;
ifnonnull 16
14: aload 0
iconst_1
putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
15: iconst_0
ireturn
16: StackMap locals:
StackMap stack:
new sun.security.provider.PolicyFile$8
dup
aload 0
aload 1
invokespecial sun.security.provider.PolicyFile$8.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/cert/Certificate;)V
17: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.security.Identity
astore 3
start local 3 18: aload 3
invokestatic sun.security.provider.PolicyFile.isTrusted:(Ljava/security/Identity;)Z
ifeq 30
19: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ifnull 24
20: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc "Adding policy entry for trusted Identity: "
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
21: new sun.security.provider.PolicyFile$9
dup
aload 0
aload 3
invokespecial sun.security.provider.PolicyFile$9.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/Identity;)V
22: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
23: getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
ldc ""
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
24: StackMap locals: java.security.Identity
StackMap stack:
iconst_1
anewarray java.security.cert.Certificate
dup
iconst_0
aload 1
aastore
astore 4
start local 4 25: new sun.security.provider.PolicyFile$PolicyEntry
dup
new java.security.CodeSource
dup
aconst_null
aload 4
invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
invokespecial sun.security.provider.PolicyFile$PolicyEntry.<init>:(Ljava/security/CodeSource;)V
astore 5
start local 5 26: aload 5
getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
27: aload 2
getfield sun.security.provider.PolicyFile$PolicyInfo.identityPolicyEntries:Ljava/util/List;
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
28: aload 2
getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
aload 1
aload 3
invokevirtual java.security.Identity.getName:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
29: iconst_1
ireturn
end local 5 end local 4 30: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/provider/PolicyFile;
0 31 1 cert Ljava/security/cert/Certificate;
0 31 2 myInfo Lsun/security/provider/PolicyFile$PolicyInfo;
7 9 4 is Ljava/security/IdentityScope;
18 31 3 id Ljava/security/Identity;
25 30 4 certs [Ljava/security/cert/Certificate;
26 30 5 pe Lsun/security/provider/PolicyFile$PolicyEntry;
Exception table:
from to target type
5 10 11 any
11 12 11 any
MethodParameters:
Name Flags
cert final
myInfo
private static boolean isTrusted(java.security.Identity);
descriptor: (Ljava/security/Identity;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
instanceof sun.security.provider.SystemIdentity
ifeq 4
1: aload 0
checkcast sun.security.provider.SystemIdentity
astore 1
start local 1 2: aload 1
invokevirtual sun.security.provider.SystemIdentity.isTrusted:()Z
ifeq 8
3: iconst_1
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 0
instanceof sun.security.provider.SystemSigner
ifeq 8
5: aload 0
checkcast sun.security.provider.SystemSigner
astore 1
start local 1 6: aload 1
invokevirtual sun.security.provider.SystemSigner.isTrusted:()Z
ifeq 8
7: iconst_1
ireturn
end local 1 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 id Ljava/security/Identity;
2 4 1 sysid Lsun/security/provider/SystemIdentity;
6 8 1 sysid Lsun/security/provider/SystemSigner;
MethodParameters:
Name Flags
id
}
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$9 sun.security.provider.PolicyFile$PolicyEntry sun.security.provider.PolicyFile$PolicyInfo sun.security.provider.PolicyFile$SelfPermission
InnerClasses:
public abstract ProtectionDomainCache = sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache of sun.misc.JavaSecurityProtectionDomainAccess
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$9
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