class sun.security.provider.certpath.URICertStore extends java.security.cert.CertStoreSpi
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.provider.certpath.URICertStore
super_class: java.security.cert.CertStoreSpi
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int CHECK_INTERVAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 30000
private static final int CACHE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 185
private final java.security.cert.CertificateFactory factory;
descriptor: Ljava/security/cert/CertificateFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Collection<java.security.cert.X509Certificate> certs;
descriptor: Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
private java.security.cert.X509CRL crl;
descriptor: Ljava/security/cert/X509CRL;
flags: (0x0002) ACC_PRIVATE
private long lastChecked;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long lastModified;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.net.URI uri;
descriptor: Ljava/net/URI;
flags: (0x0002) ACC_PRIVATE
private boolean ldap;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private sun.security.provider.certpath.CertStoreHelper ldapHelper;
descriptor: Lsun/security/provider/certpath/CertStoreHelper;
flags: (0x0002) ACC_PRIVATE
private java.security.cert.CertStore ldapCertStore;
descriptor: Ljava/security/cert/CertStore;
flags: (0x0002) ACC_PRIVATE
private java.lang.String ldapPath;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static final int DEFAULT_CRL_CONNECT_TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15000
private static final int CRL_CONNECT_TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.util.Cache certStoreCache;
descriptor: Lsun/security/util/Cache;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "certpath"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
1: invokestatic sun.security.provider.certpath.URICertStore.initializeTimeout:()I
putstatic sun.security.provider.certpath.URICertStore.CRL_CONNECT_TIMEOUT:I
2: sipush 185
invokestatic sun.security.util.Cache.newSoftMemoryCache:(I)Lsun/security/util/Cache;
3: putstatic sun.security.provider.certpath.URICertStore.certStoreCache:Lsun/security/util/Cache;
4: return
LocalVariableTable:
Start End Slot Name Signature
private static int initializeTimeout();
descriptor: ()I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: new sun.security.action.GetIntegerAction
dup
ldc "com.sun.security.crl.timeout"
invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 0
start local 0 2: aload 0
ifnull 3
aload 0
invokevirtual java.lang.Integer.intValue:()I
ifge 4
3: StackMap locals: java.lang.Integer
StackMap stack:
sipush 15000
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Integer.intValue:()I
sipush 1000
imul
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
2 5 0 tmp Ljava/lang/Integer;
void <init>(java.security.cert.CertStoreParameters);
descriptor: (Ljava/security/cert/CertStoreParameters;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial java.security.cert.CertStoreSpi.<init>:(Ljava/security/cert/CertStoreParameters;)V
1: aload 0
2: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
3: aload 0
iconst_0
putfield sun.security.provider.certpath.URICertStore.ldap:Z
4: aload 1
instanceof sun.security.provider.certpath.URICertStore$URICertStoreParameters
ifne 8
5: new java.security.InvalidAlgorithmParameterException
dup
6: ldc "params must be instanceof URICertStoreParameters"
7: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertStoreParameters
StackMap stack:
aload 0
aload 1
checkcast sun.security.provider.certpath.URICertStore$URICertStoreParameters
getfield sun.security.provider.certpath.URICertStore$URICertStoreParameters.uri:Ljava/net/URI;
putfield sun.security.provider.certpath.URICertStore.uri:Ljava/net/URI;
9: aload 0
getfield sun.security.provider.certpath.URICertStore.uri:Ljava/net/URI;
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
ldc "ldap"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
10: aload 0
iconst_1
putfield sun.security.provider.certpath.URICertStore.ldap:Z
11: aload 0
ldc "LDAP"
invokestatic sun.security.provider.certpath.CertStoreHelper.getInstance:(Ljava/lang/String;)Lsun/security/provider/certpath/CertStoreHelper;
putfield sun.security.provider.certpath.URICertStore.ldapHelper:Lsun/security/provider/certpath/CertStoreHelper;
12: aload 0
aload 0
getfield sun.security.provider.certpath.URICertStore.ldapHelper:Lsun/security/provider/certpath/CertStoreHelper;
aload 0
getfield sun.security.provider.certpath.URICertStore.uri:Ljava/net/URI;
invokevirtual sun.security.provider.certpath.CertStoreHelper.getCertStore:(Ljava/net/URI;)Ljava/security/cert/CertStore;
putfield sun.security.provider.certpath.URICertStore.ldapCertStore:Ljava/security/cert/CertStore;
13: aload 0
aload 0
getfield sun.security.provider.certpath.URICertStore.uri:Ljava/net/URI;
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
putfield sun.security.provider.certpath.URICertStore.ldapPath:Ljava/lang/String;
14: aload 0
getfield sun.security.provider.certpath.URICertStore.ldapPath:Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 16
15: aload 0
aload 0
getfield sun.security.provider.certpath.URICertStore.ldapPath:Ljava/lang/String;
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
putfield sun.security.provider.certpath.URICertStore.ldapPath:Ljava/lang/String;
16: StackMap locals:
StackMap stack:
aload 0
ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
putfield sun.security.provider.certpath.URICertStore.factory:Ljava/security/cert/CertificateFactory;
17: goto 20
StackMap locals:
StackMap stack: java.security.cert.CertificateException
18: pop
19: new java.lang.RuntimeException
dup
invokespecial java.lang.RuntimeException.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/provider/certpath/URICertStore;
0 21 1 params Ljava/security/cert/CertStoreParameters;
Exception table:
from to target type
16 17 18 Class java.security.cert.CertificateException
Exceptions:
throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
params
static synchronized java.security.cert.CertStore getInstance(sun.security.provider.certpath.URICertStore$URICertStoreParameters);
descriptor: (Lsun/security/provider/certpath/URICertStore$URICertStoreParameters;)Ljava/security/cert/CertStore;
flags: (0x0028) ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=2, args_size=1
start local 0 0: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "CertStore URI:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.certpath.URICertStore$URICertStoreParameters.uri:Ljava/net/URI;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.URICertStore.certStoreCache:Lsun/security/util/Cache;
aload 0
invokevirtual sun.security.util.Cache.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.CertStore
astore 1
start local 1 3: aload 1
ifnonnull 7
4: new sun.security.provider.certpath.URICertStore$UCS
dup
new sun.security.provider.certpath.URICertStore
dup
aload 0
invokespecial sun.security.provider.certpath.URICertStore.<init>:(Ljava/security/cert/CertStoreParameters;)V
aconst_null
ldc "URI"
aload 0
invokespecial sun.security.provider.certpath.URICertStore$UCS.<init>:(Ljava/security/cert/CertStoreSpi;Ljava/security/Provider;Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)V
astore 1
5: getstatic sun.security.provider.certpath.URICertStore.certStoreCache:Lsun/security/util/Cache;
aload 0
aload 1
invokevirtual sun.security.util.Cache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
6: goto 9
7: StackMap locals: java.security.cert.CertStore
StackMap stack:
getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 9
8: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "URICertStore.getInstance: cache hit"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 params Lsun/security/provider/certpath/URICertStore$URICertStoreParameters;
3 10 1 ucs Ljava/security/cert/CertStore;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
static java.security.cert.CertStore getInstance(sun.security.x509.AccessDescription);
descriptor: (Lsun/security/x509/AccessDescription;)Ljava/security/cert/CertStore;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.x509.AccessDescription.getAccessMethod:()Lsun/security/util/ObjectIdentifier;
1: getstatic sun.security.x509.AccessDescription.Ad_CAISSUERS_Id:Lsun/security/util/ObjectIdentifier;
2: invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
3: ifne 5
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.x509.AccessDescription.getAccessLocation:()Lsun/security/x509/GeneralName;
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
astore 1
start local 1 6: aload 1
instanceof sun.security.x509.URIName
ifne 8
7: aconst_null
areturn
8: StackMap locals: sun.security.x509.GeneralNameInterface
StackMap stack:
aload 1
checkcast sun.security.x509.URIName
invokevirtual sun.security.x509.URIName.getURI:()Ljava/net/URI;
astore 2
start local 2 9: new sun.security.provider.certpath.URICertStore$URICertStoreParameters
dup
aload 2
invokespecial sun.security.provider.certpath.URICertStore$URICertStoreParameters.<init>:(Ljava/net/URI;)V
10: invokestatic sun.security.provider.certpath.URICertStore.getInstance:(Lsun/security/provider/certpath/URICertStore$URICertStoreParameters;)Ljava/security/cert/CertStore;
11: areturn
12: StackMap locals: sun.security.x509.AccessDescription sun.security.x509.GeneralNameInterface java.net.URI
StackMap stack: java.lang.Exception
astore 3
start local 3 13: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 16
14: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "exception creating CertStore: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
15: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
16: StackMap locals: java.lang.Exception
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 ad Lsun/security/x509/AccessDescription;
6 17 1 gn Lsun/security/x509/GeneralNameInterface;
9 17 2 uri Ljava/net/URI;
13 17 3 ex Ljava/lang/Exception;
Exception table:
from to target type
9 11 12 Class java.lang.Exception
MethodParameters:
Name Flags
ad
public synchronized java.util.Collection<java.security.cert.X509Certificate> engineGetCertificates(java.security.cert.CertSelector);
descriptor: (Ljava/security/cert/CertSelector;)Ljava/util/Collection;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.certpath.URICertStore.ldap:Z
ifeq 8
1: aload 1
checkcast java.security.cert.X509CertSelector
astore 2
start local 2 2: aload 0
getfield sun.security.provider.certpath.URICertStore.ldapHelper:Lsun/security/provider/certpath/CertStoreHelper;
aload 2
aload 2
invokevirtual java.security.cert.X509CertSelector.getSubject:()Ljavax/security/auth/x500/X500Principal;
aload 0
getfield sun.security.provider.certpath.URICertStore.ldapPath:Ljava/lang/String;
invokevirtual sun.security.provider.certpath.CertStoreHelper.wrap:(Ljava/security/cert/X509CertSelector;Ljavax/security/auth/x500/X500Principal;Ljava/lang/String;)Ljava/security/cert/X509CertSelector;
astore 2
3: goto 6
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector java.security.cert.X509CertSelector
StackMap stack: java.io.IOException
4: astore 3
start local 3 5: new java.security.cert.CertStoreException
dup
aload 3
invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.ldapCertStore:Ljava/security/cert/CertStore;
aload 2
invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
7: areturn
end local 2 8: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 9: lload 2
aload 0
getfield sun.security.provider.certpath.URICertStore.lastChecked:J
lsub
ldc 30000
lcmp
ifge 13
10: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 12
11: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Returning certificates from cache"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
12: StackMap locals: long
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
aload 1
invokestatic sun.security.provider.certpath.URICertStore.getMatchingCerts:(Ljava/util/Collection;Ljava/security/cert/CertSelector;)Ljava/util/Collection;
areturn
13: StackMap locals:
StackMap stack:
aload 0
lload 2
putfield sun.security.provider.certpath.URICertStore.lastChecked:J
14: aconst_null
astore 4
start local 4 15: aload 0
getfield sun.security.provider.certpath.URICertStore.uri:Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
astore 5
start local 5 16: aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lconst_0
lcmp
ifeq 18
17: aload 5
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
18: StackMap locals: java.io.InputStream java.net.URLConnection
StackMap stack:
aload 5
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 4
19: aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lstore 6
start local 6 20: aload 0
aload 5
invokevirtual java.net.URLConnection.getLastModified:()J
putfield sun.security.provider.certpath.URICertStore.lastModified:J
21: lload 6
lconst_0
lcmp
ifeq 44
22: lload 6
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lcmp
ifne 31
23: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 25
24: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Not modified, using cached copy"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: StackMap locals: long
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
aload 1
invokestatic sun.security.provider.certpath.URICertStore.getMatchingCerts:(Ljava/util/Collection;Ljava/security/cert/CertSelector;)Ljava/util/Collection;
astore 10
26: aload 4
ifnull 30
27: aload 4
invokevirtual java.io.InputStream.close:()V
28: goto 30
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long java.io.InputStream java.net.URLConnection long top top java.util.Collection
StackMap stack: java.io.IOException
29: pop
30: StackMap locals:
StackMap stack:
aload 10
areturn
31: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long java.io.InputStream java.net.URLConnection long
StackMap stack:
aload 5
instanceof java.net.HttpURLConnection
ifeq 44
32: aload 5
checkcast java.net.HttpURLConnection
astore 8
start local 8 33: aload 8
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
34: sipush 304
35: if_icmpne 44
36: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 38
37: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Not modified, using cached copy"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
38: StackMap locals: java.net.HttpURLConnection
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
aload 1
invokestatic sun.security.provider.certpath.URICertStore.getMatchingCerts:(Ljava/util/Collection;Ljava/security/cert/CertSelector;)Ljava/util/Collection;
astore 10
39: aload 4
ifnull 43
40: aload 4
invokevirtual java.io.InputStream.close:()V
41: goto 43
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long java.io.InputStream java.net.URLConnection long java.net.HttpURLConnection top java.util.Collection
StackMap stack: java.io.IOException
42: pop
43: StackMap locals:
StackMap stack:
aload 10
areturn
end local 8 44: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long java.io.InputStream java.net.URLConnection long
StackMap stack:
getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 46
45: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Downloading new certificates..."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
46: StackMap locals:
StackMap stack:
aload 0
47: aload 0
getfield sun.security.provider.certpath.URICertStore.factory:Ljava/security/cert/CertificateFactory;
aload 4
invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
48: putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
49: aload 0
getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
aload 1
invokestatic sun.security.provider.certpath.URICertStore.getMatchingCerts:(Ljava/util/Collection;Ljava/security/cert/CertSelector;)Ljava/util/Collection;
astore 10
50: aload 4
ifnull 54
51: aload 4
invokevirtual java.io.InputStream.close:()V
52: goto 54
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long java.io.InputStream java.net.URLConnection long top top java.util.Collection
StackMap stack: java.io.IOException
53: pop
54: StackMap locals:
StackMap stack:
aload 10
areturn
end local 6 end local 5 55: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long java.io.InputStream
StackMap stack: java.io.IOException
astore 5
start local 5 56: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 59
57: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Exception fetching certificates:"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
58: aload 5
invokevirtual java.io.IOException.printStackTrace:()V
end local 5 59: StackMap locals:
StackMap stack:
aload 4
ifnull 77
60: aload 4
invokevirtual java.io.InputStream.close:()V
61: goto 77
StackMap locals:
StackMap stack: java.io.IOException
62: pop
goto 77
63: StackMap locals:
StackMap stack: java.security.cert.CertificateException
astore 5
start local 5 64: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 67
65: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Exception fetching certificates:"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
66: aload 5
invokevirtual java.security.cert.CertificateException.printStackTrace:()V
end local 5 67: StackMap locals:
StackMap stack:
aload 4
ifnull 77
68: aload 4
invokevirtual java.io.InputStream.close:()V
69: goto 77
StackMap locals:
StackMap stack: java.io.IOException
70: pop
goto 77
71: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
72: aload 4
ifnull 76
73: aload 4
invokevirtual java.io.InputStream.close:()V
74: goto 76
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long java.io.InputStream top top top top java.lang.Throwable
StackMap stack: java.io.IOException
75: pop
76: StackMap locals:
StackMap stack:
aload 9
athrow
77: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long java.io.InputStream
StackMap stack:
aload 0
lconst_0
putfield sun.security.provider.certpath.URICertStore.lastModified:J
78: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
79: aload 0
getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Lsun/security/provider/certpath/URICertStore;
0 80 1 selector Ljava/security/cert/CertSelector;
2 8 2 xsel Ljava/security/cert/X509CertSelector;
5 6 3 ioe Ljava/io/IOException;
9 80 2 time J
15 80 4 in Ljava/io/InputStream;
16 55 5 connection Ljava/net/URLConnection;
20 55 6 oldLastModified J
33 44 8 hconn Ljava/net/HttpURLConnection;
56 59 5 e Ljava/io/IOException;
64 67 5 e Ljava/security/cert/CertificateException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
27 28 29 Class java.io.IOException
40 41 42 Class java.io.IOException
51 52 53 Class java.io.IOException
15 26 55 Class java.io.IOException
31 39 55 Class java.io.IOException
44 50 55 Class java.io.IOException
60 61 62 Class java.io.IOException
15 26 63 Class java.security.cert.CertificateException
31 39 63 Class java.security.cert.CertificateException
44 50 63 Class java.security.cert.CertificateException
68 69 70 Class java.io.IOException
15 26 71 any
31 39 71 any
44 50 71 any
55 59 71 any
63 67 71 any
73 74 75 Class java.io.IOException
Exceptions:
throws java.security.cert.CertStoreException
Signature: (Ljava/security/cert/CertSelector;)Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
MethodParameters:
Name Flags
selector
private static java.util.Collection<java.security.cert.X509Certificate> getMatchingCerts(java.util.Collection<java.security.cert.X509Certificate>, java.security.cert.CertSelector);
descriptor: (Ljava/util/Collection;Ljava/security/cert/CertSelector;)Ljava/util/Collection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
invokeinterface java.util.Collection.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
3: astore 2
start local 2 4: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: java.util.Collection java.security.cert.CertSelector java.util.List top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 3
start local 3 6: aload 1
aload 3
invokeinterface java.security.cert.CertSelector.match:(Ljava/security/cert/Certificate;)Z
ifeq 8
7: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 certs Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
0 10 1 selector Ljava/security/cert/CertSelector;
4 10 2 matchedCerts Ljava/util/List<Ljava/security/cert/X509Certificate;>;
6 8 3 cert Ljava/security/cert/X509Certificate;
Signature: (Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;Ljava/security/cert/CertSelector;)Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
MethodParameters:
Name Flags
certs
selector
public synchronized java.util.Collection<java.security.cert.X509CRL> engineGetCRLs(java.security.cert.CRLSelector);
descriptor: (Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.certpath.URICertStore.ldap:Z
ifeq 7
1: aload 1
checkcast java.security.cert.X509CRLSelector
astore 2
start local 2 2: aload 0
getfield sun.security.provider.certpath.URICertStore.ldapHelper:Lsun/security/provider/certpath/CertStoreHelper;
aload 2
aconst_null
aload 0
getfield sun.security.provider.certpath.URICertStore.ldapPath:Ljava/lang/String;
invokevirtual sun.security.provider.certpath.CertStoreHelper.wrap:(Ljava/security/cert/X509CRLSelector;Ljava/util/Collection;Ljava/lang/String;)Ljava/security/cert/X509CRLSelector;
astore 2
3: goto 6
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector java.security.cert.X509CRLSelector
StackMap stack: java.io.IOException
4: astore 3
start local 3 5: new java.security.cert.CertStoreException
dup
aload 3
invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.ldapCertStore:Ljava/security/cert/CertStore;
aload 2
invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
areturn
end local 2 7: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 8: lload 2
aload 0
getfield sun.security.provider.certpath.URICertStore.lastChecked:J
lsub
ldc 30000
lcmp
ifge 12
9: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 11
10: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Returning CRL from cache"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
11: StackMap locals: long
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
aload 1
invokestatic sun.security.provider.certpath.URICertStore.getMatchingCRLs:(Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
areturn
12: StackMap locals:
StackMap stack:
aload 0
lload 2
putfield sun.security.provider.certpath.URICertStore.lastChecked:J
13: aconst_null
astore 4
start local 4 14: aload 0
getfield sun.security.provider.certpath.URICertStore.uri:Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
astore 5
start local 5 15: aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lconst_0
lcmp
ifeq 17
16: aload 5
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
17: StackMap locals: java.io.InputStream java.net.URLConnection
StackMap stack:
aload 5
getstatic sun.security.provider.certpath.URICertStore.CRL_CONNECT_TIMEOUT:I
invokevirtual java.net.URLConnection.setConnectTimeout:(I)V
18: aload 5
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 4
19: aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lstore 6
start local 6 20: aload 0
aload 5
invokevirtual java.net.URLConnection.getLastModified:()J
putfield sun.security.provider.certpath.URICertStore.lastModified:J
21: lload 6
lconst_0
lcmp
ifeq 44
22: lload 6
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lcmp
ifne 31
23: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 25
24: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Not modified, using cached copy"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: StackMap locals: long
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
aload 1
invokestatic sun.security.provider.certpath.URICertStore.getMatchingCRLs:(Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
astore 10
26: aload 4
ifnull 30
27: aload 4
invokevirtual java.io.InputStream.close:()V
28: goto 30
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long java.io.InputStream java.net.URLConnection long top top java.util.Collection
StackMap stack: java.io.IOException
29: pop
30: StackMap locals:
StackMap stack:
aload 10
areturn
31: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long java.io.InputStream java.net.URLConnection long
StackMap stack:
aload 5
instanceof java.net.HttpURLConnection
ifeq 44
32: aload 5
checkcast java.net.HttpURLConnection
astore 8
start local 8 33: aload 8
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
34: sipush 304
35: if_icmpne 44
36: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 38
37: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Not modified, using cached copy"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
38: StackMap locals: java.net.HttpURLConnection
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
aload 1
invokestatic sun.security.provider.certpath.URICertStore.getMatchingCRLs:(Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
astore 10
39: aload 4
ifnull 43
40: aload 4
invokevirtual java.io.InputStream.close:()V
41: goto 43
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long java.io.InputStream java.net.URLConnection long java.net.HttpURLConnection top java.util.Collection
StackMap stack: java.io.IOException
42: pop
43: StackMap locals:
StackMap stack:
aload 10
areturn
end local 8 44: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long java.io.InputStream java.net.URLConnection long
StackMap stack:
getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 46
45: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Downloading new CRL..."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
46: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.provider.certpath.URICertStore.factory:Ljava/security/cert/CertificateFactory;
aload 4
invokevirtual java.security.cert.CertificateFactory.generateCRL:(Ljava/io/InputStream;)Ljava/security/cert/CRL;
checkcast java.security.cert.X509CRL
putfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
47: aload 0
getfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
aload 1
invokestatic sun.security.provider.certpath.URICertStore.getMatchingCRLs:(Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
astore 10
48: aload 4
ifnull 52
49: aload 4
invokevirtual java.io.InputStream.close:()V
50: goto 52
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long java.io.InputStream java.net.URLConnection long top top java.util.Collection
StackMap stack: java.io.IOException
51: pop
52: StackMap locals:
StackMap stack:
aload 10
areturn
end local 6 end local 5 53: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long java.io.InputStream
StackMap stack: java.io.IOException
astore 5
start local 5 54: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 57
55: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Exception fetching CRL:"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
56: aload 5
invokevirtual java.io.IOException.printStackTrace:()V
end local 5 57: StackMap locals:
StackMap stack:
aload 4
ifnull 75
58: aload 4
invokevirtual java.io.InputStream.close:()V
59: goto 75
StackMap locals:
StackMap stack: java.io.IOException
60: pop
goto 75
61: StackMap locals:
StackMap stack: java.security.cert.CRLException
astore 5
start local 5 62: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 65
63: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ldc "Exception fetching CRL:"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
64: aload 5
invokevirtual java.security.cert.CRLException.printStackTrace:()V
end local 5 65: StackMap locals:
StackMap stack:
aload 4
ifnull 75
66: aload 4
invokevirtual java.io.InputStream.close:()V
67: goto 75
StackMap locals:
StackMap stack: java.io.IOException
68: pop
goto 75
69: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
70: aload 4
ifnull 74
71: aload 4
invokevirtual java.io.InputStream.close:()V
72: goto 74
StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long java.io.InputStream top top top top java.lang.Throwable
StackMap stack: java.io.IOException
73: pop
74: StackMap locals:
StackMap stack:
aload 9
athrow
75: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long java.io.InputStream
StackMap stack:
aload 0
lconst_0
putfield sun.security.provider.certpath.URICertStore.lastModified:J
76: aload 0
aconst_null
putfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
77: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 78 0 this Lsun/security/provider/certpath/URICertStore;
0 78 1 selector Ljava/security/cert/CRLSelector;
2 7 2 xsel Ljava/security/cert/X509CRLSelector;
5 6 3 ioe Ljava/io/IOException;
8 78 2 time J
14 78 4 in Ljava/io/InputStream;
15 53 5 connection Ljava/net/URLConnection;
20 53 6 oldLastModified J
33 44 8 hconn Ljava/net/HttpURLConnection;
54 57 5 e Ljava/io/IOException;
62 65 5 e Ljava/security/cert/CRLException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
27 28 29 Class java.io.IOException
40 41 42 Class java.io.IOException
49 50 51 Class java.io.IOException
14 26 53 Class java.io.IOException
31 39 53 Class java.io.IOException
44 48 53 Class java.io.IOException
58 59 60 Class java.io.IOException
14 26 61 Class java.security.cert.CRLException
31 39 61 Class java.security.cert.CRLException
44 48 61 Class java.security.cert.CRLException
66 67 68 Class java.io.IOException
14 26 69 any
31 39 69 any
44 48 69 any
53 57 69 any
61 65 69 any
71 72 73 Class java.io.IOException
Exceptions:
throws java.security.cert.CertStoreException
Signature: (Ljava/security/cert/CRLSelector;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
MethodParameters:
Name Flags
selector
private static java.util.Collection<java.security.cert.X509CRL> getMatchingCRLs(java.security.cert.X509CRL, java.security.cert.CRLSelector);
descriptor: (Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 0
ifnull 2
aload 1
aload 0
invokeinterface java.security.cert.CRLSelector.match:(Ljava/security/cert/CRL;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 crl Ljava/security/cert/X509CRL;
0 3 1 selector Ljava/security/cert/CRLSelector;
Signature: (Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
MethodParameters:
Name Flags
crl
selector
}
SourceFile: "URICertStore.java"
NestMembers:
sun.security.provider.certpath.URICertStore$UCS sun.security.provider.certpath.URICertStore$URICertStoreParameters
InnerClasses:
private UCS = sun.security.provider.certpath.URICertStore$UCS of sun.security.provider.certpath.URICertStore
URICertStoreParameters = sun.security.provider.certpath.URICertStore$URICertStoreParameters of sun.security.provider.certpath.URICertStore