class org.bouncycastle.jce.provider.RFC3281CertPathUtilities
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.jce.provider.RFC3281CertPathUtilities
  super_class: java.lang.Object
{
  private static final java.lang.String TARGET_INFORMATION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String NO_REV_AVAIL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String CRL_DISTRIBUTION_POINTS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String AUTHORITY_INFO_ACCESS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 49
            getstatic org.bouncycastle.asn1.x509.X509Extensions.TargetInformation:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
         1: .line 50
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
         2: .line 49
            putstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.TARGET_INFORMATION:Ljava/lang/String;
         3: .line 52
            getstatic org.bouncycastle.asn1.x509.X509Extensions.NoRevAvail:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
         4: .line 53
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
         5: .line 52
            putstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.NO_REV_AVAIL:Ljava/lang/String;
         6: .line 55
            getstatic org.bouncycastle.asn1.x509.X509Extensions.CRLDistributionPoints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
         7: .line 56
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
         8: .line 55
            putstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
         9: .line 58
            getstatic org.bouncycastle.asn1.x509.X509Extensions.AuthorityInfoAccess:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
        10: .line 59
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
        11: .line 58
            putstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.AUTHORITY_INFO_ACCESS:Ljava/lang/String;
        12: .line 59
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.RFC3281CertPathUtilities this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.jce.provider.RFC3281CertPathUtilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/jce/provider/RFC3281CertPathUtilities;

  protected static void processAttrCert7(org.bouncycastle.x509.X509AttributeCertificate, java.security.cert.CertPath, java.security.cert.CertPath, org.bouncycastle.x509.ExtendedPKIXParameters);
    descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Ljava/security/cert/CertPath;Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
        start local 1 // java.security.cert.CertPath certPath
        start local 2 // java.security.cert.CertPath holderCertPath
        start local 3 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
         0: .line 69
            aload 0 /* attrCert */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getCriticalExtensionOIDs:()Ljava/util/Set;
            astore 4 /* set */
        start local 4 // java.util.Set set
         1: .line 74
            aload 4 /* set */
            getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.TARGET_INFORMATION:Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 13
         2: .line 79
            aload 0 /* attrCert */
            getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.TARGET_INFORMATION:Ljava/lang/String;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
         3: .line 78
            invokestatic org.bouncycastle.asn1.x509.TargetInformation.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/TargetInformation;
            pop
         4: .line 80
            goto 13
         5: .line 81
      StackMap locals: org.bouncycastle.x509.X509AttributeCertificate java.security.cert.CertPath java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.util.Set
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 5 /* e */
        start local 5 // org.bouncycastle.jce.provider.AnnotatedException e
         6: .line 83
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
         7: .line 84
            ldc "Target information extension could not be read."
            aload 5 /* e */
         8: .line 83
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // org.bouncycastle.jce.provider.AnnotatedException e
         9: .line 86
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 5 /* e */
        start local 5 // java.lang.IllegalArgumentException e
        10: .line 88
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        11: .line 89
            ldc "Target information extension could not be read."
            aload 5 /* e */
        12: .line 88
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.IllegalArgumentException e
        13: .line 92
      StackMap locals:
      StackMap stack:
            aload 4 /* set */
            getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.TARGET_INFORMATION:Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        14: .line 93
            aload 3 /* pkixParams */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getAttrCertCheckers:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* it */
        start local 5 // java.util.Iterator it
        15: goto 19
        16: .line 96
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.x509.PKIXAttrCertChecker
            aload 0 /* attrCert */
            aload 1 /* certPath */
        17: .line 97
            aload 2 /* holderCertPath */
            aload 4 /* set */
        18: .line 96
            invokevirtual org.bouncycastle.x509.PKIXAttrCertChecker.check:(Lorg/bouncycastle/x509/X509AttributeCertificate;Ljava/security/cert/CertPath;Ljava/security/cert/CertPath;Ljava/util/Collection;)V
        19: .line 93
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
        20: .line 94
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        end local 5 // java.util.Iterator it
        21: .line 99
            aload 4 /* set */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 27
        22: .line 101
            new java.security.cert.CertPathValidatorException
            dup
        23: .line 102
            new java.lang.StringBuilder
            dup
            ldc "Attribute certificate contains unsupported critical extensions: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 103
            aload 4 /* set */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        25: .line 102
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 101
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 105
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.Set set
        end local 3 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
        end local 2 // java.security.cert.CertPath holderCertPath
        end local 1 // java.security.cert.CertPath certPath
        end local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   28     0        attrCert  Lorg/bouncycastle/x509/X509AttributeCertificate;
            0   28     1        certPath  Ljava/security/cert/CertPath;
            0   28     2  holderCertPath  Ljava/security/cert/CertPath;
            0   28     3      pkixParams  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            1   28     4             set  Ljava/util/Set;
            6    9     5               e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           10   13     5               e  Ljava/lang/IllegalArgumentException;
           15   21     5              it  Ljava/util/Iterator;
      Exception table:
        from    to  target  type
           2     4       5  Class org.bouncycastle.jce.provider.AnnotatedException
           2     4       9  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
                Name  Flags
      attrCert        
      certPath        
      holderCertPath  
      pkixParams      

  protected static void checkCRLs(org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters, java.security.cert.X509Certificate, java.util.Date, java.util.List);
    descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/util/List;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=11, locals=13, args_size=5
        start local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        start local 2 // java.security.cert.X509Certificate issuerCert
        start local 3 // java.util.Date validDate
        start local 4 // java.util.List certPathCerts
         0: .line 126
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isRevocationEnabled:()Z
            ifeq 114
         1: .line 129
            aload 0 /* attrCert */
            getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.NO_REV_AVAIL:Ljava/lang/String;
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getExtensionValue:(Ljava/lang/String;)[B
            ifnonnull 109
         2: .line 131
            aconst_null
            astore 5 /* crldp */
        start local 5 // org.bouncycastle.asn1.x509.CRLDistPoint crldp
         3: .line 135
            aload 0 /* attrCert */
            getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Ljava/lang/String;)Lorg/bouncycastle/asn1/DERObject;
         4: .line 134
            invokestatic org.bouncycastle.asn1.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
            astore 5 /* crldp */
         5: .line 136
            goto 11
         6: .line 137
      StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 6 /* e */
        start local 6 // org.bouncycastle.jce.provider.AnnotatedException e
         7: .line 139
            new java.security.cert.CertPathValidatorException
            dup
         8: .line 140
            ldc "CRL distribution point extension could not be read."
         9: .line 141
            aload 6 /* e */
        10: .line 139
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        11: .line 146
      StackMap locals:
      StackMap stack:
            aload 5 /* crldp */
        12: .line 147
            aload 1 /* paramsPKIX */
        13: .line 146
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.addAdditionalStoresFromCRLDistributionPoint:(Lorg/bouncycastle/asn1/x509/CRLDistPoint;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
        14: .line 148
            goto 20
        15: .line 149
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 6 /* e */
        start local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        16: .line 151
            new java.security.cert.CertPathValidatorException
            dup
        17: .line 152
            ldc "No additional CRL locations could be decoded from CRL distribution point extension."
        18: .line 153
            aload 6 /* e */
        19: .line 151
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.bouncycastle.jce.provider.AnnotatedException e
        20: .line 155
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jce.provider.CertStatus
            dup
            invokespecial org.bouncycastle.jce.provider.CertStatus.<init>:()V
            astore 6 /* certStatus */
        start local 6 // org.bouncycastle.jce.provider.CertStatus certStatus
        21: .line 156
            new org.bouncycastle.jce.provider.ReasonsMask
            dup
            invokespecial org.bouncycastle.jce.provider.ReasonsMask.<init>:()V
            astore 7 /* reasonsMask */
        start local 7 // org.bouncycastle.jce.provider.ReasonsMask reasonsMask
        22: .line 158
            aconst_null
            astore 8 /* lastException */
        start local 8 // org.bouncycastle.jce.provider.AnnotatedException lastException
        23: .line 159
            iconst_0
            istore 9 /* validCrlFound */
        start local 9 // boolean validCrlFound
        24: .line 161
            aload 5 /* crldp */
            ifnull 51
        25: .line 163
            aconst_null
            astore 10 /* dps */
        start local 10 // org.bouncycastle.asn1.x509.DistributionPoint[] dps
        26: .line 166
            aload 5 /* crldp */
            invokevirtual org.bouncycastle.asn1.x509.CRLDistPoint.getDistributionPoints:()[Lorg/bouncycastle/asn1/x509/DistributionPoint;
            astore 10 /* dps */
        27: .line 167
            goto 32
        28: .line 168
      StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.AnnotatedException int org.bouncycastle.asn1.x509.DistributionPoint[]
      StackMap stack: java.lang.Exception
            astore 11 /* e */
        start local 11 // java.lang.Exception e
        29: .line 170
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        30: .line 171
            ldc "Distribution points could not be read."
            aload 11 /* e */
        31: .line 170
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 11 // java.lang.Exception e
        32: .line 175
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        33: goto 43
        34: .line 179
      StackMap locals: int
      StackMap stack:
            aload 1 /* paramsPKIX */
        35: .line 180
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
        36: .line 179
            checkcast org.bouncycastle.x509.ExtendedPKIXParameters
            astore 12 /* paramsPKIXClone */
        start local 12 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIXClone
        37: .line 181
            aload 10 /* dps */
            iload 11 /* i */
            aaload
            aload 0 /* attrCert */
            aload 12 /* paramsPKIXClone */
        38: .line 182
            aload 3 /* validDate */
            aload 2 /* issuerCert */
            aload 6 /* certStatus */
            aload 7 /* reasonsMask */
        39: .line 183
            aload 4 /* certPathCerts */
        40: .line 181
            invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.checkCRL:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Date;Ljava/security/cert/X509Certificate;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
        41: .line 184
            iconst_1
            istore 9 /* validCrlFound */
        end local 12 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIXClone
        42: .line 177
            iinc 11 /* i */ 1
        43: .line 175
      StackMap locals:
      StackMap stack:
            iload 11 /* i */
            aload 10 /* dps */
            arraylength
            if_icmpge 51
        44: .line 176
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 51
        45: .line 177
            aload 7 /* reasonsMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
            ifeq 34
        end local 11 // int i
        46: .line 186
            goto 51
        47: .line 187
      StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.AnnotatedException int org.bouncycastle.asn1.x509.DistributionPoint[]
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 11 /* e */
        start local 11 // org.bouncycastle.jce.provider.AnnotatedException e
        48: .line 189
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        49: .line 190
            ldc "No valid CRL for distribution point found."
            aload 11 /* e */
        50: .line 189
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 8 /* lastException */
        end local 11 // org.bouncycastle.jce.provider.AnnotatedException e
        end local 10 // org.bouncycastle.asn1.x509.DistributionPoint[] dps
        51: .line 200
      StackMap locals:
      StackMap stack:
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 88
        52: .line 201
            aload 7 /* reasonsMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
            ifne 88
        53: .line 210
            aconst_null
            astore 10 /* issuer */
        start local 10 // org.bouncycastle.asn1.DERObject issuer
        54: .line 214
            new org.bouncycastle.asn1.ASN1InputStream
            dup
        55: .line 215
            aload 0 /* attrCert */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getIssuer:()Lorg/bouncycastle/x509/AttributeCertificateIssuer;
        56: .line 216
            invokevirtual org.bouncycastle.x509.AttributeCertificateIssuer.getPrincipals:()[Ljava/security/Principal;
            iconst_0
        57: .line 215
            aaload
            checkcast javax.security.auth.x500.X500Principal
        58: .line 216
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        59: .line 214
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:([B)V
        60: .line 217
            invokevirtual org.bouncycastle.asn1.ASN1InputStream.readObject:()Lorg/bouncycastle/asn1/DERObject;
        61: .line 214
            astore 10 /* issuer */
        62: .line 218
            goto 68
        63: .line 219
      StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.AnnotatedException int org.bouncycastle.asn1.DERObject
      StackMap stack: java.lang.Exception
            astore 11 /* e */
        start local 11 // java.lang.Exception e
        64: .line 221
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        65: .line 222
            ldc "Issuer from certificate for CRL could not be reencoded."
        66: .line 223
            aload 11 /* e */
        67: .line 221
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 11 // java.lang.Exception e
        68: .line 225
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.x509.DistributionPoint
            dup
        69: .line 226
            new org.bouncycastle.asn1.x509.DistributionPointName
            dup
            iconst_0
            new org.bouncycastle.asn1.x509.GeneralNames
            dup
        70: .line 227
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            iconst_4
        71: .line 228
            aload 10 /* issuer */
        72: .line 227
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(ILorg/bouncycastle/asn1/ASN1Encodable;)V
            invokespecial org.bouncycastle.asn1.x509.GeneralNames.<init>:(Lorg/bouncycastle/asn1/x509/GeneralName;)V
        73: .line 226
            invokespecial org.bouncycastle.asn1.x509.DistributionPointName.<init>:(ILorg/bouncycastle/asn1/ASN1Encodable;)V
        74: .line 228
            aconst_null
            aconst_null
        75: .line 225
            invokespecial org.bouncycastle.asn1.x509.DistributionPoint.<init>:(Lorg/bouncycastle/asn1/x509/DistributionPointName;Lorg/bouncycastle/asn1/x509/ReasonFlags;Lorg/bouncycastle/asn1/x509/GeneralNames;)V
            astore 11 /* dp */
        start local 11 // org.bouncycastle.asn1.x509.DistributionPoint dp
        76: .line 229
            aload 1 /* paramsPKIX */
        77: .line 230
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.clone:()Ljava/lang/Object;
        78: .line 229
            checkcast org.bouncycastle.x509.ExtendedPKIXParameters
            astore 12 /* paramsPKIXClone */
        start local 12 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIXClone
        79: .line 231
            aload 11 /* dp */
            aload 0 /* attrCert */
            aload 12 /* paramsPKIXClone */
            aload 3 /* validDate */
        80: .line 232
            aload 2 /* issuerCert */
            aload 6 /* certStatus */
            aload 7 /* reasonsMask */
            aload 4 /* certPathCerts */
        81: .line 231
            invokestatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.checkCRL:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Date;Ljava/security/cert/X509Certificate;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
        82: .line 233
            iconst_1
            istore 9 /* validCrlFound */
        end local 12 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIXClone
        end local 11 // org.bouncycastle.asn1.x509.DistributionPoint dp
        end local 10 // org.bouncycastle.asn1.DERObject issuer
        83: .line 234
            goto 88
        84: .line 235
      StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List org.bouncycastle.asn1.x509.CRLDistPoint org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask org.bouncycastle.jce.provider.AnnotatedException int
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 10 /* e */
        start local 10 // org.bouncycastle.jce.provider.AnnotatedException e
        85: .line 237
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        86: .line 238
            ldc "No valid CRL for distribution point found."
            aload 10 /* e */
        87: .line 237
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 8 /* lastException */
        end local 10 // org.bouncycastle.jce.provider.AnnotatedException e
        88: .line 242
      StackMap locals:
      StackMap stack:
            iload 9 /* validCrlFound */
            ifne 92
        89: .line 244
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        90: .line 245
            ldc "No valid CRL found."
            aload 8 /* lastException */
        91: .line 244
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        92: .line 247
      StackMap locals:
      StackMap stack:
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpeq 102
        93: .line 249
            new java.lang.StringBuilder
            dup
            ldc "Attribute certificate revocation after "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        94: .line 250
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getRevocationDate:()Ljava/util/Date;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        95: .line 249
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* message */
        start local 10 // java.lang.String message
        96: .line 251
            new java.lang.StringBuilder
            dup
            aload 10 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ", reason: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        97: .line 252
            getstatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.crlReasons:[Ljava/lang/String;
            aload 6 /* certStatus */
        98: .line 253
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
        99: .line 252
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       100: .line 251
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* message */
       101: .line 254
            new java.security.cert.CertPathValidatorException
            dup
            aload 10 /* message */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.String message
       102: .line 256
      StackMap locals:
      StackMap stack:
            aload 7 /* reasonsMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
            ifne 105
       103: .line 257
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 105
       104: .line 259
            aload 6 /* certStatus */
            bipush 12
            invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
       105: .line 261
      StackMap locals:
      StackMap stack:
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 12
            if_icmpne 114
       106: .line 263
            new java.security.cert.CertPathValidatorException
            dup
       107: .line 264
            ldc "Attribute certificate status could not be determined."
       108: .line 263
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // boolean validCrlFound
        end local 8 // org.bouncycastle.jce.provider.AnnotatedException lastException
        end local 7 // org.bouncycastle.jce.provider.ReasonsMask reasonsMask
        end local 6 // org.bouncycastle.jce.provider.CertStatus certStatus
        end local 5 // org.bouncycastle.asn1.x509.CRLDistPoint crldp
       109: .line 270
      StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.X509Certificate java.util.Date java.util.List
      StackMap stack:
            aload 0 /* attrCert */
            getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.CRL_DISTRIBUTION_POINTS:Ljava/lang/String;
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getExtensionValue:(Ljava/lang/String;)[B
            ifnonnull 111
       110: .line 271
            aload 0 /* attrCert */
            getstatic org.bouncycastle.jce.provider.RFC3281CertPathUtilities.AUTHORITY_INFO_ACCESS:Ljava/lang/String;
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getExtensionValue:(Ljava/lang/String;)[B
            ifnull 114
       111: .line 273
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
       112: .line 274
            ldc "No rev avail extension is set, but also an AC revocation pointer."
       113: .line 273
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
       114: .line 278
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.List certPathCerts
        end local 3 // java.util.Date validDate
        end local 2 // java.security.cert.X509Certificate issuerCert
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        end local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  115     0         attrCert  Lorg/bouncycastle/x509/X509AttributeCertificate;
            0  115     1       paramsPKIX  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            0  115     2       issuerCert  Ljava/security/cert/X509Certificate;
            0  115     3        validDate  Ljava/util/Date;
            0  115     4    certPathCerts  Ljava/util/List;
            3  109     5            crldp  Lorg/bouncycastle/asn1/x509/CRLDistPoint;
            7   11     6                e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           16   20     6                e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           21  109     6       certStatus  Lorg/bouncycastle/jce/provider/CertStatus;
           22  109     7      reasonsMask  Lorg/bouncycastle/jce/provider/ReasonsMask;
           23  109     8    lastException  Lorg/bouncycastle/jce/provider/AnnotatedException;
           24  109     9    validCrlFound  Z
           26   51    10              dps  [Lorg/bouncycastle/asn1/x509/DistributionPoint;
           29   32    11                e  Ljava/lang/Exception;
           33   46    11                i  I
           37   42    12  paramsPKIXClone  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
           48   51    11                e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           54   83    10           issuer  Lorg/bouncycastle/asn1/DERObject;
           64   68    11                e  Ljava/lang/Exception;
           76   83    11               dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
           79   83    12  paramsPKIXClone  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
           85   88    10                e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           96  102    10          message  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3     5       6  Class org.bouncycastle.jce.provider.AnnotatedException
          11    14      15  Class org.bouncycastle.jce.provider.AnnotatedException
          26    27      28  Class java.lang.Exception
          32    46      47  Class org.bouncycastle.jce.provider.AnnotatedException
          54    62      63  Class java.lang.Exception
          53    83      84  Class org.bouncycastle.jce.provider.AnnotatedException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
               Name  Flags
      attrCert       
      paramsPKIX     
      issuerCert     
      validDate      
      certPathCerts  

  protected static void additionalChecks(org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters);
    descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
         0: .line 284
            aload 1 /* pkixParams */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getProhibitedACAttributes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* it */
        start local 2 // java.util.Iterator it
         1: goto 9
         2: .line 287
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* oid */
        start local 3 // java.lang.String oid
         3: .line 288
            aload 0 /* attrCert */
            aload 3 /* oid */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getAttributes:(Ljava/lang/String;)[Lorg/bouncycastle/x509/X509Attribute;
            ifnull 9
         4: .line 290
            new java.security.cert.CertPathValidatorException
            dup
         5: .line 291
            new java.lang.StringBuilder
            dup
            ldc "Attribute certificate contains prohibited attribute: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 292
            aload 3 /* oid */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 291
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 290
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String oid
         9: .line 284
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
        10: .line 285
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 2 // java.util.Iterator it
        11: .line 295
            aload 1 /* pkixParams */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getNecessaryACAttributes:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* it */
        start local 2 // java.util.Iterator it
        12: goto 20
        13: .line 298
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* oid */
        start local 3 // java.lang.String oid
        14: .line 299
            aload 0 /* attrCert */
            aload 3 /* oid */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getAttributes:(Ljava/lang/String;)[Lorg/bouncycastle/x509/X509Attribute;
            ifnonnull 20
        15: .line 301
            new java.security.cert.CertPathValidatorException
            dup
        16: .line 302
            new java.lang.StringBuilder
            dup
            ldc "Attribute certificate does not contain necessary attribute: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 303
            aload 3 /* oid */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 302
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 301
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String oid
        20: .line 295
      StackMap locals:
      StackMap stack:
            aload 2 /* it */
        21: .line 296
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        end local 2 // java.util.Iterator it
        22: .line 306
            return
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
        end local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0    attrCert  Lorg/bouncycastle/x509/X509AttributeCertificate;
            0   23     1  pkixParams  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            1   11     2          it  Ljava/util/Iterator;
            3    9     3         oid  Ljava/lang/String;
           12   22     2          it  Ljava/util/Iterator;
           14   20     3         oid  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
            Name  Flags
      attrCert    
      pkixParams  

  protected static void processAttrCert5(org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters);
    descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
         0: .line 313
            aload 0 /* attrCert */
         1: .line 314
            aload 1 /* pkixParams */
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getValidDate:(Ljava/security/cert/PKIXParameters;)Ljava/util/Date;
         2: .line 313
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.checkValidity:(Ljava/util/Date;)V
         3: .line 315
            goto 12
         4: .line 316
      StackMap locals:
      StackMap stack: java.security.cert.CertificateExpiredException
            astore 2 /* e */
        start local 2 // java.security.cert.CertificateExpiredException e
         5: .line 318
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
         6: .line 319
            ldc "Attribute certificate is not valid."
            aload 2 /* e */
         7: .line 318
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.cert.CertificateExpiredException e
         8: .line 321
      StackMap locals:
      StackMap stack: java.security.cert.CertificateNotYetValidException
            astore 2 /* e */
        start local 2 // java.security.cert.CertificateNotYetValidException e
         9: .line 323
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        10: .line 324
            ldc "Attribute certificate is not valid."
            aload 2 /* e */
        11: .line 323
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.cert.CertificateNotYetValidException e
        12: .line 326
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
        end local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0    attrCert  Lorg/bouncycastle/x509/X509AttributeCertificate;
            0   13     1  pkixParams  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            5    8     2           e  Ljava/security/cert/CertificateExpiredException;
            9   12     2           e  Ljava/security/cert/CertificateNotYetValidException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.security.cert.CertificateExpiredException
           0     3       8  Class java.security.cert.CertificateNotYetValidException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
            Name  Flags
      attrCert    
      pkixParams  

  protected static void processAttrCert4(java.security.cert.X509Certificate, org.bouncycastle.x509.ExtendedPKIXParameters);
    descriptor: (Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // java.security.cert.X509Certificate acIssuerCert
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
         0: .line 331
            aload 1 /* pkixParams */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getTrustedACIssuers:()Ljava/util/Set;
            astore 2 /* set */
        start local 2 // java.util.Set set
         1: .line 332
            iconst_0
            istore 3 /* trusted */
        start local 3 // boolean trusted
         2: .line 333
            aload 2 /* set */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         3: goto 9
         4: .line 335
      StackMap locals: java.util.Set int java.util.Iterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.TrustAnchor
            astore 5 /* anchor */
        start local 5 // java.security.cert.TrustAnchor anchor
         5: .line 336
            aload 0 /* acIssuerCert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            ldc "RFC2253"
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
         6: .line 337
            aload 5 /* anchor */
            invokevirtual java.security.cert.TrustAnchor.getCAName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 338
            aload 0 /* acIssuerCert */
            aload 5 /* anchor */
            invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 340
      StackMap locals: java.security.cert.TrustAnchor
      StackMap stack:
            iconst_1
            istore 3 /* trusted */
        end local 5 // java.security.cert.TrustAnchor anchor
         9: .line 333
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 4 // java.util.Iterator it
        10: .line 343
            iload 3 /* trusted */
            ifne 14
        11: .line 345
            new java.security.cert.CertPathValidatorException
            dup
        12: .line 346
            ldc "Attribute certificate issuer is not directly trusted."
        13: .line 345
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 348
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean trusted
        end local 2 // java.util.Set set
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
        end local 0 // java.security.cert.X509Certificate acIssuerCert
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0  acIssuerCert  Ljava/security/cert/X509Certificate;
            0   15     1    pkixParams  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            1   15     2           set  Ljava/util/Set;
            2   15     3       trusted  Z
            3   10     4            it  Ljava/util/Iterator;
            5    9     5        anchor  Ljava/security/cert/TrustAnchor;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
              Name  Flags
      acIssuerCert  
      pkixParams    

  protected static void processAttrCert3(java.security.cert.X509Certificate, org.bouncycastle.x509.ExtendedPKIXParameters);
    descriptor: (Ljava/security/cert/X509Certificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.security.cert.X509Certificate acIssuerCert
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
         0: .line 353
            aload 0 /* acIssuerCert */
            invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
            ifnull 5
         1: .line 354
            aload 0 /* acIssuerCert */
            invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
            iconst_0
            baload
            ifne 5
            aload 0 /* acIssuerCert */
            invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
            iconst_1
            baload
            ifne 5
         2: .line 356
            new java.security.cert.CertPathValidatorException
            dup
         3: .line 357
            ldc "Attribute certificate issuer public key cannot be used to validate digital signatures."
         4: .line 356
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* acIssuerCert */
            invokevirtual java.security.cert.X509Certificate.getBasicConstraints:()I
            iconst_m1
            if_icmpeq 9
         6: .line 361
            new java.security.cert.CertPathValidatorException
            dup
         7: .line 362
            ldc "Attribute certificate issuer is also a public key certificate issuer."
         8: .line 361
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 364
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
        end local 0 // java.security.cert.X509Certificate acIssuerCert
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0  acIssuerCert  Ljava/security/cert/X509Certificate;
            0   10     1    pkixParams  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
              Name  Flags
      acIssuerCert  
      pkixParams    

  protected static java.security.cert.CertPathValidatorResult processAttrCert2(java.security.cert.CertPath, org.bouncycastle.x509.ExtendedPKIXParameters);
    descriptor: (Ljava/security/cert/CertPath;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/security/cert/CertPathValidatorResult;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.security.cert.CertPath certPath
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
         0: .line 370
            aconst_null
            astore 2 /* validator */
        start local 2 // java.security.cert.CertPathValidator validator
         1: .line 373
            ldc "PKIX"
            getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
            invokestatic java.security.cert.CertPathValidator.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathValidator;
            astore 2 /* validator */
         2: .line 374
            goto 11
         3: .line 375
      StackMap locals: java.security.cert.CertPath org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.CertPathValidator
      StackMap stack: java.security.NoSuchProviderException
            astore 3 /* e */
        start local 3 // java.security.NoSuchProviderException e
         4: .line 377
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
         5: .line 378
            ldc "Support class could not be created."
            aload 3 /* e */
         6: .line 377
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.NoSuchProviderException e
         7: .line 380
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 3 /* e */
        start local 3 // java.security.NoSuchAlgorithmException e
         8: .line 382
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
         9: .line 383
            ldc "Support class could not be created."
            aload 3 /* e */
        10: .line 382
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.NoSuchAlgorithmException e
        11: .line 387
      StackMap locals:
      StackMap stack:
            aload 2 /* validator */
            aload 0 /* certPath */
            aload 1 /* pkixParams */
            invokevirtual java.security.cert.CertPathValidator.validate:(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
        12: areturn
        13: .line 389
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
            astore 3 /* e */
        start local 3 // java.security.cert.CertPathValidatorException e
        14: .line 391
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        15: .line 392
            ldc "Certification path for issuer certificate of attribute certificate could not be validated."
        16: .line 393
            aload 3 /* e */
        17: .line 391
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.cert.CertPathValidatorException e
        18: .line 395
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 3 /* e */
        start local 3 // java.security.InvalidAlgorithmParameterException e
        19: .line 398
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokevirtual java.security.InvalidAlgorithmParameterException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.security.InvalidAlgorithmParameterException e
        end local 2 // java.security.cert.CertPathValidator validator
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
        end local 0 // java.security.cert.CertPath certPath
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0    certPath  Ljava/security/cert/CertPath;
            0   20     1  pkixParams  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            1   20     2   validator  Ljava/security/cert/CertPathValidator;
            4    7     3           e  Ljava/security/NoSuchProviderException;
            8   11     3           e  Ljava/security/NoSuchAlgorithmException;
           14   18     3           e  Ljava/security/cert/CertPathValidatorException;
           19   20     3           e  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.security.NoSuchProviderException
           1     2       7  Class java.security.NoSuchAlgorithmException
          11    12      13  Class java.security.cert.CertPathValidatorException
          11    12      18  Class java.security.InvalidAlgorithmParameterException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
            Name  Flags
      certPath    
      pkixParams  

  protected static java.security.cert.CertPath processAttrCert1(org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters);
    descriptor: (Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/security/cert/CertPath;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
        start local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
         0: .line 423
            aconst_null
            astore 2 /* result */
        start local 2 // java.security.cert.CertPathBuilderResult result
         1: .line 425
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* holderPKCs */
        start local 3 // java.util.Set holderPKCs
         2: .line 426
            aload 0 /* attrCert */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getIssuer:()[Ljava/security/Principal;
            ifnull 31
         3: .line 428
            new org.bouncycastle.x509.X509CertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
            astore 4 /* selector */
        start local 4 // org.bouncycastle.x509.X509CertStoreSelector selector
         4: .line 429
            aload 4 /* selector */
            aload 0 /* attrCert */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setSerialNumber:(Ljava/math/BigInteger;)V
         5: .line 430
            aload 0 /* attrCert */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getIssuer:()[Ljava/security/Principal;
            astore 5 /* principals */
        start local 5 // java.security.Principal[] principals
         6: .line 431
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 26
         8: .line 435
      StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.CertPathBuilderResult java.util.Set org.bouncycastle.x509.X509CertStoreSelector java.security.Principal[] int
      StackMap stack:
            aload 5 /* principals */
            iload 6 /* i */
            aaload
            instanceof javax.security.auth.x500.X500Principal
            ifeq 12
         9: .line 437
            aload 4 /* selector */
            aload 5 /* principals */
            iload 6 /* i */
            aaload
            checkcast javax.security.auth.x500.X500Principal
        10: .line 438
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        11: .line 437
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setIssuer:([B)V
        12: .line 440
      StackMap locals:
      StackMap stack:
            aload 3 /* holderPKCs */
        13: .line 441
            aload 4 /* selector */
            aload 1 /* pkixParams */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getStores:()Ljava/util/List;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
        14: .line 440
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        15: .line 442
            goto 25
        16: .line 443
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 7 /* e */
        start local 7 // org.bouncycastle.jce.provider.AnnotatedException e
        17: .line 445
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        18: .line 446
            ldc "Public key certificate for attribute certificate cannot be searched."
        19: .line 447
            aload 7 /* e */
        20: .line 445
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // org.bouncycastle.jce.provider.AnnotatedException e
        21: .line 449
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 7 /* e */
        start local 7 // java.io.IOException e
        22: .line 451
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        23: .line 452
            ldc "Unable to encode X500 principal."
            aload 7 /* e */
        24: .line 451
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException e
        25: .line 431
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 6 /* i */
            aload 5 /* principals */
            arraylength
            if_icmplt 8
        end local 6 // int i
        27: .line 455
            aload 3 /* holderPKCs */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 31
        28: .line 457
            new java.security.cert.CertPathValidatorException
            dup
        29: .line 458
            ldc "Public key certificate specified in base certificate ID for attribute certificate cannot be found."
        30: .line 457
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.security.Principal[] principals
        end local 4 // org.bouncycastle.x509.X509CertStoreSelector selector
        31: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* attrCert */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getEntityNames:()[Ljava/security/Principal;
            ifnull 59
        32: .line 463
            new org.bouncycastle.x509.X509CertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
            astore 4 /* selector */
        start local 4 // org.bouncycastle.x509.X509CertStoreSelector selector
        33: .line 464
            aload 0 /* attrCert */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getHolder:()Lorg/bouncycastle/x509/AttributeCertificateHolder;
            invokevirtual org.bouncycastle.x509.AttributeCertificateHolder.getEntityNames:()[Ljava/security/Principal;
            astore 5 /* principals */
        start local 5 // java.security.Principal[] principals
        34: .line 465
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        35: goto 54
        36: .line 469
      StackMap locals: org.bouncycastle.x509.X509CertStoreSelector java.security.Principal[] int
      StackMap stack:
            aload 5 /* principals */
            iload 6 /* i */
            aaload
            instanceof javax.security.auth.x500.X500Principal
            ifeq 40
        37: .line 471
            aload 4 /* selector */
            aload 5 /* principals */
            iload 6 /* i */
            aaload
            checkcast javax.security.auth.x500.X500Principal
        38: .line 472
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        39: .line 471
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setIssuer:([B)V
        40: .line 474
      StackMap locals:
      StackMap stack:
            aload 3 /* holderPKCs */
        41: .line 475
            aload 4 /* selector */
            aload 1 /* pkixParams */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getStores:()Ljava/util/List;
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.findCertificates:(Lorg/bouncycastle/x509/X509CertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
        42: .line 474
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        43: .line 476
            goto 53
        44: .line 477
      StackMap locals:
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 7 /* e */
        start local 7 // org.bouncycastle.jce.provider.AnnotatedException e
        45: .line 479
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        46: .line 480
            ldc "Public key certificate for attribute certificate cannot be searched."
        47: .line 481
            aload 7 /* e */
        48: .line 479
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // org.bouncycastle.jce.provider.AnnotatedException e
        49: .line 483
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 7 /* e */
        start local 7 // java.io.IOException e
        50: .line 485
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        51: .line 486
            ldc "Unable to encode X500 principal."
            aload 7 /* e */
        52: .line 485
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException e
        53: .line 465
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 6 /* i */
            aload 5 /* principals */
            arraylength
            if_icmplt 36
        end local 6 // int i
        55: .line 489
            aload 3 /* holderPKCs */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 59
        56: .line 491
            new java.security.cert.CertPathValidatorException
            dup
        57: .line 492
            ldc "Public key certificate specified in entity name for attribute certificate cannot be found."
        58: .line 491
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.security.Principal[] principals
        end local 4 // org.bouncycastle.x509.X509CertStoreSelector selector
        59: .line 497
      StackMap locals:
      StackMap stack:
            aload 1 /* pkixParams */
            invokestatic org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getInstance:(Ljava/security/cert/PKIXParameters;)Lorg/bouncycastle/x509/ExtendedPKIXParameters;
        60: .line 496
            checkcast org.bouncycastle.x509.ExtendedPKIXBuilderParameters
            astore 4 /* params */
        start local 4 // org.bouncycastle.x509.ExtendedPKIXBuilderParameters params
        61: .line 498
            aconst_null
            astore 5 /* lastException */
        start local 5 // java.security.cert.CertPathValidatorException lastException
        62: .line 499
            aload 3 /* holderPKCs */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* it */
        start local 6 // java.util.Iterator it
        63: goto 90
        64: .line 501
      StackMap locals: org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.security.cert.CertPathValidatorException java.util.Iterator
      StackMap stack:
            new org.bouncycastle.x509.X509CertStoreSelector
            dup
            invokespecial org.bouncycastle.x509.X509CertStoreSelector.<init>:()V
            astore 7 /* selector */
        start local 7 // org.bouncycastle.x509.X509CertStoreSelector selector
        65: .line 502
            aload 7 /* selector */
            aload 6 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            invokevirtual org.bouncycastle.x509.X509CertStoreSelector.setCertificate:(Ljava/security/cert/X509Certificate;)V
        66: .line 503
            aload 4 /* params */
            aload 7 /* selector */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXBuilderParameters.setTargetConstraints:(Lorg/bouncycastle/util/Selector;)V
        67: .line 504
            aconst_null
            astore 8 /* builder */
        start local 8 // java.security.cert.CertPathBuilder builder
        68: .line 507
            ldc "PKIX"
            getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
            invokestatic java.security.cert.CertPathBuilder.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
            astore 8 /* builder */
        69: .line 508
            goto 78
        70: .line 509
      StackMap locals: org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.security.cert.CertPathBuilderResult java.util.Set org.bouncycastle.x509.ExtendedPKIXBuilderParameters java.security.cert.CertPathValidatorException java.util.Iterator org.bouncycastle.x509.X509CertStoreSelector java.security.cert.CertPathBuilder
      StackMap stack: java.security.NoSuchProviderException
            astore 9 /* e */
        start local 9 // java.security.NoSuchProviderException e
        71: .line 511
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        72: .line 512
            ldc "Support class could not be created."
            aload 9 /* e */
        73: .line 511
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.security.NoSuchProviderException e
        74: .line 514
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 9 /* e */
        start local 9 // java.security.NoSuchAlgorithmException e
        75: .line 516
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        76: .line 517
            ldc "Support class could not be created."
            aload 9 /* e */
        77: .line 516
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.security.NoSuchAlgorithmException e
        78: .line 521
      StackMap locals:
      StackMap stack:
            aload 8 /* builder */
        79: .line 522
            aload 4 /* params */
            invokestatic org.bouncycastle.x509.ExtendedPKIXBuilderParameters.getInstance:(Ljava/security/cert/PKIXParameters;)Lorg/bouncycastle/x509/ExtendedPKIXParameters;
        80: .line 521
            invokevirtual java.security.cert.CertPathBuilder.build:(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
            astore 2 /* result */
        81: .line 523
            goto 90
        82: .line 524
      StackMap locals:
      StackMap stack: java.security.cert.CertPathBuilderException
            astore 9 /* e */
        start local 9 // java.security.cert.CertPathBuilderException e
        83: .line 526
            new org.bouncycastle.jce.exception.ExtCertPathValidatorException
            dup
        84: .line 527
            ldc "Certification path for public key certificate of attribute certificate could not be build."
        85: .line 528
            aload 9 /* e */
        86: .line 526
            invokespecial org.bouncycastle.jce.exception.ExtCertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 5 /* lastException */
        end local 9 // java.security.cert.CertPathBuilderException e
        87: goto 90
        88: .line 530
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 9 /* e */
        start local 9 // java.security.InvalidAlgorithmParameterException e
        89: .line 533
            new java.lang.RuntimeException
            dup
            aload 9 /* e */
            invokevirtual java.security.InvalidAlgorithmParameterException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.security.InvalidAlgorithmParameterException e
        end local 8 // java.security.cert.CertPathBuilder builder
        end local 7 // org.bouncycastle.x509.X509CertStoreSelector selector
        90: .line 499
      StackMap locals:
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 64
        end local 6 // java.util.Iterator it
        91: .line 536
            aload 5 /* lastException */
            ifnull 93
        92: .line 538
            aload 5 /* lastException */
            athrow
        93: .line 540
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            invokeinterface java.security.cert.CertPathBuilderResult.getCertPath:()Ljava/security/cert/CertPath;
            areturn
        end local 5 // java.security.cert.CertPathValidatorException lastException
        end local 4 // org.bouncycastle.x509.ExtendedPKIXBuilderParameters params
        end local 3 // java.util.Set holderPKCs
        end local 2 // java.security.cert.CertPathBuilderResult result
        end local 1 // org.bouncycastle.x509.ExtendedPKIXParameters pkixParams
        end local 0 // org.bouncycastle.x509.X509AttributeCertificate attrCert
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   94     0       attrCert  Lorg/bouncycastle/x509/X509AttributeCertificate;
            0   94     1     pkixParams  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            1   94     2         result  Ljava/security/cert/CertPathBuilderResult;
            2   94     3     holderPKCs  Ljava/util/Set;
            4   31     4       selector  Lorg/bouncycastle/x509/X509CertStoreSelector;
            6   31     5     principals  [Ljava/security/Principal;
            7   27     6              i  I
           17   21     7              e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           22   25     7              e  Ljava/io/IOException;
           33   59     4       selector  Lorg/bouncycastle/x509/X509CertStoreSelector;
           34   59     5     principals  [Ljava/security/Principal;
           35   55     6              i  I
           45   49     7              e  Lorg/bouncycastle/jce/provider/AnnotatedException;
           50   53     7              e  Ljava/io/IOException;
           61   94     4         params  Lorg/bouncycastle/x509/ExtendedPKIXBuilderParameters;
           62   94     5  lastException  Ljava/security/cert/CertPathValidatorException;
           63   91     6             it  Ljava/util/Iterator;
           65   90     7       selector  Lorg/bouncycastle/x509/X509CertStoreSelector;
           68   90     8        builder  Ljava/security/cert/CertPathBuilder;
           71   74     9              e  Ljava/security/NoSuchProviderException;
           75   78     9              e  Ljava/security/NoSuchAlgorithmException;
           83   87     9              e  Ljava/security/cert/CertPathBuilderException;
           89   90     9              e  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
           8    15      16  Class org.bouncycastle.jce.provider.AnnotatedException
           8    15      21  Class java.io.IOException
          36    43      44  Class org.bouncycastle.jce.provider.AnnotatedException
          36    43      49  Class java.io.IOException
          68    69      70  Class java.security.NoSuchProviderException
          68    69      74  Class java.security.NoSuchAlgorithmException
          78    81      82  Class java.security.cert.CertPathBuilderException
          78    81      88  Class java.security.InvalidAlgorithmParameterException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
            Name  Flags
      attrCert    
      pkixParams  

  private static void checkCRL(org.bouncycastle.asn1.x509.DistributionPoint, org.bouncycastle.x509.X509AttributeCertificate, org.bouncycastle.x509.ExtendedPKIXParameters, java.util.Date, java.security.cert.X509Certificate, org.bouncycastle.jce.provider.CertStatus, org.bouncycastle.jce.provider.ReasonsMask, java.util.List);
    descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/x509/X509AttributeCertificate;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/Date;Ljava/security/cert/X509Certificate;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/jce/provider/ReasonsMask;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=19, args_size=8
        start local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
        start local 1 // org.bouncycastle.x509.X509AttributeCertificate attrCert
        start local 2 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        start local 3 // java.util.Date validDate
        start local 4 // java.security.cert.X509Certificate issuerCert
        start local 5 // org.bouncycastle.jce.provider.CertStatus certStatus
        start local 6 // org.bouncycastle.jce.provider.ReasonsMask reasonMask
        start local 7 // java.util.List certPathCerts
         0: .line 573
            aload 1 /* attrCert */
            getstatic org.bouncycastle.asn1.x509.X509Extensions.NoRevAvail:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getExtensionValue:(Ljava/lang/String;)[B
            ifnull 2
         1: .line 575
            return
         2: .line 577
      StackMap locals:
      StackMap stack:
            new java.util.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Date.<init>:(J)V
            astore 8 /* currentDate */
        start local 8 // java.util.Date currentDate
         3: .line 578
            aload 3 /* validDate */
            invokevirtual java.util.Date.getTime:()J
            aload 8 /* currentDate */
            invokevirtual java.util.Date.getTime:()J
            lcmp
            ifle 5
         4: .line 580
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
            ldc "Validation time is in future."
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 591
      StackMap locals: java.util.Date
      StackMap stack:
            aload 0 /* dp */
            aload 1 /* attrCert */
         6: .line 592
            aload 8 /* currentDate */
            aload 2 /* paramsPKIX */
         7: .line 591
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getCompleteCRLs:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)Ljava/util/Set;
            astore 9 /* crls */
        start local 9 // java.util.Set crls
         8: .line 593
            iconst_0
            istore 10 /* validCrlFound */
        start local 10 // boolean validCrlFound
         9: .line 594
            aconst_null
            astore 11 /* lastException */
        start local 11 // org.bouncycastle.jce.provider.AnnotatedException lastException
        10: .line 595
            aload 9 /* crls */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12 /* crl_iter */
        start local 12 // java.util.Iterator crl_iter
        11: .line 597
            goto 50
        12: .line 603
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.util.Date java.security.cert.X509Certificate org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask java.util.List java.util.Date java.util.Set int org.bouncycastle.jce.provider.AnnotatedException java.util.Iterator
      StackMap stack:
            aload 12 /* crl_iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
            astore 13 /* crl */
        start local 13 // java.security.cert.X509CRL crl
        13: .line 607
            aload 13 /* crl */
            aload 0 /* dp */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLD:(Ljava/security/cert/X509CRL;Lorg/bouncycastle/asn1/x509/DistributionPoint;)Lorg/bouncycastle/jce/provider/ReasonsMask;
        14: .line 606
            astore 14 /* interimReasonsMask */
        start local 14 // org.bouncycastle.jce.provider.ReasonsMask interimReasonsMask
        15: .line 615
            aload 14 /* interimReasonsMask */
            aload 6 /* reasonMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.hasNewReasons:(Lorg/bouncycastle/jce/provider/ReasonsMask;)Z
            ifne 17
        16: .line 617
            goto 50
        17: .line 621
      StackMap locals: java.security.cert.X509CRL org.bouncycastle.jce.provider.ReasonsMask
      StackMap stack:
            aload 13 /* crl */
            aload 1 /* attrCert */
        18: .line 622
            aconst_null
            aconst_null
            aload 2 /* paramsPKIX */
            aload 7 /* certPathCerts */
        19: .line 621
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLF:(Ljava/security/cert/X509CRL;Ljava/lang/Object;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/util/List;)Ljava/util/Set;
            astore 15 /* keys */
        start local 15 // java.util.Set keys
        20: .line 624
            aload 13 /* crl */
            aload 15 /* keys */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLG:(Ljava/security/cert/X509CRL;Ljava/util/Set;)Ljava/security/PublicKey;
            astore 16 /* key */
        start local 16 // java.security.PublicKey key
        21: .line 626
            aconst_null
            astore 17 /* deltaCRL */
        start local 17 // java.security.cert.X509CRL deltaCRL
        22: .line 628
            aload 2 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.isUseDeltasEnabled:()Z
            ifeq 28
        23: .line 632
            aload 8 /* currentDate */
            aload 2 /* paramsPKIX */
            aload 13 /* crl */
        24: .line 631
            invokestatic org.bouncycastle.jce.provider.CertPathValidatorUtilities.getDeltaCRLs:(Ljava/util/Date;Lorg/bouncycastle/x509/ExtendedPKIXParameters;Ljava/security/cert/X509CRL;)Ljava/util/Set;
            astore 18 /* deltaCRLs */
        start local 18 // java.util.Set deltaCRLs
        25: .line 635
            aload 18 /* deltaCRLs */
        26: .line 636
            aload 16 /* key */
        27: .line 635
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLH:(Ljava/util/Set;Ljava/security/PublicKey;)Ljava/security/cert/X509CRL;
            astore 17 /* deltaCRL */
        end local 18 // java.util.Set deltaCRLs
        28: .line 652
      StackMap locals: java.util.Set java.security.PublicKey java.security.cert.X509CRL
      StackMap stack:
            aload 2 /* paramsPKIX */
            invokevirtual org.bouncycastle.x509.ExtendedPKIXParameters.getValidityModel:()I
            iconst_1
            if_icmpeq 34
        29: .line 659
            aload 1 /* attrCert */
            invokeinterface org.bouncycastle.x509.X509AttributeCertificate.getNotAfter:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            aload 13 /* crl */
            invokevirtual java.security.cert.X509CRL.getThisUpdate:()Ljava/util/Date;
        30: .line 660
            invokevirtual java.util.Date.getTime:()J
            lcmp
            ifge 34
        31: .line 662
            new org.bouncycastle.jce.provider.AnnotatedException
            dup
        32: .line 663
            ldc "No valid CRL for current time found."
        33: .line 662
            invokespecial org.bouncycastle.jce.provider.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* dp */
            aload 1 /* attrCert */
            aload 13 /* crl */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLB1:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
        35: .line 670
            aload 0 /* dp */
            aload 1 /* attrCert */
            aload 13 /* crl */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLB2:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
        36: .line 673
            aload 17 /* deltaCRL */
            aload 13 /* crl */
            aload 2 /* paramsPKIX */
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLC:(Ljava/security/cert/X509CRL;Ljava/security/cert/X509CRL;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
        37: .line 676
            aload 3 /* validDate */
            aload 17 /* deltaCRL */
        38: .line 677
            aload 1 /* attrCert */
            aload 5 /* certStatus */
            aload 2 /* paramsPKIX */
        39: .line 676
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLI:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;Lorg/bouncycastle/x509/ExtendedPKIXParameters;)V
        40: .line 680
            aload 3 /* validDate */
            aload 13 /* crl */
            aload 1 /* attrCert */
        41: .line 681
            aload 5 /* certStatus */
        42: .line 680
            invokestatic org.bouncycastle.jce.provider.RFC3280CertPathUtilities.processCRLJ:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/jce/provider/CertStatus;)V
        43: .line 684
            aload 5 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 8
            if_icmpne 45
        44: .line 686
            aload 5 /* certStatus */
            bipush 11
            invokevirtual org.bouncycastle.jce.provider.CertStatus.setCertStatus:(I)V
        45: .line 690
      StackMap locals:
      StackMap stack:
            aload 6 /* reasonMask */
            aload 14 /* interimReasonsMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.addReasons:(Lorg/bouncycastle/jce/provider/ReasonsMask;)V
        46: .line 691
            iconst_1
            istore 10 /* validCrlFound */
        end local 17 // java.security.cert.X509CRL deltaCRL
        end local 16 // java.security.PublicKey key
        end local 15 // java.util.Set keys
        end local 14 // org.bouncycastle.jce.provider.ReasonsMask interimReasonsMask
        end local 13 // java.security.cert.X509CRL crl
        47: .line 692
            goto 50
        48: .line 693
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.x509.X509AttributeCertificate org.bouncycastle.x509.ExtendedPKIXParameters java.util.Date java.security.cert.X509Certificate org.bouncycastle.jce.provider.CertStatus org.bouncycastle.jce.provider.ReasonsMask java.util.List java.util.Date java.util.Set int org.bouncycastle.jce.provider.AnnotatedException java.util.Iterator
      StackMap stack: org.bouncycastle.jce.provider.AnnotatedException
            astore 13 /* e */
        start local 13 // org.bouncycastle.jce.provider.AnnotatedException e
        49: .line 695
            aload 13 /* e */
            astore 11 /* lastException */
        end local 13 // org.bouncycastle.jce.provider.AnnotatedException e
        50: .line 597
      StackMap locals:
      StackMap stack:
            aload 12 /* crl_iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 53
        51: .line 598
            aload 5 /* certStatus */
            invokevirtual org.bouncycastle.jce.provider.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 53
        52: .line 599
            aload 6 /* reasonMask */
            invokevirtual org.bouncycastle.jce.provider.ReasonsMask.isAllReasons:()Z
            ifeq 12
        53: .line 698
      StackMap locals:
      StackMap stack:
            iload 10 /* validCrlFound */
            ifne 55
        54: .line 700
            aload 11 /* lastException */
            athrow
        55: .line 702
      StackMap locals:
      StackMap stack:
            return
        end local 12 // java.util.Iterator crl_iter
        end local 11 // org.bouncycastle.jce.provider.AnnotatedException lastException
        end local 10 // boolean validCrlFound
        end local 9 // java.util.Set crls
        end local 8 // java.util.Date currentDate
        end local 7 // java.util.List certPathCerts
        end local 6 // org.bouncycastle.jce.provider.ReasonsMask reasonMask
        end local 5 // org.bouncycastle.jce.provider.CertStatus certStatus
        end local 4 // java.security.cert.X509Certificate issuerCert
        end local 3 // java.util.Date validDate
        end local 2 // org.bouncycastle.x509.ExtendedPKIXParameters paramsPKIX
        end local 1 // org.bouncycastle.x509.X509AttributeCertificate attrCert
        end local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   56     0                  dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
            0   56     1            attrCert  Lorg/bouncycastle/x509/X509AttributeCertificate;
            0   56     2          paramsPKIX  Lorg/bouncycastle/x509/ExtendedPKIXParameters;
            0   56     3           validDate  Ljava/util/Date;
            0   56     4          issuerCert  Ljava/security/cert/X509Certificate;
            0   56     5          certStatus  Lorg/bouncycastle/jce/provider/CertStatus;
            0   56     6          reasonMask  Lorg/bouncycastle/jce/provider/ReasonsMask;
            0   56     7       certPathCerts  Ljava/util/List;
            3   56     8         currentDate  Ljava/util/Date;
            8   56     9                crls  Ljava/util/Set;
            9   56    10       validCrlFound  Z
           10   56    11       lastException  Lorg/bouncycastle/jce/provider/AnnotatedException;
           11   56    12            crl_iter  Ljava/util/Iterator;
           13   47    13                 crl  Ljava/security/cert/X509CRL;
           15   47    14  interimReasonsMask  Lorg/bouncycastle/jce/provider/ReasonsMask;
           20   47    15                keys  Ljava/util/Set;
           21   47    16                 key  Ljava/security/PublicKey;
           22   47    17            deltaCRL  Ljava/security/cert/X509CRL;
           25   28    18           deltaCRLs  Ljava/util/Set;
           49   50    13                   e  Lorg/bouncycastle/jce/provider/AnnotatedException;
      Exception table:
        from    to  target  type
          12    16      48  Class org.bouncycastle.jce.provider.AnnotatedException
          17    47      48  Class org.bouncycastle.jce.provider.AnnotatedException
    Exceptions:
      throws org.bouncycastle.jce.provider.AnnotatedException
    MethodParameters:
               Name  Flags
      dp             
      attrCert       
      paramsPKIX     
      validDate      
      issuerCert     
      certStatus     
      reasonMask     
      certPathCerts  
}
SourceFile: "RFC3281CertPathUtilities.java"