public class sun.security.provider.certpath.DistributionPointFetcher
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.provider.certpath.DistributionPointFetcher
  super_class: java.lang.Object
{
  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean[] ALL_REASONS;
    descriptor: [Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean USE_CRLDP;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 56
            ldc "certpath"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
         1: .line 59
            bipush 9
            newarray 4
            dup
            iconst_0
            iconst_1
            bastore
            dup
            iconst_1
            iconst_1
            bastore
            dup
            iconst_2
            iconst_1
            bastore
            dup
            iconst_3
            iconst_1
            bastore
            dup
            iconst_4
            iconst_1
            bastore
            dup
            iconst_5
            iconst_1
            bastore
            dup
            bipush 6
            iconst_1
            bastore
            dup
            bipush 7
            iconst_1
            bastore
            dup
            bipush 8
            iconst_1
            bastore
         2: .line 58
            putstatic sun.security.provider.certpath.DistributionPointFetcher.ALL_REASONS:[Z
         3: .line 67
            new sun.security.action.GetBooleanAction
            dup
            ldc "com.sun.security.enableCRLDP"
            invokespecial sun.security.action.GetBooleanAction.<init>:(Ljava/lang/String;)V
         4: .line 66
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putstatic sun.security.provider.certpath.DistributionPointFetcher.USE_CRLDP:Z
         5: .line 67
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.certpath.DistributionPointFetcher this
         0: .line 72
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.security.provider.certpath.DistributionPointFetcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/certpath/DistributionPointFetcher;

  public static java.util.Collection<java.security.cert.X509CRL> getCRLs(java.security.cert.X509CRLSelector, boolean, java.security.PublicKey, java.lang.String, java.util.List<java.security.cert.CertStore>, boolean[], java.util.Set<java.security.cert.TrustAnchor>, java.util.Date, java.lang.String);
    descriptor: (Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/List;[ZLjava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=11, locals=17, args_size=9
        start local 0 // java.security.cert.X509CRLSelector selector
        start local 1 // boolean signFlag
        start local 2 // java.security.PublicKey prevKey
        start local 3 // java.lang.String provider
        start local 4 // java.util.List certStores
        start local 5 // boolean[] reasonsMask
        start local 6 // java.util.Set trustAnchors
        start local 7 // java.util.Date validity
        start local 8 // java.lang.String variant
         0: .line 92
            getstatic sun.security.provider.certpath.DistributionPointFetcher.USE_CRLDP:Z
            ifne 2
         1: .line 93
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* selector */
            invokevirtual java.security.cert.X509CRLSelector.getCertificateChecking:()Ljava/security/cert/X509Certificate;
            astore 9 /* cert */
        start local 9 // java.security.cert.X509Certificate cert
         3: .line 96
            aload 9 /* cert */
            ifnonnull 5
         4: .line 97
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         5: .line 100
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 9 /* cert */
            invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
            astore 10 /* certImpl */
        start local 10 // sun.security.x509.X509CertImpl certImpl
         6: .line 101
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 10
         7: .line 102
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "DistributionPointFetcher.getCRLs: Checking CRLDPs for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 103
            aload 10 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 102
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 106
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack:
            aload 10 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getCRLDistributionPointsExtension:()Lsun/security/x509/CRLDistributionPointsExtension;
        11: .line 105
            astore 11 /* ext */
        start local 11 // sun.security.x509.CRLDistributionPointsExtension ext
        12: .line 107
            aload 11 /* ext */
            ifnonnull 17
        13: .line 108
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 15
        14: .line 109
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "No CRLDP ext"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        15: .line 111
      StackMap locals: sun.security.x509.CRLDistributionPointsExtension
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        16: areturn
        17: .line 114
      StackMap locals:
      StackMap stack:
            aload 11 /* ext */
            ldc "points"
            invokevirtual sun.security.x509.CRLDistributionPointsExtension.get:(Ljava/lang/String;)Ljava/util/List;
        18: .line 113
            astore 12 /* points */
        start local 12 // java.util.List points
        19: .line 115
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 13 /* results */
        start local 13 // java.util.Set results
        20: .line 116
            aload 12 /* points */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 14 /* t */
        start local 14 // java.util.Iterator t
        21: .line 117
            goto 28
        22: .line 118
      StackMap locals: java.util.List java.util.Set java.util.Iterator
      StackMap stack:
            aload 14 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.DistributionPoint
            astore 15 /* point */
        start local 15 // sun.security.x509.DistributionPoint point
        23: .line 119
            aload 0 /* selector */
            aload 10 /* certImpl */
        24: .line 120
            aload 15 /* point */
            aload 5 /* reasonsMask */
            iload 1 /* signFlag */
            aload 2 /* prevKey */
            aload 3 /* provider */
        25: .line 121
            aload 4 /* certStores */
            aload 6 /* trustAnchors */
            aload 7 /* validity */
            aload 8 /* variant */
        26: .line 119
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.getCRLs:(Ljava/security/cert/X509CRLSelector;Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;[ZZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/List;Ljava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
            astore 16 /* crls */
        start local 16 // java.util.Collection crls
        27: .line 122
            aload 13 /* results */
            aload 16 /* crls */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 16 // java.util.Collection crls
        end local 15 // sun.security.x509.DistributionPoint point
        28: .line 117
      StackMap locals:
      StackMap stack:
            aload 14 /* t */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 29
            aload 5 /* reasonsMask */
            getstatic sun.security.provider.certpath.DistributionPointFetcher.ALL_REASONS:[Z
            invokestatic java.util.Arrays.equals:([Z[Z)Z
            ifeq 22
        end local 14 // java.util.Iterator t
        29: .line 124
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 31
        30: .line 125
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Returning "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* results */
            invokeinterface java.util.Set.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " CRLs"
            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
        31: .line 127
      StackMap locals:
      StackMap stack:
            aload 13 /* results */
        32: areturn
        end local 13 // java.util.Set results
        end local 12 // java.util.List points
        end local 11 // sun.security.x509.CRLDistributionPointsExtension ext
        end local 10 // sun.security.x509.X509CertImpl certImpl
        33: .line 128
      StackMap locals: java.security.cert.X509CRLSelector int java.security.PublicKey java.lang.String java.util.List boolean[] java.util.Set java.util.Date java.lang.String java.security.cert.X509Certificate
      StackMap stack: java.security.cert.CertificateException
            pop
        34: .line 129
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        35: .line 130
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        36: .line 131
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 9 // java.security.cert.X509Certificate cert
        end local 8 // java.lang.String variant
        end local 7 // java.util.Date validity
        end local 6 // java.util.Set trustAnchors
        end local 5 // boolean[] reasonsMask
        end local 4 // java.util.List certStores
        end local 3 // java.lang.String provider
        end local 2 // java.security.PublicKey prevKey
        end local 1 // boolean signFlag
        end local 0 // java.security.cert.X509CRLSelector selector
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0      selector  Ljava/security/cert/X509CRLSelector;
            0   37     1      signFlag  Z
            0   37     2       prevKey  Ljava/security/PublicKey;
            0   37     3      provider  Ljava/lang/String;
            0   37     4    certStores  Ljava/util/List<Ljava/security/cert/CertStore;>;
            0   37     5   reasonsMask  [Z
            0   37     6  trustAnchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
            0   37     7      validity  Ljava/util/Date;
            0   37     8       variant  Ljava/lang/String;
            3   37     9          cert  Ljava/security/cert/X509Certificate;
            6   33    10      certImpl  Lsun/security/x509/X509CertImpl;
           12   33    11           ext  Lsun/security/x509/CRLDistributionPointsExtension;
           19   33    12        points  Ljava/util/List<Lsun/security/x509/DistributionPoint;>;
           20   33    13       results  Ljava/util/Set<Ljava/security/cert/X509CRL;>;
           21   29    14             t  Ljava/util/Iterator<Lsun/security/x509/DistributionPoint;>;
           23   28    15         point  Lsun/security/x509/DistributionPoint;
           27   28    16          crls  Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
      Exception table:
        from    to  target  type
           5    16      33  Class java.security.cert.CertificateException
          17    32      33  Class java.security.cert.CertificateException
           5    16      35  Class java.io.IOException
          17    32      35  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertStoreException
    Signature: (Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/List<Ljava/security/cert/CertStore;>;[ZLjava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
    MethodParameters:
              Name  Flags
      selector      
      signFlag      
      prevKey       
      provider      
      certStores    
      reasonsMask   
      trustAnchors  
      validity      
      variant       

  private static java.util.Collection<java.security.cert.X509CRL> getCRLs(java.security.cert.X509CRLSelector, sun.security.x509.X509CertImpl, sun.security.x509.DistributionPoint, boolean[], boolean, java.security.PublicKey, java.lang.String, java.util.List<java.security.cert.CertStore>, java.util.Set<java.security.cert.TrustAnchor>, java.util.Date, java.lang.String);
    descriptor: (Ljava/security/cert/X509CRLSelector;Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;[ZZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/List;Ljava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=11, locals=18, args_size=11
        start local 0 // java.security.cert.X509CRLSelector selector
        start local 1 // sun.security.x509.X509CertImpl certImpl
        start local 2 // sun.security.x509.DistributionPoint point
        start local 3 // boolean[] reasonsMask
        start local 4 // boolean signFlag
        start local 5 // java.security.PublicKey prevKey
        start local 6 // java.lang.String provider
        start local 7 // java.util.List certStores
        start local 8 // java.util.Set trustAnchors
        start local 9 // java.util.Date validity
        start local 10 // java.lang.String variant
         0: .line 146
            aload 2 /* point */
            invokevirtual sun.security.x509.DistributionPoint.getFullName:()Lsun/security/x509/GeneralNames;
            astore 11 /* fullName */
        start local 11 // sun.security.x509.GeneralNames fullName
         1: .line 147
            aload 11 /* fullName */
            ifnonnull 18
         2: .line 149
            aload 2 /* point */
            invokevirtual sun.security.x509.DistributionPoint.getRelativeName:()Lsun/security/x509/RDN;
            astore 12 /* relativeName */
        start local 12 // sun.security.x509.RDN relativeName
         3: .line 150
            aload 12 /* relativeName */
            ifnonnull 5
         4: .line 151
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         5: .line 154
      StackMap locals: sun.security.x509.GeneralNames sun.security.x509.RDN
      StackMap stack:
            aload 2 /* point */
            invokevirtual sun.security.x509.DistributionPoint.getCRLIssuer:()Lsun/security/x509/GeneralNames;
            astore 13 /* crlIssuers */
        start local 13 // sun.security.x509.GeneralNames crlIssuers
         6: .line 155
            aload 13 /* crlIssuers */
            ifnonnull 10
         7: .line 157
            aload 1 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerDN:()Ljava/security/Principal;
            checkcast sun.security.x509.X500Name
            aload 12 /* relativeName */
         8: .line 156
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
            astore 11 /* fullName */
         9: .line 158
            goto 18
        10: .line 160
      StackMap locals: sun.security.x509.GeneralNames
      StackMap stack:
            aload 13 /* crlIssuers */
            invokevirtual sun.security.x509.GeneralNames.size:()I
            iconst_1
            if_icmpeq 13
        11: .line 161
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        12: areturn
        13: .line 164
      StackMap locals:
      StackMap stack:
            aload 13 /* crlIssuers */
            iconst_0
            invokevirtual sun.security.x509.GeneralNames.get:(I)Lsun/security/x509/GeneralName;
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            checkcast sun.security.x509.X500Name
            aload 12 /* relativeName */
        14: .line 163
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
            astore 11 /* fullName */
        end local 13 // sun.security.x509.GeneralNames crlIssuers
        15: .line 167
            goto 18
      StackMap locals: java.security.cert.X509CRLSelector sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint boolean[] int java.security.PublicKey java.lang.String java.util.List java.util.Set java.util.Date java.lang.String sun.security.x509.GeneralNames sun.security.x509.RDN
      StackMap stack: java.io.IOException
        16: pop
        17: .line 168
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 12 // sun.security.x509.RDN relativeName
        18: .line 171
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* possibleCRLs */
        start local 12 // java.util.Collection possibleCRLs
        19: .line 172
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 13 /* crls */
        start local 13 // java.util.Collection crls
        20: .line 173
            aload 11 /* fullName */
            invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
            astore 14 /* t */
        start local 14 // java.util.Iterator t
        21: goto 36
        22: .line 174
      StackMap locals: java.util.Collection java.util.Collection java.util.Iterator
      StackMap stack:
            aload 14 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralName
            astore 15 /* name */
        start local 15 // sun.security.x509.GeneralName name
        23: .line 175
            aload 15 /* name */
            invokevirtual sun.security.x509.GeneralName.getType:()I
            iconst_4
            if_icmpne 31
        24: .line 176
            aload 15 /* name */
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            checkcast sun.security.x509.X500Name
            astore 16 /* x500Name */
        start local 16 // sun.security.x509.X500Name x500Name
        25: .line 177
            aload 12 /* possibleCRLs */
        26: .line 178
            aload 16 /* x500Name */
            aload 1 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        27: .line 179
            aload 7 /* certStores */
        28: .line 178
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.getCRLs:(Lsun/security/x509/X500Name;Ljavax/security/auth/x500/X500Principal;Ljava/util/List;)Ljava/util/Collection;
        29: .line 177
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        end local 16 // sun.security.x509.X500Name x500Name
        30: .line 180
            goto 36
      StackMap locals: sun.security.x509.GeneralName
      StackMap stack:
        31: aload 15 /* name */
            invokevirtual sun.security.x509.GeneralName.getType:()I
            bipush 6
            if_icmpne 36
        32: .line 181
            aload 15 /* name */
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            checkcast sun.security.x509.URIName
            astore 16 /* uriName */
        start local 16 // sun.security.x509.URIName uriName
        33: .line 182
            aload 16 /* uriName */
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.getCRL:(Lsun/security/x509/URIName;)Ljava/security/cert/X509CRL;
            astore 17 /* crl */
        start local 17 // java.security.cert.X509CRL crl
        34: .line 183
            aload 17 /* crl */
            ifnull 36
        35: .line 184
            aload 12 /* possibleCRLs */
            aload 17 /* crl */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // java.security.cert.X509CRL crl
        end local 16 // sun.security.x509.URIName uriName
        end local 15 // sun.security.x509.GeneralName name
        36: .line 173
      StackMap locals:
      StackMap stack:
            aload 14 /* t */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 14 // java.util.Iterator t
        37: .line 189
            aload 12 /* possibleCRLs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 15
            goto 51
      StackMap locals: java.security.cert.X509CRLSelector sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint boolean[] int java.security.PublicKey java.lang.String java.util.List java.util.Set java.util.Date java.lang.String sun.security.x509.GeneralNames java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
        38: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
            astore 14 /* crl */
        start local 14 // java.security.cert.X509CRL crl
        39: .line 193
            aload 0 /* selector */
            aconst_null
            invokevirtual java.security.cert.X509CRLSelector.setIssuerNames:(Ljava/util/Collection;)V
        40: .line 194
            aload 0 /* selector */
            aload 14 /* crl */
            invokevirtual java.security.cert.X509CRLSelector.match:(Ljava/security/cert/CRL;)Z
            ifeq 51
            aload 1 /* certImpl */
            aload 2 /* point */
            aload 14 /* crl */
        41: .line 195
            aload 3 /* reasonsMask */
            iload 4 /* signFlag */
            aload 5 /* prevKey */
            aload 6 /* provider */
            aload 8 /* trustAnchors */
        42: .line 196
            aload 7 /* certStores */
            aload 9 /* validity */
            aload 10 /* variant */
        43: .line 194
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.verifyCRL:(Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;Ljava/security/cert/X509CRL;[ZZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/Set;Ljava/util/List;Ljava/util/Date;Ljava/lang/String;)Z
        44: .line 196
            ifeq 51
        45: .line 197
            aload 13 /* crls */
            aload 14 /* crl */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        46: .line 199
            goto 51
      StackMap locals: java.security.cert.X509CRLSelector sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint boolean[] int java.security.PublicKey java.lang.String java.util.List java.util.Set java.util.Date java.lang.String sun.security.x509.GeneralNames java.util.Collection java.util.Collection java.security.cert.X509CRL java.util.Iterator
      StackMap stack: java.lang.Exception
        47: astore 16 /* e */
        start local 16 // java.lang.Exception e
        48: .line 201
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 51
        49: .line 202
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Exception verifying CRL: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 16 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            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
        50: .line 203
            aload 16 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 16 // java.lang.Exception e
        end local 14 // java.security.cert.X509CRL crl
        51: .line 189
      StackMap locals: java.security.cert.X509CRLSelector sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint boolean[] int java.security.PublicKey java.lang.String java.util.List java.util.Set java.util.Date java.lang.String sun.security.x509.GeneralNames java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        52: .line 207
            aload 13 /* crls */
            areturn
        end local 13 // java.util.Collection crls
        end local 12 // java.util.Collection possibleCRLs
        end local 11 // sun.security.x509.GeneralNames fullName
        end local 10 // java.lang.String variant
        end local 9 // java.util.Date validity
        end local 8 // java.util.Set trustAnchors
        end local 7 // java.util.List certStores
        end local 6 // java.lang.String provider
        end local 5 // java.security.PublicKey prevKey
        end local 4 // boolean signFlag
        end local 3 // boolean[] reasonsMask
        end local 2 // sun.security.x509.DistributionPoint point
        end local 1 // sun.security.x509.X509CertImpl certImpl
        end local 0 // java.security.cert.X509CRLSelector selector
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   53     0      selector  Ljava/security/cert/X509CRLSelector;
            0   53     1      certImpl  Lsun/security/x509/X509CertImpl;
            0   53     2         point  Lsun/security/x509/DistributionPoint;
            0   53     3   reasonsMask  [Z
            0   53     4      signFlag  Z
            0   53     5       prevKey  Ljava/security/PublicKey;
            0   53     6      provider  Ljava/lang/String;
            0   53     7    certStores  Ljava/util/List<Ljava/security/cert/CertStore;>;
            0   53     8  trustAnchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
            0   53     9      validity  Ljava/util/Date;
            0   53    10       variant  Ljava/lang/String;
            1   53    11      fullName  Lsun/security/x509/GeneralNames;
            3   18    12  relativeName  Lsun/security/x509/RDN;
            6   15    13    crlIssuers  Lsun/security/x509/GeneralNames;
           19   53    12  possibleCRLs  Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
           20   53    13          crls  Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
           21   37    14             t  Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
           23   36    15          name  Lsun/security/x509/GeneralName;
           25   30    16      x500Name  Lsun/security/x509/X500Name;
           33   36    16       uriName  Lsun/security/x509/URIName;
           34   36    17           crl  Ljava/security/cert/X509CRL;
           39   51    14           crl  Ljava/security/cert/X509CRL;
           48   51    16             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5    12      16  Class java.io.IOException
          13    15      16  Class java.io.IOException
          39    46      47  Class java.lang.Exception
    Signature: (Ljava/security/cert/X509CRLSelector;Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;[ZZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/List<Ljava/security/cert/CertStore;>;Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
    MethodParameters:
              Name  Flags
      selector      
      certImpl      
      point         
      reasonsMask   
      signFlag      
      prevKey       
      provider      
      certStores    
      trustAnchors  
      validity      
      variant       

  private static java.security.cert.X509CRL getCRL(sun.security.x509.URIName);
    descriptor: (Lsun/security/x509/URIName;)Ljava/security/cert/X509CRL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.security.x509.URIName name
         0: .line 214
            aload 0 /* name */
            invokevirtual sun.security.x509.URIName.getURI:()Ljava/net/URI;
            astore 1 /* uri */
        start local 1 // java.net.URI uri
         1: .line 215
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 3
         2: .line 216
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Trying to fetch CRL from DP "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* 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
         3: .line 220
      StackMap locals: java.net.URI
      StackMap stack:
            new sun.security.provider.certpath.URICertStore$URICertStoreParameters
            dup
            aload 1 /* uri */
            invokespecial sun.security.provider.certpath.URICertStore$URICertStoreParameters.<init>:(Ljava/net/URI;)V
         4: .line 219
            invokestatic sun.security.provider.certpath.URICertStore.getInstance:(Lsun/security/provider/certpath/URICertStore$URICertStoreParameters;)Ljava/security/cert/CertStore;
            astore 2 /* ucs */
        start local 2 // java.security.cert.CertStore ucs
         5: .line 221
            aload 2 /* ucs */
            aconst_null
            invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
            astore 3 /* crls */
        start local 3 // java.util.Collection crls
         6: .line 222
            aload 3 /* crls */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 8
         7: .line 223
            aconst_null
            areturn
         8: .line 225
      StackMap locals: java.security.cert.CertStore java.util.Collection
      StackMap stack:
            aload 3 /* crls */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
         9: areturn
        end local 3 // java.util.Collection crls
        end local 2 // java.security.cert.CertStore ucs
        10: .line 227
      StackMap locals: sun.security.x509.URIName java.net.URI
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        11: .line 228
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 14
        12: .line 229
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Exception getting CRL from CertStore: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            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
        13: .line 230
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 2 // java.lang.Exception e
        14: .line 233
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.net.URI uri
        end local 0 // sun.security.x509.URIName name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  name  Lsun/security/x509/URIName;
            1   15     1   uri  Ljava/net/URI;
            5   10     2   ucs  Ljava/security/cert/CertStore;
            6   10     3  crls  Ljava/util/Collection<+Ljava/security/cert/CRL;>;
           11   14     2     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     7      10  Class java.lang.Exception
           8     9      10  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      name  

  private static java.util.Collection<java.security.cert.X509CRL> getCRLs(sun.security.x509.X500Name, javax.security.auth.x500.X500Principal, java.util.List<java.security.cert.CertStore>);
    descriptor: (Lsun/security/x509/X500Name;Ljavax/security/auth/x500/X500Principal;Ljava/util/List;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // sun.security.x509.X500Name name
        start local 1 // javax.security.auth.x500.X500Principal certIssuer
        start local 2 // java.util.List certStores
         0: .line 242
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 243
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Trying to fetch CRL from DP "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* name */
            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 245
      StackMap locals:
      StackMap stack:
            new java.security.cert.X509CRLSelector
            dup
            invokespecial java.security.cert.X509CRLSelector.<init>:()V
            astore 3 /* xcs */
        start local 3 // java.security.cert.X509CRLSelector xcs
         3: .line 246
            aload 3 /* xcs */
            aload 0 /* name */
            invokevirtual sun.security.x509.X500Name.asX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.security.cert.X509CRLSelector.addIssuer:(Ljavax/security/auth/x500/X500Principal;)V
         4: .line 247
            aload 3 /* xcs */
            aload 1 /* certIssuer */
            invokevirtual java.security.cert.X509CRLSelector.addIssuer:(Ljavax/security/auth/x500/X500Principal;)V
         5: .line 248
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* crls */
        start local 4 // java.util.Collection crls
         6: .line 249
            aload 2 /* certStores */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 19
      StackMap locals: sun.security.x509.X500Name javax.security.auth.x500.X500Principal java.util.List java.security.cert.X509CRLSelector java.util.Collection top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.CertStore
            astore 5 /* store */
        start local 5 // java.security.cert.CertStore store
         8: .line 251
            aload 5 /* store */
            aload 3 /* xcs */
            invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 11
      StackMap locals: sun.security.x509.X500Name javax.security.auth.x500.X500Principal java.util.List java.security.cert.X509CRLSelector java.util.Collection java.security.cert.CertStore java.util.Iterator top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.CRL
            astore 7 /* crl */
        start local 7 // java.security.cert.CRL crl
        10: .line 252
            aload 4 /* crls */
            aload 7 /* crl */
            checkcast java.security.cert.X509CRL
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.security.cert.CRL crl
        11: .line 251
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 254
            goto 19
      StackMap locals: sun.security.x509.X500Name javax.security.auth.x500.X500Principal java.util.List java.security.cert.X509CRLSelector java.util.Collection java.security.cert.CertStore java.util.Iterator
      StackMap stack: java.security.cert.CertStoreException
        13: astore 7 /* cse */
        start local 7 // java.security.cert.CertStoreException cse
        14: .line 256
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 19
        15: .line 257
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Non-fatal exception while retrieving CRLs: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 258
            aload 7 /* cse */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 257
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 259
            aload 7 /* cse */
            invokevirtual java.security.cert.CertStoreException.printStackTrace:()V
        end local 7 // java.security.cert.CertStoreException cse
        end local 5 // java.security.cert.CertStore store
        19: .line 249
      StackMap locals: sun.security.x509.X500Name javax.security.auth.x500.X500Principal java.util.List java.security.cert.X509CRLSelector java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        20: .line 263
            aload 4 /* crls */
            areturn
        end local 4 // java.util.Collection crls
        end local 3 // java.security.cert.X509CRLSelector xcs
        end local 2 // java.util.List certStores
        end local 1 // javax.security.auth.x500.X500Principal certIssuer
        end local 0 // sun.security.x509.X500Name name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        name  Lsun/security/x509/X500Name;
            0   21     1  certIssuer  Ljavax/security/auth/x500/X500Principal;
            0   21     2  certStores  Ljava/util/List<Ljava/security/cert/CertStore;>;
            3   21     3         xcs  Ljava/security/cert/X509CRLSelector;
            6   21     4        crls  Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
            8   19     5       store  Ljava/security/cert/CertStore;
           10   11     7         crl  Ljava/security/cert/CRL;
           14   19     7         cse  Ljava/security/cert/CertStoreException;
      Exception table:
        from    to  target  type
           8    12      13  Class java.security.cert.CertStoreException
    Signature: (Lsun/security/x509/X500Name;Ljavax/security/auth/x500/X500Principal;Ljava/util/List<Ljava/security/cert/CertStore;>;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
    MethodParameters:
            Name  Flags
      name        
      certIssuer  
      certStores  

  static boolean verifyCRL(sun.security.x509.X509CertImpl, sun.security.x509.DistributionPoint, java.security.cert.X509CRL, boolean[], boolean, java.security.PublicKey, java.lang.String, java.util.Set<java.security.cert.TrustAnchor>, java.util.List<java.security.cert.CertStore>, java.util.Date, java.lang.String);
    descriptor: (Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;Ljava/security/cert/X509CRL;[ZZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/Set;Ljava/util/List;Ljava/util/Date;Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=29, args_size=11
        start local 0 // sun.security.x509.X509CertImpl certImpl
        start local 1 // sun.security.x509.DistributionPoint point
        start local 2 // java.security.cert.X509CRL crl
        start local 3 // boolean[] reasonsMask
        start local 4 // boolean signFlag
        start local 5 // java.security.PublicKey prevKey
        start local 6 // java.lang.String provider
        start local 7 // java.util.Set trustAnchors
        start local 8 // java.util.List certStores
        start local 9 // java.util.Date validity
        start local 10 // java.lang.String variant
         0: .line 290
            iconst_0
            istore 11 /* indirectCRL */
        start local 11 // boolean indirectCRL
         1: .line 291
            aload 2 /* crl */
            invokestatic sun.security.x509.X509CRLImpl.toImpl:(Ljava/security/cert/X509CRL;)Lsun/security/x509/X509CRLImpl;
            astore 12 /* crlImpl */
        start local 12 // sun.security.x509.X509CRLImpl crlImpl
         2: .line 293
            aload 12 /* crlImpl */
            invokevirtual sun.security.x509.X509CRLImpl.getIssuingDistributionPointExtension:()Lsun/security/x509/IssuingDistributionPointExtension;
         3: .line 292
            astore 13 /* idpExt */
        start local 13 // sun.security.x509.IssuingDistributionPointExtension idpExt
         4: .line 294
            aload 0 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerDN:()Ljava/security/Principal;
            checkcast sun.security.x509.X500Name
            astore 14 /* certIssuer */
        start local 14 // sun.security.x509.X500Name certIssuer
         5: .line 295
            aload 12 /* crlImpl */
            invokevirtual sun.security.x509.X509CRLImpl.getIssuerDN:()Ljava/security/Principal;
            checkcast sun.security.x509.X500Name
            astore 15 /* crlIssuer */
        start local 15 // sun.security.x509.X500Name crlIssuer
         6: .line 301
            aload 1 /* point */
            invokevirtual sun.security.x509.DistributionPoint.getCRLIssuer:()Lsun/security/x509/GeneralNames;
            astore 16 /* pointCrlIssuers */
        start local 16 // sun.security.x509.GeneralNames pointCrlIssuers
         7: .line 302
            aconst_null
            astore 17 /* pointCrlIssuer */
        start local 17 // sun.security.x509.X500Name pointCrlIssuer
         8: .line 303
            aload 16 /* pointCrlIssuers */
            ifnull 32
         9: .line 304
            aload 13 /* idpExt */
            ifnull 16
        10: .line 305
            aload 13 /* idpExt */
        11: .line 306
            ldc "indirect_crl"
        12: .line 305
            invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Boolean
        13: .line 307
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
        14: .line 306
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
        15: .line 307
            ifeq 17
        16: .line 308
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name
      StackMap stack:
            iconst_0
            ireturn
        17: .line 310
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 18 /* match */
        start local 18 // boolean match
        18: .line 311
            aload 16 /* pointCrlIssuers */
            invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
            astore 19 /* t */
        start local 19 // java.util.Iterator t
        19: .line 312
            goto 24
        20: .line 313
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 19 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralName
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 20 /* name */
        start local 20 // sun.security.x509.GeneralNameInterface name
        21: .line 314
            aload 15 /* crlIssuer */
            aload 20 /* name */
            invokevirtual sun.security.x509.X500Name.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 315
            aload 20 /* name */
            checkcast sun.security.x509.X500Name
            astore 17 /* pointCrlIssuer */
        23: .line 316
            iconst_1
            istore 18 /* match */
        end local 20 // sun.security.x509.GeneralNameInterface name
        24: .line 312
      StackMap locals:
      StackMap stack:
            iload 18 /* match */
            ifne 25
            aload 19 /* t */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        end local 19 // java.util.Iterator t
        25: .line 319
      StackMap locals:
      StackMap stack:
            iload 18 /* match */
            ifne 27
        26: .line 320
            iconst_0
            ireturn
        27: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* certImpl */
            aload 12 /* crlImpl */
            aload 6 /* provider */
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.issues:(Lsun/security/x509/X509CertImpl;Lsun/security/x509/X509CRLImpl;Ljava/lang/String;)Z
            ifeq 30
        28: .line 327
            aload 0 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
            astore 5 /* prevKey */
        29: .line 328
            goto 51
        30: .line 329
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* indirectCRL */
        end local 18 // boolean match
        31: .line 331
            goto 51
      StackMap locals:
      StackMap stack:
        32: aload 15 /* crlIssuer */
            aload 14 /* certIssuer */
            invokevirtual sun.security.x509.X500Name.equals:(Ljava/lang/Object;)Z
            ifne 36
        33: .line 332
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 35
        34: .line 333
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "crl issuer does not equal cert issuer"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        35: .line 335
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        36: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* certImpl */
        37: .line 339
            getstatic sun.security.x509.PKIXExtensions.AuthorityKey_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
        38: .line 338
            invokevirtual sun.security.x509.X509CertImpl.getExtensionValue:(Ljava/lang/String;)[B
            astore 18 /* certAKID */
        start local 18 // byte[] certAKID
        39: .line 340
            aload 12 /* crlImpl */
        40: .line 341
            getstatic sun.security.x509.PKIXExtensions.AuthorityKey_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
        41: .line 340
            invokevirtual sun.security.x509.X509CRLImpl.getExtensionValue:(Ljava/lang/String;)[B
            astore 19 /* crlAKID */
        start local 19 // byte[] crlAKID
        42: .line 343
            aload 18 /* certAKID */
            ifnull 43
            aload 19 /* crlAKID */
            ifnonnull 46
        43: .line 348
      StackMap locals: byte[] byte[]
      StackMap stack:
            aload 0 /* certImpl */
            aload 12 /* crlImpl */
            aload 6 /* provider */
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.issues:(Lsun/security/x509/X509CertImpl;Lsun/security/x509/X509CRLImpl;Ljava/lang/String;)Z
            ifeq 51
        44: .line 350
            aload 0 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
            astore 5 /* prevKey */
        45: .line 352
            goto 51
      StackMap locals:
      StackMap stack:
        46: aload 18 /* certAKID */
            aload 19 /* crlAKID */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 51
        47: .line 355
            aload 0 /* certImpl */
            aload 12 /* crlImpl */
            aload 6 /* provider */
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.issues:(Lsun/security/x509/X509CertImpl;Lsun/security/x509/X509CRLImpl;Ljava/lang/String;)Z
            ifeq 50
        48: .line 357
            aload 0 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
            astore 5 /* prevKey */
        49: .line 358
            goto 51
        50: .line 359
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* indirectCRL */
        end local 19 // byte[] crlAKID
        end local 18 // byte[] certAKID
        51: .line 364
      StackMap locals:
      StackMap stack:
            iload 11 /* indirectCRL */
            ifne 53
            iload 4 /* signFlag */
            ifne 53
        52: .line 366
            iconst_0
            ireturn
        53: .line 369
      StackMap locals:
      StackMap stack:
            aload 13 /* idpExt */
            ifnull 136
        54: .line 371
            aload 13 /* idpExt */
            ldc "point"
            invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
        55: .line 370
            checkcast sun.security.x509.DistributionPointName
            astore 18 /* idpPoint */
        start local 18 // sun.security.x509.DistributionPointName idpPoint
        56: .line 372
            aload 18 /* idpPoint */
            ifnull 117
        57: .line 373
            aload 18 /* idpPoint */
            invokevirtual sun.security.x509.DistributionPointName.getFullName:()Lsun/security/x509/GeneralNames;
            astore 19 /* idpNames */
        start local 19 // sun.security.x509.GeneralNames idpNames
        58: .line 374
            aload 19 /* idpNames */
            ifnonnull 67
        59: .line 375
            aload 18 /* idpPoint */
            invokevirtual sun.security.x509.DistributionPointName.getRelativeName:()Lsun/security/x509/RDN;
            astore 20 /* relativeName */
        start local 20 // sun.security.x509.RDN relativeName
        60: .line 376
            aload 20 /* relativeName */
            ifnonnull 64
        61: .line 377
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 63
        62: .line 378
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "IDP must be relative or full DN"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        63: .line 380
      StackMap locals: sun.security.x509.DistributionPointName sun.security.x509.GeneralNames sun.security.x509.RDN
      StackMap stack:
            iconst_0
            ireturn
        64: .line 382
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 66
        65: .line 383
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "IDP relativeName:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 20 /* relativeName */
            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
        66: .line 385
      StackMap locals:
      StackMap stack:
            aload 15 /* crlIssuer */
            aload 20 /* relativeName */
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
            astore 19 /* idpNames */
        end local 20 // sun.security.x509.RDN relativeName
        67: .line 390
      StackMap locals:
      StackMap stack:
            aload 1 /* point */
            invokevirtual sun.security.x509.DistributionPoint.getFullName:()Lsun/security/x509/GeneralNames;
            ifnonnull 69
        68: .line 391
            aload 1 /* point */
            invokevirtual sun.security.x509.DistributionPoint.getRelativeName:()Lsun/security/x509/RDN;
            ifnull 105
        69: .line 392
      StackMap locals:
      StackMap stack:
            aload 1 /* point */
            invokevirtual sun.security.x509.DistributionPoint.getFullName:()Lsun/security/x509/GeneralNames;
            astore 20 /* pointNames */
        start local 20 // sun.security.x509.GeneralNames pointNames
        70: .line 393
            aload 20 /* pointNames */
            ifnonnull 87
        71: .line 394
            aload 1 /* point */
            invokevirtual sun.security.x509.DistributionPoint.getRelativeName:()Lsun/security/x509/RDN;
            astore 21 /* relativeName */
        start local 21 // sun.security.x509.RDN relativeName
        72: .line 395
            aload 21 /* relativeName */
            ifnonnull 76
        73: .line 396
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 75
        74: .line 397
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "DP must be relative or full DN"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        75: .line 399
      StackMap locals: sun.security.x509.GeneralNames sun.security.x509.RDN
      StackMap stack:
            iconst_0
            ireturn
        76: .line 401
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 78
        77: .line 402
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "DP relativeName:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 21 /* relativeName */
            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
        78: .line 404
      StackMap locals:
      StackMap stack:
            iload 11 /* indirectCRL */
            ifeq 86
        79: .line 405
            aload 16 /* pointCrlIssuers */
            invokevirtual sun.security.x509.GeneralNames.size:()I
            iconst_1
            if_icmpeq 83
        80: .line 408
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 82
        81: .line 409
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "must only be one CRL issuer when relative name present"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        82: .line 412
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        83: .line 415
      StackMap locals:
      StackMap stack:
            aload 17 /* pointCrlIssuer */
            aload 21 /* relativeName */
        84: .line 414
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
            astore 20 /* pointNames */
        85: .line 416
            goto 87
        86: .line 417
      StackMap locals:
      StackMap stack:
            aload 14 /* certIssuer */
            aload 21 /* relativeName */
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.getFullNames:(Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
            astore 20 /* pointNames */
        end local 21 // sun.security.x509.RDN relativeName
        87: .line 420
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 21 /* match */
        start local 21 // boolean match
        88: .line 421
            aload 19 /* idpNames */
            invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
            astore 22 /* i */
        start local 22 // java.util.Iterator i
        89: .line 422
            goto 100
        90: .line 423
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 22 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralName
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 23 /* idpName */
        start local 23 // sun.security.x509.GeneralNameInterface idpName
        91: .line 424
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 93
        92: .line 425
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "idpName: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 23 /* idpName */
            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
        93: .line 427
      StackMap locals: sun.security.x509.GeneralNameInterface
      StackMap stack:
            aload 20 /* pointNames */
            invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
            astore 24 /* p */
        start local 24 // java.util.Iterator p
        94: .line 428
            goto 99
        95: .line 429
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 24 /* p */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralName
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 25 /* pointName */
        start local 25 // sun.security.x509.GeneralNameInterface pointName
        96: .line 430
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 98
        97: .line 431
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "pointName: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 25 /* pointName */
            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
        98: .line 433
      StackMap locals: sun.security.x509.GeneralNameInterface
      StackMap stack:
            aload 23 /* idpName */
            aload 25 /* pointName */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            istore 21 /* match */
        end local 25 // sun.security.x509.GeneralNameInterface pointName
        99: .line 428
      StackMap locals:
      StackMap stack:
            iload 21 /* match */
            ifne 100
            aload 24 /* p */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 95
        end local 24 // java.util.Iterator p
        end local 23 // sun.security.x509.GeneralNameInterface idpName
       100: .line 422
      StackMap locals:
      StackMap stack:
            iload 21 /* match */
            ifne 101
            aload 22 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 90
        end local 22 // java.util.Iterator i
       101: .line 436
      StackMap locals:
      StackMap stack:
            iload 21 /* match */
            ifne 117
       102: .line 437
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 104
       103: .line 438
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "IDP name does not match DP name"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       104: .line 440
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 21 // boolean match
        end local 20 // sun.security.x509.GeneralNames pointNames
       105: .line 449
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 20 /* match */
        start local 20 // boolean match
       106: .line 450
            aload 16 /* pointCrlIssuers */
            invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
            astore 21 /* t */
        start local 21 // java.util.Iterator t
       107: .line 451
            goto 114
       108: .line 452
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 21 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralName
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 22 /* crlIssuerName */
        start local 22 // sun.security.x509.GeneralNameInterface crlIssuerName
       109: .line 453
            aload 19 /* idpNames */
            invokevirtual sun.security.x509.GeneralNames.iterator:()Ljava/util/Iterator;
            astore 23 /* i */
        start local 23 // java.util.Iterator i
       110: .line 454
            goto 113
       111: .line 455
      StackMap locals: sun.security.x509.GeneralNameInterface java.util.Iterator
      StackMap stack:
            aload 23 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralName
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 24 /* idpName */
        start local 24 // sun.security.x509.GeneralNameInterface idpName
       112: .line 456
            aload 22 /* crlIssuerName */
            aload 24 /* idpName */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            istore 20 /* match */
        end local 24 // sun.security.x509.GeneralNameInterface idpName
       113: .line 454
      StackMap locals:
      StackMap stack:
            iload 20 /* match */
            ifne 114
            aload 23 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 111
        end local 23 // java.util.Iterator i
        end local 22 // sun.security.x509.GeneralNameInterface crlIssuerName
       114: .line 451
      StackMap locals:
      StackMap stack:
            iload 20 /* match */
            ifne 115
            aload 21 /* t */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 108
        end local 21 // java.util.Iterator t
       115: .line 459
      StackMap locals:
      StackMap stack:
            iload 20 /* match */
            ifne 117
       116: .line 460
            iconst_0
            ireturn
        end local 20 // boolean match
        end local 19 // sun.security.x509.GeneralNames idpNames
       117: .line 468
      StackMap locals:
      StackMap stack:
            aload 13 /* idpExt */
            ldc "only_user_certs"
            invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
       118: .line 467
            checkcast java.lang.Boolean
            astore 19 /* b */
        start local 19 // java.lang.Boolean b
       119: .line 469
            aload 19 /* b */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 123
            aload 0 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getBasicConstraints:()I
            iconst_m1
            if_icmpeq 123
       120: .line 470
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 122
       121: .line 471
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "cert must be a EE cert"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       122: .line 473
      StackMap locals: java.lang.Boolean
      StackMap stack:
            iconst_0
            ireturn
       123: .line 479
      StackMap locals:
      StackMap stack:
            aload 13 /* idpExt */
            ldc "only_ca_certs"
            invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
       124: .line 478
            checkcast java.lang.Boolean
            astore 19 /* b */
       125: .line 480
            aload 19 /* b */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 129
            aload 0 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getBasicConstraints:()I
            iconst_m1
            if_icmpne 129
       126: .line 481
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 128
       127: .line 482
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "cert must be a CA cert"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       128: .line 484
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       129: .line 489
      StackMap locals:
      StackMap stack:
            aload 13 /* idpExt */
       130: .line 490
            ldc "only_attribute_certs"
       131: .line 489
            invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 19 /* b */
       132: .line 491
            aload 19 /* b */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
            ifeq 136
       133: .line 492
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 135
       134: .line 493
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "cert must not be an AA cert"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       135: .line 495
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 19 // java.lang.Boolean b
        end local 18 // sun.security.x509.DistributionPointName idpPoint
       136: .line 500
      StackMap locals:
      StackMap stack:
            bipush 9
            newarray 4
            astore 18 /* interimReasonsMask */
        start local 18 // boolean[] interimReasonsMask
       137: .line 501
            aconst_null
            astore 19 /* reasons */
        start local 19 // sun.security.x509.ReasonFlags reasons
       138: .line 502
            aload 13 /* idpExt */
            ifnull 141
       139: .line 504
            aload 13 /* idpExt */
            ldc "reasons"
            invokevirtual sun.security.x509.IssuingDistributionPointExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
       140: .line 503
            checkcast sun.security.x509.ReasonFlags
            astore 19 /* reasons */
       141: .line 507
      StackMap locals: boolean[] sun.security.x509.ReasonFlags
      StackMap stack:
            aload 1 /* point */
            invokevirtual sun.security.x509.DistributionPoint.getReasonFlags:()[Z
            astore 20 /* pointReasonFlags */
        start local 20 // boolean[] pointReasonFlags
       142: .line 508
            aload 19 /* reasons */
            ifnull 158
       143: .line 509
            aload 20 /* pointReasonFlags */
            ifnull 156
       144: .line 512
            aload 19 /* reasons */
            invokevirtual sun.security.x509.ReasonFlags.getFlags:()[Z
            astore 21 /* idpReasonFlags */
        start local 21 // boolean[] idpReasonFlags
       145: .line 513
            iconst_0
            istore 22 /* i */
        start local 22 // int i
       146: goto 154
       147: .line 514
      StackMap locals: boolean[] boolean[] int
      StackMap stack:
            aload 18 /* interimReasonsMask */
            iload 22 /* i */
       148: .line 515
            iload 22 /* i */
            aload 21 /* idpReasonFlags */
            arraylength
            if_icmpge 151
            aload 21 /* idpReasonFlags */
            iload 22 /* i */
            baload
            ifeq 151
       149: .line 516
            iload 22 /* i */
            aload 20 /* pointReasonFlags */
            arraylength
            if_icmpge 151
            aload 20 /* pointReasonFlags */
            iload 22 /* i */
            baload
            ifeq 151
       150: .line 514
            iconst_1
            goto 152
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] boolean[] int
      StackMap stack: boolean[] int
       151: iconst_0
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] boolean[] int
      StackMap stack: boolean[] int int
       152: bastore
       153: .line 513
            iinc 22 /* i */ 1
      StackMap locals:
      StackMap stack:
       154: iload 22 /* i */
            aload 18 /* interimReasonsMask */
            arraylength
            if_icmplt 147
        end local 22 // int i
        end local 21 // boolean[] idpReasonFlags
       155: .line 518
            goto 163
       156: .line 522
      StackMap locals:
      StackMap stack:
            aload 19 /* reasons */
            invokevirtual sun.security.x509.ReasonFlags.getFlags:()[Z
            invokevirtual boolean[].clone:()Ljava/lang/Object;
            checkcast boolean[]
            astore 18 /* interimReasonsMask */
       157: .line 524
            goto 163
      StackMap locals:
      StackMap stack:
       158: aload 13 /* idpExt */
            ifnull 159
            aload 19 /* reasons */
            ifnonnull 163
       159: .line 525
      StackMap locals:
      StackMap stack:
            aload 20 /* pointReasonFlags */
            ifnull 162
       160: .line 527
            aload 20 /* pointReasonFlags */
            invokevirtual boolean[].clone:()Ljava/lang/Object;
            checkcast boolean[]
            astore 18 /* interimReasonsMask */
       161: .line 528
            goto 163
       162: .line 530
      StackMap locals:
      StackMap stack:
            aload 18 /* interimReasonsMask */
            iconst_1
            invokestatic java.util.Arrays.fill:([ZZ)V
       163: .line 536
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 21 /* oneOrMore */
        start local 21 // boolean oneOrMore
       164: .line 537
            iconst_0
            istore 22 /* i */
        start local 22 // int i
       165: goto 170
       166: .line 538
      StackMap locals: int int
      StackMap stack:
            aload 18 /* interimReasonsMask */
            iload 22 /* i */
            baload
            ifeq 169
       167: .line 539
            iload 22 /* i */
            aload 3 /* reasonsMask */
            arraylength
            if_icmpge 168
            aload 3 /* reasonsMask */
            iload 22 /* i */
            baload
            ifne 169
       168: .line 541
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 21 /* oneOrMore */
       169: .line 537
      StackMap locals:
      StackMap stack:
            iinc 22 /* i */ 1
      StackMap locals:
      StackMap stack:
       170: iload 22 /* i */
            aload 18 /* interimReasonsMask */
            arraylength
            if_icmpge 171
            iload 21 /* oneOrMore */
            ifeq 166
        end local 22 // int i
       171: .line 544
      StackMap locals:
      StackMap stack:
            iload 21 /* oneOrMore */
            ifne 173
       172: .line 545
            iconst_0
            ireturn
       173: .line 551
      StackMap locals:
      StackMap stack:
            iload 11 /* indirectCRL */
            ifeq 211
       174: .line 552
            new java.security.cert.X509CertSelector
            dup
            invokespecial java.security.cert.X509CertSelector.<init>:()V
            astore 22 /* certSel */
        start local 22 // java.security.cert.X509CertSelector certSel
       175: .line 553
            aload 22 /* certSel */
            aload 15 /* crlIssuer */
            invokevirtual sun.security.x509.X500Name.asX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.security.cert.X509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
       176: .line 554
            bipush 7
            newarray 4
            dup
            bipush 6
            iconst_1
            bastore
            astore 23 /* crlSign */
        start local 23 // boolean[] crlSign
       177: .line 555
            aload 22 /* certSel */
            aload 23 /* crlSign */
            invokevirtual java.security.cert.X509CertSelector.setKeyUsage:([Z)V
       178: .line 568
            aload 12 /* crlImpl */
            invokevirtual sun.security.x509.X509CRLImpl.getAuthKeyIdExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
       179: .line 567
            astore 24 /* akidext */
        start local 24 // sun.security.x509.AuthorityKeyIdentifierExtension akidext
       180: .line 569
            aload 24 /* akidext */
            ifnull 190
       181: .line 570
            aload 24 /* akidext */
            ldc "key_id"
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.KeyIdentifier
            astore 25 /* akid */
        start local 25 // sun.security.x509.KeyIdentifier akid
       182: .line 571
            aload 25 /* akid */
            ifnull 186
       183: .line 572
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 26 /* derout */
        start local 26 // sun.security.util.DerOutputStream derout
       184: .line 573
            aload 26 /* derout */
            aload 25 /* akid */
            invokevirtual sun.security.x509.KeyIdentifier.getIdentifier:()[B
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
       185: .line 574
            aload 22 /* certSel */
            aload 26 /* derout */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            invokevirtual java.security.cert.X509CertSelector.setSubjectKeyIdentifier:([B)V
        end local 26 // sun.security.util.DerOutputStream derout
       186: .line 578
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.security.cert.X509CertSelector boolean[] sun.security.x509.AuthorityKeyIdentifierExtension sun.security.x509.KeyIdentifier
      StackMap stack:
            aload 24 /* akidext */
            ldc "serial_number"
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.SerialNumber
       187: .line 577
            astore 26 /* asn */
        start local 26 // sun.security.x509.SerialNumber asn
       188: .line 579
            aload 26 /* asn */
            ifnull 190
       189: .line 580
            aload 22 /* certSel */
            aload 26 /* asn */
            invokevirtual sun.security.x509.SerialNumber.getNumber:()Ljava/math/BigInteger;
            invokevirtual java.security.cert.X509CertSelector.setSerialNumber:(Ljava/math/BigInteger;)V
        end local 26 // sun.security.x509.SerialNumber asn
        end local 25 // sun.security.x509.KeyIdentifier akid
       190: .line 590
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            aload 7 /* trustAnchors */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 25 /* newTrustAnchors */
        start local 25 // java.util.Set newTrustAnchors
       191: .line 592
            aload 5 /* prevKey */
            ifnull 196
       192: .line 594
            aload 0 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 26 /* principal */
        start local 26 // javax.security.auth.x500.X500Principal principal
       193: .line 596
            new java.security.cert.TrustAnchor
            dup
            aload 26 /* principal */
            aload 5 /* prevKey */
            aconst_null
            invokespecial java.security.cert.TrustAnchor.<init>:(Ljavax/security/auth/x500/X500Principal;Ljava/security/PublicKey;[B)V
       194: .line 595
            astore 27 /* temporary */
        start local 27 // java.security.cert.TrustAnchor temporary
       195: .line 597
            aload 25 /* newTrustAnchors */
            aload 27 /* temporary */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 27 // java.security.cert.TrustAnchor temporary
        end local 26 // javax.security.auth.x500.X500Principal principal
       196: .line 600
      StackMap locals: java.util.Set
      StackMap stack:
            aconst_null
            astore 26 /* params */
        start local 26 // java.security.cert.PKIXBuilderParameters params
       197: .line 602
            new java.security.cert.PKIXBuilderParameters
            dup
            aload 25 /* newTrustAnchors */
            aload 22 /* certSel */
            invokespecial java.security.cert.PKIXBuilderParameters.<init>:(Ljava/util/Set;Ljava/security/cert/CertSelector;)V
            astore 26 /* params */
       198: .line 603
            goto 201
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.security.cert.X509CertSelector boolean[] sun.security.x509.AuthorityKeyIdentifierExtension java.util.Set java.security.cert.PKIXBuilderParameters
      StackMap stack: java.security.InvalidAlgorithmParameterException
       199: astore 27 /* iape */
        start local 27 // java.security.InvalidAlgorithmParameterException iape
       200: .line 604
            new java.security.cert.CRLException
            dup
            aload 27 /* iape */
            invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 27 // java.security.InvalidAlgorithmParameterException iape
       201: .line 606
      StackMap locals:
      StackMap stack:
            aload 26 /* params */
            aload 8 /* certStores */
            invokevirtual java.security.cert.PKIXBuilderParameters.setCertStores:(Ljava/util/List;)V
       202: .line 607
            aload 26 /* params */
            aload 6 /* provider */
            invokevirtual java.security.cert.PKIXBuilderParameters.setSigProvider:(Ljava/lang/String;)V
       203: .line 608
            aload 26 /* params */
            aload 9 /* validity */
            invokevirtual java.security.cert.PKIXBuilderParameters.setDate:(Ljava/util/Date;)V
       204: .line 610
            ldc "PKIX"
            invokestatic java.security.cert.CertPathBuilder.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
            astore 27 /* builder */
        start local 27 // java.security.cert.CertPathBuilder builder
       205: .line 612
            aload 27 /* builder */
            aload 26 /* params */
            invokevirtual java.security.cert.CertPathBuilder.build:(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
            checkcast java.security.cert.PKIXCertPathBuilderResult
       206: .line 611
            astore 28 /* result */
        start local 28 // java.security.cert.PKIXCertPathBuilderResult result
       207: .line 613
            aload 28 /* result */
            invokevirtual java.security.cert.PKIXCertPathBuilderResult.getPublicKey:()Ljava/security/PublicKey;
            astore 5 /* prevKey */
        end local 28 // java.security.cert.PKIXCertPathBuilderResult result
        end local 27 // java.security.cert.CertPathBuilder builder
       208: .line 614
            goto 211
      StackMap locals:
      StackMap stack: java.lang.Exception
       209: astore 27 /* e */
        start local 27 // java.lang.Exception e
       210: .line 615
            new java.security.cert.CRLException
            dup
            aload 27 /* e */
            invokespecial java.security.cert.CRLException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 27 // java.lang.Exception e
        end local 26 // java.security.cert.PKIXBuilderParameters params
        end local 25 // java.util.Set newTrustAnchors
        end local 24 // sun.security.x509.AuthorityKeyIdentifierExtension akidext
        end local 23 // boolean[] crlSign
        end local 22 // java.security.cert.X509CertSelector certSel
       211: .line 621
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int
      StackMap stack:
            aload 5 /* prevKey */
            aload 2 /* crl */
            aload 10 /* variant */
            invokestatic sun.security.provider.certpath.AlgorithmChecker.check:(Ljava/security/PublicKey;Ljava/security/cert/X509CRL;Ljava/lang/String;)V
       212: .line 622
            goto 217
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
       213: astore 22 /* cpve */
        start local 22 // java.security.cert.CertPathValidatorException cpve
       214: .line 623
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 216
       215: .line 624
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "CRL signature algorithm check failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 22 /* cpve */
            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
       216: .line 626
      StackMap locals: java.security.cert.CertPathValidatorException
      StackMap stack:
            iconst_0
            ireturn
        end local 22 // java.security.cert.CertPathValidatorException cpve
       217: .line 631
      StackMap locals:
      StackMap stack:
            aload 2 /* crl */
            aload 5 /* prevKey */
            aload 6 /* provider */
            invokevirtual java.security.cert.X509CRL.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
       218: .line 632
            goto 223
      StackMap locals:
      StackMap stack: java.lang.Exception
       219: pop
       220: .line 633
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 222
       221: .line 634
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ldc "CRL signature failed to verify"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       222: .line 636
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       223: .line 640
      StackMap locals:
      StackMap stack:
            aload 2 /* crl */
            invokevirtual java.security.cert.X509CRL.getCriticalExtensionOIDs:()Ljava/util/Set;
            astore 22 /* unresCritExts */
        start local 22 // java.util.Set unresCritExts
       224: .line 642
            aload 22 /* unresCritExts */
            ifnull 238
       225: .line 643
            aload 22 /* unresCritExts */
       226: .line 644
            getstatic sun.security.x509.PKIXExtensions.IssuingDistributionPoint_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
       227: .line 643
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
       228: .line 645
            aload 22 /* unresCritExts */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 238
       229: .line 646
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            ifnull 237
       230: .line 647
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized critical extension(s) in CRL: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       231: .line 648
            aload 22 /* unresCritExts */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       232: .line 647
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       233: .line 649
            aload 22 /* unresCritExts */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 23 /* i */
        start local 23 // java.util.Iterator i
       234: .line 650
            goto 236
       235: .line 651
      StackMap locals: java.util.Set java.util.Iterator
      StackMap stack:
            getstatic sun.security.provider.certpath.DistributionPointFetcher.debug:Lsun/security/util/Debug;
            aload 23 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       236: .line 650
      StackMap locals:
      StackMap stack:
            aload 23 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 235
        end local 23 // java.util.Iterator i
       237: .line 653
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
       238: .line 658
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 23 /* i */
        start local 23 // int i
       239: goto 246
       240: .line 659
      StackMap locals: int
      StackMap stack:
            aload 3 /* reasonsMask */
            iload 23 /* i */
            aload 3 /* reasonsMask */
            iload 23 /* i */
            baload
            ifne 243
       241: .line 660
            iload 23 /* i */
            aload 18 /* interimReasonsMask */
            arraylength
            if_icmpge 242
            aload 18 /* interimReasonsMask */
            iload 23 /* i */
            baload
            ifne 243
       242: .line 659
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.util.Set int
      StackMap stack: boolean[] int
            iconst_0
            goto 244
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.util.Set int
      StackMap stack: boolean[] int
       243: iconst_1
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.DistributionPoint java.security.cert.X509CRL boolean[] int java.security.PublicKey java.lang.String java.util.Set java.util.List java.util.Date java.lang.String int sun.security.x509.X509CRLImpl sun.security.x509.IssuingDistributionPointExtension sun.security.x509.X500Name sun.security.x509.X500Name sun.security.x509.GeneralNames sun.security.x509.X500Name boolean[] sun.security.x509.ReasonFlags boolean[] int java.util.Set int
      StackMap stack: boolean[] int int
       244: bastore
       245: .line 658
            iinc 23 /* i */ 1
      StackMap locals:
      StackMap stack:
       246: iload 23 /* i */
            aload 18 /* interimReasonsMask */
            arraylength
            if_icmplt 240
        end local 23 // int i
       247: .line 663
            iconst_1
            ireturn
        end local 22 // java.util.Set unresCritExts
        end local 21 // boolean oneOrMore
        end local 20 // boolean[] pointReasonFlags
        end local 19 // sun.security.x509.ReasonFlags reasons
        end local 18 // boolean[] interimReasonsMask
        end local 17 // sun.security.x509.X500Name pointCrlIssuer
        end local 16 // sun.security.x509.GeneralNames pointCrlIssuers
        end local 15 // sun.security.x509.X500Name crlIssuer
        end local 14 // sun.security.x509.X500Name certIssuer
        end local 13 // sun.security.x509.IssuingDistributionPointExtension idpExt
        end local 12 // sun.security.x509.X509CRLImpl crlImpl
        end local 11 // boolean indirectCRL
        end local 10 // java.lang.String variant
        end local 9 // java.util.Date validity
        end local 8 // java.util.List certStores
        end local 7 // java.util.Set trustAnchors
        end local 6 // java.lang.String provider
        end local 5 // java.security.PublicKey prevKey
        end local 4 // boolean signFlag
        end local 3 // boolean[] reasonsMask
        end local 2 // java.security.cert.X509CRL crl
        end local 1 // sun.security.x509.DistributionPoint point
        end local 0 // sun.security.x509.X509CertImpl certImpl
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  248     0            certImpl  Lsun/security/x509/X509CertImpl;
            0  248     1               point  Lsun/security/x509/DistributionPoint;
            0  248     2                 crl  Ljava/security/cert/X509CRL;
            0  248     3         reasonsMask  [Z
            0  248     4            signFlag  Z
            0  248     5             prevKey  Ljava/security/PublicKey;
            0  248     6            provider  Ljava/lang/String;
            0  248     7        trustAnchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
            0  248     8          certStores  Ljava/util/List<Ljava/security/cert/CertStore;>;
            0  248     9            validity  Ljava/util/Date;
            0  248    10             variant  Ljava/lang/String;
            1  248    11         indirectCRL  Z
            2  248    12             crlImpl  Lsun/security/x509/X509CRLImpl;
            4  248    13              idpExt  Lsun/security/x509/IssuingDistributionPointExtension;
            5  248    14          certIssuer  Lsun/security/x509/X500Name;
            6  248    15           crlIssuer  Lsun/security/x509/X500Name;
            7  248    16     pointCrlIssuers  Lsun/security/x509/GeneralNames;
            8  248    17      pointCrlIssuer  Lsun/security/x509/X500Name;
           18   31    18               match  Z
           19   25    19                   t  Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
           21   24    20                name  Lsun/security/x509/GeneralNameInterface;
           39   51    18            certAKID  [B
           42   51    19             crlAKID  [B
           56  136    18            idpPoint  Lsun/security/x509/DistributionPointName;
           58  117    19            idpNames  Lsun/security/x509/GeneralNames;
           60   67    20        relativeName  Lsun/security/x509/RDN;
           70  105    20          pointNames  Lsun/security/x509/GeneralNames;
           72   87    21        relativeName  Lsun/security/x509/RDN;
           88  105    21               match  Z
           89  101    22                   i  Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
           91  100    23             idpName  Lsun/security/x509/GeneralNameInterface;
           94  100    24                   p  Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
           96   99    25           pointName  Lsun/security/x509/GeneralNameInterface;
          106  117    20               match  Z
          107  115    21                   t  Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
          109  114    22       crlIssuerName  Lsun/security/x509/GeneralNameInterface;
          110  114    23                   i  Ljava/util/Iterator<Lsun/security/x509/GeneralName;>;
          112  113    24             idpName  Lsun/security/x509/GeneralNameInterface;
          119  136    19                   b  Ljava/lang/Boolean;
          137  248    18  interimReasonsMask  [Z
          138  248    19             reasons  Lsun/security/x509/ReasonFlags;
          142  248    20    pointReasonFlags  [Z
          145  155    21      idpReasonFlags  [Z
          146  155    22                   i  I
          164  248    21           oneOrMore  Z
          165  171    22                   i  I
          175  211    22             certSel  Ljava/security/cert/X509CertSelector;
          177  211    23             crlSign  [Z
          180  211    24             akidext  Lsun/security/x509/AuthorityKeyIdentifierExtension;
          182  190    25                akid  Lsun/security/x509/KeyIdentifier;
          184  186    26              derout  Lsun/security/util/DerOutputStream;
          188  190    26                 asn  Lsun/security/x509/SerialNumber;
          191  211    25     newTrustAnchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
          193  196    26           principal  Ljavax/security/auth/x500/X500Principal;
          195  196    27           temporary  Ljava/security/cert/TrustAnchor;
          197  211    26              params  Ljava/security/cert/PKIXBuilderParameters;
          200  201    27                iape  Ljava/security/InvalidAlgorithmParameterException;
          205  208    27             builder  Ljava/security/cert/CertPathBuilder;
          207  208    28              result  Ljava/security/cert/PKIXCertPathBuilderResult;
          210  211    27                   e  Ljava/lang/Exception;
          214  217    22                cpve  Ljava/security/cert/CertPathValidatorException;
          224  248    22       unresCritExts  Ljava/util/Set<Ljava/lang/String;>;
          234  237    23                   i  Ljava/util/Iterator<Ljava/lang/String;>;
          239  247    23                   i  I
      Exception table:
        from    to  target  type
         197   198     199  Class java.security.InvalidAlgorithmParameterException
         204   208     209  Class java.lang.Exception
         211   212     213  Class java.security.cert.CertPathValidatorException
         217   218     219  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CRLException, java.io.IOException
    Signature: (Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;Ljava/security/cert/X509CRL;[ZZLjava/security/PublicKey;Ljava/lang/String;Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/List<Ljava/security/cert/CertStore;>;Ljava/util/Date;Ljava/lang/String;)Z
    MethodParameters:
              Name  Flags
      certImpl      
      point         
      crl           
      reasonsMask   
      signFlag      
      prevKey       
      provider      
      trustAnchors  
      certStores    
      validity      
      variant       

  private static sun.security.x509.GeneralNames getFullNames(sun.security.x509.X500Name, sun.security.x509.RDN);
    descriptor: (Lsun/security/x509/X500Name;Lsun/security/x509/RDN;)Lsun/security/x509/GeneralNames;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.x509.X500Name issuer
        start local 1 // sun.security.x509.RDN rdn
         0: .line 672
            new java.util.ArrayList
            dup
            aload 0 /* issuer */
            invokevirtual sun.security.x509.X500Name.rdns:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* rdns */
        start local 2 // java.util.List rdns
         1: .line 673
            aload 2 /* rdns */
            aload 1 /* rdn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 674
            new sun.security.x509.X500Name
            dup
            aload 2 /* rdns */
            iconst_0
            anewarray sun.security.x509.RDN
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.security.x509.RDN[]
            invokespecial sun.security.x509.X500Name.<init>:([Lsun/security/x509/RDN;)V
            astore 3 /* fullName */
        start local 3 // sun.security.x509.X500Name fullName
         3: .line 675
            new sun.security.x509.GeneralNames
            dup
            invokespecial sun.security.x509.GeneralNames.<init>:()V
            astore 4 /* fullNames */
        start local 4 // sun.security.x509.GeneralNames fullNames
         4: .line 676
            aload 4 /* fullNames */
            new sun.security.x509.GeneralName
            dup
            aload 3 /* fullName */
            invokespecial sun.security.x509.GeneralName.<init>:(Lsun/security/x509/GeneralNameInterface;)V
            invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
            pop
         5: .line 677
            aload 4 /* fullNames */
            areturn
        end local 4 // sun.security.x509.GeneralNames fullNames
        end local 3 // sun.security.x509.X500Name fullName
        end local 2 // java.util.List rdns
        end local 1 // sun.security.x509.RDN rdn
        end local 0 // sun.security.x509.X500Name issuer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0     issuer  Lsun/security/x509/X500Name;
            0    6     1        rdn  Lsun/security/x509/RDN;
            1    6     2       rdns  Ljava/util/List<Lsun/security/x509/RDN;>;
            3    6     3   fullName  Lsun/security/x509/X500Name;
            4    6     4  fullNames  Lsun/security/x509/GeneralNames;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      issuer  
      rdn     

  private static boolean issues(sun.security.x509.X509CertImpl, sun.security.x509.X509CRLImpl, java.lang.String);
    descriptor: (Lsun/security/x509/X509CertImpl;Lsun/security/x509/X509CRLImpl;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // sun.security.x509.X509CertImpl cert
        start local 1 // sun.security.x509.X509CRLImpl crl
        start local 2 // java.lang.String provider
         0: .line 689
            iconst_0
            istore 3 /* matched */
        start local 3 // boolean matched
         1: .line 692
            new sun.security.provider.certpath.AdaptableX509CertSelector
            dup
            invokespecial sun.security.provider.certpath.AdaptableX509CertSelector.<init>:()V
         2: .line 691
            astore 4 /* issuerSelector */
        start local 4 // sun.security.provider.certpath.AdaptableX509CertSelector issuerSelector
         3: .line 695
            aload 0 /* cert */
            invokevirtual sun.security.x509.X509CertImpl.getKeyUsage:()[Z
            astore 5 /* usages */
        start local 5 // boolean[] usages
         4: .line 696
            aload 5 /* usages */
            ifnull 7
         5: .line 697
            aload 5 /* usages */
            bipush 6
            iconst_1
            bastore
         6: .line 698
            aload 4 /* issuerSelector */
            aload 5 /* usages */
            invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setKeyUsage:([Z)V
         7: .line 702
      StackMap locals: int sun.security.provider.certpath.AdaptableX509CertSelector boolean[]
      StackMap stack:
            aload 1 /* crl */
            invokevirtual sun.security.x509.X509CRLImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 6 /* crlIssuer */
        start local 6 // javax.security.auth.x500.X500Principal crlIssuer
         8: .line 703
            aload 4 /* issuerSelector */
            aload 6 /* crlIssuer */
            invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
         9: .line 713
            aload 1 /* crl */
            invokevirtual sun.security.x509.X509CRLImpl.getAuthKeyIdExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
            astore 7 /* crlAKID */
        start local 7 // sun.security.x509.AuthorityKeyIdentifierExtension crlAKID
        10: .line 714
            aload 7 /* crlAKID */
            ifnull 12
        11: .line 715
            aload 4 /* issuerSelector */
            aload 7 /* crlAKID */
            invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.parseAuthorityKeyIdentifierExtension:(Lsun/security/x509/AuthorityKeyIdentifierExtension;)V
        12: .line 718
      StackMap locals: javax.security.auth.x500.X500Principal sun.security.x509.AuthorityKeyIdentifierExtension
      StackMap stack:
            aload 4 /* issuerSelector */
            aload 0 /* cert */
            invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.match:(Ljava/security/cert/Certificate;)Z
            istore 3 /* matched */
        13: .line 721
            iload 3 /* matched */
            ifeq 20
            aload 7 /* crlAKID */
            ifnull 15
        14: .line 722
            aload 0 /* cert */
            invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
            ifnonnull 20
        15: .line 724
      StackMap locals:
      StackMap stack:
            aload 1 /* crl */
            aload 0 /* cert */
            invokevirtual sun.security.x509.X509CertImpl.getPublicKey:()Ljava/security/PublicKey;
            aload 2 /* provider */
            invokevirtual sun.security.x509.X509CRLImpl.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
        16: .line 725
            iconst_1
            istore 3 /* matched */
        17: .line 726
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Exception
        18: pop
        19: .line 727
            iconst_0
            istore 3 /* matched */
        20: .line 731
      StackMap locals:
      StackMap stack:
            iload 3 /* matched */
            ireturn
        end local 7 // sun.security.x509.AuthorityKeyIdentifierExtension crlAKID
        end local 6 // javax.security.auth.x500.X500Principal crlIssuer
        end local 5 // boolean[] usages
        end local 4 // sun.security.provider.certpath.AdaptableX509CertSelector issuerSelector
        end local 3 // boolean matched
        end local 2 // java.lang.String provider
        end local 1 // sun.security.x509.X509CRLImpl crl
        end local 0 // sun.security.x509.X509CertImpl cert
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            cert  Lsun/security/x509/X509CertImpl;
            0   21     1             crl  Lsun/security/x509/X509CRLImpl;
            0   21     2        provider  Ljava/lang/String;
            1   21     3         matched  Z
            3   21     4  issuerSelector  Lsun/security/provider/certpath/AdaptableX509CertSelector;
            4   21     5          usages  [Z
            8   21     6       crlIssuer  Ljavax/security/auth/x500/X500Principal;
           10   21     7         crlAKID  Lsun/security/x509/AuthorityKeyIdentifierExtension;
      Exception table:
        from    to  target  type
          15    17      18  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      cert      
      crl       
      provider  
}
SourceFile: "DistributionPointFetcher.java"
InnerClasses:
  URICertStoreParameters = sun.security.provider.certpath.URICertStore$URICertStoreParameters of sun.security.provider.certpath.URICertStore