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 java.security.cert.CertStore ldapCertStore;
descriptor: Ljava/security/cert/CertStore;
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 DEFAULT_CRL_READ_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 int CRL_READ_TIMEOUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.util.Cache<java.security.cert.URICertStoreParameters, java.security.cert.CertStore> certStoreCache;
descriptor: Lsun/security/util/Cache;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lsun/security/util/Cache<Ljava/security/cert/URICertStoreParameters;Ljava/security/cert/CertStore;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, 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: ldc "com.sun.security.crl.timeout"
2: sipush 15000
3: invokestatic sun.security.provider.certpath.URICertStore.initializeTimeout:(Ljava/lang/String;I)I
4: putstatic sun.security.provider.certpath.URICertStore.CRL_CONNECT_TIMEOUT:I
5: ldc "com.sun.security.crl.readtimeout"
6: sipush 15000
7: invokestatic sun.security.provider.certpath.URICertStore.initializeTimeout:(Ljava/lang/String;I)I
8: putstatic sun.security.provider.certpath.URICertStore.CRL_READ_TIMEOUT:I
9: sipush 185
invokestatic sun.security.util.Cache.newSoftMemoryCache:(I)Lsun/security/util/Cache;
putstatic sun.security.provider.certpath.URICertStore.certStoreCache:Lsun/security/util/Cache;
return
LocalVariableTable:
Start End Slot Name Signature
private static int initializeTimeout(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic sun.security.action.GetIntegerAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/Integer;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual java.lang.Integer.intValue:()I
ifge 3
2: StackMap locals: java.lang.Integer
StackMap stack:
iload 1
ireturn
3: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 5
4: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " set to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " seconds"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Integer.intValue:()I
sipush 1000
imul
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 prop Ljava/lang/String;
0 6 1 def I
1 6 2 tmp Ljava/lang/Integer;
MethodParameters:
Name Flags
prop
def
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
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
2: aload 0
iconst_0
putfield sun.security.provider.certpath.URICertStore.ldap:Z
3: aload 1
instanceof java.security.cert.URICertStoreParameters
ifne 7
4: new java.security.InvalidAlgorithmParameterException
dup
5: ldc "params must be instanceof URICertStoreParameters"
6: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertStoreParameters
StackMap stack:
aload 0
aload 1
checkcast java.security.cert.URICertStoreParameters
invokevirtual java.security.cert.URICertStoreParameters.getURI:()Ljava/net/URI;
putfield sun.security.provider.certpath.URICertStore.uri:Ljava/net/URI;
8: 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 11
9: aload 0
iconst_1
putfield sun.security.provider.certpath.URICertStore.ldap:Z
10: aload 0
ldc "LDAP"
aload 1
invokestatic java.security.cert.CertStore.getInstance:(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
putfield sun.security.provider.certpath.URICertStore.ldapCertStore:Ljava/security/cert/CertStore;
11: 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;
12: goto 15
StackMap locals:
StackMap stack: java.security.cert.CertificateException
13: pop
14: new java.lang.RuntimeException
dup
invokespecial java.lang.RuntimeException.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/provider/certpath/URICertStore;
0 16 1 params Ljava/security/cert/CertStoreParameters;
Exception table:
from to target type
11 12 13 Class java.security.cert.CertificateException
Exceptions:
throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
params
static synchronized java.security.cert.CertStore getInstance(java.security.cert.URICertStoreParameters);
descriptor: (Ljava/security/cert/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
invokevirtual java.security.cert.URICertStoreParameters.getURI:()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 Ljava/security/cert/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 java.security.cert.URICertStoreParameters
dup
aload 2
invokespecial java.security.cert.URICertStoreParameters.<init>:(Ljava/net/URI;)V
invokestatic sun.security.provider.certpath.URICertStore.getInstance:(Ljava/security/cert/URICertStoreParameters;)Ljava/security/cert/CertStore;
10: areturn
11: StackMap locals: sun.security.x509.AccessDescription sun.security.x509.GeneralNameInterface java.net.URI
StackMap stack: java.lang.Exception
astore 3
start local 3 12: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 15
13: 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
14: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
15: 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 16 0 ad Lsun/security/x509/AccessDescription;
6 16 1 gn Lsun/security/x509/GeneralNameInterface;
9 16 2 uri Ljava/net/URI;
12 16 3 ex Ljava/lang/Exception;
Exception table:
from to target type
9 10 11 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 3
1: aload 0
getfield sun.security.provider.certpath.URICertStore.ldapCertStore:Ljava/security/cert/CertStore;
aload 1
invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
2: areturn
3: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 4: lload 2
aload 0
getfield sun.security.provider.certpath.URICertStore.lastChecked:J
lsub
ldc 30000
lcmp
ifge 8
5: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 7
6: 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
7: 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
8: StackMap locals:
StackMap stack:
aload 0
lload 2
putfield sun.security.provider.certpath.URICertStore.lastChecked:J
9: 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 10: aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lconst_0
lcmp
ifeq 12
11: aload 4
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
12: StackMap locals: java.net.URLConnection
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lstore 5
start local 5 13: aconst_null
astore 7
aconst_null
astore 8
14: aload 4
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 9
start local 9 15: aload 0
aload 4
invokevirtual java.net.URLConnection.getLastModified:()J
putfield sun.security.provider.certpath.URICertStore.lastModified:J
16: lload 5
lconst_0
lcmp
ifeq 33
17: lload 5
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lcmp
ifne 23
18: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 20
19: 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
20: 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;
21: aload 9
ifnull 22
aload 9
invokevirtual java.io.InputStream.close:()V
22: StackMap locals:
StackMap stack: java.util.Collection
areturn
23: StackMap locals:
StackMap stack:
aload 4
instanceof java.net.HttpURLConnection
ifeq 33
24: aload 4
checkcast java.net.HttpURLConnection
astore 10
start local 10 25: aload 10
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
26: sipush 304
27: if_icmpne 33
28: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 30
29: 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
30: 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;
31: aload 9
ifnull 32
aload 9
invokevirtual java.io.InputStream.close:()V
32: StackMap locals:
StackMap stack: java.util.Collection
areturn
end local 10 33: StackMap locals:
StackMap stack:
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 "Downloading new certificates..."
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 0
36: 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;
37: putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
38: aload 9
ifnull 44
aload 9
invokevirtual java.io.InputStream.close:()V
goto 44
StackMap locals:
StackMap stack: java.lang.Throwable
39: astore 7
aload 9
ifnull 40
aload 9
invokevirtual java.io.InputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
40: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
41: astore 8
aload 7
ifnonnull 42
aload 8
astore 7
goto 43
StackMap locals:
StackMap stack:
42: aload 7
aload 8
if_acmpeq 43
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
43: aload 7
athrow
44: 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;
45: areturn
end local 5 end local 4 46: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long
StackMap stack: java.lang.Exception
astore 4
start local 4 47: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 50
48: 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
49: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
end local 4 50: StackMap locals:
StackMap stack:
aload 0
lconst_0
putfield sun.security.provider.certpath.URICertStore.lastModified:J
51: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
52: 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 53 0 this Lsun/security/provider/certpath/URICertStore;
0 53 1 selector Ljava/security/cert/CertSelector;
4 53 2 time J
10 46 4 connection Ljava/net/URLConnection;
13 46 5 oldLastModified J
15 40 9 in Ljava/io/InputStream;
25 33 10 hconn Ljava/net/HttpURLConnection;
47 50 4 e Ljava/lang/Exception;
Exception table:
from to target type
15 21 39 any
23 31 39 any
33 38 39 any
14 22 41 any
23 32 41 any
33 41 41 any
9 22 46 Class java.io.IOException
23 32 46 Class java.io.IOException
33 45 46 Class java.io.IOException
9 22 46 Class java.security.cert.CertificateException
23 32 46 Class java.security.cert.CertificateException
33 45 46 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 5
1: aload 0
getfield sun.security.provider.certpath.URICertStore.ldapCertStore:Ljava/security/cert/CertStore;
aload 1
invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
2: areturn
3: StackMap locals:
StackMap stack: java.security.cert.CertStoreException
astore 2
start local 2 4: new sun.security.provider.certpath.PKIX$CertStoreTypeException
dup
ldc "LDAP"
aload 2
invokespecial sun.security.provider.certpath.PKIX$CertStoreTypeException.<init>:(Ljava/lang/String;Ljava/security/cert/CertStoreException;)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 6: lload 2
aload 0
getfield sun.security.provider.certpath.URICertStore.lastChecked:J
lsub
ldc 30000
lcmp
ifge 10
7: 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 "Returning CRL from cache"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
9: 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
10: StackMap locals:
StackMap stack:
aload 0
lload 2
putfield sun.security.provider.certpath.URICertStore.lastChecked:J
11: 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 12: aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lconst_0
lcmp
ifeq 14
13: aload 4
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
14: StackMap locals: java.net.URLConnection
StackMap stack:
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lstore 5
start local 5 15: aload 4
getstatic sun.security.provider.certpath.URICertStore.CRL_CONNECT_TIMEOUT:I
invokevirtual java.net.URLConnection.setConnectTimeout:(I)V
16: aload 4
getstatic sun.security.provider.certpath.URICertStore.CRL_READ_TIMEOUT:I
invokevirtual java.net.URLConnection.setReadTimeout:(I)V
17: aconst_null
astore 7
aconst_null
astore 8
18: aload 4
invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
astore 9
start local 9 19: aload 0
aload 4
invokevirtual java.net.URLConnection.getLastModified:()J
putfield sun.security.provider.certpath.URICertStore.lastModified:J
20: lload 5
lconst_0
lcmp
ifeq 37
21: lload 5
aload 0
getfield sun.security.provider.certpath.URICertStore.lastModified:J
lcmp
ifne 27
22: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 24
23: 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
24: 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;
25: aload 9
ifnull 26
aload 9
invokevirtual java.io.InputStream.close:()V
26: StackMap locals:
StackMap stack: java.util.Collection
areturn
27: StackMap locals:
StackMap stack:
aload 4
instanceof java.net.HttpURLConnection
ifeq 37
28: aload 4
checkcast java.net.HttpURLConnection
astore 10
start local 10 29: aload 10
invokevirtual java.net.HttpURLConnection.getResponseCode:()I
30: sipush 304
31: if_icmpne 37
32: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 34
33: 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
34: 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;
35: aload 9
ifnull 36
aload 9
invokevirtual java.io.InputStream.close:()V
36: StackMap locals:
StackMap stack: java.util.Collection
areturn
end local 10 37: StackMap locals:
StackMap stack:
getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 39
38: 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
39: 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;
40: aload 9
ifnull 46
aload 9
invokevirtual java.io.InputStream.close:()V
goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
41: astore 7
aload 9
ifnull 42
aload 9
invokevirtual java.io.InputStream.close:()V
end local 9 StackMap locals:
StackMap stack:
42: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 8
aload 7
ifnonnull 44
aload 8
astore 7
goto 45
StackMap locals:
StackMap stack:
44: aload 7
aload 8
if_acmpeq 45
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
45: aload 7
athrow
46: 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;
47: areturn
end local 5 end local 4 48: StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long
StackMap stack: java.lang.Exception
astore 4
start local 4 49: getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
ifnull 52
50: 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
51: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
52: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
lconst_0
putfield sun.security.provider.certpath.URICertStore.lastModified:J
53: aload 0
aconst_null
putfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
54: new sun.security.provider.certpath.PKIX$CertStoreTypeException
dup
ldc "URI"
55: new java.security.cert.CertStoreException
dup
aload 4
invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/Throwable;)V
56: 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 57 0 this Lsun/security/provider/certpath/URICertStore;
0 57 1 selector Ljava/security/cert/CRLSelector;
4 5 2 cse Ljava/security/cert/CertStoreException;
6 57 2 time J
12 48 4 connection Ljava/net/URLConnection;
15 48 5 oldLastModified J
19 42 9 in Ljava/io/InputStream;
29 37 10 hconn Ljava/net/HttpURLConnection;
49 57 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.security.cert.CertStoreException
19 25 41 any
27 35 41 any
37 40 41 any
18 26 43 any
27 36 43 any
37 43 43 any
11 26 48 Class java.io.IOException
27 36 48 Class java.io.IOException
37 47 48 Class java.io.IOException
11 26 48 Class java.security.cert.CRLException
27 36 48 Class java.security.cert.CRLException
37 47 48 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
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