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: 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 4
start local 4 15: aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lconst_0
lcmp
ifeq 17
16: aload 4
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
17: StackMap locals: java.net.URLConnection
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lstore 5
start local 5 18: aconst_null
astore 7
aconst_null
astore 8
19: aload 4
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 9
start local 9 20: aload 0
aload 4
invokevirtual java.net.URLConnection.getLastModified:()J
putfield sun.security.provider.certpath.URICertStore.lastModified:J
21: lload 5
lconst_0
lcmp
ifeq 38
22: lload 5
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lcmp
ifne 28
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: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long java.net.URLConnection long java.lang.Throwable java.lang.Throwable java.io.InputStream
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;
26: aload 9
ifnull 27
aload 9
invokevirtual java.io.InputStream.close:()V
27: StackMap locals:
StackMap stack: java.util.Collection
areturn
28: StackMap locals:
StackMap stack:
aload 4
instanceof java.net.HttpURLConnection
ifeq 38
29: aload 4
checkcast java.net.HttpURLConnection
astore 10
start local 10 30: aload 10
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
31: sipush 304
32: if_icmpne 38
33: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 35
34: 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
35: 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;
36: aload 9
ifnull 37
aload 9
invokevirtual java.io.InputStream.close:()V
37: StackMap locals:
StackMap stack: java.util.Collection
areturn
end local 10 38: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 40
39: 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
40: StackMap locals:
StackMap stack:
aload 0
41: aload 0
getfield sun.security.provider.certpath.URICertStore.factory:Ljava/security/cert/CertificateFactory;
aload 9
invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
42: putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
43: aload 9
ifnull 49
aload 9
invokevirtual java.io.InputStream.close:()V
goto 49
StackMap locals:
StackMap stack: java.lang.Throwable
44: astore 7
aload 9
ifnull 45
aload 9
invokevirtual java.io.InputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
45: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
46: astore 8
aload 7
ifnonnull 47
aload 8
astore 7
goto 48
StackMap locals:
StackMap stack:
47: aload 7
aload 8
if_acmpeq 48
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
48: aload 7
athrow
49: StackMap locals:
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;
50: areturn
end local 5 end local 4 51: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long
StackMap stack: java.lang.Exception
astore 4
start local 4 52: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 55
53: 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
54: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
end local 4 55: StackMap locals:
StackMap stack:
aload 0
lconst_0
putfield sun.security.provider.certpath.URICertStore.lastModified:J
56: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
57: aload 0
getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lsun/security/provider/certpath/URICertStore;
0 58 1 selector Ljava/security/cert/CertSelector;
2 8 2 xsel Ljava/security/cert/X509CertSelector;
5 6 3 ioe Ljava/io/IOException;
9 58 2 time J
15 51 4 connection Ljava/net/URLConnection;
18 51 5 oldLastModified J
20 45 9 in Ljava/io/InputStream;
30 38 10 hconn Ljava/net/HttpURLConnection;
52 55 4 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.io.IOException
20 26 44 any
28 36 44 any
38 43 44 any
19 27 46 any
28 37 46 any
38 46 46 any
14 27 51 Class java.io.IOException
28 37 51 Class java.io.IOException
38 50 51 Class java.io.IOException
14 27 51 Class java.security.cert.CertificateException
28 37 51 Class java.security.cert.CertificateException
38 50 51 Class java.security.cert.CertificateException
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
astore 2
start local 2 3: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: java.util.Collection java.security.cert.CertSelector java.util.List top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 3
start local 3 5: aload 1
aload 3
invokeinterface java.security.cert.CertSelector.match:(Ljava/security/cert/Certificate;)Z
ifeq 7
6: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 certs Ljava/util/Collection<Ljava/security/cert/X509Certificate;>;
0 9 1 selector Ljava/security/cert/CertSelector;
3 9 2 matchedCerts Ljava/util/List<Ljava/security/cert/X509Certificate;>;
5 7 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=6, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.certpath.URICertStore.ldap:Z
ifeq 10
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;
7: areturn
8: StackMap locals:
StackMap stack: java.security.cert.CertStoreException
astore 3
start local 3 9: new sun.security.provider.certpath.PKIX$CertStoreTypeException
dup
ldc "LDAP"
aload 3
invokespecial sun.security.provider.certpath.PKIX$CertStoreTypeException.<init>:(Ljava/lang/String;Ljava/security/cert/CertStoreException;)V
athrow
end local 3 end local 2 10: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 11: lload 2
aload 0
getfield sun.security.provider.certpath.URICertStore.lastChecked:J
lsub
ldc 30000
lcmp
ifge 15
12: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 14
13: 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
14: 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
15: StackMap locals:
StackMap stack:
aload 0
lload 2
putfield sun.security.provider.certpath.URICertStore.lastChecked:J
16: 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 4
start local 4 17: aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lconst_0
lcmp
ifeq 19
18: aload 4
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
19: StackMap locals: java.net.URLConnection
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lstore 5
start local 5 20: aload 4
getstatic sun.security.provider.certpath.URICertStore.CRL_CONNECT_TIMEOUT:I
invokevirtual java.net.URLConnection.setConnectTimeout:(I)V
21: aconst_null
astore 7
aconst_null
astore 8
22: aload 4
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 9
start local 9 23: aload 0
aload 4
invokevirtual java.net.URLConnection.getLastModified:()J
putfield sun.security.provider.certpath.URICertStore.lastModified:J
24: lload 5
lconst_0
lcmp
ifeq 41
25: lload 5
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lcmp
ifne 31
26: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 28
27: 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
28: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long java.net.URLConnection long java.lang.Throwable java.lang.Throwable java.io.InputStream
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;
29: aload 9
ifnull 30
aload 9
invokevirtual java.io.InputStream.close:()V
30: StackMap locals:
StackMap stack: java.util.Collection
areturn
31: StackMap locals:
StackMap stack:
aload 4
instanceof java.net.HttpURLConnection
ifeq 41
32: aload 4
checkcast java.net.HttpURLConnection
astore 10
start local 10 33: aload 10
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
34: sipush 304
35: if_icmpne 41
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;
39: aload 9
ifnull 40
aload 9
invokevirtual java.io.InputStream.close:()V
40: StackMap locals:
StackMap stack: java.util.Collection
areturn
end local 10 41: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 43
42: 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
43: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.provider.certpath.URICertStore.factory:Ljava/security/cert/CertificateFactory;
aload 9
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;
44: aload 9
ifnull 50
aload 9
invokevirtual java.io.InputStream.close:()V
goto 50
StackMap locals:
StackMap stack: java.lang.Throwable
45: astore 7
aload 9
ifnull 46
aload 9
invokevirtual java.io.InputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
46: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
47: astore 8
aload 7
ifnonnull 48
aload 8
astore 7
goto 49
StackMap locals:
StackMap stack:
48: aload 7
aload 8
if_acmpeq 49
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
49: aload 7
athrow
50: StackMap locals:
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;
51: areturn
end local 5 end local 4 52: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long
StackMap stack: java.lang.Exception
astore 4
start local 4 53: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 56
54: 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
55: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
56: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
lconst_0
putfield sun.security.provider.certpath.URICertStore.lastModified:J
57: aload 0
aconst_null
putfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
58: new sun.security.provider.certpath.PKIX$CertStoreTypeException
dup
ldc "URI"
59: new java.security.cert.CertStoreException
dup
aload 4
invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/Throwable;)V
60: invokespecial sun.security.provider.certpath.PKIX$CertStoreTypeException.<init>:(Ljava/lang/String;Ljava/security/cert/CertStoreException;)V
athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Lsun/security/provider/certpath/URICertStore;
0 61 1 selector Ljava/security/cert/CRLSelector;
2 10 2 xsel Ljava/security/cert/X509CRLSelector;
5 6 3 ioe Ljava/io/IOException;
9 10 3 cse Ljava/security/cert/CertStoreException;
11 61 2 time J
17 52 4 connection Ljava/net/URLConnection;
20 52 5 oldLastModified J
23 46 9 in Ljava/io/InputStream;
33 41 10 hconn Ljava/net/HttpURLConnection;
53 61 4 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.io.IOException
6 7 8 Class java.security.cert.CertStoreException
23 29 45 any
31 39 45 any
41 44 45 any
22 30 47 any
31 40 47 any
41 47 47 any
16 30 52 Class java.io.IOException
31 40 52 Class java.io.IOException
41 51 52 Class java.io.IOException
16 30 52 Class java.security.cert.CRLException
31 40 52 Class java.security.cert.CRLException
41 51 52 Class java.security.cert.CRLException
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:
CertStoreTypeException = sun.security.provider.certpath.PKIX$CertStoreTypeException of sun.security.provider.certpath.PKIX
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