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: .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 136
            ldc "com.sun.security.crl.timeout"
         2: .line 137
            sipush 15000
         3: .line 136
            invokestatic sun.security.provider.certpath.URICertStore.initializeTimeout:(Ljava/lang/String;I)I
         4: .line 135
            putstatic sun.security.provider.certpath.URICertStore.CRL_CONNECT_TIMEOUT:I
         5: .line 145
            ldc "com.sun.security.crl.readtimeout"
         6: .line 146
            sipush 15000
         7: .line 145
            invokestatic sun.security.provider.certpath.URICertStore.initializeTimeout:(Ljava/lang/String;I)I
         8: .line 144
            putstatic sun.security.provider.certpath.URICertStore.CRL_READ_TIMEOUT:I
         9: .line 196
            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 // java.lang.String prop
        start local 1 // int def
         0: .line 154
            aload 0 /* prop */
            invokestatic sun.security.action.GetIntegerAction.privilegedGetProperty:(Ljava/lang/String;)Ljava/lang/Integer;
            astore 2 /* tmp */
        start local 2 // java.lang.Integer tmp
         1: .line 155
            aload 2 /* tmp */
            ifnull 2
            aload 2 /* tmp */
            invokevirtual java.lang.Integer.intValue:()I
            ifge 3
         2: .line 156
      StackMap locals: java.lang.Integer
      StackMap stack:
            iload 1 /* def */
            ireturn
         3: .line 158
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 5
         4: .line 159
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            aload 0 /* prop */
            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 /* tmp */
            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: .line 163
      StackMap locals:
      StackMap stack:
            aload 2 /* tmp */
            invokevirtual java.lang.Integer.intValue:()I
            sipush 1000
            imul
            ireturn
        end local 2 // java.lang.Integer tmp
        end local 1 // int def
        end local 0 // java.lang.String prop
      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 // sun.security.provider.certpath.URICertStore this
        start local 1 // java.security.cert.CertStoreParameters params
         0: .line 173
            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 174
            aload 1 /* params */
            instanceof java.security.cert.URICertStoreParameters
            ifne 7
         4: .line 175
            new java.security.InvalidAlgorithmParameterException
            dup
         5: .line 176
            ldc "params must be instanceof URICertStoreParameters"
         6: .line 175
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 178
      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 180
            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 181
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.certpath.URICertStore.ldap:Z
        10: .line 182
            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 185
      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 186
            goto 15
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        13: pop
        14: .line 187
            new java.lang.RuntimeException
            dup
            invokespecial java.lang.RuntimeException.<init>:()V
            athrow
        15: .line 189
      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 199
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 200
            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 202
      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 203
            aload 1 /* ucs */
            ifnonnull 7
         4: .line 204
            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 205
            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 206
            goto 9
         7: .line 207
      StackMap locals: java.security.cert.CertStore
      StackMap stack:
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 9
         8: .line 208
            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 211
      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 219
            aload 0 /* ad */
            invokevirtual sun.security.x509.AccessDescription.getAccessMethod:()Lsun/security/util/ObjectIdentifier;
         1: .line 220
            getstatic sun.security.x509.AccessDescription.Ad_CAISSUERS_Id:Lsun/security/util/ObjectIdentifier;
         2: .line 219
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
         3: .line 220
            ifne 5
         4: .line 221
            aconst_null
            areturn
         5: .line 223
      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 224
            aload 1 /* gn */
            instanceof sun.security.x509.URIName
            ifne 8
         7: .line 225
            aconst_null
            areturn
         8: .line 227
      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 229
            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 230
      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 231
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 15
        13: .line 232
            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 233
            aload 3 /* ex */
            invokevirtual java.lang.Exception.printStackTrace:()V
        15: .line 235
      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 256
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.ldap:Z
            ifeq 3
         1: .line 259
            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 258
            areturn
         3: .line 265
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* time */
        start local 2 // long time
         4: .line 266
            lload 2 /* time */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastChecked:J
            lsub
            ldc 30000
            lcmp
            ifge 8
         5: .line 267
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 7
         6: .line 268
            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 270
      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 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* time */
            putfield sun.security.provider.certpath.URICertStore.lastChecked:J
         9: .line 274
            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 275
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lconst_0
            lcmp
            ifeq 12
        11: .line 276
            aload 4 /* connection */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
        12: .line 278
      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 279
            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 280
            aload 0 /* this */
            aload 4 /* connection */
            invokevirtual java.net.URLConnection.getLastModified:()J
            putfield sun.security.provider.certpath.URICertStore.lastModified:J
        16: .line 281
            lload 5 /* oldLastModified */
            lconst_0
            lcmp
            ifeq 33
        17: .line 282
            lload 5 /* oldLastModified */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lcmp
            ifne 23
        18: .line 283
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 20
        19: .line 284
            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 286
      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 305
            aload 9 /* in */
            ifnull 22
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        22: .line 286
      StackMap locals:
      StackMap stack: java.util.Collection
            areturn
        23: .line 287
      StackMap locals:
      StackMap stack:
            aload 4 /* connection */
            instanceof java.net.HttpURLConnection
            ifeq 33
        24: .line 289
            aload 4 /* connection */
            checkcast java.net.HttpURLConnection
            astore 10 /* hconn */
        start local 10 // java.net.HttpURLConnection hconn
        25: .line 290
            aload 10 /* hconn */
            invokevirtual java.net.HttpURLConnection.getResponseCode:()I
        26: .line 291
            sipush 304
        27: .line 290
            if_icmpne 33
        28: .line 292
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 30
        29: .line 293
            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 295
      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 305
            aload 9 /* in */
            ifnull 32
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        32: .line 295
      StackMap locals:
      StackMap stack: java.util.Collection
            areturn
        end local 10 // java.net.HttpURLConnection hconn
        33: .line 299
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 35
        34: .line 300
            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 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        36: .line 304
            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 303
            putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
        38: .line 305
            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 306
      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 307
      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 308
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 50
        48: .line 309
            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 310
            aload 4 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 4 // java.lang.Exception e
        50: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield sun.security.provider.certpath.URICertStore.lastModified:J
        51: .line 315
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield sun.security.provider.certpath.URICertStore.certs:Ljava/util/Collection;
        52: .line 316
            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 327
            aload 1 /* selector */
            ifnonnull 2
         1: .line 328
            aload 0 /* certs */
            areturn
         2: .line 330
      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 331
            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 332
            aload 1 /* selector */
            aload 3 /* cert */
            invokeinterface java.security.cert.CertSelector.match:(Ljava/security/cert/Certificate;)Z
            ifeq 7
         6: .line 333
            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 331
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 336
            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 356
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.ldap:Z
            ifeq 5
         1: .line 360
            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 361
      StackMap locals:
      StackMap stack: java.security.cert.CertStoreException
            astore 2 /* cse */
        start local 2 // java.security.cert.CertStoreException cse
         4: .line 362
            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 369
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* time */
        start local 2 // long time
         6: .line 370
            lload 2 /* time */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastChecked:J
            lsub
            ldc 30000
            lcmp
            ifge 10
         7: .line 371
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 9
         8: .line 372
            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 374
      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 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* time */
            putfield sun.security.provider.certpath.URICertStore.lastChecked:J
        11: .line 378
            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 379
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lconst_0
            lcmp
            ifeq 14
        13: .line 380
            aload 4 /* connection */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            invokevirtual java.net.URLConnection.setIfModifiedSince:(J)V
        14: .line 382
      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 383
            aload 4 /* connection */
            getstatic sun.security.provider.certpath.URICertStore.CRL_CONNECT_TIMEOUT:I
            invokevirtual java.net.URLConnection.setConnectTimeout:(I)V
        16: .line 384
            aload 4 /* connection */
            getstatic sun.security.provider.certpath.URICertStore.CRL_READ_TIMEOUT:I
            invokevirtual java.net.URLConnection.setReadTimeout:(I)V
        17: .line 385
            aconst_null
            astore 7
            aconst_null
            astore 8
        18: aload 4 /* connection */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 9 /* in */
        start local 9 // java.io.InputStream in
        19: .line 386
            aload 0 /* this */
            aload 4 /* connection */
            invokevirtual java.net.URLConnection.getLastModified:()J
            putfield sun.security.provider.certpath.URICertStore.lastModified:J
        20: .line 387
            lload 5 /* oldLastModified */
            lconst_0
            lcmp
            ifeq 37
        21: .line 388
            lload 5 /* oldLastModified */
            aload 0 /* this */
            getfield sun.security.provider.certpath.URICertStore.lastModified:J
            lcmp
            ifne 27
        22: .line 389
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 24
        23: .line 390
            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: .line 392
      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;
        25: .line 409
            aload 9 /* in */
            ifnull 26
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        26: .line 392
      StackMap locals:
      StackMap stack: java.util.Collection
            areturn
        27: .line 393
      StackMap locals:
      StackMap stack:
            aload 4 /* connection */
            instanceof java.net.HttpURLConnection
            ifeq 37
        28: .line 395
            aload 4 /* connection */
            checkcast java.net.HttpURLConnection
            astore 10 /* hconn */
        start local 10 // java.net.HttpURLConnection hconn
        29: .line 396
            aload 10 /* hconn */
            invokevirtual java.net.HttpURLConnection.getResponseCode:()I
        30: .line 397
            sipush 304
        31: .line 396
            if_icmpne 37
        32: .line 398
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 34
        33: .line 399
            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: .line 401
      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;
        35: .line 409
            aload 9 /* in */
            ifnull 36
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        36: .line 401
      StackMap locals:
      StackMap stack: java.util.Collection
            areturn
        end local 10 // java.net.HttpURLConnection hconn
        37: .line 405
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 39
        38: .line 406
            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: .line 408
      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;
        40: .line 409
            aload 9 /* in */
            ifnull 46
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 7
            aload 9 /* in */
            ifnull 42
            aload 9 /* in */
            invokevirtual java.io.InputStream.close:()V
        end local 9 // java.io.InputStream in
      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: .line 410
      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;
        47: areturn
        end local 5 // long oldLastModified
        end local 4 // java.net.URLConnection connection
        48: .line 411
      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
        49: .line 412
            getstatic sun.security.provider.certpath.URICertStore.debug:Lsun/security/util/Debug;
            ifnull 52
        50: .line 413
            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: .line 414
            aload 4 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        52: .line 417
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            lconst_0
            putfield sun.security.provider.certpath.URICertStore.lastModified:J
        53: .line 418
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.certpath.URICertStore.crl:Ljava/security/cert/X509CRL;
        54: .line 419
            new sun.security.provider.certpath.PKIX$CertStoreTypeException
            dup
            ldc "URI"
        55: .line 420
            new java.security.cert.CertStoreException
            dup
            aload 4 /* e */
            invokespecial java.security.cert.CertStoreException.<init>:(Ljava/lang/Throwable;)V
        56: .line 419
            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   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 // java.security.cert.X509CRL crl
        start local 1 // java.security.cert.CRLSelector selector
         0: .line 430
            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 431
      StackMap locals:
      StackMap stack:
            aload 0 /* crl */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
         2: .line 433
      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