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 CRL_CONNECT_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=1, locals=0, args_size=0
         0: .line 90
            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: .line 131
            invokestatic sun.security.provider.certpath.URICertStore.initializeTimeout:()I
            putstatic sun.security.provider.certpath.URICertStore.CRL_CONNECT_TIMEOUT:I
         2: .line 179
            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();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 140
            new sun.security.action.GetIntegerAction
            dup
            ldc "com.sun.security.crl.timeout"
            invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;)V
         1: .line 139
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 0 /* tmp */
        start local 0 // java.lang.Integer tmp
         2: .line 141
            aload 0 /* tmp */
            ifnull 3
            aload 0 /* tmp */
            invokevirtual java.lang.Integer.intValue:()I
            ifge 4
         3: .line 142
      StackMap locals: java.lang.Integer
      StackMap stack:
            sipush 15000
            ireturn
         4: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* tmp */
            invokevirtual java.lang.Integer.intValue:()I
            sipush 1000
            imul
            ireturn
        end local 0 // java.lang.Integer tmp
      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 // sun.security.provider.certpath.URICertStore this
        start local 1 // java.security.cert.CertStoreParameters params
         0: .line 156
            aload 0 /* this */
            aload 1 /* params */
            invokespecial java.security.cert.CertStoreSpi.<init>:(Ljava/security/cert/CertStoreParameters;)V
         1: .line 103
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
         2: .line 119
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.certpath.URICertStore.ldap:Z
         3: .line 157
            aload 1 /* params */
            instanceof java.security.cert.URICertStoreParameters
            ifne 7
         4: .line 158
            new java.security.InvalidAlgorithmParameterException
            dup
         5: .line 159
            ldc "params must be instanceof URICertStoreParameters"
         6: .line 158
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 161
      StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertStoreParameters
      StackMap stack:
            aload 0 /* this */
            aload 1 /* params */
            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: .line 163
            aload 0 /* this */
            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: .line 164
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.certpath.URICertStore.ldap:Z
        10: .line 165
            aload 0 /* this */
            ldc "LDAP"
            aload 1 /* params */
            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: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 169
            goto 15
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        13: pop
        14: .line 170
            new java.lang.RuntimeException
            dup
            invokespecial java.lang.RuntimeException.<init>:()V
            athrow
        15: .line 172
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.cert.CertStoreParameters params
        end local 0 // sun.security.provider.certpath.URICertStore this
      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 // java.security.cert.URICertStoreParameters params
         0: .line 182
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 183
            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 /* params */
            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: .line 185
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.URICertStore.certStoreCache:Lsun/security/util/Cache;
            aload 0 /* params */
            invokevirtual sun.security.util.Cache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.CertStore
            astore 1 /* ucs */
        start local 1 // java.security.cert.CertStore ucs
         3: .line 186
            aload 1 /* ucs */
            ifnonnull 7
         4: .line 187
            new sun.security.provider.certpath.URICertStore$UCS
            dup
            new sun.security.provider.certpath.URICertStore
            dup
            aload 0 /* params */
            invokespecial sun.security.provider.certpath.URICertStore.<init>:(Ljava/security/cert/CertStoreParameters;)V
            aconst_null
            ldc "URI"
            aload 0 /* params */
            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 /* ucs */
         5: .line 188
            getstatic sun.security.provider.certpath.URICertStore.certStoreCache:Lsun/security/util/Cache;
            aload 0 /* params */
            aload 1 /* ucs */
            invokevirtual sun.security.util.Cache.put:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 189
            goto 9
         7: .line 190
      StackMap locals: java.security.cert.CertStore
      StackMap stack:
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 9
         8: .line 191
            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: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* ucs */
            areturn
        end local 1 // java.security.cert.CertStore ucs
        end local 0 // java.security.cert.URICertStoreParameters params
      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 // sun.security.x509.AccessDescription ad
         0: .line 202
            aload 0 /* ad */
            invokevirtual sun.security.x509.AccessDescription.getAccessMethod:()Lsun/security/util/ObjectIdentifier;
         1: .line 203
            getstatic sun.security.x509.AccessDescription.Ad_CAISSUERS_Id:Lsun/security/util/ObjectIdentifier;
         2: .line 202
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
         3: .line 203
            ifne 5
         4: .line 204
            aconst_null
            areturn
         5: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* ad */
            invokevirtual sun.security.x509.AccessDescription.getAccessLocation:()Lsun/security/x509/GeneralName;
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 1 /* gn */
        start local 1 // sun.security.x509.GeneralNameInterface gn
         6: .line 207
            aload 1 /* gn */
            instanceof sun.security.x509.URIName
            ifne 8
         7: .line 208
            aconst_null
            areturn
         8: .line 210
      StackMap locals: sun.security.x509.GeneralNameInterface
      StackMap stack:
            aload 1 /* gn */
            checkcast sun.security.x509.URIName
            invokevirtual sun.security.x509.URIName.getURI:()Ljava/net/URI;
            astore 2 /* uri */
        start local 2 // java.net.URI uri
         9: .line 212
            new java.security.cert.URICertStoreParameters
            dup
            aload 2 /* uri */
            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: .line 213
      StackMap locals: sun.security.x509.AccessDescription sun.security.x509.GeneralNameInterface java.net.URI
      StackMap stack: java.lang.Exception
            astore 3 /* ex */
        start local 3 // java.lang.Exception ex
        12: .line 214
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 15
        13: .line 215
            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 /* ex */
            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: .line 216
            aload 3 /* ex */
            invokevirtual java.lang.Exception.printStackTrace:()V
        15: .line 218
      StackMap locals: java.lang.Exception
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.Exception ex
        end local 2 // java.net.URI uri
        end local 1 // sun.security.x509.GeneralNameInterface gn
        end local 0 // sun.security.x509.AccessDescription ad
      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 // sun.security.provider.certpath.URICertStore this
        start local 1 // java.security.cert.CertSelector selector
         0: .line 239
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.ldap:Z
            ifeq 3
         1: .line 242
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.ldapCertStore:Ljava/security/cert/CertStore;
            aload 1 /* selector */
            invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
         2: .line 241
            areturn
         3: .line 248
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* time */
        start local 2 // long time
         4: .line 249
            lload 2 /* time */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastChecked:J
            lsub
            ldc 30000
            lcmp
            ifge 8
         5: .line 250
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 7
         6: .line 251
            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: .line 253
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
            aload 1 /* selector */
            invokestatic sun.security.provider.certpath.URICertStore.getMatchingCerts:(Ljava/util/Collection;Ljava/security/cert/CertSelector;)Ljava/util/Collection;
            areturn
         8: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* time */
            putfield sun.security.provider.certpath.URICertStore.lastChecked:J
         9: .line 257
            aload 0 /* this */
            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 /* connection */
        start local 4 // java.net.URLConnection connection
        10: .line 258
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lconst_0
            lcmp
            ifeq 12
        11: .line 259
            aload 4 /* connection */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
        12: .line 261
      StackMap locals: java.net.URLConnection
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lstore 5 /* oldLastModified */
        start local 5 // long oldLastModified
        13: .line 262
            aconst_null
            astore 7
            aconst_null
            astore 8
        14: aload 4 /* connection */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 9 /* in */
        start local 9 // java.io.InputStream in
        15: .line 263
            aload 0 /* this */
            aload 4 /* connection */
            invokevirtual java.net.URLConnection.getLastModified:()J
            putfield sun.security.provider.certpath.URICertStore.lastModified:J
        16: .line 264
            lload 5 /* oldLastModified */
            lconst_0
            lcmp
            ifeq 33
        17: .line 265
            lload 5 /* oldLastModified */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lcmp
            ifne 23
        18: .line 266
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 20
        19: .line 267
            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: .line 269
      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 /* this */
            getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
            aload 1 /* selector */
            invokestatic sun.security.provider.certpath.URICertStore.getMatchingCerts:(Ljava/util/Collection;Ljava/security/cert/CertSelector;)Ljava/util/Collection;
        21: .line 288
            aload 9 /* in */
            ifnull 22
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        22: .line 269
      StackMap locals:
      StackMap stack: java.util.Collection
            areturn
        23: .line 270
      StackMap locals:
      StackMap stack:
            aload 4 /* connection */
            instanceof java.net.HttpURLConnection
            ifeq 33
        24: .line 272
            aload 4 /* connection */
            checkcast java.net.HttpURLConnection
            astore 10 /* hconn */
        start local 10 // java.net.HttpURLConnection hconn
        25: .line 273
            aload 10 /* hconn */
            invokevirtual java.net.HttpURLConnection.getResponseCode:()I
        26: .line 274
            sipush 304
        27: .line 273
            if_icmpne 33
        28: .line 275
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 30
        29: .line 276
            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: .line 278
      StackMap locals: java.net.HttpURLConnection
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
            aload 1 /* selector */
            invokestatic sun.security.provider.certpath.URICertStore.getMatchingCerts:(Ljava/util/Collection;Ljava/security/cert/CertSelector;)Ljava/util/Collection;
        31: .line 288
            aload 9 /* in */
            ifnull 32
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        32: .line 278
      StackMap locals:
      StackMap stack: java.util.Collection
            areturn
        end local 10 // java.net.HttpURLConnection hconn
        33: .line 282
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 35
        34: .line 283
            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: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        36: .line 287
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.factory:Ljava/security/cert/CertificateFactory;
            aload 9 /* in */
            invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
        37: .line 286
            putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
        38: .line 288
            aload 9 /* in */
            ifnull 44
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 44
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 7
            aload 9 /* in */
            ifnull 40
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 9 // java.io.InputStream in
      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: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
            aload 1 /* selector */
            invokestatic sun.security.provider.certpath.URICertStore.getMatchingCerts:(Ljava/util/Collection;Ljava/security/cert/CertSelector;)Ljava/util/Collection;
        45: areturn
        end local 5 // long oldLastModified
        end local 4 // java.net.URLConnection connection
        46: .line 290
      StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CertSelector long
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        47: .line 291
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 50
        48: .line 292
            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: .line 293
            aload 4 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 4 // java.lang.Exception e
        50: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield sun.security.provider.certpath.URICertStore.lastModified:J
        51: .line 298
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
        52: .line 299
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
            areturn
        end local 2 // long time
        end local 1 // java.security.cert.CertSelector selector
        end local 0 // sun.security.provider.certpath.URICertStore this
      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 // java.util.Collection certs
        start local 1 // java.security.cert.CertSelector selector
         0: .line 310
            aload 1 /* selector */
            ifnonnull 2
         1: .line 311
            aload 0 /* certs */
            areturn
         2: .line 313
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* certs */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* matchedCerts */
        start local 2 // java.util.List matchedCerts
         3: .line 314
            aload 0 /* certs */
            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 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
         5: .line 315
            aload 1 /* selector */
            aload 3 /* cert */
            invokeinterface java.security.cert.CertSelector.match:(Ljava/security/cert/Certificate;)Z
            ifeq 7
         6: .line 316
            aload 2 /* matchedCerts */
            aload 3 /* cert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.security.cert.X509Certificate cert
         7: .line 314
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 319
            aload 2 /* matchedCerts */
            areturn
        end local 2 // java.util.List matchedCerts
        end local 1 // java.security.cert.CertSelector selector
        end local 0 // java.util.Collection certs
      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 // sun.security.provider.certpath.URICertStore this
        start local 1 // java.security.cert.CRLSelector selector
         0: .line 339
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.ldap:Z
            ifeq 5
         1: .line 343
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.ldapCertStore:Ljava/security/cert/CertStore;
            aload 1 /* selector */
            invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
         2: areturn
         3: .line 344
      StackMap locals:
      StackMap stack: java.security.cert.CertStoreException
            astore 2 /* cse */
        start local 2 // java.security.cert.CertStoreException cse
         4: .line 345
            new sun.security.provider.certpath.PKIX$CertStoreTypeException
            dup
            ldc "LDAP"
            aload 2 /* cse */
            invokespecial sun.security.provider.certpath.PKIX$CertStoreTypeException.<init>:(Ljava/lang/String;Ljava/security/cert/CertStoreException;)V
            athrow
        end local 2 // java.security.cert.CertStoreException cse
         5: .line 352
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* time */
        start local 2 // long time
         6: .line 353
            lload 2 /* time */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastChecked:J
            lsub
            ldc 30000
            lcmp
            ifge 10
         7: .line 354
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 9
         8: .line 355
            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: .line 357
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
            aload 1 /* selector */
            invokestatic sun.security.provider.certpath.URICertStore.getMatchingCRLs:(Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
            areturn
        10: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* time */
            putfield sun.security.provider.certpath.URICertStore.lastChecked:J
        11: .line 361
            aload 0 /* this */
            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 /* connection */
        start local 4 // java.net.URLConnection connection
        12: .line 362
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lconst_0
            lcmp
            ifeq 14
        13: .line 363
            aload 4 /* connection */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
        14: .line 365
      StackMap locals: java.net.URLConnection
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lstore 5 /* oldLastModified */
        start local 5 // long oldLastModified
        15: .line 366
            aload 4 /* connection */
            getstatic sun.security.provider.certpath.URICertStore.CRL_CONNECT_TIMEOUT:I
            invokevirtual java.net.URLConnection.setConnectTimeout:(I)V
        16: .line 367
            aconst_null
            astore 7
            aconst_null
            astore 8
        17: aload 4 /* connection */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 9 /* in */
        start local 9 // java.io.InputStream in
        18: .line 368
            aload 0 /* this */
            aload 4 /* connection */
            invokevirtual java.net.URLConnection.getLastModified:()J
            putfield sun.security.provider.certpath.URICertStore.lastModified:J
        19: .line 369
            lload 5 /* oldLastModified */
            lconst_0
            lcmp
            ifeq 36
        20: .line 370
            lload 5 /* oldLastModified */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lcmp
            ifne 26
        21: .line 371
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 23
        22: .line 372
            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
        23: .line 374
      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 /* this */
            getfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
            aload 1 /* selector */
            invokestatic sun.security.provider.certpath.URICertStore.getMatchingCRLs:(Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
        24: .line 391
            aload 9 /* in */
            ifnull 25
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        25: .line 374
      StackMap locals:
      StackMap stack: java.util.Collection
            areturn
        26: .line 375
      StackMap locals:
      StackMap stack:
            aload 4 /* connection */
            instanceof java.net.HttpURLConnection
            ifeq 36
        27: .line 377
            aload 4 /* connection */
            checkcast java.net.HttpURLConnection
            astore 10 /* hconn */
        start local 10 // java.net.HttpURLConnection hconn
        28: .line 378
            aload 10 /* hconn */
            invokevirtual java.net.HttpURLConnection.getResponseCode:()I
        29: .line 379
            sipush 304
        30: .line 378
            if_icmpne 36
        31: .line 380
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 33
        32: .line 381
            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
        33: .line 383
      StackMap locals: java.net.HttpURLConnection
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
            aload 1 /* selector */
            invokestatic sun.security.provider.certpath.URICertStore.getMatchingCRLs:(Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
        34: .line 391
            aload 9 /* in */
            ifnull 35
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        35: .line 383
      StackMap locals:
      StackMap stack: java.util.Collection
            areturn
        end local 10 // java.net.HttpURLConnection hconn
        36: .line 387
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 38
        37: .line 388
            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
        38: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.factory:Ljava/security/cert/CertificateFactory;
            aload 9 /* in */
            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;
        39: .line 391
            aload 9 /* in */
            ifnull 45
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 45
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 7
            aload 9 /* in */
            ifnull 41
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 9 // java.io.InputStream in
      StackMap locals:
      StackMap stack:
        41: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 8
            aload 7
            ifnonnull 43
            aload 8
            astore 7
            goto 44
      StackMap locals:
      StackMap stack:
        43: aload 7
            aload 8
            if_acmpeq 44
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        44: aload 7
            athrow
        45: .line 392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
            aload 1 /* selector */
            invokestatic sun.security.provider.certpath.URICertStore.getMatchingCRLs:(Ljava/security/cert/X509CRL;Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
        46: areturn
        end local 5 // long oldLastModified
        end local 4 // java.net.URLConnection connection
        47: .line 393
      StackMap locals: sun.security.provider.certpath.URICertStore java.security.cert.CRLSelector long
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        48: .line 394
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 51
        49: .line 395
            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
        50: .line 396
            aload 4 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        51: .line 399
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield sun.security.provider.certpath.URICertStore.lastModified:J
        52: .line 400
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
        53: .line 401
            new sun.security.provider.certpath.PKIX$CertStoreTypeException
            dup
            ldc "URI"
        54: .line 402
            new java.security.cert.CertStoreException
            dup
            aload 4 /* e */
            invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/Throwable;)V
        55: .line 401
            invokespecial sun.security.provider.certpath.PKIX$CertStoreTypeException.<init>:(Ljava/lang/String;Ljava/security/cert/CertStoreException;)V
            athrow
        end local 4 // java.lang.Exception e
        end local 2 // long time
        end local 1 // java.security.cert.CRLSelector selector
        end local 0 // sun.security.provider.certpath.URICertStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   56     0             this  Lsun/security/provider/certpath/URICertStore;
            0   56     1         selector  Ljava/security/cert/CRLSelector;
            4    5     2              cse  Ljava/security/cert/CertStoreException;
            6   56     2             time  J
           12   47     4       connection  Ljava/net/URLConnection;
           15   47     5  oldLastModified  J
           18   41     9               in  Ljava/io/InputStream;
           28   36    10            hconn  Ljava/net/HttpURLConnection;
           48   56     4                e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.security.cert.CertStoreException
          18    24      40  any
          26    34      40  any
          36    39      40  any
          17    25      42  any
          26    35      42  any
          36    42      42  any
          11    25      47  Class java.io.IOException
          26    35      47  Class java.io.IOException
          36    46      47  Class java.io.IOException
          11    25      47  Class java.security.cert.CRLException
          26    35      47  Class java.security.cert.CRLException
          36    46      47  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 // java.security.cert.X509CRL crl
        start local 1 // java.security.cert.CRLSelector selector
         0: .line 412
            aload 1 /* selector */
            ifnull 1
            aload 0 /* crl */
            ifnull 2
            aload 1 /* selector */
            aload 0 /* crl */
            invokeinterface java.security.cert.CRLSelector.match:(Ljava/security/cert/CRL;)Z
            ifeq 2
         1: .line 413
      StackMap locals:
      StackMap stack:
            aload 0 /* crl */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
         2: .line 415
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 1 // java.security.cert.CRLSelector selector
        end local 0 // java.security.cert.X509CRL crl
      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