public final class java.security.Security
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.security.Security
super_class: java.lang.Object
{
private static final sun.security.util.Debug sdebug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.util.Properties props;
descriptor: Ljava/util/Properties;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.util.Map<java.lang.String, java.lang.Class<?>> spiMap;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class<*>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "properties"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
1: putstatic java.security.Security.sdebug:Lsun/security/util/Debug;
2: new java.security.Security$1
dup
invokespecial java.security.Security$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
3: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
4: putstatic java.security.Security.spiMap:Ljava/util/Map;
5: return
LocalVariableTable:
Start End Slot Name Signature
private static void initialize();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=0
0: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
putstatic java.security.Security.props:Ljava/util/Properties;
1: iconst_0
istore 0
start local 0 2: iconst_0
istore 1
start local 1 3: ldc "java.security"
invokestatic java.security.Security.securityPropFile:(Ljava/lang/String;)Ljava/io/File;
astore 2
start local 2 4: aload 2
invokevirtual java.io.File.exists:()Z
ifeq 41
5: aconst_null
astore 3
start local 3 6: new java.io.FileInputStream
dup
aload 2
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 4
start local 4 7: new java.io.BufferedInputStream
dup
aload 4
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 3
8: getstatic java.security.Security.props:Ljava/util/Properties;
aload 3
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
9: iconst_1
istore 0
10: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 35
11: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "reading security properties file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 4 14: goto 35
StackMap locals: int int java.io.File java.io.InputStream
StackMap stack: java.io.IOException
15: astore 4
start local 4 16: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 21
17: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "unable to load security properties from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
20: aload 4
invokevirtual java.io.IOException.printStackTrace:()V
end local 4 21: StackMap locals:
StackMap stack:
aload 3
ifnull 41
22: aload 3
invokevirtual java.io.InputStream.close:()V
23: goto 41
StackMap locals:
StackMap stack: java.io.IOException
24: pop
25: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 41
26: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ldc "unable to close input stream"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
goto 41
27: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
28: aload 3
ifnull 34
29: aload 3
invokevirtual java.io.InputStream.close:()V
30: goto 34
StackMap locals: int int java.io.File java.io.InputStream top java.lang.Throwable
StackMap stack: java.io.IOException
31: pop
32: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 34
33: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ldc "unable to close input stream"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
34: StackMap locals:
StackMap stack:
aload 5
athrow
35: StackMap locals: int int java.io.File java.io.InputStream
StackMap stack:
aload 3
ifnull 41
36: aload 3
invokevirtual java.io.InputStream.close:()V
37: goto 41
StackMap locals:
StackMap stack: java.io.IOException
38: pop
39: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 41
40: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ldc "unable to close input stream"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 3 41: StackMap locals:
StackMap stack:
ldc "true"
getstatic java.security.Security.props:Ljava/util/Properties;
42: ldc "security.overridePropertiesFile"
43: invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
44: ifeq 106
45: ldc "java.security.properties"
46: invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 47: aload 3
ifnull 50
aload 3
ldc "="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 50
48: iconst_1
istore 1
49: aload 3
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 3
50: StackMap locals: java.lang.String
StackMap stack:
iload 1
ifeq 56
51: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
putstatic java.security.Security.props:Ljava/util/Properties;
52: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 56
53: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
54: ldc "overriding other security properties files!"
55: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
56: StackMap locals:
StackMap stack:
aload 3
ifnull 106
57: aconst_null
astore 4
start local 4 58: aload 3
invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;)Ljava/lang/String;
astore 3
59: new java.io.File
dup
aload 3
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
60: aload 2
invokevirtual java.io.File.exists:()Z
ifeq 65
61: new java.net.URL
dup
62: new java.lang.StringBuilder
dup
ldc "file:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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;
63: invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 5
start local 5 64: goto 66
end local 5 65: StackMap locals: java.io.BufferedInputStream
StackMap stack:
new java.net.URL
dup
aload 3
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 5
start local 5 66: StackMap locals: java.net.URL
StackMap stack:
new java.io.BufferedInputStream
dup
aload 5
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 4
67: getstatic java.security.Security.props:Ljava/util/Properties;
aload 4
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
68: iconst_1
istore 0
69: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 100
70: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "reading security properties file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
71: aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
72: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
73: iload 1
ifeq 100
74: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
75: ldc "overriding other security properties files!"
76: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 5 77: goto 100
StackMap locals: int int java.io.File java.lang.String java.io.BufferedInputStream
StackMap stack: java.lang.Exception
78: astore 5
start local 5 79: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 86
80: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
81: new java.lang.StringBuilder
dup
ldc "unable to load security properties from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
82: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
83: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
84: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
85: aload 5
invokevirtual java.lang.Exception.printStackTrace:()V
end local 5 86: StackMap locals:
StackMap stack:
aload 4
ifnull 106
87: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
88: goto 106
StackMap locals:
StackMap stack: java.io.IOException
89: pop
90: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 106
91: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ldc "unable to close input stream"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
goto 106
92: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
93: aload 4
ifnull 99
94: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
95: goto 99
StackMap locals: int int java.io.File java.lang.String java.io.BufferedInputStream top java.lang.Throwable
StackMap stack: java.io.IOException
96: pop
97: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 99
98: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ldc "unable to close input stream"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
99: StackMap locals:
StackMap stack:
aload 6
athrow
100: StackMap locals: int int java.io.File java.lang.String java.io.BufferedInputStream
StackMap stack:
aload 4
ifnull 106
101: aload 4
invokevirtual java.io.BufferedInputStream.close:()V
102: goto 106
StackMap locals:
StackMap stack: java.io.IOException
103: pop
104: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 106
105: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ldc "unable to close input stream"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 4 end local 3 106: StackMap locals:
StackMap stack:
iload 0
ifne 110
107: invokestatic java.security.Security.initializeStatic:()V
108: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ifnull 110
109: getstatic java.security.Security.sdebug:Lsun/security/util/Debug;
ldc "unable to load security properties -- using defaults"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
110: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
2 111 0 loadedProps Z
3 111 1 overrideAll Z
4 111 2 propFile Ljava/io/File;
6 41 3 is Ljava/io/InputStream;
7 14 4 fis Ljava/io/FileInputStream;
16 21 4 e Ljava/io/IOException;
47 106 3 extraPropFile Ljava/lang/String;
58 106 4 bis Ljava/io/BufferedInputStream;
64 65 5 propURL Ljava/net/URL;
66 77 5 propURL Ljava/net/URL;
79 86 5 e Ljava/lang/Exception;
Exception table:
from to target type
6 14 15 Class java.io.IOException
22 23 24 Class java.io.IOException
6 21 27 any
29 30 31 Class java.io.IOException
36 37 38 Class java.io.IOException
58 77 78 Class java.lang.Exception
87 88 89 Class java.io.IOException
58 86 92 any
94 95 96 Class java.io.IOException
101 102 103 Class java.io.IOException
private static void initializeStatic();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic java.security.Security.props:Ljava/util/Properties;
ldc "security.provider.1"
ldc "sun.security.provider.Sun"
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: getstatic java.security.Security.props:Ljava/util/Properties;
ldc "security.provider.2"
ldc "sun.security.rsa.SunRsaSign"
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: getstatic java.security.Security.props:Ljava/util/Properties;
ldc "security.provider.3"
ldc "com.sun.net.ssl.internal.ssl.Provider"
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic java.security.Security.props:Ljava/util/Properties;
ldc "security.provider.4"
ldc "com.sun.crypto.provider.SunJCE"
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic java.security.Security.props:Ljava/util/Properties;
ldc "security.provider.5"
ldc "sun.security.jgss.SunProvider"
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic java.security.Security.props:Ljava/util/Properties;
ldc "security.provider.6"
ldc "com.sun.security.sasl.Provider"
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/security/Security;
private static java.io.File securityPropFile(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic java.io.File.separator:Ljava/lang/String;
astore 1
start local 1 1: new java.io.File
dup
new java.lang.StringBuilder
dup
invokestatic jdk.internal.util.StaticProperty.javaHome:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "conf"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "security"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.io.File.<init>:(Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 filename Ljava/lang/String;
1 4 1 sep Ljava/lang/String;
MethodParameters:
Name Flags
filename
private static java.security.Security$ProviderProperty getProviderProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/Security$ProviderProperty;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: invokestatic sun.security.jca.Providers.getProviderList:()Lsun/security/jca/ProviderList;
invokevirtual sun.security.jca.ProviderList.providers:()Ljava/util/List;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 21
4: StackMap locals: java.security.Security$ProviderProperty java.util.List int
StackMap stack:
aconst_null
astore 4
start local 4 5: aload 2
iload 3
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.security.Provider
astore 5
start local 5 6: aload 5
aload 0
invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 7: aload 6
ifnonnull 15
8: aload 5
invokevirtual java.security.Provider.keys:()Ljava/util/Enumeration;
astore 7
start local 7 9: goto 14
10: StackMap locals: java.lang.String java.security.Security$ProviderProperty java.util.List int java.lang.String java.security.Provider java.lang.String java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
11: aload 0
aload 4
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 14
12: aload 5
aload 4
invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
13: goto 15
14: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifeq 15
aload 6
ifnull 10
end local 7 15: StackMap locals:
StackMap stack:
aload 6
ifnull 20
16: new java.security.Security$ProviderProperty
dup
invokespecial java.security.Security$ProviderProperty.<init>:()V
astore 7
start local 7 17: aload 7
aload 6
putfield java.security.Security$ProviderProperty.className:Ljava/lang/String;
18: aload 7
aload 5
putfield java.security.Security$ProviderProperty.provider:Ljava/security/Provider;
19: aload 7
areturn
end local 7 end local 6 end local 5 end local 4 20: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
21: iload 3
aload 2
invokeinterface java.util.List.size:()I
if_icmplt 4
end local 3 22: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 key Ljava/lang/String;
1 23 1 entry Ljava/security/Security$ProviderProperty;
2 23 2 providers Ljava/util/List<Ljava/security/Provider;>;
3 22 3 i I
5 20 4 matchKey Ljava/lang/String;
6 20 5 prov Ljava/security/Provider;
7 20 6 prop Ljava/lang/String;
9 15 7 e Ljava/util/Enumeration<Ljava/lang/Object;>;
17 20 7 newEntry Ljava/security/Security$ProviderProperty;
MethodParameters:
Name Flags
key
private static java.lang.String getProviderProperty(java.lang.String, java.security.Provider);
descriptor: (Ljava/lang/String;Ljava/security/Provider;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 9
2: aload 1
invokevirtual java.security.Provider.keys:()Ljava/util/Enumeration;
astore 3
start local 3 3: goto 8
4: StackMap locals: java.lang.String java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 5: aload 0
aload 4
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
6: aload 1
aload 4
invokevirtual java.security.Provider.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
7: goto 9
end local 4 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifeq 9
aload 2
ifnull 4
end local 3 9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 key Ljava/lang/String;
0 10 1 provider Ljava/security/Provider;
1 10 2 prop Ljava/lang/String;
3 9 3 e Ljava/util/Enumeration<Ljava/lang/Object;>;
5 8 4 matchKey Ljava/lang/String;
MethodParameters:
Name Flags
key
provider
public static java.lang.String getAlgorithmProperty(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "Alg."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.security.Security.getProviderProperty:(Ljava/lang/String;)Ljava/security/Security$ProviderProperty;
astore 2
start local 2 3: aload 2
ifnull 5
4: aload 2
getfield java.security.Security$ProviderProperty.className:Ljava/lang/String;
areturn
5: StackMap locals: java.security.Security$ProviderProperty
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 algName Ljava/lang/String;
0 6 1 propName Ljava/lang/String;
3 6 2 entry Ljava/security/Security$ProviderProperty;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
algName
propName
public static synchronized int insertProviderAt(java.security.Provider, int);
descriptor: (Ljava/security/Provider;I)I
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
invokestatic java.security.Security.checkInsertProvider:(Ljava/lang/String;)V
2: invokestatic sun.security.jca.Providers.getFullProviderList:()Lsun/security/jca/ProviderList;
astore 3
start local 3 3: aload 3
aload 0
iload 1
iconst_1
isub
invokestatic sun.security.jca.ProviderList.insertAt:(Lsun/security/jca/ProviderList;Ljava/security/Provider;I)Lsun/security/jca/ProviderList;
astore 4
start local 4 4: aload 3
aload 4
if_acmpne 6
5: iconst_m1
ireturn
6: StackMap locals: java.lang.String sun.security.jca.ProviderList sun.security.jca.ProviderList
StackMap stack:
aload 4
invokestatic sun.security.jca.Providers.setProviderList:(Lsun/security/jca/ProviderList;)V
7: aload 4
aload 2
invokevirtual sun.security.jca.ProviderList.getIndex:(Ljava/lang/String;)I
iconst_1
iadd
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 provider Ljava/security/Provider;
0 8 1 position I
1 8 2 providerName Ljava/lang/String;
3 8 3 list Lsun/security/jca/ProviderList;
4 8 4 newList Lsun/security/jca/ProviderList;
MethodParameters:
Name Flags
provider
position
public static int addProvider(java.security.Provider);
descriptor: (Ljava/security/Provider;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic java.security.Security.insertProviderAt:(Ljava/security/Provider;I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 provider Ljava/security/Provider;
MethodParameters:
Name Flags
provider
public static synchronized void removeProvider(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "removeProvider."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.security.Security.check:(Ljava/lang/String;)V
1: invokestatic sun.security.jca.Providers.getFullProviderList:()Lsun/security/jca/ProviderList;
astore 1
start local 1 2: aload 1
aload 0
invokestatic sun.security.jca.ProviderList.remove:(Lsun/security/jca/ProviderList;Ljava/lang/String;)Lsun/security/jca/ProviderList;
astore 2
start local 2 3: aload 2
invokestatic sun.security.jca.Providers.setProviderList:(Lsun/security/jca/ProviderList;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 name Ljava/lang/String;
2 5 1 list Lsun/security/jca/ProviderList;
3 5 2 newList Lsun/security/jca/ProviderList;
MethodParameters:
Name Flags
name
public static java.security.Provider[] getProviders();
descriptor: ()[Ljava/security/Provider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic sun.security.jca.Providers.getFullProviderList:()Lsun/security/jca/ProviderList;
invokevirtual sun.security.jca.ProviderList.toArray:()[Ljava/security/Provider;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.security.Provider getProvider(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/Provider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic sun.security.jca.Providers.getProviderList:()Lsun/security/jca/ProviderList;
aload 0
invokevirtual sun.security.jca.ProviderList.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public static java.security.Provider[] getProviders(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/security/Provider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aload 0
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 3
start local 3 3: iload 3
iconst_m1
if_icmpne 7
4: aload 0
astore 1
5: ldc ""
astore 2
6: goto 9
7: StackMap locals: java.lang.String java.lang.String int
StackMap stack:
aload 0
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
8: aload 0
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
9: StackMap locals:
StackMap stack:
new java.util.Hashtable
dup
iconst_1
invokespecial java.util.Hashtable.<init>:(I)V
astore 4
start local 4 10: aload 4
aload 1
aload 2
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 4
invokestatic java.security.Security.getProviders:(Ljava/util/Map;)[Ljava/security/Provider;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 filter Ljava/lang/String;
1 12 1 key Ljava/lang/String;
2 12 2 value Ljava/lang/String;
3 12 3 index I
10 12 4 hashtableFilter Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
filter
public static java.security.Provider[] getProviders(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)[Ljava/security/Provider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=11, args_size=1
start local 0 0: invokestatic java.security.Security.getProviders:()[Ljava/security/Provider;
astore 1
start local 1 1: aload 0
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
astore 2
start local 2 2: new java.util.LinkedHashSet
dup
iconst_5
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 3
start local 3 3: aload 2
ifnull 4
aload 1
ifnonnull 5
4: StackMap locals: java.security.Provider[] java.util.Set java.util.LinkedHashSet
StackMap stack:
aload 1
areturn
5: StackMap locals:
StackMap stack:
iconst_1
istore 4
start local 4 6: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
start local 5 7: goto 26
8: StackMap locals: int java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 9: aload 0
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 10: aload 6
aload 7
11: aload 1
12: invokestatic java.security.Security.getAllQualifyingCandidates:(Ljava/lang/String;Ljava/lang/String;[Ljava/security/Provider;)Ljava/util/LinkedHashSet;
astore 8
start local 8 13: iload 4
ifeq 16
14: aload 8
astore 3
15: iconst_0
istore 4
16: StackMap locals: java.lang.String java.lang.String java.util.LinkedHashSet
StackMap stack:
aload 8
ifnull 24
aload 8
invokevirtual java.util.LinkedHashSet.isEmpty:()Z
ifne 24
17: aload 3
invokevirtual java.util.LinkedHashSet.iterator:()Ljava/util/Iterator;
astore 9
start local 9 18: goto 22
19: StackMap locals: java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Provider
astore 10
start local 10 20: aload 8
aload 10
invokevirtual java.util.LinkedHashSet.contains:(Ljava/lang/Object;)Z
ifne 22
21: aload 9
invokeinterface java.util.Iterator.remove:()V
end local 10 22: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
end local 9 23: goto 26
24: StackMap locals:
StackMap stack:
aconst_null
astore 3
25: goto 27
end local 8 end local 7 end local 6 26: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 5 27: StackMap locals:
StackMap stack:
aload 3
ifnull 28
aload 3
invokevirtual java.util.LinkedHashSet.isEmpty:()Z
ifeq 29
28: StackMap locals:
StackMap stack:
aconst_null
areturn
29: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.LinkedHashSet.toArray:()[Ljava/lang/Object;
astore 5
start local 5 30: aload 5
arraylength
anewarray java.security.Provider
astore 6
start local 6 31: iconst_0
istore 7
start local 7 32: goto 35
33: StackMap locals: java.lang.Object[] java.security.Provider[] int
StackMap stack:
aload 6
iload 7
aload 5
iload 7
aaload
checkcast java.security.Provider
aastore
34: iinc 7 1
StackMap locals:
StackMap stack:
35: iload 7
aload 6
arraylength
if_icmplt 33
end local 7 36: 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 37 0 filter Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 37 1 allProviders [Ljava/security/Provider;
2 37 2 keySet Ljava/util/Set<Ljava/lang/String;>;
3 37 3 candidates Ljava/util/LinkedHashSet<Ljava/security/Provider;>;
6 37 4 firstSearch Z
7 27 5 ite Ljava/util/Iterator<Ljava/lang/String;>;
9 26 6 key Ljava/lang/String;
10 26 7 value Ljava/lang/String;
13 26 8 newCandidates Ljava/util/LinkedHashSet<Ljava/security/Provider;>;
18 23 9 cansIte Ljava/util/Iterator<Ljava/security/Provider;>;
20 22 10 prov Ljava/security/Provider;
30 37 5 candidatesArray [Ljava/lang/Object;
31 37 6 result [Ljava/security/Provider;
32 36 7 i I
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)[Ljava/security/Provider;
MethodParameters:
Name Flags
filter
private static java.lang.Class<?> getSpiClass(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: getstatic java.security.Security.spiMap:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Class
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
new java.lang.StringBuilder
dup
ldc "java.security."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Spi"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 1
4: getstatic java.security.Security.spiMap:Ljava/util/Map;
aload 0
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 1
6: areturn
7: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 2
start local 2 8: new java.lang.AssertionError
dup
ldc "Spi class not found"
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 type Ljava/lang/String;
1 9 1 clazz Ljava/lang/Class<*>;
8 9 2 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
3 6 7 Class java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
type
static java.lang.Object[] getImpl(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 5
1: aload 1
aload 1
invokestatic java.security.Security.getSpiClass:(Ljava/lang/String;)Ljava/lang/Class;
aload 0
2: invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
3: invokevirtual sun.security.jca.GetInstance$Instance.toArray:()[Ljava/lang/Object;
4: areturn
5: StackMap locals:
StackMap stack:
aload 1
aload 1
invokestatic java.security.Security.getSpiClass:(Ljava/lang/String;)Ljava/lang/Class;
aload 0
aload 2
6: invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
7: invokevirtual sun.security.jca.GetInstance$Instance.toArray:()[Ljava/lang/Object;
8: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 algorithm Ljava/lang/String;
0 9 1 type Ljava/lang/String;
0 9 2 provider Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
MethodParameters:
Name Flags
algorithm
type
provider
static java.lang.Object[] getImpl(java.lang.String, java.lang.String, java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnonnull 5
1: aload 1
aload 1
invokestatic java.security.Security.getSpiClass:(Ljava/lang/String;)Ljava/lang/Class;
aload 0
aload 3
2: invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Lsun/security/jca/GetInstance$Instance;
3: invokevirtual sun.security.jca.GetInstance$Instance.toArray:()[Ljava/lang/Object;
4: areturn
5: StackMap locals:
StackMap stack:
aload 1
aload 1
invokestatic java.security.Security.getSpiClass:(Ljava/lang/String;)Ljava/lang/Class;
aload 0
aload 3
aload 2
6: invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
7: invokevirtual sun.security.jca.GetInstance$Instance.toArray:()[Ljava/lang/Object;
8: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 algorithm Ljava/lang/String;
0 9 1 type Ljava/lang/String;
0 9 2 provider Ljava/lang/String;
0 9 3 params Ljava/lang/Object;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
algorithm
type
provider
params
static java.lang.Object[] getImpl(java.lang.String, java.lang.String, java.security.Provider);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 1
invokestatic java.security.Security.getSpiClass:(Ljava/lang/String;)Ljava/lang/Class;
aload 0
aload 2
1: invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
2: invokevirtual sun.security.jca.GetInstance$Instance.toArray:()[Ljava/lang/Object;
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 algorithm Ljava/lang/String;
0 4 1 type Ljava/lang/String;
0 4 2 provider Ljava/security/Provider;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
type
provider
static java.lang.Object[] getImpl(java.lang.String, java.lang.String, java.security.Provider, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider;Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 1
invokestatic java.security.Security.getSpiClass:(Ljava/lang/String;)Ljava/lang/Class;
aload 0
aload 3
aload 2
1: invokestatic sun.security.jca.GetInstance.getInstance:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
2: invokevirtual sun.security.jca.GetInstance$Instance.toArray:()[Ljava/lang/Object;
3: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 algorithm Ljava/lang/String;
0 4 1 type Ljava/lang/String;
0 4 2 provider Ljava/security/Provider;
0 4 3 params Ljava/lang/Object;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
algorithm
type
provider
params
public static java.lang.String getProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 1
new java.security.SecurityPermission
dup
new java.lang.StringBuilder
dup
ldc "getProperty."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;)V
4: invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
getstatic java.security.Security.props:Ljava/util/Properties;
aload 0
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 6: aload 2
ifnull 8
7: aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 2
8: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 key Ljava/lang/String;
1 9 1 sm Ljava/lang/SecurityManager;
6 9 2 name Ljava/lang/String;
MethodParameters:
Name Flags
key
public static void setProperty(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "setProperty."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.security.Security.check:(Ljava/lang/String;)V
1: getstatic java.security.Security.props:Ljava/util/Properties;
aload 0
aload 1
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
invokestatic java.security.Security.invalidateSMCache:(Ljava/lang/String;)V
3: new jdk.internal.event.SecurityPropertyModificationEvent
dup
invokespecial jdk.internal.event.SecurityPropertyModificationEvent.<init>:()V
astore 2
start local 2 4: aload 2
aload 0
putfield jdk.internal.event.SecurityPropertyModificationEvent.key:Ljava/lang/String;
5: aload 2
aload 1
putfield jdk.internal.event.SecurityPropertyModificationEvent.value:Ljava/lang/String;
6: aload 2
invokevirtual jdk.internal.event.SecurityPropertyModificationEvent.commit:()V
7: invokestatic jdk.internal.event.EventHelper.isLoggingSecurity:()Z
ifeq 9
8: aload 0
aload 1
invokestatic jdk.internal.event.EventHelper.logSecurityPropertyEvent:(Ljava/lang/String;Ljava/lang/String;)V
9: StackMap locals: jdk.internal.event.SecurityPropertyModificationEvent
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 key Ljava/lang/String;
0 10 1 datum Ljava/lang/String;
4 10 2 spe Ljdk/internal/event/SecurityPropertyModificationEvent;
MethodParameters:
Name Flags
key
datum
private static void invalidateSMCache(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
ldc "package.access"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 1
start local 1 1: aload 0
ldc "package.definition"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 2
start local 2 2: iload 1
ifne 3
iload 2
ifeq 4
3: StackMap locals: int int
StackMap stack:
invokestatic jdk.internal.access.SharedSecrets.getJavaLangAccess:()Ljdk/internal/access/JavaLangAccess;
invokeinterface jdk.internal.access.JavaLangAccess.invalidatePackageAccessCache:()V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 key Ljava/lang/String;
1 5 1 pa Z
2 5 2 pd Z
MethodParameters:
Name Flags
key
private static void check(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
aload 0
invokevirtual java.lang.SecurityManager.checkSecurityAccess:(Ljava/lang/String;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 directive Ljava/lang/String;
1 4 1 security Ljava/lang/SecurityManager;
MethodParameters:
Name Flags
directive
private static void checkInsertProvider(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 10
2: aload 1
ldc "insertProvider"
invokevirtual java.lang.SecurityManager.checkSecurityAccess:(Ljava/lang/String;)V
3: goto 10
StackMap locals: java.lang.String java.lang.SecurityManager
StackMap stack: java.lang.SecurityException
4: astore 2
start local 2 5: aload 1
new java.lang.StringBuilder
dup
ldc "insertProvider."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkSecurityAccess:(Ljava/lang/String;)V
6: goto 10
StackMap locals: java.lang.String java.lang.SecurityManager java.lang.SecurityException
StackMap stack: java.lang.SecurityException
7: astore 3
start local 3 8: aload 2
aload 3
invokevirtual java.lang.SecurityException.addSuppressed:(Ljava/lang/Throwable;)V
9: aload 2
athrow
end local 3 end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 name Ljava/lang/String;
1 11 1 security Ljava/lang/SecurityManager;
5 10 2 se1 Ljava/lang/SecurityException;
8 10 3 se2 Ljava/lang/SecurityException;
Exception table:
from to target type
2 3 4 Class java.lang.SecurityException
5 6 7 Class java.lang.SecurityException
MethodParameters:
Name Flags
name
private static java.util.LinkedHashSet<java.security.Provider> getAllQualifyingCandidates(java.lang.String, java.lang.String, java.security.Provider[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/security/Provider;)Ljava/util/LinkedHashSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
1: aload 1
2: invokestatic java.security.Security.getFilterComponents:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 3: aload 3
iconst_0
aaload
astore 4
start local 4 4: aload 3
iconst_1
aaload
astore 5
start local 5 5: aload 3
iconst_2
aaload
astore 6
start local 6 6: aload 4
aload 5
aload 6
7: aload 1
aload 2
8: invokestatic java.security.Security.getProvidersNotUsingCache:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/Provider;)Ljava/util/LinkedHashSet;
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 9 0 filterKey Ljava/lang/String;
0 9 1 filterValue Ljava/lang/String;
0 9 2 allProviders [Ljava/security/Provider;
3 9 3 filterComponents [Ljava/lang/String;
4 9 4 serviceName Ljava/lang/String;
5 9 5 algName Ljava/lang/String;
6 9 6 attrName Ljava/lang/String;
Signature: (Ljava/lang/String;Ljava/lang/String;[Ljava/security/Provider;)Ljava/util/LinkedHashSet<Ljava/security/Provider;>;
MethodParameters:
Name Flags
filterKey
filterValue
allProviders
private static java.util.LinkedHashSet<java.security.Provider> getProvidersNotUsingCache(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.security.Provider[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/Provider;)Ljava/util/LinkedHashSet;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.util.LinkedHashSet
dup
iconst_5
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 10
3: StackMap locals: java.util.LinkedHashSet int
StackMap stack:
aload 4
iload 6
aaload
aload 0
4: aload 1
5: aload 2
aload 3
6: invokestatic java.security.Security.isCriterionSatisfied:(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
7: ifeq 9
8: aload 5
aload 4
iload 6
aaload
invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
pop
9: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
aload 4
arraylength
if_icmplt 3
end local 6 11: aload 5
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 12 0 serviceName Ljava/lang/String;
0 12 1 algName Ljava/lang/String;
0 12 2 attrName Ljava/lang/String;
0 12 3 filterValue Ljava/lang/String;
0 12 4 allProviders [Ljava/security/Provider;
1 12 5 candidates Ljava/util/LinkedHashSet<Ljava/security/Provider;>;
2 11 6 i I
Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/Provider;)Ljava/util/LinkedHashSet<Ljava/security/Provider;>;
MethodParameters:
Name Flags
serviceName
algName
attrName
filterValue
allProviders
private static boolean isCriterionSatisfied(java.security.Provider, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 1: aload 3
ifnull 3
2: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
3: StackMap locals: java.lang.String
StackMap stack:
aload 5
aload 0
invokestatic java.security.Security.getProviderProperty:(Ljava/lang/String;Ljava/security/Provider;)Ljava/lang/String;
astore 6
start local 6 4: aload 6
ifnonnull 18
5: new java.lang.StringBuilder
dup
ldc "Alg.Alias."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: aload 0
10: invokestatic java.security.Security.getProviderProperty:(Ljava/lang/String;Ljava/security/Provider;)Ljava/lang/String;
astore 7
start local 7 11: aload 7
ifnull 16
12: new java.lang.StringBuilder
dup
aload 1
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;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
13: aload 3
ifnull 15
14: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
15: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 5
aload 0
invokestatic java.security.Security.getProviderProperty:(Ljava/lang/String;Ljava/security/Provider;)Ljava/lang/String;
astore 6
16: StackMap locals:
StackMap stack:
aload 6
ifnonnull 18
17: iconst_0
ireturn
end local 7 18: StackMap locals:
StackMap stack:
aload 3
ifnonnull 20
19: iconst_1
ireturn
20: StackMap locals:
StackMap stack:
aload 3
invokestatic java.security.Security.isStandardAttr:(Ljava/lang/String;)Z
ifeq 22
21: aload 3
aload 4
aload 6
invokestatic java.security.Security.isConstraintSatisfied:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
ireturn
22: StackMap locals:
StackMap stack:
aload 4
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
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 23 0 prov Ljava/security/Provider;
0 23 1 serviceName Ljava/lang/String;
0 23 2 algName Ljava/lang/String;
0 23 3 attrName Ljava/lang/String;
0 23 4 filterValue Ljava/lang/String;
1 23 5 key Ljava/lang/String;
4 23 6 propValue Ljava/lang/String;
11 18 7 standardName Ljava/lang/String;
MethodParameters:
Name Flags
prov
serviceName
algName
attrName
filterValue
private static boolean isStandardAttr(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "KeySize"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "ImplementedIn"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 attribute Ljava/lang/String;
MethodParameters:
Name Flags
attribute
private static boolean isConstraintSatisfied(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "KeySize"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 6
1: aload 1
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 3
start local 3 2: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 4
start local 4 3: iload 3
iload 4
if_icmpgt 5
4: iconst_1
ireturn
5: StackMap locals: int int
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 6: StackMap locals:
StackMap stack:
aload 0
ldc "ImplementedIn"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
7: aload 1
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 attribute Ljava/lang/String;
0 9 1 value Ljava/lang/String;
0 9 2 prop Ljava/lang/String;
2 6 3 requestedSize I
3 6 4 maxSize I
MethodParameters:
Name Flags
attribute
value
prop
static java.lang.String[] getFilterComponents(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 1: iload 2
ifge 3
2: new java.security.InvalidParameterException
dup
ldc "Invalid filter"
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
start local 3 4: aconst_null
astore 4
start local 4 5: aconst_null
astore 5
start local 5 6: aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 10
7: aload 0
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 4
8: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifeq 20
9: new java.security.InvalidParameterException
dup
ldc "Invalid filter"
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 0
bipush 32
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 11: iload 6
iconst_m1
if_icmpne 13
12: new java.security.InvalidParameterException
dup
ldc "Invalid filter"
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: int
StackMap stack:
aload 0
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 5
14: aload 5
invokevirtual java.lang.String.isEmpty:()Z
ifeq 16
15: new java.security.InvalidParameterException
dup
ldc "Invalid filter"
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
iload 6
iload 2
if_icmplt 18
17: iload 2
iload 6
iconst_1
isub
if_icmpne 19
18: StackMap locals:
StackMap stack:
new java.security.InvalidParameterException
dup
ldc "Invalid filter"
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
iload 2
iconst_1
iadd
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
end local 6 20: StackMap locals:
StackMap stack:
iconst_3
anewarray java.lang.String
astore 6
start local 6 21: aload 6
iconst_0
aload 3
aastore
22: aload 6
iconst_1
aload 4
aastore
23: aload 6
iconst_2
aload 5
aastore
24: 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 25 0 filterKey Ljava/lang/String;
0 25 1 filterValue Ljava/lang/String;
1 25 2 algIndex I
4 25 3 serviceName Ljava/lang/String;
5 25 4 algName Ljava/lang/String;
6 25 5 attrName Ljava/lang/String;
11 20 6 attrIndex I
21 25 6 result [Ljava/lang/String;
MethodParameters:
Name Flags
filterKey
filterValue
public static java.util.Set<java.lang.String> getAlgorithms(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Set;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
ifnull 2
aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifne 2
1: aload 0
ldc "."
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
3: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 4: invokestatic java.security.Security.getProviders:()[Ljava/security/Provider;
astore 2
start local 2 5: iconst_0
istore 3
start local 3 6: goto 21
7: StackMap locals: java.util.HashSet java.security.Provider[] int
StackMap stack:
aload 2
iload 3
aaload
invokevirtual java.security.Provider.keys:()Ljava/util/Enumeration;
astore 4
start local 4 8: goto 19
9: StackMap locals: java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
10: astore 5
start local 5 11: aload 5
12: aload 0
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
13: invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
14: ifeq 19
15: aload 5
bipush 32
invokevirtual java.lang.String.indexOf:(I)I
ifge 19
16: aload 1
aload 5
17: aload 0
invokevirtual java.lang.String.length:()I
iconst_1
iadd
18: invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 5 19: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 9
end local 4 20: iinc 3 1
StackMap locals:
StackMap stack:
21: iload 3
aload 2
arraylength
if_icmplt 7
end local 3 22: aload 1
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 serviceName Ljava/lang/String;
4 23 1 result Ljava/util/HashSet<Ljava/lang/String;>;
5 23 2 providers [Ljava/security/Provider;
6 22 3 i I
8 20 4 e Ljava/util/Enumeration<Ljava/lang/Object;>;
11 19 5 currentKey Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;
MethodParameters:
Name Flags
serviceName
}
SourceFile: "Security.java"
NestMembers:
java.security.Security$1 java.security.Security$ProviderProperty
InnerClasses:
java.security.Security$1
private ProviderProperty = java.security.Security$ProviderProperty of java.security.Security
public final Instance = sun.security.jca.GetInstance$Instance of sun.security.jca.GetInstance