final class sun.security.ssl.TrustStoreManager$TrustAnchorManager
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.TrustStoreManager$TrustAnchorManager
super_class: java.lang.Object
{
private sun.security.ssl.TrustStoreManager$TrustStoreDescriptor descriptor;
descriptor: Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
flags: (0x0002) ACC_PRIVATE
private java.lang.ref.WeakReference<java.security.KeyStore> ksRef;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/WeakReference<Ljava/security/KeyStore;>;
private java.lang.ref.WeakReference<java.util.Set<java.security.cert.X509Certificate>> csRef;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/lang/ref/WeakReference<Ljava/util/Set<Ljava/security/cert/X509Certificate;>;>;
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.descriptor:Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
2: aload 0
new java.lang.ref.WeakReference
dup
aconst_null
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.ksRef:Ljava/lang/ref/WeakReference;
3: aload 0
new java.lang.ref.WeakReference
dup
aconst_null
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.csRef:Ljava/lang/ref/WeakReference;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/TrustStoreManager$TrustAnchorManager;
synchronized java.security.KeyStore getKeyStore(sun.security.ssl.TrustStoreManager$TrustStoreDescriptor);
descriptor: (Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;)Ljava/security/KeyStore;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.descriptor:Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
astore 2
start local 2 1: aload 0
getfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.ksRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.security.KeyStore
astore 3
start local 3 2: aload 3
ifnull 4
aload 1
aload 2
invokevirtual sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 3
areturn
4: StackMap locals: sun.security.ssl.TrustStoreManager$TrustStoreDescriptor java.security.KeyStore
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 6
ldc "trustmanager"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 6
5: ldc "Reload the trust store"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.ssl.TrustStoreManager$TrustAnchorManager.loadKeyStore:(Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;)Ljava/security/KeyStore;
astore 3
7: aload 0
aload 1
putfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.descriptor:Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
8: aload 0
new java.lang.ref.WeakReference
dup
aload 3
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.ksRef:Ljava/lang/ref/WeakReference;
9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/TrustStoreManager$TrustAnchorManager;
0 10 1 descriptor Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
1 10 2 temporaryDesc Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
2 10 3 ks Ljava/security/KeyStore;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
descriptor
synchronized java.util.Set<java.security.cert.X509Certificate> getTrustedCerts(sun.security.ssl.TrustStoreManager$TrustStoreDescriptor);
descriptor: (Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;)Ljava/util/Set;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.descriptor:Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
astore 3
start local 3 2: aload 0
getfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.csRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.util.Set
astore 4
start local 4 3: aload 4
ifnull 8
4: aload 1
aload 3
invokevirtual sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 4
areturn
6: StackMap locals: java.security.KeyStore sun.security.ssl.TrustStoreManager$TrustStoreDescriptor java.util.Set
StackMap stack:
aload 0
aload 1
putfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.descriptor:Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
7: goto 12
8: StackMap locals:
StackMap stack:
aload 1
aload 3
invokevirtual sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.equals:(Ljava/lang/Object;)Z
ifeq 11
9: aload 0
getfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.ksRef:Ljava/lang/ref/WeakReference;
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast java.security.KeyStore
astore 2
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.descriptor:Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
12: StackMap locals:
StackMap stack:
aload 2
ifnonnull 16
13: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 15
ldc "trustmanager"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 15
14: ldc "Reload the trust store"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.ssl.TrustStoreManager$TrustAnchorManager.loadKeyStore:(Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;)Ljava/security/KeyStore;
astore 2
16: StackMap locals:
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 18
ldc "trustmanager"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 18
17: ldc "Reload trust certs"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
aload 2
invokestatic sun.security.ssl.TrustStoreManager$TrustAnchorManager.loadTrustedCerts:(Ljava/security/KeyStore;)Ljava/util/Set;
astore 4
19: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 21
ldc "trustmanager"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 21
20: new java.lang.StringBuilder
dup
ldc "Reloaded "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " trust certs"
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
21: StackMap locals:
StackMap stack:
aload 0
new java.lang.ref.WeakReference
dup
aload 4
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putfield sun.security.ssl.TrustStoreManager$TrustAnchorManager.csRef:Ljava/lang/ref/WeakReference;
22: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/ssl/TrustStoreManager$TrustAnchorManager;
0 23 1 descriptor Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
1 23 2 ks Ljava/security/KeyStore;
2 23 3 temporaryDesc Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
3 23 4 certs Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
Exceptions:
throws java.lang.Exception
Signature: (Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;)Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
MethodParameters:
Name Flags
descriptor
private static java.security.KeyStore loadKeyStore(sun.security.ssl.TrustStoreManager$TrustStoreDescriptor);
descriptor: (Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;)Ljava/security/KeyStore;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: ldc "NONE"
aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storeName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
1: aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storeFile:Ljava/io/File;
ifnonnull 5
2: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 4
ldc "trustmanager"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 4
3: ldc "No available key store"
iconst_0
anewarray java.lang.Object
invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storeProvider:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 8
6: aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storeType:Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 1
start local 1 7: goto 10
end local 1 8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storeType:Ljava/lang/String;
aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storeProvider:Ljava/lang/String;
9: invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
astore 1
start local 1 10: StackMap locals: java.security.KeyStore
StackMap stack:
aconst_null
astore 2
start local 2 11: aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storePassword:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 13
12: aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storePassword:Ljava/lang/String;
invokevirtual java.lang.String.toCharArray:()[C
astore 2
13: StackMap locals: char[]
StackMap stack:
ldc "NONE"
aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storeName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 29
14: aconst_null
astore 3
aconst_null
astore 4
15: new sun.security.action.OpenFileInputStreamAction
dup
aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storeFile:Ljava/io/File;
invokespecial sun.security.action.OpenFileInputStreamAction.<init>:(Ljava/io/File;)V
16: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast java.io.FileInputStream
astore 5
start local 5 17: aload 1
aload 5
aload 2
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
18: aload 5
ifnull 30
aload 5
invokevirtual java.io.FileInputStream.close:()V
goto 30
StackMap locals: sun.security.ssl.TrustStoreManager$TrustStoreDescriptor java.security.KeyStore char[] java.lang.Throwable java.lang.Throwable java.io.FileInputStream
StackMap stack: java.lang.Throwable
19: astore 3
aload 5
ifnull 20
aload 5
invokevirtual java.io.FileInputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
20: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 4
aload 3
ifnonnull 22
aload 4
astore 3
goto 23
StackMap locals:
StackMap stack:
22: aload 3
aload 4
if_acmpeq 23
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 3
athrow
StackMap locals: sun.security.ssl.TrustStoreManager$TrustStoreDescriptor java.security.KeyStore char[]
StackMap stack: java.io.FileNotFoundException
24: pop
25: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 28
ldc "trustmanager"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 28
26: new java.lang.StringBuilder
dup
ldc "Not available key store: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.ssl.TrustStoreManager$TrustStoreDescriptor.storeName:Ljava/lang/String;
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
27: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
28: StackMap locals:
StackMap stack:
aconst_null
areturn
29: StackMap locals:
StackMap stack:
aload 1
aconst_null
aload 2
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
30: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 descriptor Lsun/security/ssl/TrustStoreManager$TrustStoreDescriptor;
7 8 1 ks Ljava/security/KeyStore;
10 31 1 ks Ljava/security/KeyStore;
11 31 2 password [C
17 20 5 fis Ljava/io/FileInputStream;
Exception table:
from to target type
17 18 19 any
15 21 21 any
14 24 24 Class java.io.FileNotFoundException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
descriptor
private static java.util.Set<java.security.cert.X509Certificate> loadTrustedCerts(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)Ljava/util/Set;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.security.validator.TrustStoreUtil.getTrustedCerts:(Ljava/security/KeyStore;)Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ks Ljava/security/KeyStore;
Signature: (Ljava/security/KeyStore;)Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
MethodParameters:
Name Flags
ks
}
SourceFile: "TrustStoreManager.java"
NestHost: sun.security.ssl.TrustStoreManager
InnerClasses:
private final TrustAnchorManager = sun.security.ssl.TrustStoreManager$TrustAnchorManager of sun.security.ssl.TrustStoreManager
private final TrustStoreDescriptor = sun.security.ssl.TrustStoreManager$TrustStoreDescriptor of sun.security.ssl.TrustStoreManager