final class com.sun.net.ssl.SSLSecurity
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.net.ssl.SSLSecurity
super_class: java.lang.Object
{
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 Lcom/sun/net/ssl/SSLSecurity;
private static java.security.Provider$Service getService(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: invokestatic sun.security.jca.Providers.getProviderList:()Lsun/security/jca/ProviderList;
astore 2
start local 2 1: aload 2
invokevirtual sun.security.jca.ProviderList.providers:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: java.lang.String java.lang.String sun.security.jca.ProviderList top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Provider
astore 3
start local 3 3: aload 3
aload 0
aload 1
invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
astore 5
start local 5 4: aload 5
ifnull 6
5: aload 5
areturn
end local 5 end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 type Ljava/lang/String;
0 8 1 alg Ljava/lang/String;
1 8 2 list Lsun/security/jca/ProviderList;
3 6 3 p Ljava/security/Provider;
4 6 5 s Ljava/security/Provider$Service;
MethodParameters:
Name Flags
type
alg
private static java.lang.Object[] getImpl1(java.lang.String, java.lang.String, java.security.Provider$Service);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider$Service;)[Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.security.Provider$Service.getProvider:()Ljava/security/Provider;
astore 3
start local 3 1: aload 2
invokevirtual java.security.Provider$Service.getClassName:()Ljava/lang/String;
astore 4
start local 4 2: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 6
start local 6 3: aload 6
ifnonnull 6
4: aload 4
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 5
start local 5 5: goto 22
end local 5 6: StackMap locals: java.lang.String java.lang.String java.security.Provider$Service java.security.Provider java.lang.String top java.lang.ClassLoader
StackMap stack:
aload 6
aload 4
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 5
end local 6 start local 5 7: goto 22
end local 5 StackMap locals: java.lang.String java.lang.String java.security.Provider$Service java.security.Provider java.lang.String
StackMap stack: java.lang.ClassNotFoundException
8: astore 6
start local 6 9: new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " configured for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " not found: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: aload 6
invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
end local 6 15: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 6
start local 6 16: new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: ldc " configured for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc " cannot be accessed: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: aload 6
invokevirtual java.lang.SecurityException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
end local 6 start local 5 22: StackMap locals: java.lang.Class
StackMap stack:
aconst_null
astore 8
start local 8 23: new java.lang.StringBuilder
dup
ldc "javax.net.ssl."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Spi"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
dup
astore 6
start local 6 26: ifnull 42
27: aload 5
aload 6
invokestatic com.sun.net.ssl.SSLSecurity.checkSuperclass:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 42
28: aload 1
ldc "SSLContext"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
29: new com.sun.net.ssl.SSLContextSpiWrapper
dup
aload 0
aload 3
invokespecial com.sun.net.ssl.SSLContextSpiWrapper.<init>:(Ljava/lang/String;Ljava/security/Provider;)V
astore 8
30: goto 48
StackMap locals: java.lang.String java.lang.String java.security.Provider$Service java.security.Provider java.lang.String java.lang.Class java.lang.Class top java.lang.Object
StackMap stack:
31: aload 1
ldc "TrustManagerFactory"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
32: new com.sun.net.ssl.TrustManagerFactorySpiWrapper
dup
aload 0
aload 3
invokespecial com.sun.net.ssl.TrustManagerFactorySpiWrapper.<init>:(Ljava/lang/String;Ljava/security/Provider;)V
astore 8
33: goto 48
StackMap locals:
StackMap stack:
34: aload 1
ldc "KeyManagerFactory"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
35: new com.sun.net.ssl.KeyManagerFactorySpiWrapper
dup
aload 0
aload 3
invokespecial com.sun.net.ssl.KeyManagerFactorySpiWrapper.<init>:(Ljava/lang/String;Ljava/security/Provider;)V
astore 8
36: goto 48
37: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
38: new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
39: ldc " unknown engineType wrapper:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
41: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "com.sun.net.ssl."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
43: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Spi"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
44: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
dup
astore 7
start local 7 45: ifnull 48
46: aload 5
aload 7
invokestatic com.sun.net.ssl.SSLSecurity.checkSuperclass:(Ljava/lang/Class;Ljava/lang/Class;)Z
ifeq 48
47: aload 2
aconst_null
invokevirtual java.security.Provider$Service.newInstance:(Ljava/lang/Object;)Ljava/lang/Object;
astore 8
end local 7 48: StackMap locals:
StackMap stack:
aload 8
ifnull 51
49: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 3
aastore
50: areturn
51: StackMap locals:
StackMap stack:
new java.security.NoSuchAlgorithmException
dup
52: new java.lang.StringBuilder
dup
ldc "Couldn't locate correct object or wrapper: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
53: 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;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
54: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
55: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 6 56: StackMap locals: java.lang.String java.lang.String java.security.Provider$Service java.security.Provider java.lang.String java.lang.Class
StackMap stack: java.lang.ClassNotFoundException
astore 6
start local 6 57: new java.lang.IllegalStateException
dup
58: new java.lang.StringBuilder
dup
ldc "Engine Class Not Found for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
59: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
astore 7
start local 7 60: aload 7
aload 6
invokevirtual java.lang.IllegalStateException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
61: aload 7
athrow
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 62 0 algName Ljava/lang/String;
0 62 1 engineType Ljava/lang/String;
0 62 2 service Ljava/security/Provider$Service;
1 62 3 provider Ljava/security/Provider;
2 62 4 className Ljava/lang/String;
5 6 5 implClass Ljava/lang/Class<*>;
7 8 5 implClass Ljava/lang/Class<*>;
22 62 5 implClass Ljava/lang/Class<*>;
3 7 6 cl Ljava/lang/ClassLoader;
9 15 6 e Ljava/lang/ClassNotFoundException;
16 22 6 e Ljava/lang/SecurityException;
26 56 6 typeClassJavax Ljava/lang/Class<*>;
45 48 7 typeClassCom Ljava/lang/Class<*>;
23 56 8 obj Ljava/lang/Object;
57 62 6 e Ljava/lang/ClassNotFoundException;
60 62 7 exc Ljava/lang/IllegalStateException;
Exception table:
from to target type
2 7 8 Class java.lang.ClassNotFoundException
2 7 15 Class java.lang.SecurityException
22 50 56 Class java.lang.ClassNotFoundException
51 56 56 Class java.lang.ClassNotFoundException
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algName
engineType
service
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=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 9
1: invokestatic sun.security.jca.Providers.getProviderList:()Lsun/security/jca/ProviderList;
astore 4
start local 4 2: aload 4
aload 2
invokevirtual sun.security.jca.ProviderList.getProvider:(Ljava/lang/String;)Ljava/security/Provider;
astore 5
start local 5 3: aload 5
ifnonnull 7
4: new java.security.NoSuchProviderException
dup
new java.lang.StringBuilder
dup
ldc "No such provider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.security.NoSuchProviderException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.String java.lang.String java.lang.String top sun.security.jca.ProviderList java.security.Provider
StackMap stack:
aload 5
aload 1
aload 0
invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
astore 3
end local 5 end local 4 start local 3 8: goto 10
end local 3 9: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 1
aload 0
invokestatic com.sun.net.ssl.SSLSecurity.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
astore 3
start local 3 10: StackMap locals: java.security.Provider$Service
StackMap stack:
aload 3
ifnonnull 14
11: new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "Algorithm "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " not available"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
invokestatic com.sun.net.ssl.SSLSecurity.getImpl1:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider$Service;)[Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 algName Ljava/lang/String;
0 15 1 engineType Ljava/lang/String;
0 15 2 provName Ljava/lang/String;
8 9 3 service Ljava/security/Provider$Service;
10 15 3 service Ljava/security/Provider$Service;
2 8 4 list Lsun/security/jca/ProviderList;
3 8 5 prov Ljava/security/Provider;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException
MethodParameters:
Name Flags
algName
engineType
provName
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=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
aload 0
invokevirtual java.security.Provider.getService:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;
astore 3
start local 3 1: aload 3
ifnonnull 5
2: new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "No such algorithm: "
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;
4: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.security.Provider$Service
StackMap stack:
aload 0
aload 1
aload 3
invokestatic com.sun.net.ssl.SSLSecurity.getImpl1:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Provider$Service;)[Ljava/lang/Object;
areturn
end local 3 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 engineType Ljava/lang/String;
0 6 2 prov Ljava/security/Provider;
1 6 3 service Ljava/security/Provider$Service;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algName
engineType
prov
private static boolean checkSuperclass(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 1
ifnonnull 5
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 0
3: aload 0
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 subclass Ljava/lang/Class<*>;
0 7 1 superclass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
subclass
superclass
static java.lang.Object[] truncateArray(java.lang.Object[], java.lang.Object[]);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
aload 0
iload 2
aaload
aastore
3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
aload 1
arraylength
if_icmplt 2
end local 2 5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 oldArray [Ljava/lang/Object;
0 6 1 newArray [Ljava/lang/Object;
1 5 2 i I
MethodParameters:
Name Flags
oldArray
newArray
}
SourceFile: "SSLSecurity.java"
InnerClasses:
public Service = java.security.Provider$Service of java.security.Provider