public class sun.security.tools.policytool.PolicyTool
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.tools.policytool.PolicyTool
super_class: java.lang.Object
{
static final java.util.ResourceBundle rb;
descriptor: Ljava/util/ResourceBundle;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.text.Collator collator;
descriptor: Ljava/text/Collator;
flags: (0x0018) ACC_STATIC, ACC_FINAL
java.util.Vector<java.lang.String> warnings;
descriptor: Ljava/util/Vector;
flags: (0x0000)
Signature: Ljava/util/Vector<Ljava/lang/String;>;
boolean newWarning;
descriptor: Z
flags: (0x0000)
boolean modified;
descriptor: Z
flags: (0x0000)
private static final boolean testing;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.lang.Class[] TWOPARAMS;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class[] ONEPARAMS;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class[] NOPARAMS;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.lang.String policyFileName;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.util.Vector<sun.security.tools.policytool.PolicyEntry> policyEntries;
descriptor: Ljava/util/Vector;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Vector<Lsun/security/tools/policytool/PolicyEntry;>;
private sun.security.provider.PolicyParser parser;
descriptor: Lsun/security/provider/PolicyParser;
flags: (0x0002) ACC_PRIVATE
private java.security.KeyStore keyStore;
descriptor: Ljava/security/KeyStore;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyStoreName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyStoreType;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyStoreProvider;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyStorePwdURL;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
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 NONE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NONE"
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc "sun.security.tools.policytool.Resources"
1: invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
2: putstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
3: invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
putstatic sun.security.tools.policytool.PolicyTool.collator:Ljava/text/Collator;
4: getstatic sun.security.tools.policytool.PolicyTool.collator:Ljava/text/Collator;
iconst_0
invokevirtual java.text.Collator.setStrength:(I)V
5: 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.tools.policytool.PolicyTool.TWOPARAMS:[Ljava/lang/Class;
6: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
putstatic sun.security.tools.policytool.PolicyTool.ONEPARAMS:[Ljava/lang/Class;
7: iconst_0
anewarray java.lang.Class
putstatic sun.security.tools.policytool.PolicyTool.NOPARAMS:[Ljava/lang/Class;
8: aconst_null
putstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
9: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
2: aload 0
iconst_0
putfield sun.security.tools.policytool.PolicyTool.modified:Z
3: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
4: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
5: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
6: aload 0
ldc " "
putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
7: aload 0
ldc " "
putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
8: aload 0
ldc " "
putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
9: aload 0
ldc " "
putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
10: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
11: aload 0
new sun.security.provider.PolicyParser
dup
invokespecial sun.security.provider.PolicyParser.<init>:()V
putfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
12: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
13: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/tools/policytool/PolicyTool;
java.lang.String getPolicyFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/tools/policytool/PolicyTool;
void setPolicyFileName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
putstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/tools/policytool/PolicyTool;
0 2 1 policyFileName Ljava/lang/String;
MethodParameters:
Name Flags
policyFileName
void clearKeyStoreInfo();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
1: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
2: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
3: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/tools/policytool/PolicyTool;
java.lang.String getKeyStoreName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/tools/policytool/PolicyTool;
java.lang.String getKeyStoreType();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/tools/policytool/PolicyTool;
java.lang.String getKeyStoreProvider();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/tools/policytool/PolicyTool;
java.lang.String getKeyStorePwdURL();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/tools/policytool/PolicyTool;
void openPolicy(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
1: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
2: aload 0
new sun.security.provider.PolicyParser
dup
invokespecial sun.security.provider.PolicyParser.<init>:()V
putfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
3: aload 0
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
putfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
4: aload 0
aconst_null
invokevirtual sun.security.tools.policytool.PolicyTool.setPolicyFileName:(Ljava/lang/String;)V
5: aload 0
invokevirtual sun.security.tools.policytool.PolicyTool.clearKeyStoreInfo:()V
6: aload 1
ifnonnull 9
7: aload 0
iconst_0
putfield sun.security.tools.policytool.PolicyTool.modified:Z
8: return
9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.tools.policytool.PolicyTool.setPolicyFileName:(Ljava/lang/String;)V
10: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
new java.io.FileReader
dup
aload 1
invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
11: aload 0
aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
invokevirtual sun.security.provider.PolicyParser.getKeyStoreUrl:()Ljava/lang/String;
aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
invokevirtual sun.security.provider.PolicyParser.getKeyStoreType:()Ljava/lang/String;
12: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
invokevirtual sun.security.provider.PolicyParser.getKeyStoreProvider:()Ljava/lang/String;
aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
invokevirtual sun.security.provider.PolicyParser.getStorePassURL:()Ljava/lang/String;
13: invokevirtual sun.security.tools.policytool.PolicyTool.openKeyStore:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
14: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
invokevirtual sun.security.provider.PolicyParser.grantElements:()Ljava/util/Enumeration;
astore 2
start local 2 15: goto 85
16: StackMap locals: java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$GrantEntry
astore 3
start local 3 17: aload 3
getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
ifnull 31
18: aload 0
aload 3
getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
invokevirtual sun.security.tools.policytool.PolicyTool.parseSigners:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 19: iconst_0
istore 5
start local 5 20: goto 30
21: StackMap locals: sun.security.provider.PolicyParser$GrantEntry java.lang.String[] int
StackMap stack:
aload 0
aload 4
iload 5
aaload
invokevirtual sun.security.tools.policytool.PolicyTool.getPublicKeyAlias:(Ljava/lang/String;)Ljava/security/PublicKey;
astore 6
start local 6 22: aload 6
ifnonnull 29
23: aload 0
iconst_1
putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
24: new java.text.MessageFormat
dup
getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
25: ldc "Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."
26: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 27: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
iload 5
aaload
aastore
astore 8
start local 8 28: aload 0
getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 8 end local 7 end local 6 29: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
aload 4
arraylength
if_icmplt 21
end local 5 end local 4 31: StackMap locals:
StackMap stack:
aload 3
getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
iconst_0
invokevirtual java.util.LinkedList.listIterator:(I)Ljava/util/ListIterator;
32: astore 4
start local 4 33: goto 46
34: 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 35: aload 0
aload 5
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getPrincipalClass:()Ljava/lang/String;
36: aload 5
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getPrincipalName:()Ljava/lang/String;
37: invokevirtual sun.security.tools.policytool.PolicyTool.verifyPrincipal:(Ljava/lang/String;Ljava/lang/String;)V
38: goto 46
StackMap locals: sun.security.tools.policytool.PolicyTool java.lang.String java.util.Enumeration sun.security.provider.PolicyParser$GrantEntry java.util.ListIterator sun.security.provider.PolicyParser$PrincipalEntry
StackMap stack: java.lang.ClassNotFoundException
39: pop
40: aload 0
iconst_1
putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
41: new java.text.MessageFormat
dup
getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
42: ldc "Warning.Class.not.found.class"
43: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
start local 6 44: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.getPrincipalClass:()Ljava/lang/String;
aastore
astore 7
start local 7 45: aload 0
getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 7 end local 6 end local 5 46: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 34
47: aload 3
invokevirtual sun.security.provider.PolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
48: astore 5
start local 5 49: goto 82
50: StackMap locals: java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.security.provider.PolicyParser$PermissionEntry
astore 6
start local 6 51: aload 0
aload 6
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
aload 6
getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
aload 6
getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
invokevirtual sun.security.tools.policytool.PolicyTool.verifyPermission:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
52: goto 68
StackMap locals: sun.security.tools.policytool.PolicyTool java.lang.String java.util.Enumeration sun.security.provider.PolicyParser$GrantEntry java.util.ListIterator java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
StackMap stack: java.lang.ClassNotFoundException
53: pop
54: aload 0
iconst_1
putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
55: new java.text.MessageFormat
dup
getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
56: ldc "Warning.Class.not.found.class"
57: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 58: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
aastore
astore 8
start local 8 59: aload 0
getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 8 end local 7 60: goto 68
61: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
pop
62: aload 0
iconst_1
putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
63: new java.text.MessageFormat
dup
getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
64: ldc "Warning.Invalid.argument.s.for.constructor.arg"
65: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 66: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
aastore
astore 8
start local 8 67: aload 0
getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 8 end local 7 68: StackMap locals:
StackMap stack:
aload 6
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
ifnull 82
69: aload 0
aload 6
getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
invokevirtual sun.security.tools.policytool.PolicyTool.parseSigners:(Ljava/lang/String;)[Ljava/lang/String;
astore 7
start local 7 70: iconst_0
istore 8
start local 8 71: goto 81
72: StackMap locals: java.lang.String[] int
StackMap stack:
aload 0
aload 7
iload 8
aaload
invokevirtual sun.security.tools.policytool.PolicyTool.getPublicKeyAlias:(Ljava/lang/String;)Ljava/security/PublicKey;
astore 9
start local 9 73: aload 9
ifnonnull 80
74: aload 0
iconst_1
putfield sun.security.tools.policytool.PolicyTool.newWarning:Z
75: new java.text.MessageFormat
dup
getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
76: ldc "Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."
77: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 10
start local 10 78: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 7
iload 8
aaload
aastore
astore 11
start local 11 79: aload 0
getfield sun.security.tools.policytool.PolicyTool.warnings:Ljava/util/Vector;
aload 10
aload 11
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 11 end local 10 end local 9 80: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
81: iload 8
aload 7
arraylength
if_icmplt 72
end local 8 end local 7 end local 6 82: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 50
83: new sun.security.tools.policytool.PolicyEntry
dup
aload 0
aload 3
invokespecial sun.security.tools.policytool.PolicyEntry.<init>:(Lsun/security/tools/policytool/PolicyTool;Lsun/security/provider/PolicyParser$GrantEntry;)V
astore 6
start local 6 84: aload 0
getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
aload 6
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 6 end local 5 end local 4 end local 3 85: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 16
86: aload 0
iconst_0
putfield sun.security.tools.policytool.PolicyTool.modified:Z
87: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 88 0 this Lsun/security/tools/policytool/PolicyTool;
0 88 1 filename Ljava/lang/String;
15 88 2 enum_ Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
17 85 3 ge Lsun/security/provider/PolicyParser$GrantEntry;
19 31 4 signers [Ljava/lang/String;
20 31 5 i I
22 29 6 pubKey Ljava/security/PublicKey;
27 29 7 form Ljava/text/MessageFormat;
28 29 8 source [Ljava/lang/Object;
33 85 4 prinList Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
35 46 5 pe Lsun/security/provider/PolicyParser$PrincipalEntry;
44 46 6 form Ljava/text/MessageFormat;
45 46 7 source [Ljava/lang/Object;
49 85 5 perms Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$PermissionEntry;>;
51 82 6 pe Lsun/security/provider/PolicyParser$PermissionEntry;
58 60 7 form Ljava/text/MessageFormat;
59 60 8 source [Ljava/lang/Object;
66 68 7 form Ljava/text/MessageFormat;
67 68 8 source [Ljava/lang/Object;
70 82 7 signers [Ljava/lang/String;
71 82 8 i I
73 80 9 pubKey Ljava/security/PublicKey;
78 80 10 form Ljava/text/MessageFormat;
79 80 11 source [Ljava/lang/Object;
84 85 6 pEntry Lsun/security/tools/policytool/PolicyEntry;
Exception table:
from to target type
35 38 39 Class java.lang.ClassNotFoundException
51 52 53 Class java.lang.ClassNotFoundException
51 52 61 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.io.FileNotFoundException, sun.security.provider.PolicyParser$ParsingException, java.security.KeyStoreException, java.security.cert.CertificateException, java.lang.InstantiationException, java.net.MalformedURLException, java.io.IOException, java.security.NoSuchAlgorithmException, java.lang.IllegalAccessException, java.lang.NoSuchMethodException, java.security.UnrecoverableKeyException, java.security.NoSuchProviderException, java.lang.ClassNotFoundException, sun.security.util.PropertyExpander$ExpandException, java.lang.reflect.InvocationTargetException
MethodParameters:
Name Flags
filename
void savePolicy(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
invokevirtual sun.security.provider.PolicyParser.setKeyStoreUrl:(Ljava/lang/String;)V
1: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
invokevirtual sun.security.provider.PolicyParser.setKeyStoreType:(Ljava/lang/String;)V
2: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
invokevirtual sun.security.provider.PolicyParser.setKeyStoreProvider:(Ljava/lang/String;)V
3: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
invokevirtual sun.security.provider.PolicyParser.setStorePassURL:(Ljava/lang/String;)V
4: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
new java.io.FileWriter
dup
aload 1
invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.provider.PolicyParser.write:(Ljava/io/Writer;)V
5: aload 0
iconst_0
putfield sun.security.tools.policytool.PolicyTool.modified:Z
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/tools/policytool/PolicyTool;
0 7 1 filename Ljava/lang/String;
Exceptions:
throws java.io.FileNotFoundException, java.io.IOException
MethodParameters:
Name Flags
filename
void openKeyStore(java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnonnull 7
aload 2
ifnonnull 7
1: aload 3
ifnonnull 7
aload 4
ifnonnull 7
2: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
3: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
5: aload 0
aconst_null
putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
6: return
7: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 8: getstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
ifnull 11
9: new java.io.File
dup
getstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 6
start local 6 10: new java.net.URL
dup
new java.lang.StringBuilder
dup
ldc "file:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 5
end local 6 11: StackMap locals: java.net.URL
StackMap stack:
aload 1
ifnull 15
aload 1
invokevirtual java.lang.String.length:()I
ifle 15
12: aload 1
invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
13: getstatic java.io.File.separatorChar:C
bipush 47
14: invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 1
15: StackMap locals:
StackMap stack:
aload 2
ifnull 16
aload 2
invokevirtual java.lang.String.length:()I
ifne 17
16: StackMap locals:
StackMap stack:
invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
astore 2
17: StackMap locals:
StackMap stack:
aload 4
ifnull 21
aload 4
invokevirtual java.lang.String.length:()I
ifle 21
18: aload 4
invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
19: getstatic java.io.File.separatorChar:C
bipush 47
20: invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 4
21: StackMap locals:
StackMap stack:
aload 0
aload 5
22: aload 1
23: aload 2
24: aload 3
25: aload 4
26: aconst_null
27: 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;
putfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
28: goto 37
StackMap locals:
StackMap stack: java.io.IOException
29: astore 6
start local 6 30: ldc "no password provided, and no callback handler available for retrieving password"
astore 7
start local 7 31: aload 6
invokevirtual java.io.IOException.getCause:()Ljava/lang/Throwable;
astore 8
start local 8 32: aload 8
ifnull 36
33: aload 8
instanceof javax.security.auth.login.LoginException
ifeq 36
34: aload 7
aload 8
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 36
35: new java.io.IOException
dup
aload 7
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals: java.io.IOException java.lang.String java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 8 end local 7 end local 6 37: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield sun.security.tools.policytool.PolicyTool.keyStoreName:Ljava/lang/String;
38: aload 0
aload 2
putfield sun.security.tools.policytool.PolicyTool.keyStoreType:Ljava/lang/String;
39: aload 0
aload 3
putfield sun.security.tools.policytool.PolicyTool.keyStoreProvider:Ljava/lang/String;
40: aload 0
aload 4
putfield sun.security.tools.policytool.PolicyTool.keyStorePwdURL:Ljava/lang/String;
41: return
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 42 0 this Lsun/security/tools/policytool/PolicyTool;
0 42 1 name Ljava/lang/String;
0 42 2 type Ljava/lang/String;
0 42 3 provider Ljava/lang/String;
0 42 4 pwdURL Ljava/lang/String;
8 42 5 policyURL Ljava/net/URL;
10 11 6 pfile Ljava/io/File;
30 37 6 ioe Ljava/io/IOException;
31 37 7 MSG Ljava/lang/String;
32 37 8 cause Ljava/lang/Throwable;
Exception table:
from to target type
21 28 29 Class java.io.IOException
Exceptions:
throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException, java.io.IOException, java.security.cert.CertificateException, java.security.NoSuchProviderException, sun.security.util.PropertyExpander$ExpandException
MethodParameters:
Name Flags
name
type
provider
pwdURL
boolean addEntry(sun.security.tools.policytool.PolicyEntry, int);
descriptor: (Lsun/security/tools/policytool/PolicyEntry;I)Z
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifge 4
1: aload 0
getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
2: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
aload 1
invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
invokevirtual sun.security.provider.PolicyParser.add:(Lsun/security/provider/PolicyParser$GrantEntry;)V
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
iload 2
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.security.tools.policytool.PolicyEntry
astore 3
start local 3 5: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
aload 3
invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
aload 1
invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
invokevirtual sun.security.provider.PolicyParser.replace:(Lsun/security/provider/PolicyParser$GrantEntry;Lsun/security/provider/PolicyParser$GrantEntry;)V
6: aload 0
getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
aload 1
iload 2
invokevirtual java.util.Vector.setElementAt:(Ljava/lang/Object;I)V
end local 3 7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/tools/policytool/PolicyTool;
0 8 1 pe Lsun/security/tools/policytool/PolicyEntry;
0 8 2 index I
5 7 3 origPe Lsun/security/tools/policytool/PolicyEntry;
MethodParameters:
Name Flags
pe
index
boolean addPrinEntry(sun.security.tools.policytool.PolicyEntry, sun.security.provider.PolicyParser$PrincipalEntry, int);
descriptor: (Lsun/security/tools/policytool/PolicyEntry;Lsun/security/provider/PolicyParser$PrincipalEntry;I)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
astore 4
start local 4 1: aload 4
aload 2
invokevirtual sun.security.provider.PolicyParser$GrantEntry.contains:(Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: sun.security.provider.PolicyParser$GrantEntry
StackMap stack:
aload 4
getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
4: astore 5
start local 5 5: iload 3
iconst_m1
if_icmpeq 7
6: aload 5
iload 3
aload 2
invokevirtual java.util.LinkedList.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
goto 8
7: StackMap locals: java.util.LinkedList
StackMap stack:
aload 5
aload 2
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
8: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.policytool.PolicyTool.modified:Z
9: iconst_1
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 10 0 this Lsun/security/tools/policytool/PolicyTool;
0 10 1 pe Lsun/security/tools/policytool/PolicyEntry;
0 10 2 newPrin Lsun/security/provider/PolicyParser$PrincipalEntry;
0 10 3 index I
1 10 4 grantEntry Lsun/security/provider/PolicyParser$GrantEntry;
5 10 5 prinList Ljava/util/LinkedList<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
MethodParameters:
Name Flags
pe
newPrin
index
boolean addPermEntry(sun.security.tools.policytool.PolicyEntry, sun.security.provider.PolicyParser$PermissionEntry, int);
descriptor: (Lsun/security/tools/policytool/PolicyEntry;Lsun/security/provider/PolicyParser$PermissionEntry;I)Z
flags: (0x0000)
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
astore 4
start local 4 1: aload 4
aload 2
invokevirtual sun.security.provider.PolicyParser$GrantEntry.contains:(Lsun/security/provider/PolicyParser$PermissionEntry;)Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: sun.security.provider.PolicyParser$GrantEntry
StackMap stack:
aload 4
getfield sun.security.provider.PolicyParser$GrantEntry.permissionEntries:Ljava/util/Vector;
4: astore 5
start local 5 5: iload 3
iconst_m1
if_icmpeq 7
6: aload 5
aload 2
iload 3
invokevirtual java.util.Vector.setElementAt:(Ljava/lang/Object;I)V
goto 8
7: StackMap locals: java.util.Vector
StackMap stack:
aload 5
aload 2
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.policytool.PolicyTool.modified:Z
9: iconst_1
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 10 0 this Lsun/security/tools/policytool/PolicyTool;
0 10 1 pe Lsun/security/tools/policytool/PolicyEntry;
0 10 2 newPerm Lsun/security/provider/PolicyParser$PermissionEntry;
0 10 3 index I
1 10 4 grantEntry Lsun/security/provider/PolicyParser$GrantEntry;
5 10 5 permList Ljava/util/Vector<Lsun/security/provider/PolicyParser$PermissionEntry;>;
MethodParameters:
Name Flags
pe
newPerm
index
boolean removePermEntry(sun.security.tools.policytool.PolicyEntry, sun.security.provider.PolicyParser$PermissionEntry);
descriptor: (Lsun/security/tools/policytool/PolicyEntry;Lsun/security/provider/PolicyParser$PermissionEntry;)Z
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
astore 3
start local 3 1: aload 0
aload 3
aload 2
invokevirtual sun.security.provider.PolicyParser$GrantEntry.remove:(Lsun/security/provider/PolicyParser$PermissionEntry;)Z
putfield sun.security.tools.policytool.PolicyTool.modified:Z
2: aload 0
getfield sun.security.tools.policytool.PolicyTool.modified:Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/tools/policytool/PolicyTool;
0 3 1 pe Lsun/security/tools/policytool/PolicyEntry;
0 3 2 perm Lsun/security/provider/PolicyParser$PermissionEntry;
1 3 3 ppge Lsun/security/provider/PolicyParser$GrantEntry;
MethodParameters:
Name Flags
pe
perm
boolean removeEntry(sun.security.tools.policytool.PolicyEntry);
descriptor: (Lsun/security/tools/policytool/PolicyEntry;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.policytool.PolicyTool.parser:Lsun/security/provider/PolicyParser;
aload 1
invokevirtual sun.security.tools.policytool.PolicyEntry.getGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
invokevirtual sun.security.provider.PolicyParser.remove:(Lsun/security/provider/PolicyParser$GrantEntry;)Z
pop
1: aload 0
iconst_1
putfield sun.security.tools.policytool.PolicyTool.modified:Z
2: aload 0
getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
aload 1
invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/tools/policytool/PolicyTool;
0 3 1 pe Lsun/security/tools/policytool/PolicyEntry;
MethodParameters:
Name Flags
pe
sun.security.tools.policytool.PolicyEntry[] getEntry();
descriptor: ()[Lsun/security/tools/policytool/PolicyEntry;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
ifle 8
1: aload 0
getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
anewarray sun.security.tools.policytool.PolicyEntry
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: sun.security.tools.policytool.PolicyEntry[] int
StackMap stack:
aload 1
iload 2
aload 0
getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
iload 2
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast sun.security.tools.policytool.PolicyEntry
aastore
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield sun.security.tools.policytool.PolicyTool.policyEntries:Ljava/util/Vector;
invokevirtual java.util.Vector.size:()I
if_icmplt 4
end local 2 7: aload 1
areturn
end local 1 8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/tools/policytool/PolicyTool;
2 8 1 entries [Lsun/security/tools/policytool/PolicyEntry;
3 7 2 i I
java.security.PublicKey getPublicKeyAlias(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/PublicKey;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 2
start local 2 3: aload 2
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: java.security.cert.Certificate
StackMap stack:
aload 2
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 3
start local 3 6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/tools/policytool/PolicyTool;
0 7 1 name Ljava/lang/String;
3 7 2 cert Ljava/security/cert/Certificate;
6 7 3 pubKey Ljava/security/PublicKey;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
name
java.lang.String[] getPublicKeyAlias();
descriptor: ()[Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: int java.lang.String[]
StackMap stack:
aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 3
start local 3 5: goto 8
6: StackMap locals: java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
pop
7: iinc 1 1
8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 6
9: iload 1
ifle 17
10: iload 1
anewarray java.lang.String
astore 2
11: iconst_0
istore 1
12: aload 0
getfield sun.security.tools.policytool.PolicyTool.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 3
13: goto 16
14: StackMap locals:
StackMap stack:
aload 2
iload 1
new java.lang.String
dup
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
aastore
15: iinc 1 1
16: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 14
17: 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 18 0 this Lsun/security/tools/policytool/PolicyTool;
1 18 1 numAliases I
2 18 2 aliases [Ljava/lang/String;
5 18 3 enum_ Ljava/util/Enumeration<Ljava/lang/String;>;
Exceptions:
throws java.security.KeyStoreException
java.lang.String[] parseSigners(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_1
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 10
6: StackMap locals: sun.security.tools.policytool.PolicyTool java.lang.String java.lang.String[] int int int int
StackMap stack:
aload 1
bipush 44
iload 4
invokevirtual java.lang.String.indexOf:(II)I
istore 5
7: iload 5
iflt 10
8: iinc 3 1
9: iload 5
iconst_1
iadd
istore 4
10: StackMap locals:
StackMap stack:
iload 5
ifge 6
11: iload 3
anewarray java.lang.String
astore 2
12: iconst_0
istore 5
13: iconst_0
istore 4
14: goto 23
15: StackMap locals:
StackMap stack:
aload 1
bipush 44
iload 4
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 5
iflt 22
16: aload 2
iload 6
17: aload 1
iload 4
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
18: aastore
19: iinc 6 1
20: iload 5
iconst_1
iadd
istore 4
21: goto 23
22: StackMap locals:
StackMap stack:
aload 2
iload 6
aload 1
iload 4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aastore
23: StackMap locals:
StackMap stack:
iload 5
ifge 15
24: aload 2
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 25 0 this Lsun/security/tools/policytool/PolicyTool;
0 25 1 signedBy Ljava/lang/String;
1 25 2 signers [Ljava/lang/String;
2 25 3 numSigners I
3 25 4 signedByIndex I
4 25 5 commaIndex I
5 25 6 signerNum I
MethodParameters:
Name Flags
signedBy
void verifyPrincipal(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "WILDCARD_PRINCIPAL_CLASS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 2
1: aload 1
ldc "PolicyParser.REPLACE_NAME"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
ldc "java.security.Principal"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 3
start local 3 4: aload 1
iconst_1
5: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
6: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 4
start local 4 7: aload 3
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 13
8: new java.text.MessageFormat
dup
getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
9: ldc "Illegal.Principal.Type.type"
10: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 11: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 6
start local 6 12: new java.lang.InstantiationException
dup
aload 5
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.InstantiationException.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 13: StackMap locals: java.lang.Class java.lang.Class
StackMap stack:
ldc "javax.security.auth.x500.X500Principal"
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: new javax.security.auth.x500.X500Principal
aload 2
invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
15: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/tools/policytool/PolicyTool;
0 16 1 type Ljava/lang/String;
0 16 2 name Ljava/lang/String;
4 16 3 PRIN Ljava/lang/Class<*>;
7 16 4 pc Ljava/lang/Class<*>;
11 13 5 form Ljava/text/MessageFormat;
12 13 6 source [Ljava/lang/Object;
Exceptions:
throws java.lang.ClassNotFoundException, java.lang.InstantiationException
MethodParameters:
Name Flags
type
name
void verifyPermission(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iconst_1
1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
2: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: new java.util.Vector
dup
iconst_2
invokespecial java.util.Vector.<init>:(I)V
astore 6
start local 6 5: aload 2
ifnull 6
aload 6
aload 2
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals: java.lang.Class java.lang.reflect.Constructor java.util.Vector
StackMap stack:
aload 3
ifnull 7
aload 6
aload 3
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.util.Vector.size:()I
tableswitch { // 0 - 2
0: 8
1: 12
2: 16
default: 17
}
8: StackMap locals:
StackMap stack:
aload 4
getstatic sun.security.tools.policytool.PolicyTool.NOPARAMS:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
9: goto 17
10: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
11: aload 6
aconst_null
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
12: StackMap locals:
StackMap stack:
aload 4
getstatic sun.security.tools.policytool.PolicyTool.ONEPARAMS:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
13: goto 17
14: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
15: aload 6
aconst_null
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals:
StackMap stack:
aload 4
getstatic sun.security.tools.policytool.PolicyTool.TWOPARAMS:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
17: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.util.Vector.toArray:()[Ljava/lang/Object;
astore 7
start local 7 18: aload 5
aload 7
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.Permission
pop
19: 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 20 0 this Lsun/security/tools/policytool/PolicyTool;
0 20 1 type Ljava/lang/String;
0 20 2 name Ljava/lang/String;
0 20 3 actions Ljava/lang/String;
3 20 4 pc Ljava/lang/Class<*>;
4 20 5 c Ljava/lang/reflect/Constructor<*>;
5 20 6 objects Ljava/util/Vector<Ljava/lang/String;>;
18 20 7 parameters [Ljava/lang/Object;
Exception table:
from to target type
8 9 10 Class java.lang.NoSuchMethodException
12 13 14 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
static void parseArgs(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 1
goto 14
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
aaload
astore 2
start local 2 3: getstatic sun.security.tools.policytool.PolicyTool.collator:Ljava/text/Collator;
aload 2
ldc "-file"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 7
4: iinc 1 1
iload 1
aload 0
arraylength
if_icmpne 5
invokestatic sun.security.tools.policytool.PolicyTool.usage:()V
5: StackMap locals: java.lang.String
StackMap stack:
aload 0
iload 1
aaload
putstatic sun.security.tools.policytool.PolicyTool.policyFileName:Ljava/lang/String;
6: goto 13
7: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
8: ldc "Illegal.option.option"
9: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 10: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 4
start local 4 11: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: invokestatic sun.security.tools.policytool.PolicyTool.usage:()V
end local 4 end local 3 end local 2 13: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
14: iload 1
aload 0
arraylength
if_icmpge 15
aload 0
iload 1
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 args [Ljava/lang/String;
1 16 1 n I
3 13 2 flags Ljava/lang/String;
10 13 3 form Ljava/text/MessageFormat;
11 13 4 source [Ljava/lang/Object;
MethodParameters:
Name Flags
args
static void usage();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic java.lang.System.out:Ljava/io/PrintStream;
getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
ldc "Usage.policytool.options."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
getstatic sun.security.tools.policytool.PolicyTool.rb:Ljava/util/ResourceBundle;
3: ldc ".file.file.policy.file.location"
4: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
6: iconst_1
invokestatic java.lang.System.exit:(I)V
7: return
LocalVariableTable:
Start End Slot Name Signature
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokestatic sun.security.tools.policytool.PolicyTool.parseArgs:([Ljava/lang/String;)V
1: new sun.security.tools.policytool.ToolWindow
dup
new sun.security.tools.policytool.PolicyTool
dup
invokespecial sun.security.tools.policytool.PolicyTool.<init>:()V
invokespecial sun.security.tools.policytool.ToolWindow.<init>:(Lsun/security/tools/policytool/PolicyTool;)V
astore 1
start local 1 2: aload 1
aload 0
invokevirtual sun.security.tools.policytool.ToolWindow.displayToolWindow:([Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 args [Ljava/lang/String;
2 4 1 tw Lsun/security/tools/policytool/ToolWindow;
MethodParameters:
Name Flags
args
static java.lang.String splitToWords(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "([A-Z])"
ldc " $1"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 instr Ljava/lang/String;
MethodParameters:
Name Flags
instr
}
SourceFile: "PolicyTool.java"
InnerClasses:
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
public ExpandException = sun.security.util.PropertyExpander$ExpandException of sun.security.util.PropertyExpander