final class sun.security.ssl.SSLContextImpl$DefaultManagersHolder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SSLContextImpl$DefaultManagersHolder
super_class: java.lang.Object
{
private static final java.lang.String NONE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NONE"
private static final java.lang.String P11KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS11"
private static final javax.net.ssl.TrustManager[] trustManagers;
descriptor: [Ljavax/net/ssl/TrustManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.net.ssl.KeyManager[] keyManagers;
descriptor: [Ljavax/net/ssl/KeyManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Exception reservedException;
descriptor: Ljava/lang/Exception;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=4, args_size=0
0: aconst_null
astore 0
start local 0 1: invokestatic sun.security.ssl.SSLContextImpl$DefaultManagersHolder.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
astore 1
start local 1 2: goto 6
end local 1 StackMap locals: java.lang.Exception
StackMap stack: java.lang.Exception
3: astore 2
start local 2 4: aload 2
astore 0
5: iconst_0
anewarray javax.net.ssl.TrustManager
astore 1
end local 2 start local 1 6: StackMap locals: javax.net.ssl.TrustManager[]
StackMap stack:
aload 1
putstatic sun.security.ssl.SSLContextImpl$DefaultManagersHolder.trustManagers:[Ljavax/net/ssl/TrustManager;
7: aload 0
ifnonnull 15
8: invokestatic sun.security.ssl.SSLContextImpl$DefaultManagersHolder.getKeyManagers:()[Ljavax/net/ssl/KeyManager;
astore 2
start local 2 9: goto 13
end local 2 StackMap locals:
StackMap stack: java.lang.Exception
10: astore 3
start local 3 11: aload 3
astore 0
12: iconst_0
anewarray javax.net.ssl.KeyManager
astore 2
end local 3 start local 2 13: StackMap locals: javax.net.ssl.KeyManager[]
StackMap stack:
aload 2
putstatic sun.security.ssl.SSLContextImpl$DefaultManagersHolder.keyManagers:[Ljavax/net/ssl/KeyManager;
end local 2 14: goto 16
15: StackMap locals:
StackMap stack:
iconst_0
anewarray javax.net.ssl.KeyManager
putstatic sun.security.ssl.SSLContextImpl$DefaultManagersHolder.keyManagers:[Ljavax/net/ssl/KeyManager;
16: StackMap locals:
StackMap stack:
aload 0
putstatic sun.security.ssl.SSLContextImpl$DefaultManagersHolder.reservedException:Ljava/lang/Exception;
end local 1 end local 0 17: return
LocalVariableTable:
Start End Slot Name Signature
1 17 0 reserved Ljava/lang/Exception;
2 3 1 tmMediator [Ljavax/net/ssl/TrustManager;
6 17 1 tmMediator [Ljavax/net/ssl/TrustManager;
4 6 2 e Ljava/lang/Exception;
9 10 2 kmMediator [Ljavax/net/ssl/KeyManager;
13 14 2 kmMediator [Ljavax/net/ssl/KeyManager;
11 13 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
8 9 10 Class java.lang.Exception
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
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/SSLContextImpl$DefaultManagersHolder;
private static javax.net.ssl.TrustManager[] getTrustManagers();
descriptor: ()[Ljavax/net/ssl/TrustManager;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: invokestatic javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
1: invokestatic javax.net.ssl.TrustManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
astore 0
start local 0 2: ldc "SunJSSE"
aload 0
invokevirtual javax.net.ssl.TrustManagerFactory.getProvider:()Ljava/security/Provider;
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 0
aconst_null
invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
4: goto 7
5: StackMap locals: javax.net.ssl.TrustManagerFactory
StackMap stack:
invokestatic sun.security.ssl.TrustStoreManager.getTrustedKeyStore:()Ljava/security/KeyStore;
astore 1
start local 1 6: aload 0
aload 1
invokevirtual javax.net.ssl.TrustManagerFactory.init:(Ljava/security/KeyStore;)V
end local 1 7: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.net.ssl.TrustManagerFactory.getTrustManagers:()[Ljavax/net/ssl/TrustManager;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 8 0 tmf Ljavax/net/ssl/TrustManagerFactory;
6 7 1 ks Ljava/security/KeyStore;
Exceptions:
throws java.lang.Exception
private static javax.net.ssl.KeyManager[] getKeyManagers();
descriptor: ()[Ljavax/net/ssl/KeyManager;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=9, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 0
start local 0 1: new sun.security.ssl.SSLContextImpl$DefaultManagersHolder$1
dup
aload 0
invokespecial sun.security.ssl.SSLContextImpl$DefaultManagersHolder$1.<init>:(Ljava/util/Map;)V
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
3: aload 0
ldc "keyStore"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 4: aload 0
ldc "keyStoreType"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 5: aload 0
ldc "keyStoreProvider"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 6: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 14
ldc "ssl,defaultctx"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 14
7: new java.lang.StringBuilder
dup
ldc "keyStore is : "
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;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
8: new java.lang.StringBuilder
dup
ldc "keyStore type is : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
11: new java.lang.StringBuilder
dup
ldc "keyStore provider is : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
14: StackMap locals: java.util.Map java.lang.String java.lang.String java.lang.String
StackMap stack:
ldc "PKCS11"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: ldc "NONE"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 17
16: new java.lang.IllegalArgumentException
dup
ldc "if keyStoreType is PKCS11, then keyStore must be NONE"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 18: aconst_null
astore 5
start local 5 19: aconst_null
astore 6
start local 6 20: aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifne 24
21: ldc "NONE"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
22: new sun.security.ssl.SSLContextImpl$DefaultManagersHolder$2
dup
aload 1
invokespecial sun.security.ssl.SSLContextImpl$DefaultManagersHolder$2.<init>:(Ljava/lang/String;)V
23: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.io.FileInputStream
astore 4
24: StackMap locals: java.io.FileInputStream java.security.KeyStore char[]
StackMap stack:
aload 0
ldc "keyStorePasswd"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 25: aload 7
invokevirtual java.lang.String.isEmpty:()Z
ifne 27
26: aload 7
invokevirtual java.lang.String.toCharArray:()[C
astore 6
27: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokevirtual java.lang.String.length:()I
ifeq 43
28: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 30
ldc "ssl,defaultctx"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 30
29: ldc "init keystore"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.finest:(Ljava/lang/String;[Ljava/lang/Object;)V
30: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifeq 33
31: aload 2
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 5
32: goto 36
33: StackMap locals:
StackMap stack:
aload 2
34: aload 3
35: invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
astore 5
36: StackMap locals:
StackMap stack:
aload 5
aload 4
aload 6
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
end local 7 37: goto 43
StackMap locals: java.util.Map java.lang.String java.lang.String java.lang.String java.io.FileInputStream java.security.KeyStore char[]
StackMap stack: java.lang.Throwable
38: astore 8
39: aload 4
ifnull 42
40: aload 4
invokevirtual java.io.FileInputStream.close:()V
41: aconst_null
astore 4
42: StackMap locals: java.util.Map java.lang.String java.lang.String java.lang.String java.io.FileInputStream java.security.KeyStore char[] top java.lang.Throwable
StackMap stack:
aload 8
athrow
43: StackMap locals: java.util.Map java.lang.String java.lang.String java.lang.String java.io.FileInputStream java.security.KeyStore char[]
StackMap stack:
aload 4
ifnull 46
44: aload 4
invokevirtual java.io.FileInputStream.close:()V
45: aconst_null
astore 4
46: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 50
ldc "ssl,defaultctx"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 50
47: new java.lang.StringBuilder
dup
ldc "init keymanager of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: invokestatic javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
49: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
50: StackMap locals:
StackMap stack:
invokestatic javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm:()Ljava/lang/String;
51: invokestatic javax.net.ssl.KeyManagerFactory.getInstance:(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
astore 7
start local 7 52: ldc "PKCS11"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 55
53: aload 7
aload 5
aconst_null
invokevirtual javax.net.ssl.KeyManagerFactory.init:(Ljava/security/KeyStore;[C)V
54: goto 56
55: StackMap locals: javax.net.ssl.KeyManagerFactory
StackMap stack:
aload 7
aload 5
aload 6
invokevirtual javax.net.ssl.KeyManagerFactory.init:(Ljava/security/KeyStore;[C)V
56: StackMap locals:
StackMap stack:
aload 7
invokevirtual javax.net.ssl.KeyManagerFactory.getKeyManagers:()[Ljavax/net/ssl/KeyManager;
areturn
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
1 57 0 props Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
4 57 1 defaultKeyStore Ljava/lang/String;
5 57 2 defaultKeyStoreType Ljava/lang/String;
6 57 3 defaultKeyStoreProvider Ljava/lang/String;
18 57 4 fs Ljava/io/FileInputStream;
19 57 5 ks Ljava/security/KeyStore;
20 57 6 passwd [C
25 37 7 defaultKeyStorePassword Ljava/lang/String;
52 57 7 kmf Ljavax/net/ssl/KeyManagerFactory;
Exception table:
from to target type
20 38 38 any
Exceptions:
throws java.lang.Exception
}
SourceFile: "SSLContextImpl.java"
NestHost: sun.security.ssl.SSLContextImpl
InnerClasses:
private final DefaultManagersHolder = sun.security.ssl.SSLContextImpl$DefaultManagersHolder of sun.security.ssl.SSLContextImpl
sun.security.ssl.SSLContextImpl$DefaultManagersHolder$1
sun.security.ssl.SSLContextImpl$DefaultManagersHolder$2