class org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities
  super_class: java.lang.Object
{
  private static final org.bouncycastle.pkix.jcajce.PKIXCRLUtil CRL_UTIL;
    descriptor: Lorg/bouncycastle/pkix/jcajce/PKIXCRLUtil;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String ISSUING_DISTRIBUTION_POINT;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String FRESHEST_CRL;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String DELTA_CRL_INDICATOR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String BASIC_CONSTRAINTS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String AUTHORITY_KEY_IDENTIFIER;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  protected static final int KEY_CERT_SIGN;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  protected static final int CRL_SIGN;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 45
            new org.bouncycastle.pkix.jcajce.PKIXCRLUtil
            dup
            invokespecial org.bouncycastle.pkix.jcajce.PKIXCRLUtil.<init>:()V
            putstatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.CRL_UTIL:Lorg/bouncycastle/pkix/jcajce/PKIXCRLUtil;
         1: .line 360
            getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.ISSUING_DISTRIBUTION_POINT:Ljava/lang/String;
         2: .line 362
            getstatic org.bouncycastle.asn1.x509.Extension.freshestCRL:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.FRESHEST_CRL:Ljava/lang/String;
         3: .line 364
            getstatic org.bouncycastle.asn1.x509.Extension.deltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.DELTA_CRL_INDICATOR:Ljava/lang/String;
         4: .line 366
            getstatic org.bouncycastle.asn1.x509.Extension.basicConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.BASIC_CONSTRAINTS:Ljava/lang/String;
         5: .line 368
            getstatic org.bouncycastle.asn1.x509.Extension.authorityKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            putstatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.AUTHORITY_KEY_IDENTIFIER:Ljava/lang/String;
         6: .line 375
            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.pkix.jcajce.RFC3280CertPathUtilities this
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/pkix/jcajce/RFC3280CertPathUtilities;

  protected static void processCRLB2(org.bouncycastle.asn1.x509.DistributionPoint, java.lang.Object, java.security.cert.X509CRL);
    descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
        start local 1 // java.lang.Object cert
        start local 2 // java.security.cert.X509CRL crl
         0: .line 84
            aconst_null
            astore 3 /* idp */
        start local 3 // org.bouncycastle.asn1.x509.IssuingDistributionPoint idp
         1: .line 87
            aload 2 /* crl */
         2: .line 88
            getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
         3: .line 87
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            astore 3 /* idp */
         4: .line 89
            goto 7
         5: .line 90
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         6: .line 92
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Issuing distribution point extension could not be decoded."
            aload 4 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
         7: .line 96
      StackMap locals:
      StackMap stack:
            aload 3 /* idp */
            ifnull 95
         8: .line 98
            aload 3 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
            ifnull 81
         9: .line 101
            aload 3 /* idp */
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
            astore 4 /* dpName */
        start local 4 // org.bouncycastle.asn1.x509.DistributionPointName dpName
        10: .line 102
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* names */
        start local 5 // java.util.List names
        11: .line 104
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
            ifne 18
        12: .line 106
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 6 /* genNames */
        start local 6 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        13: .line 107
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        14: goto 17
        15: .line 109
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.DistributionPointName java.util.List org.bouncycastle.asn1.x509.GeneralName[] int
      StackMap stack:
            aload 5 /* names */
            aload 6 /* genNames */
            iload 7 /* j */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 107
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* j */
            aload 6 /* genNames */
            arraylength
            if_icmplt 15
        end local 7 // int j
        end local 6 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        18: .line 112
      StackMap locals:
      StackMap stack:
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
            iconst_1
            if_icmpne 29
        19: .line 114
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 6 /* vec */
        start local 6 // org.bouncycastle.asn1.ASN1EncodableVector vec
        20: .line 117
            aload 2 /* crl */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 7 /* e */
        start local 7 // java.util.Enumeration e
        21: .line 118
            goto 23
        22: .line 120
      StackMap locals: org.bouncycastle.asn1.ASN1EncodableVector java.util.Enumeration
      StackMap stack:
            aload 6 /* vec */
            aload 7 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1Encodable
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        23: .line 118
      StackMap locals:
      StackMap stack:
            aload 7 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 22
        end local 7 // java.util.Enumeration e
        24: .line 122
            goto 27
        25: .line 123
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.DistributionPointName java.util.List org.bouncycastle.asn1.ASN1EncodableVector
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        26: .line 125
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Could not read CRL issuer."
            aload 7 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.Exception e
        27: .line 127
      StackMap locals:
      StackMap stack:
            aload 6 /* vec */
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        28: .line 128
            aload 5 /* names */
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 6 /* vec */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.bouncycastle.asn1.ASN1EncodableVector vec
        29: .line 130
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* matches */
        start local 6 // boolean matches
        30: .line 133
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
            ifnull 67
        31: .line 135
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getDistributionPoint:()Lorg/bouncycastle/asn1/x509/DistributionPointName;
            astore 4 /* dpName */
        32: .line 136
            aconst_null
            astore 7 /* genNames */
        start local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        33: .line 137
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
            ifne 35
        34: .line 139
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.x509.GeneralNames.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 7 /* genNames */
        35: .line 141
      StackMap locals: int org.bouncycastle.asn1.x509.GeneralName[]
      StackMap stack:
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getType:()I
            iconst_1
            if_icmpne 55
        36: .line 143
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            ifnull 39
        37: .line 145
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 7 /* genNames */
        38: .line 146
            goto 44
        39: .line 149
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.bouncycastle.asn1.x509.GeneralName
            astore 7 /* genNames */
        40: .line 152
            aload 7 /* genNames */
            iconst_0
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            aload 1 /* cert */
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;)V
            aastore
        41: .line 153
            goto 44
        42: .line 154
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        43: .line 156
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Could not read certificate issuer."
            aload 8 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Exception e
        44: .line 159
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        45: goto 54
        46: .line 161
      StackMap locals: int
      StackMap stack:
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            invokestatic org.bouncycastle.asn1.ASN1Sequence.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1Sequence;
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjects:()Ljava/util/Enumeration;
            astore 9 /* e */
        start local 9 // java.util.Enumeration e
        47: .line 162
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 10 /* vec */
        start local 10 // org.bouncycastle.asn1.ASN1EncodableVector vec
        48: .line 163
            goto 50
        49: .line 165
      StackMap locals: java.util.Enumeration org.bouncycastle.asn1.ASN1EncodableVector
      StackMap stack:
            aload 10 /* vec */
            aload 9 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1Encodable
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        50: .line 163
      StackMap locals:
      StackMap stack:
            aload 9 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 49
        51: .line 167
            aload 10 /* vec */
            aload 4 /* dpName */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPointName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        52: .line 168
            aload 7 /* genNames */
            iload 8 /* j */
            new org.bouncycastle.asn1.x509.GeneralName
            dup
            new org.bouncycastle.asn1.DERSequence
            dup
            aload 10 /* vec */
            invokespecial org.bouncycastle.asn1.DERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
            invokespecial org.bouncycastle.asn1.x509.GeneralName.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;)V
            aastore
        end local 10 // org.bouncycastle.asn1.ASN1EncodableVector vec
        end local 9 // java.util.Enumeration e
        53: .line 159
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        54: iload 8 /* j */
            aload 7 /* genNames */
            arraylength
            if_icmplt 46
        end local 8 // int j
        55: .line 171
      StackMap locals:
      StackMap stack:
            aload 7 /* genNames */
            ifnull 63
        56: .line 173
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        57: goto 62
        58: .line 175
      StackMap locals: int
      StackMap stack:
            aload 5 /* names */
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 61
        59: .line 177
            iconst_1
            istore 6 /* matches */
        60: .line 178
            goto 63
        61: .line 173
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        62: iload 8 /* j */
            aload 7 /* genNames */
            arraylength
            if_icmplt 58
        end local 8 // int j
        63: .line 182
      StackMap locals:
      StackMap stack:
            iload 6 /* matches */
            ifne 81
        64: .line 184
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        65: .line 185
            ldc "No match for certificate CRL issuing distribution point name to cRLIssuer CRL distribution point."
        66: .line 184
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        67: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            ifnonnull 69
        68: .line 195
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Either the cRLIssuer or the distributionPoint field must be contained in DistributionPoint."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        69: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 7 /* genNames */
        start local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        70: .line 199
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        71: goto 76
        72: .line 201
      StackMap locals: org.bouncycastle.asn1.x509.GeneralName[] int
      StackMap stack:
            aload 5 /* names */
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 75
        73: .line 203
            iconst_1
            istore 6 /* matches */
        74: .line 204
            goto 77
        75: .line 199
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        76: iload 8 /* j */
            aload 7 /* genNames */
            arraylength
            if_icmplt 72
        end local 8 // int j
        77: .line 207
      StackMap locals:
      StackMap stack:
            iload 6 /* matches */
            ifne 81
        78: .line 209
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        79: .line 210
            ldc "No match for certificate CRL issuing distribution point name to cRLIssuer CRL distribution point."
        80: .line 209
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        end local 6 // boolean matches
        end local 5 // java.util.List names
        end local 4 // org.bouncycastle.asn1.x509.DistributionPointName dpName
        81: .line 214
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack:
            aconst_null
            astore 4 /* bc */
        start local 4 // org.bouncycastle.asn1.x509.BasicConstraints bc
        82: .line 217
            aload 1 /* cert */
            checkcast java.security.cert.X509Extension
        83: .line 218
            getstatic org.bouncycastle.asn1.x509.Extension.basicConstraints:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
        84: .line 217
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            invokestatic org.bouncycastle.asn1.x509.BasicConstraints.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/BasicConstraints;
            astore 4 /* bc */
        85: .line 219
            goto 88
        86: .line 220
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.BasicConstraints
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        87: .line 222
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Basic constraints extension could not be decoded."
            aload 5 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception e
        88: .line 225
      StackMap locals:
      StackMap stack:
            aload 1 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 93
        89: .line 228
            aload 3 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.onlyContainsUserCerts:()Z
            ifeq 91
            aload 4 /* bc */
            ifnull 91
            aload 4 /* bc */
            invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.isCA:()Z
            ifeq 91
        90: .line 230
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "CA Cert CRL only contains user certificates."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        91: .line 234
      StackMap locals:
      StackMap stack:
            aload 3 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.onlyContainsCACerts:()Z
            ifeq 93
            aload 4 /* bc */
            ifnull 92
            aload 4 /* bc */
            invokevirtual org.bouncycastle.asn1.x509.BasicConstraints.isCA:()Z
            ifne 93
        92: .line 236
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "End CRL only contains CA certificates."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        93: .line 241
      StackMap locals:
      StackMap stack:
            aload 3 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.onlyContainsAttributeCerts:()Z
            ifeq 95
        94: .line 243
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "onlyContainsAttributeCerts boolean is asserted."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // org.bouncycastle.asn1.x509.BasicConstraints bc
        95: .line 246
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.bouncycastle.asn1.x509.IssuingDistributionPoint idp
        end local 2 // java.security.cert.X509CRL crl
        end local 1 // java.lang.Object cert
        end local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   96     0        dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
            0   96     1      cert  Ljava/lang/Object;
            0   96     2       crl  Ljava/security/cert/X509CRL;
            1   96     3       idp  Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            6    7     4         e  Ljava/lang/Exception;
           10   81     4    dpName  Lorg/bouncycastle/asn1/x509/DistributionPointName;
           11   81     5     names  Ljava/util/List;
           13   18     6  genNames  [Lorg/bouncycastle/asn1/x509/GeneralName;
           14   18     7         j  I
           20   29     6       vec  Lorg/bouncycastle/asn1/ASN1EncodableVector;
           21   24     7         e  Ljava/util/Enumeration;
           26   27     7         e  Ljava/lang/Exception;
           30   81     6   matches  Z
           33   67     7  genNames  [Lorg/bouncycastle/asn1/x509/GeneralName;
           43   44     8         e  Ljava/lang/Exception;
           45   55     8         j  I
           47   53     9         e  Ljava/util/Enumeration;
           48   53    10       vec  Lorg/bouncycastle/asn1/ASN1EncodableVector;
           57   63     8         j  I
           70   81     7  genNames  [Lorg/bouncycastle/asn1/x509/GeneralName;
           71   77     8         j  I
           82   95     4        bc  Lorg/bouncycastle/asn1/x509/BasicConstraints;
           87   88     5         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.Exception
          20    24      25  Class java.lang.Exception
          40    41      42  Class java.lang.Exception
          82    85      86  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
      Name  Flags
      dp    
      cert  
      crl   

  protected static void processCRLB1(org.bouncycastle.asn1.x509.DistributionPoint, java.lang.Object, java.security.cert.X509CRL);
    descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
        start local 1 // java.lang.Object cert
        start local 2 // java.security.cert.X509CRL crl
         0: .line 267
            aload 2 /* crl */
            getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            astore 3 /* idp */
        start local 3 // org.bouncycastle.asn1.ASN1Primitive idp
         1: .line 268
            iconst_0
            istore 4 /* isIndirect */
        start local 4 // boolean isIndirect
         2: .line 269
            aload 3 /* idp */
            ifnull 5
         3: .line 271
            aload 3 /* idp */
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.isIndirectCRL:()Z
            ifeq 5
         4: .line 273
            iconst_1
            istore 4 /* isIndirect */
         5: .line 278
      StackMap locals: org.bouncycastle.asn1.ASN1Primitive int
      StackMap stack:
            aload 2 /* crl */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            astore 5 /* issuerBytes */
        start local 5 // byte[] issuerBytes
         6: .line 281
            iconst_0
            istore 6 /* matchIssuer */
        start local 6 // boolean matchIssuer
         7: .line 282
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            ifnull 25
         8: .line 284
            aload 0 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getCRLIssuer:()Lorg/bouncycastle/asn1/x509/GeneralNames;
            invokevirtual org.bouncycastle.asn1.x509.GeneralNames.getNames:()[Lorg/bouncycastle/asn1/x509/GeneralName;
            astore 7 /* genNames */
        start local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
         9: .line 285
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        10: goto 20
        11: .line 287
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint java.lang.Object java.security.cert.X509CRL org.bouncycastle.asn1.ASN1Primitive int byte[] int org.bouncycastle.asn1.x509.GeneralName[] int
      StackMap stack:
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getTagNo:()I
            iconst_4
            if_icmpne 19
        12: .line 291
            aload 7 /* genNames */
            iload 8 /* j */
            aaload
            invokevirtual org.bouncycastle.asn1.x509.GeneralName.getName:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            invokevirtual org.bouncycastle.asn1.ASN1Primitive.getEncoded:()[B
            aload 5 /* issuerBytes */
            invokestatic org.bouncycastle.util.Arrays.areEqual:([B[B)Z
            ifeq 19
        13: .line 293
            iconst_1
            istore 6 /* matchIssuer */
        14: .line 295
            goto 19
        15: .line 296
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 9 /* e */
        start local 9 // java.io.IOException e
        16: .line 298
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        17: .line 299
            ldc "CRL issuer information from distribution point cannot be decoded."
            aload 9 /* e */
        18: .line 298
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.io.IOException e
        19: .line 285
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* j */
            aload 7 /* genNames */
            arraylength
            if_icmplt 11
        end local 8 // int j
        21: .line 303
            iload 6 /* matchIssuer */
            ifeq 23
            iload 4 /* isIndirect */
            ifne 23
        22: .line 305
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Distribution point contains cRLIssuer field but CRL is not indirect."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 307
      StackMap locals:
      StackMap stack:
            iload 6 /* matchIssuer */
            ifne 27
        24: .line 309
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "CRL issuer of CRL does not match CRL issuer of distribution point."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.bouncycastle.asn1.x509.GeneralName[] genNames
        25: .line 314
      StackMap locals:
      StackMap stack:
            aload 2 /* crl */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            aload 1 /* cert */
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 316
            iconst_1
            istore 6 /* matchIssuer */
        27: .line 319
      StackMap locals:
      StackMap stack:
            iload 6 /* matchIssuer */
            ifne 29
        28: .line 321
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Cannot find matching CRL issuer for certificate."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 323
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean matchIssuer
        end local 5 // byte[] issuerBytes
        end local 4 // boolean isIndirect
        end local 3 // org.bouncycastle.asn1.ASN1Primitive idp
        end local 2 // java.security.cert.X509CRL crl
        end local 1 // java.lang.Object cert
        end local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0           dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
            0   30     1         cert  Ljava/lang/Object;
            0   30     2          crl  Ljava/security/cert/X509CRL;
            1   30     3          idp  Lorg/bouncycastle/asn1/ASN1Primitive;
            2   30     4   isIndirect  Z
            6   30     5  issuerBytes  [B
            7   30     6  matchIssuer  Z
            9   25     7     genNames  [Lorg/bouncycastle/asn1/x509/GeneralName;
           10   21     8            j  I
           16   19     9            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          12    14      15  Class java.io.IOException
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
      Name  Flags
      dp    
      cert  
      crl   

  protected static org.bouncycastle.pkix.jcajce.ReasonsMask processCRLD(java.security.cert.X509CRL, org.bouncycastle.asn1.x509.DistributionPoint);
    descriptor: (Ljava/security/cert/X509CRL;Lorg/bouncycastle/asn1/x509/DistributionPoint;)Lorg/bouncycastle/pkix/jcajce/ReasonsMask;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.security.cert.X509CRL crl
        start local 1 // org.bouncycastle.asn1.x509.DistributionPoint dp
         0: .line 330
            aconst_null
            astore 2 /* idp */
        start local 2 // org.bouncycastle.asn1.x509.IssuingDistributionPoint idp
         1: .line 333
            aload 0 /* crl */
         2: .line 334
            getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
         3: .line 333
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            astore 2 /* idp */
         4: .line 335
            goto 7
         5: .line 336
      StackMap locals: java.security.cert.X509CRL org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         6: .line 338
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Issuing distribution point extension could not be decoded."
            aload 3 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
         7: .line 341
      StackMap locals:
      StackMap stack:
            aload 2 /* idp */
            ifnull 9
            aload 2 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnull 9
            aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnull 9
         8: .line 343
            new org.bouncycastle.pkix.jcajce.ReasonsMask
            dup
            aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            invokespecial org.bouncycastle.pkix.jcajce.ReasonsMask.<init>:(Lorg/bouncycastle/asn1/x509/ReasonFlags;)V
            new org.bouncycastle.pkix.jcajce.ReasonsMask
            dup
            aload 2 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            invokespecial org.bouncycastle.pkix.jcajce.ReasonsMask.<init>:(Lorg/bouncycastle/asn1/x509/ReasonFlags;)V
            invokevirtual org.bouncycastle.pkix.jcajce.ReasonsMask.intersect:(Lorg/bouncycastle/pkix/jcajce/ReasonsMask;)Lorg/bouncycastle/pkix/jcajce/ReasonsMask;
            areturn
         9: .line 346
      StackMap locals:
      StackMap stack:
            aload 2 /* idp */
            ifnull 10
            aload 2 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnonnull 12
      StackMap locals:
      StackMap stack:
        10: aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnonnull 12
        11: .line 348
            getstatic org.bouncycastle.pkix.jcajce.ReasonsMask.allReasons:Lorg/bouncycastle/pkix/jcajce/ReasonsMask;
            areturn
        12: .line 351
      StackMap locals:
      StackMap stack:
            aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            ifnonnull 14
        13: .line 352
            getstatic org.bouncycastle.pkix.jcajce.ReasonsMask.allReasons:Lorg/bouncycastle/pkix/jcajce/ReasonsMask;
            goto 15
        14: .line 353
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.pkix.jcajce.ReasonsMask
            dup
            aload 1 /* dp */
            invokevirtual org.bouncycastle.asn1.x509.DistributionPoint.getReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            invokespecial org.bouncycastle.pkix.jcajce.ReasonsMask.<init>:(Lorg/bouncycastle/asn1/x509/ReasonFlags;)V
      StackMap locals:
      StackMap stack: org.bouncycastle.pkix.jcajce.ReasonsMask
        15: aload 2 /* idp */
            ifnonnull 17
        16: .line 354
            getstatic org.bouncycastle.pkix.jcajce.ReasonsMask.allReasons:Lorg/bouncycastle/pkix/jcajce/ReasonsMask;
            goto 18
        17: .line 355
      StackMap locals:
      StackMap stack: org.bouncycastle.pkix.jcajce.ReasonsMask
            new org.bouncycastle.pkix.jcajce.ReasonsMask
            dup
            aload 2 /* idp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.getOnlySomeReasons:()Lorg/bouncycastle/asn1/x509/ReasonFlags;
            invokespecial org.bouncycastle.pkix.jcajce.ReasonsMask.<init>:(Lorg/bouncycastle/asn1/x509/ReasonFlags;)V
        18: .line 353
      StackMap locals: java.security.cert.X509CRL org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: org.bouncycastle.pkix.jcajce.ReasonsMask org.bouncycastle.pkix.jcajce.ReasonsMask
            invokevirtual org.bouncycastle.pkix.jcajce.ReasonsMask.intersect:(Lorg/bouncycastle/pkix/jcajce/ReasonsMask;)Lorg/bouncycastle/pkix/jcajce/ReasonsMask;
        19: .line 351
            areturn
        end local 2 // org.bouncycastle.asn1.x509.IssuingDistributionPoint idp
        end local 1 // org.bouncycastle.asn1.x509.DistributionPoint dp
        end local 0 // java.security.cert.X509CRL crl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0   crl  Ljava/security/cert/X509CRL;
            0   20     1    dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
            1   20     2   idp  Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            6    7     3     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
      Name  Flags
      crl   
      dp    

  protected static java.util.Set processCRLF(java.security.cert.X509CRL, java.lang.Object, java.security.cert.X509Certificate, java.security.PublicKey, org.bouncycastle.jcajce.PKIXExtendedParameters, java.util.List, org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper);
    descriptor: (Ljava/security/cert/X509CRL;Ljava/lang/Object;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/jcajce/PKIXExtendedParameters;Ljava/util/List;Lorg/bouncycastle/pkix/jcajce/PKIXJcaJceHelper;)Ljava/util/Set;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=19, args_size=7
        start local 0 // java.security.cert.X509CRL crl
        start local 1 // java.lang.Object cert
        start local 2 // java.security.cert.X509Certificate defaultCRLSignCert
        start local 3 // java.security.PublicKey defaultCRLSignKey
        start local 4 // org.bouncycastle.jcajce.PKIXExtendedParameters paramsPKIX
        start local 5 // java.util.List certPathCerts
        start local 6 // org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper helper
         0: .line 409
            new java.security.cert.X509CertSelector
            dup
            invokespecial java.security.cert.X509CertSelector.<init>:()V
            astore 7 /* certSelector */
        start local 7 // java.security.cert.X509CertSelector certSelector
         1: .line 412
            aload 0 /* crl */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            astore 8 /* issuerPrincipal */
        start local 8 // byte[] issuerPrincipal
         2: .line 413
            aload 7 /* certSelector */
            aload 8 /* issuerPrincipal */
            invokevirtual java.security.cert.X509CertSelector.setSubject:([B)V
        end local 8 // byte[] issuerPrincipal
         3: .line 414
            goto 8
         4: .line 415
      StackMap locals: java.security.cert.X509CRL java.lang.Object java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.jcajce.PKIXExtendedParameters java.util.List org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper java.security.cert.X509CertSelector
      StackMap stack: java.io.IOException
            astore 8 /* e */
        start local 8 // java.io.IOException e
         5: .line 417
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
         6: .line 418
            ldc "subject criteria for certificate selector to find issuer certificate for CRL could not be set"
            aload 8 /* e */
         7: .line 417
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.io.IOException e
         8: .line 421
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder
            dup
            aload 7 /* certSelector */
            invokespecial org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder.<init>:(Ljava/security/cert/CertSelector;)V
            invokevirtual org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder.build:()Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;
            astore 8 /* selector */
        start local 8 // org.bouncycastle.jcajce.PKIXCertStoreSelector selector
         9: .line 427
            aload 8 /* selector */
            aload 4 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCertificateStores:()Ljava/util/List;
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.findCertificates:(Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
            astore 9 /* coll */
        start local 9 // java.util.Collection coll
        10: .line 428
            aload 9 /* coll */
            aload 8 /* selector */
            aload 4 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCertStores:()Ljava/util/List;
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.findCertificates:(Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;Ljava/util/List;)Ljava/util/Collection;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 429
            goto 14
        end local 9 // java.util.Collection coll
        12: .line 430
      StackMap locals: java.security.cert.X509CRL java.lang.Object java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.jcajce.PKIXExtendedParameters java.util.List org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper java.security.cert.X509CertSelector org.bouncycastle.jcajce.PKIXCertStoreSelector
      StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
            astore 10 /* e */
        start local 10 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        13: .line 432
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Issuer certificate for CRL cannot be searched."
            aload 10 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        start local 9 // java.util.Collection coll
        14: .line 435
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 9 /* coll */
            aload 2 /* defaultCRLSignCert */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        15: .line 437
            aload 9 /* coll */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10 /* cert_it */
        start local 10 // java.util.Iterator cert_it
        16: .line 439
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* validCerts */
        start local 11 // java.util.List validCerts
        17: .line 440
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* validKeys */
        start local 12 // java.util.List validKeys
        18: .line 442
            goto 45
        19: .line 444
      StackMap locals: java.util.Iterator java.util.List java.util.List
      StackMap stack:
            aload 10 /* cert_it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 13 /* signingCert */
        start local 13 // java.security.cert.X509Certificate signingCert
        20: .line 450
            aload 13 /* signingCert */
            aload 2 /* defaultCRLSignCert */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 24
        21: .line 452
            aload 11 /* validCerts */
            aload 13 /* signingCert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 453
            aload 12 /* validKeys */
            aload 3 /* defaultCRLSignKey */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 454
            goto 45
        24: .line 458
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 6 /* helper */
            ldc "PKIX"
            invokeinterface org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper.createCertPathBuilder:(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
            astore 14 /* builder */
        start local 14 // java.security.cert.CertPathBuilder builder
        25: .line 459
            new java.security.cert.X509CertSelector
            dup
            invokespecial java.security.cert.X509CertSelector.<init>:()V
            astore 15 /* tmpCertSelector */
        start local 15 // java.security.cert.X509CertSelector tmpCertSelector
        26: .line 460
            aload 15 /* tmpCertSelector */
            aload 13 /* signingCert */
            invokevirtual java.security.cert.X509CertSelector.setCertificate:(Ljava/security/cert/X509Certificate;)V
        27: .line 462
            new org.bouncycastle.jcajce.PKIXExtendedParameters$Builder
            dup
            aload 4 /* paramsPKIX */
            invokespecial org.bouncycastle.jcajce.PKIXExtendedParameters$Builder.<init>:(Lorg/bouncycastle/jcajce/PKIXExtendedParameters;)V
        28: .line 463
            new org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder
            dup
            aload 15 /* tmpCertSelector */
            invokespecial org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder.<init>:(Ljava/security/cert/CertSelector;)V
            invokevirtual org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder.build:()Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters$Builder.setTargetConstraints:(Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;)Lorg/bouncycastle/jcajce/PKIXExtendedParameters$Builder;
        29: .line 462
            astore 16 /* paramsBuilder */
        start local 16 // org.bouncycastle.jcajce.PKIXExtendedParameters$Builder paramsBuilder
        30: .line 474
            aload 5 /* certPathCerts */
            aload 13 /* signingCert */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 476
            aload 16 /* paramsBuilder */
            iconst_0
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters$Builder.setRevocationEnabled:(Z)V
        32: .line 477
            goto 34
        33: .line 480
      StackMap locals: java.security.cert.CertPathBuilder java.security.cert.X509CertSelector org.bouncycastle.jcajce.PKIXExtendedParameters$Builder
      StackMap stack:
            aload 16 /* paramsBuilder */
            iconst_1
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters$Builder.setRevocationEnabled:(Z)V
        34: .line 483
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jcajce.PKIXExtendedBuilderParameters$Builder
            dup
            aload 16 /* paramsBuilder */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters$Builder.build:()Lorg/bouncycastle/jcajce/PKIXExtendedParameters;
            invokespecial org.bouncycastle.jcajce.PKIXExtendedBuilderParameters$Builder.<init>:(Lorg/bouncycastle/jcajce/PKIXExtendedParameters;)V
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedBuilderParameters$Builder.build:()Lorg/bouncycastle/jcajce/PKIXExtendedBuilderParameters;
            astore 17 /* extParams */
        start local 17 // org.bouncycastle.jcajce.PKIXExtendedBuilderParameters extParams
        35: .line 485
            aload 14 /* builder */
            aload 17 /* extParams */
            invokevirtual java.security.cert.CertPathBuilder.build:(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
            invokeinterface java.security.cert.CertPathBuilderResult.getCertPath:()Ljava/security/cert/CertPath;
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 18 /* certs */
        start local 18 // java.util.List certs
        36: .line 486
            aload 11 /* validCerts */
            aload 13 /* signingCert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        37: .line 487
            aload 12 /* validKeys */
            aload 18 /* certs */
            iconst_0
            aload 6 /* helper */
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getNextWorkingKey:(Ljava/util/List;ILorg/bouncycastle/jcajce/util/JcaJceHelper;)Ljava/security/PublicKey;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // java.util.List certs
        end local 17 // org.bouncycastle.jcajce.PKIXExtendedBuilderParameters extParams
        end local 16 // org.bouncycastle.jcajce.PKIXExtendedParameters$Builder paramsBuilder
        end local 15 // java.security.cert.X509CertSelector tmpCertSelector
        end local 14 // java.security.cert.CertPathBuilder builder
        38: .line 488
            goto 45
        39: .line 489
      StackMap locals: java.security.cert.X509CRL java.lang.Object java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.jcajce.PKIXExtendedParameters java.util.List org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper java.security.cert.X509CertSelector org.bouncycastle.jcajce.PKIXCertStoreSelector java.util.Collection java.util.Iterator java.util.List java.util.List java.security.cert.X509Certificate
      StackMap stack: java.security.cert.CertPathBuilderException
            astore 14 /* e */
        start local 14 // java.security.cert.CertPathBuilderException e
        40: .line 491
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "CertPath for CRL signer failed to validate."
            aload 14 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 14 // java.security.cert.CertPathBuilderException e
        41: .line 493
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
            astore 14 /* e */
        start local 14 // java.security.cert.CertPathValidatorException e
        42: .line 495
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Public key of issuer certificate of CRL could not be retrieved."
            aload 14 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 14 // java.security.cert.CertPathValidatorException e
        43: .line 497
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 14 /* e */
        start local 14 // java.lang.Exception e
        44: .line 499
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            aload 14 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // java.lang.Exception e
        end local 13 // java.security.cert.X509Certificate signingCert
        45: .line 442
      StackMap locals:
      StackMap stack:
            aload 10 /* cert_it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        46: .line 503
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 13 /* checkKeys */
        start local 13 // java.util.Set checkKeys
        47: .line 505
            aconst_null
            astore 14 /* lastException */
        start local 14 // org.bouncycastle.pkix.jcajce.AnnotatedException lastException
        48: .line 506
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        49: goto 59
        50: .line 508
      StackMap locals: java.util.Set org.bouncycastle.pkix.jcajce.AnnotatedException int
      StackMap stack:
            aload 11 /* validCerts */
            iload 15 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 16 /* signCert */
        start local 16 // java.security.cert.X509Certificate signCert
        51: .line 509
            aload 16 /* signCert */
            invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
            astore 17 /* keyusage */
        start local 17 // boolean[] keyusage
        52: .line 511
            aload 17 /* keyusage */
            ifnull 57
            aload 17 /* keyusage */
            arraylength
            bipush 7
            if_icmplt 53
            aload 17 /* keyusage */
            bipush 6
            baload
            ifne 57
        53: .line 513
      StackMap locals: java.security.cert.X509Certificate boolean[]
      StackMap stack:
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        54: .line 514
            ldc "Issuer certificate key usage extension does not permit CRL signing."
        55: .line 513
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            astore 14 /* lastException */
        56: .line 515
            goto 58
        57: .line 518
      StackMap locals:
      StackMap stack:
            aload 13 /* checkKeys */
            aload 12 /* validKeys */
            iload 15 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // boolean[] keyusage
        end local 16 // java.security.cert.X509Certificate signCert
        58: .line 506
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        59: iload 15 /* i */
            aload 11 /* validCerts */
            invokeinterface java.util.List.size:()I
            if_icmplt 50
        end local 15 // int i
        60: .line 522
            aload 13 /* checkKeys */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 62
            aload 14 /* lastException */
            ifnonnull 62
        61: .line 524
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Cannot find a valid issuer certificate."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 526
      StackMap locals:
      StackMap stack:
            aload 13 /* checkKeys */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 64
            aload 14 /* lastException */
            ifnull 64
        63: .line 528
            aload 14 /* lastException */
            athrow
        64: .line 531
      StackMap locals:
      StackMap stack:
            aload 13 /* checkKeys */
            areturn
        end local 14 // org.bouncycastle.pkix.jcajce.AnnotatedException lastException
        end local 13 // java.util.Set checkKeys
        end local 12 // java.util.List validKeys
        end local 11 // java.util.List validCerts
        end local 10 // java.util.Iterator cert_it
        end local 9 // java.util.Collection coll
        end local 8 // org.bouncycastle.jcajce.PKIXCertStoreSelector selector
        end local 7 // java.security.cert.X509CertSelector certSelector
        end local 6 // org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper helper
        end local 5 // java.util.List certPathCerts
        end local 4 // org.bouncycastle.jcajce.PKIXExtendedParameters paramsPKIX
        end local 3 // java.security.PublicKey defaultCRLSignKey
        end local 2 // java.security.cert.X509Certificate defaultCRLSignCert
        end local 1 // java.lang.Object cert
        end local 0 // java.security.cert.X509CRL crl
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   65     0                 crl  Ljava/security/cert/X509CRL;
            0   65     1                cert  Ljava/lang/Object;
            0   65     2  defaultCRLSignCert  Ljava/security/cert/X509Certificate;
            0   65     3   defaultCRLSignKey  Ljava/security/PublicKey;
            0   65     4          paramsPKIX  Lorg/bouncycastle/jcajce/PKIXExtendedParameters;
            0   65     5       certPathCerts  Ljava/util/List;
            0   65     6              helper  Lorg/bouncycastle/pkix/jcajce/PKIXJcaJceHelper;
            1   65     7        certSelector  Ljava/security/cert/X509CertSelector;
            2    3     8     issuerPrincipal  [B
            5    8     8                   e  Ljava/io/IOException;
            9   65     8            selector  Lorg/bouncycastle/jcajce/PKIXCertStoreSelector;
           10   12     9                coll  Ljava/util/Collection;
           14   65     9                coll  Ljava/util/Collection;
           13   14    10                   e  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
           16   65    10             cert_it  Ljava/util/Iterator;
           17   65    11          validCerts  Ljava/util/List;
           18   65    12           validKeys  Ljava/util/List;
           20   45    13         signingCert  Ljava/security/cert/X509Certificate;
           25   38    14             builder  Ljava/security/cert/CertPathBuilder;
           26   38    15     tmpCertSelector  Ljava/security/cert/X509CertSelector;
           30   38    16       paramsBuilder  Lorg/bouncycastle/jcajce/PKIXExtendedParameters$Builder;
           35   38    17           extParams  Lorg/bouncycastle/jcajce/PKIXExtendedBuilderParameters;
           36   38    18               certs  Ljava/util/List;
           40   41    14                   e  Ljava/security/cert/CertPathBuilderException;
           42   43    14                   e  Ljava/security/cert/CertPathValidatorException;
           44   45    14                   e  Ljava/lang/Exception;
           47   65    13           checkKeys  Ljava/util/Set;
           48   65    14       lastException  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
           49   60    15                   i  I
           51   58    16            signCert  Ljava/security/cert/X509Certificate;
           52   58    17            keyusage  [Z
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
           9    11      12  Class org.bouncycastle.pkix.jcajce.AnnotatedException
          24    38      39  Class java.security.cert.CertPathBuilderException
          24    38      41  Class java.security.cert.CertPathValidatorException
          24    38      43  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
                    Name  Flags
      crl                 
      cert                
      defaultCRLSignCert  
      defaultCRLSignKey   
      paramsPKIX          
      certPathCerts       
      helper              

  protected static java.security.PublicKey processCRLG(java.security.cert.X509CRL, java.util.Set);
    descriptor: (Ljava/security/cert/X509CRL;Ljava/util/Set;)Ljava/security/PublicKey;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.security.cert.X509CRL crl
        start local 1 // java.util.Set keys
         0: .line 539
            aconst_null
            astore 2 /* lastException */
        start local 2 // java.lang.Exception lastException
         1: .line 540
            aload 1 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         2: goto 9
         3: .line 542
      StackMap locals: java.lang.Exception java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.PublicKey
            astore 4 /* key */
        start local 4 // java.security.PublicKey key
         4: .line 545
            aload 0 /* crl */
            aload 4 /* key */
            invokevirtual java.security.cert.X509CRL.verify:(Ljava/security/PublicKey;)V
         5: .line 546
            aload 4 /* key */
         6: areturn
         7: .line 548
      StackMap locals: java.security.cert.X509CRL java.util.Set java.lang.Exception java.util.Iterator java.security.PublicKey
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
         8: .line 550
            aload 5 /* e */
            astore 2 /* lastException */
        end local 5 // java.lang.Exception e
        end local 4 // java.security.PublicKey key
         9: .line 540
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator it
        10: .line 553
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Cannot verify CRL."
            aload 2 /* lastException */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception lastException
        end local 1 // java.util.Set keys
        end local 0 // java.security.cert.X509CRL crl
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0            crl  Ljava/security/cert/X509CRL;
            0   11     1           keys  Ljava/util/Set;
            1   11     2  lastException  Ljava/lang/Exception;
            2   10     3             it  Ljava/util/Iterator;
            4    9     4            key  Ljava/security/PublicKey;
            8    9     5              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
      Name  Flags
      crl   
      keys  

  protected static java.security.cert.X509CRL processCRLH(java.util.Set, java.security.PublicKey);
    descriptor: (Ljava/util/Set;Ljava/security/PublicKey;)Ljava/security/cert/X509CRL;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.util.Set deltacrls
        start local 1 // java.security.PublicKey key
         0: .line 561
            aconst_null
            astore 2 /* lastException */
        start local 2 // java.lang.Exception lastException
         1: .line 563
            aload 0 /* deltacrls */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         2: goto 9
         3: .line 565
      StackMap locals: java.lang.Exception java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
            astore 4 /* crl */
        start local 4 // java.security.cert.X509CRL crl
         4: .line 568
            aload 4 /* crl */
            aload 1 /* key */
            invokevirtual java.security.cert.X509CRL.verify:(Ljava/security/PublicKey;)V
         5: .line 569
            aload 4 /* crl */
         6: areturn
         7: .line 571
      StackMap locals: java.util.Set java.security.PublicKey java.lang.Exception java.util.Iterator java.security.cert.X509CRL
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
         8: .line 573
            aload 5 /* e */
            astore 2 /* lastException */
        end local 5 // java.lang.Exception e
        end local 4 // java.security.cert.X509CRL crl
         9: .line 563
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator it
        10: .line 577
            aload 2 /* lastException */
            ifnull 12
        11: .line 579
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Cannot verify delta CRL."
            aload 2 /* lastException */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        12: .line 581
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Exception lastException
        end local 1 // java.security.PublicKey key
        end local 0 // java.util.Set deltacrls
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0      deltacrls  Ljava/util/Set;
            0   13     1            key  Ljava/security/PublicKey;
            1   13     2  lastException  Ljava/lang/Exception;
            2   10     3             it  Ljava/util/Iterator;
            4    9     4            crl  Ljava/security/cert/X509CRL;
            8    9     5              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.Exception
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
           Name  Flags
      deltacrls  
      key        

  protected static java.util.Set processCRLA1i(java.util.Date, org.bouncycastle.jcajce.PKIXExtendedParameters, java.security.cert.X509Certificate, java.security.cert.X509CRL);
    descriptor: (Ljava/util/Date;Lorg/bouncycastle/jcajce/PKIXExtendedParameters;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509CRL;)Ljava/util/Set;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // java.util.Date currentDate
        start local 1 // org.bouncycastle.jcajce.PKIXExtendedParameters paramsPKIX
        start local 2 // java.security.cert.X509Certificate cert
        start local 3 // java.security.cert.X509CRL crl
         0: .line 591
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* set */
        start local 4 // java.util.Set set
         1: .line 592
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.isUseDeltasEnabled:()Z
            ifeq 28
         2: .line 594
            aconst_null
            astore 5 /* freshestCRL */
        start local 5 // org.bouncycastle.asn1.x509.CRLDistPoint freshestCRL
         3: .line 598
            aload 2 /* cert */
            getstatic org.bouncycastle.asn1.x509.Extension.freshestCRL:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            invokestatic org.bouncycastle.asn1.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
         4: .line 597
            astore 5 /* freshestCRL */
         5: .line 599
            goto 8
         6: .line 600
      StackMap locals: java.util.Date org.bouncycastle.jcajce.PKIXExtendedParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set org.bouncycastle.asn1.x509.CRLDistPoint
      StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
            astore 6 /* e */
        start local 6 // org.bouncycastle.pkix.jcajce.AnnotatedException e
         7: .line 602
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Freshest CRL extension could not be decoded from certificate."
            aload 6 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.bouncycastle.pkix.jcajce.AnnotatedException e
         8: .line 604
      StackMap locals:
      StackMap stack:
            aload 5 /* freshestCRL */
            ifnonnull 15
         9: .line 608
            aload 3 /* crl */
        10: .line 609
            getstatic org.bouncycastle.asn1.x509.Extension.freshestCRL:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
        11: .line 608
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            invokestatic org.bouncycastle.asn1.x509.CRLDistPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/CRLDistPoint;
            astore 5 /* freshestCRL */
        12: .line 610
            goto 15
        13: .line 611
      StackMap locals:
      StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
            astore 6 /* e */
        start local 6 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        14: .line 613
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Freshest CRL extension could not be decoded from CRL."
            aload 6 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        15: .line 616
      StackMap locals:
      StackMap stack:
            aload 5 /* freshestCRL */
            ifnull 28
        16: .line 618
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* crlStores */
        start local 6 // java.util.List crlStores
        17: .line 620
            aload 6 /* crlStores */
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCRLStores:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        18: .line 624
            aload 6 /* crlStores */
            aload 5 /* freshestCRL */
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getNamedCRLStoreMap:()Ljava/util/Map;
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getAdditionalStoresFromCRLDistributionPoint:(Lorg/bouncycastle/asn1/x509/CRLDistPoint;Ljava/util/Map;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 625
            goto 24
        20: .line 626
      StackMap locals: java.util.Date org.bouncycastle.jcajce.PKIXExtendedParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set org.bouncycastle.asn1.x509.CRLDistPoint java.util.List
      StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
            astore 7 /* e */
        start local 7 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        21: .line 628
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        22: .line 629
            ldc "No new delta CRL locations could be added from Freshest CRL extension."
            aload 7 /* e */
        23: .line 628
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        24: .line 635
      StackMap locals:
      StackMap stack:
            aload 4 /* set */
            aload 0 /* currentDate */
            aload 3 /* crl */
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCertStores:()Ljava/util/List;
            aload 6 /* crlStores */
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getDeltaCRLs:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/util/List;Ljava/util/List;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        25: .line 636
            goto 28
        26: .line 637
      StackMap locals:
      StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
            astore 7 /* e */
        start local 7 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        27: .line 639
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Exception obtaining delta CRLs."
            aload 7 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        end local 6 // java.util.List crlStores
        end local 5 // org.bouncycastle.asn1.x509.CRLDistPoint freshestCRL
        28: .line 643
      StackMap locals:
      StackMap stack:
            aload 4 /* set */
            areturn
        end local 4 // java.util.Set set
        end local 3 // java.security.cert.X509CRL crl
        end local 2 // java.security.cert.X509Certificate cert
        end local 1 // org.bouncycastle.jcajce.PKIXExtendedParameters paramsPKIX
        end local 0 // java.util.Date currentDate
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0  currentDate  Ljava/util/Date;
            0   29     1   paramsPKIX  Lorg/bouncycastle/jcajce/PKIXExtendedParameters;
            0   29     2         cert  Ljava/security/cert/X509Certificate;
            0   29     3          crl  Ljava/security/cert/X509CRL;
            1   29     4          set  Ljava/util/Set;
            3   28     5  freshestCRL  Lorg/bouncycastle/asn1/x509/CRLDistPoint;
            7    8     6            e  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
           14   15     6            e  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
           17   28     6    crlStores  Ljava/util/List;
           21   24     7            e  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
           27   28     7            e  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
      Exception table:
        from    to  target  type
           3     5       6  Class org.bouncycastle.pkix.jcajce.AnnotatedException
           9    12      13  Class org.bouncycastle.pkix.jcajce.AnnotatedException
          18    19      20  Class org.bouncycastle.pkix.jcajce.AnnotatedException
          24    25      26  Class org.bouncycastle.pkix.jcajce.AnnotatedException
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
             Name  Flags
      currentDate  
      paramsPKIX   
      cert         
      crl          

  protected static java.util.Set[] processCRLA1ii(java.util.Date, org.bouncycastle.jcajce.PKIXExtendedParameters, java.security.cert.X509Certificate, java.security.cert.X509CRL);
    descriptor: (Ljava/util/Date;Lorg/bouncycastle/jcajce/PKIXExtendedParameters;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509CRL;)[Ljava/util/Set;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // java.util.Date currentDate
        start local 1 // org.bouncycastle.jcajce.PKIXExtendedParameters paramsPKIX
        start local 2 // java.security.cert.X509Certificate cert
        start local 3 // java.security.cert.X509CRL crl
         0: .line 653
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* deltaSet */
        start local 4 // java.util.Set deltaSet
         1: .line 654
            new java.security.cert.X509CRLSelector
            dup
            invokespecial java.security.cert.X509CRLSelector.<init>:()V
            astore 5 /* crlselect */
        start local 5 // java.security.cert.X509CRLSelector crlselect
         2: .line 655
            aload 5 /* crlselect */
            aload 2 /* cert */
            invokevirtual java.security.cert.X509CRLSelector.setCertificateChecking:(Ljava/security/cert/X509Certificate;)V
         3: .line 659
            aload 5 /* crlselect */
            aload 3 /* crl */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            invokevirtual java.security.cert.X509CRLSelector.addIssuerName:([B)V
         4: .line 660
            goto 7
         5: .line 661
      StackMap locals: java.util.Date org.bouncycastle.jcajce.PKIXExtendedParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set java.security.cert.X509CRLSelector
      StackMap stack: java.io.IOException
            astore 6 /* e */
        start local 6 // java.io.IOException e
         6: .line 663
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot extract issuer from CRL."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException e
         7: .line 666
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder
            dup
            aload 5 /* crlselect */
            invokespecial org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.<init>:(Ljava/security/cert/CRLSelector;)V
            iconst_1
            invokevirtual org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.setCompleteCRLEnabled:(Z)Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector$Builder;
            invokevirtual org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder.build:()Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector;
            astore 6 /* extSelect */
        start local 6 // org.bouncycastle.jcajce.PKIXCRLStoreSelector extSelect
         8: .line 668
            aload 0 /* currentDate */
            astore 7 /* validityDate */
        start local 7 // java.util.Date validityDate
         9: .line 670
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getDate:()Ljava/util/Date;
            ifnull 11
        10: .line 672
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getDate:()Ljava/util/Date;
            astore 7 /* validityDate */
        11: .line 675
      StackMap locals: org.bouncycastle.jcajce.PKIXCRLStoreSelector java.util.Date
      StackMap stack:
            getstatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.CRL_UTIL:Lorg/bouncycastle/pkix/jcajce/PKIXCRLUtil;
            aload 6 /* extSelect */
            aload 7 /* validityDate */
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCertStores:()Ljava/util/List;
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCRLStores:()Ljava/util/List;
            invokevirtual org.bouncycastle.pkix.jcajce.PKIXCRLUtil.findCRLs:(Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector;Ljava/util/Date;Ljava/util/List;Ljava/util/List;)Ljava/util/Set;
            astore 8 /* completeSet */
        start local 8 // java.util.Set completeSet
        12: .line 677
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.isUseDeltasEnabled:()Z
            ifeq 17
        13: .line 682
            aload 4 /* deltaSet */
            aload 7 /* validityDate */
            aload 3 /* crl */
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCertStores:()Ljava/util/List;
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCRLStores:()Ljava/util/List;
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getDeltaCRLs:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/util/List;Ljava/util/List;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        14: .line 683
            goto 17
        15: .line 684
      StackMap locals: java.util.Date org.bouncycastle.jcajce.PKIXExtendedParameters java.security.cert.X509Certificate java.security.cert.X509CRL java.util.Set java.security.cert.X509CRLSelector org.bouncycastle.jcajce.PKIXCRLStoreSelector java.util.Date java.util.Set
      StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
            astore 9 /* e */
        start local 9 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        16: .line 686
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Exception obtaining delta CRLs."
            aload 9 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        17: .line 690
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.util.Set
            dup
            iconst_0
        18: .line 691
            aload 8 /* completeSet */
            aastore
            dup
            iconst_1
        19: .line 692
            aload 4 /* deltaSet */
            aastore
        20: .line 689
            areturn
        end local 8 // java.util.Set completeSet
        end local 7 // java.util.Date validityDate
        end local 6 // org.bouncycastle.jcajce.PKIXCRLStoreSelector extSelect
        end local 5 // java.security.cert.X509CRLSelector crlselect
        end local 4 // java.util.Set deltaSet
        end local 3 // java.security.cert.X509CRL crl
        end local 2 // java.security.cert.X509Certificate cert
        end local 1 // org.bouncycastle.jcajce.PKIXExtendedParameters paramsPKIX
        end local 0 // java.util.Date currentDate
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0   currentDate  Ljava/util/Date;
            0   21     1    paramsPKIX  Lorg/bouncycastle/jcajce/PKIXExtendedParameters;
            0   21     2          cert  Ljava/security/cert/X509Certificate;
            0   21     3           crl  Ljava/security/cert/X509CRL;
            1   21     4      deltaSet  Ljava/util/Set;
            2   21     5     crlselect  Ljava/security/cert/X509CRLSelector;
            6    7     6             e  Ljava/io/IOException;
            8   21     6     extSelect  Lorg/bouncycastle/jcajce/PKIXCRLStoreSelector;
            9   21     7  validityDate  Ljava/util/Date;
           12   21     8   completeSet  Ljava/util/Set;
           16   17     9             e  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
          13    14      15  Class org.bouncycastle.pkix.jcajce.AnnotatedException
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
             Name  Flags
      currentDate  
      paramsPKIX   
      cert         
      crl          

  protected static void processCRLC(java.security.cert.X509CRL, java.security.cert.X509CRL, org.bouncycastle.jcajce.PKIXExtendedParameters);
    descriptor: (Ljava/security/cert/X509CRL;Ljava/security/cert/X509CRL;Lorg/bouncycastle/jcajce/PKIXExtendedParameters;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // java.security.cert.X509CRL deltaCRL
        start local 1 // java.security.cert.X509CRL completeCRL
        start local 2 // org.bouncycastle.jcajce.PKIXExtendedParameters pkixParams
         0: .line 711
            aload 0 /* deltaCRL */
            ifnonnull 2
         1: .line 713
            return
         2: .line 715
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* completeidp */
        start local 3 // org.bouncycastle.asn1.x509.IssuingDistributionPoint completeidp
         3: .line 719
            aload 1 /* completeCRL */
            getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
         4: .line 718
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            astore 3 /* completeidp */
         5: .line 720
            goto 8
         6: .line 721
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.jcajce.PKIXExtendedParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
         7: .line 723
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "issuing distribution point extension could not be decoded."
            aload 4 /* e */
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
         8: .line 726
      StackMap locals:
      StackMap stack:
            aload 2 /* pkixParams */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.isUseDeltasEnabled:()Z
            ifeq 54
         9: .line 729
            aload 0 /* deltaCRL */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            aload 1 /* completeCRL */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 731
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "complete CRL issuer does not match delta CRL issuer"
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 735
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* deltaidp */
        start local 4 // org.bouncycastle.asn1.x509.IssuingDistributionPoint deltaidp
        12: .line 739
            aload 0 /* deltaCRL */
            getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
        13: .line 738
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            invokestatic org.bouncycastle.asn1.x509.IssuingDistributionPoint.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            astore 4 /* deltaidp */
        14: .line 740
            goto 19
        15: .line 741
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.jcajce.PKIXExtendedParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        16: .line 743
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        17: .line 744
            ldc "Issuing distribution point extension from delta CRL could not be decoded."
            aload 5 /* e */
        18: .line 743
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception e
        19: .line 747
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* match */
        start local 5 // boolean match
        20: .line 748
            aload 3 /* completeidp */
            ifnonnull 24
        21: .line 750
            aload 4 /* deltaidp */
            ifnonnull 26
        22: .line 752
            iconst_1
            istore 5 /* match */
        23: .line 754
            goto 26
        24: .line 757
      StackMap locals: int
      StackMap stack:
            aload 3 /* completeidp */
            aload 4 /* deltaidp */
            invokevirtual org.bouncycastle.asn1.x509.IssuingDistributionPoint.equals:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 759
            iconst_1
            istore 5 /* match */
        26: .line 762
      StackMap locals:
      StackMap stack:
            iload 5 /* match */
            ifne 30
        27: .line 764
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        28: .line 765
            ldc "Issuing distribution point extension from delta CRL and complete CRL does not match."
        29: .line 764
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 769
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* completeKeyIdentifier */
        start local 6 // org.bouncycastle.asn1.ASN1Primitive completeKeyIdentifier
        31: .line 773
            aload 1 /* completeCRL */
            getstatic org.bouncycastle.asn1.x509.Extension.authorityKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
        32: .line 772
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            astore 6 /* completeKeyIdentifier */
        33: .line 774
            goto 38
        34: .line 775
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.jcajce.PKIXExtendedParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint int org.bouncycastle.asn1.ASN1Primitive
      StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
            astore 7 /* e */
        start local 7 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        35: .line 777
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        36: .line 778
            ldc "Authority key identifier extension could not be extracted from complete CRL."
            aload 7 /* e */
        37: .line 777
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        38: .line 781
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* deltaKeyIdentifier */
        start local 7 // org.bouncycastle.asn1.ASN1Primitive deltaKeyIdentifier
        39: .line 785
            aload 0 /* deltaCRL */
            getstatic org.bouncycastle.asn1.x509.Extension.authorityKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
        40: .line 784
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getExtensionValue:(Ljava/security/cert/X509Extension;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1Primitive;
            astore 7 /* deltaKeyIdentifier */
        41: .line 786
            goto 46
        42: .line 787
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.jcajce.PKIXExtendedParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint org.bouncycastle.asn1.x509.IssuingDistributionPoint int org.bouncycastle.asn1.ASN1Primitive org.bouncycastle.asn1.ASN1Primitive
      StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
            astore 8 /* e */
        start local 8 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        43: .line 789
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        44: .line 790
            ldc "Authority key identifier extension could not be extracted from delta CRL."
            aload 8 /* e */
        45: .line 789
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        46: .line 793
      StackMap locals:
      StackMap stack:
            aload 6 /* completeKeyIdentifier */
            ifnonnull 48
        47: .line 795
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "CRL authority key identifier is null."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        48: .line 798
      StackMap locals:
      StackMap stack:
            aload 7 /* deltaKeyIdentifier */
            ifnonnull 50
        49: .line 800
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Delta CRL authority key identifier is null."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 803
      StackMap locals:
      StackMap stack:
            aload 6 /* completeKeyIdentifier */
            aload 7 /* deltaKeyIdentifier */
            invokevirtual org.bouncycastle.asn1.ASN1Primitive.equals:(Ljava/lang/Object;)Z
            ifne 54
        51: .line 805
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
        52: .line 806
            ldc "Delta CRL authority key identifier does not match complete CRL authority key identifier."
        53: .line 805
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // org.bouncycastle.asn1.ASN1Primitive deltaKeyIdentifier
        end local 6 // org.bouncycastle.asn1.ASN1Primitive completeKeyIdentifier
        end local 5 // boolean match
        end local 4 // org.bouncycastle.asn1.x509.IssuingDistributionPoint deltaidp
        54: .line 809
      StackMap locals: java.security.cert.X509CRL java.security.cert.X509CRL org.bouncycastle.jcajce.PKIXExtendedParameters org.bouncycastle.asn1.x509.IssuingDistributionPoint
      StackMap stack:
            return
        end local 3 // org.bouncycastle.asn1.x509.IssuingDistributionPoint completeidp
        end local 2 // org.bouncycastle.jcajce.PKIXExtendedParameters pkixParams
        end local 1 // java.security.cert.X509CRL completeCRL
        end local 0 // java.security.cert.X509CRL deltaCRL
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   55     0               deltaCRL  Ljava/security/cert/X509CRL;
            0   55     1            completeCRL  Ljava/security/cert/X509CRL;
            0   55     2             pkixParams  Lorg/bouncycastle/jcajce/PKIXExtendedParameters;
            3   55     3            completeidp  Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
            7    8     4                      e  Ljava/lang/Exception;
           12   54     4               deltaidp  Lorg/bouncycastle/asn1/x509/IssuingDistributionPoint;
           16   19     5                      e  Ljava/lang/Exception;
           20   54     5                  match  Z
           31   54     6  completeKeyIdentifier  Lorg/bouncycastle/asn1/ASN1Primitive;
           35   38     7                      e  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
           39   54     7     deltaKeyIdentifier  Lorg/bouncycastle/asn1/ASN1Primitive;
           43   46     8                      e  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.Exception
          12    14      15  Class java.lang.Exception
          31    33      34  Class org.bouncycastle.pkix.jcajce.AnnotatedException
          39    41      42  Class org.bouncycastle.pkix.jcajce.AnnotatedException
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
             Name  Flags
      deltaCRL     
      completeCRL  
      pkixParams   

  protected static void processCRLI(java.util.Date, java.security.cert.X509CRL, java.lang.Object, org.bouncycastle.pkix.jcajce.CertStatus, org.bouncycastle.jcajce.PKIXExtendedParameters);
    descriptor: (Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/pkix/jcajce/CertStatus;Lorg/bouncycastle/jcajce/PKIXExtendedParameters;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // java.util.Date validDate
        start local 1 // java.security.cert.X509CRL deltacrl
        start local 2 // java.lang.Object cert
        start local 3 // org.bouncycastle.pkix.jcajce.CertStatus certStatus
        start local 4 // org.bouncycastle.jcajce.PKIXExtendedParameters pkixParams
         0: .line 819
            aload 4 /* pkixParams */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.isUseDeltasEnabled:()Z
            ifeq 2
            aload 1 /* deltacrl */
            ifnull 2
         1: .line 821
            aload 0 /* validDate */
            aload 1 /* deltacrl */
            aload 2 /* cert */
            aload 3 /* certStatus */
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getCertStatus:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/pkix/jcajce/CertStatus;)V
         2: .line 823
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.bouncycastle.jcajce.PKIXExtendedParameters pkixParams
        end local 3 // org.bouncycastle.pkix.jcajce.CertStatus certStatus
        end local 2 // java.lang.Object cert
        end local 1 // java.security.cert.X509CRL deltacrl
        end local 0 // java.util.Date validDate
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0   validDate  Ljava/util/Date;
            0    3     1    deltacrl  Ljava/security/cert/X509CRL;
            0    3     2        cert  Ljava/lang/Object;
            0    3     3  certStatus  Lorg/bouncycastle/pkix/jcajce/CertStatus;
            0    3     4  pkixParams  Lorg/bouncycastle/jcajce/PKIXExtendedParameters;
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
            Name  Flags
      validDate   
      deltacrl    
      cert        
      certStatus  
      pkixParams  

  protected static void processCRLJ(java.util.Date, java.security.cert.X509CRL, java.lang.Object, org.bouncycastle.pkix.jcajce.CertStatus);
    descriptor: (Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/pkix/jcajce/CertStatus;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.util.Date validDate
        start local 1 // java.security.cert.X509CRL completecrl
        start local 2 // java.lang.Object cert
        start local 3 // org.bouncycastle.pkix.jcajce.CertStatus certStatus
         0: .line 832
            aload 3 /* certStatus */
            invokevirtual org.bouncycastle.pkix.jcajce.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 2
         1: .line 834
            aload 0 /* validDate */
            aload 1 /* completecrl */
            aload 2 /* cert */
            aload 3 /* certStatus */
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getCertStatus:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/pkix/jcajce/CertStatus;)V
         2: .line 836
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.bouncycastle.pkix.jcajce.CertStatus certStatus
        end local 2 // java.lang.Object cert
        end local 1 // java.security.cert.X509CRL completecrl
        end local 0 // java.util.Date validDate
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0    validDate  Ljava/util/Date;
            0    3     1  completecrl  Ljava/security/cert/X509CRL;
            0    3     2         cert  Ljava/lang/Object;
            0    3     3   certStatus  Lorg/bouncycastle/pkix/jcajce/CertStatus;
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException
    MethodParameters:
             Name  Flags
      validDate    
      completecrl  
      cert         
      certStatus   

  static void checkCRL(org.bouncycastle.asn1.x509.DistributionPoint, org.bouncycastle.jcajce.PKIXExtendedParameters, java.security.cert.X509Certificate, java.util.Date, java.security.cert.X509Certificate, java.security.PublicKey, org.bouncycastle.pkix.jcajce.CertStatus, org.bouncycastle.pkix.jcajce.ReasonsMask, java.util.List, org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper);
    descriptor: (Lorg/bouncycastle/asn1/x509/DistributionPoint;Lorg/bouncycastle/jcajce/PKIXExtendedParameters;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/pkix/jcajce/CertStatus;Lorg/bouncycastle/pkix/jcajce/ReasonsMask;Ljava/util/List;Lorg/bouncycastle/pkix/jcajce/PKIXJcaJceHelper;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=22, args_size=10
        start local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
        start local 1 // org.bouncycastle.jcajce.PKIXExtendedParameters paramsPKIX
        start local 2 // java.security.cert.X509Certificate cert
        start local 3 // java.util.Date validDate
        start local 4 // java.security.cert.X509Certificate defaultCRLSignCert
        start local 5 // java.security.PublicKey defaultCRLSignKey
        start local 6 // org.bouncycastle.pkix.jcajce.CertStatus certStatus
        start local 7 // org.bouncycastle.pkix.jcajce.ReasonsMask reasonMask
        start local 8 // java.util.List certPathCerts
        start local 9 // org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper helper
         0: .line 869
            new java.util.Date
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Date.<init>:(J)V
            astore 10 /* currentDate */
        start local 10 // java.util.Date currentDate
         1: .line 870
            aload 3 /* validDate */
            invokevirtual java.util.Date.getTime:()J
            aload 10 /* currentDate */
            invokevirtual java.util.Date.getTime:()J
            lcmp
            ifle 3
         2: .line 872
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Validation time is in future."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 883
      StackMap locals: java.util.Date
      StackMap stack:
            aload 10 /* currentDate */
            astore 11 /* validityDate */
        start local 11 // java.util.Date validityDate
         4: .line 885
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getDate:()Ljava/util/Date;
            ifnull 6
         5: .line 887
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getDate:()Ljava/util/Date;
            astore 11 /* validityDate */
         6: .line 890
      StackMap locals: java.util.Date
      StackMap stack:
            aload 0 /* dp */
            aload 2 /* cert */
            aload 11 /* validityDate */
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCertStores:()Ljava/util/List;
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCRLStores:()Ljava/util/List;
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getCompleteCRLs:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/util/Date;Ljava/util/List;Ljava/util/List;)Ljava/util/Set;
            astore 12 /* crls */
        start local 12 // java.util.Set crls
         7: .line 891
            iconst_0
            istore 13 /* validCrlFound */
        start local 13 // boolean validCrlFound
         8: .line 892
            aconst_null
            astore 14 /* lastException */
        start local 14 // org.bouncycastle.pkix.jcajce.AnnotatedException lastException
         9: .line 893
            aload 12 /* crls */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15 /* crl_iter */
        start local 15 // java.util.Iterator crl_iter
        10: .line 895
            goto 53
        11: .line 899
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.jcajce.PKIXExtendedParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.pkix.jcajce.CertStatus org.bouncycastle.pkix.jcajce.ReasonsMask java.util.List org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper java.util.Date java.util.Date java.util.Set int org.bouncycastle.pkix.jcajce.AnnotatedException java.util.Iterator
      StackMap stack:
            aload 15 /* crl_iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
            astore 16 /* crl */
        start local 16 // java.security.cert.X509CRL crl
        12: .line 902
            aload 16 /* crl */
            aload 0 /* dp */
            invokestatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.processCRLD:(Ljava/security/cert/X509CRL;Lorg/bouncycastle/asn1/x509/DistributionPoint;)Lorg/bouncycastle/pkix/jcajce/ReasonsMask;
            astore 17 /* interimReasonsMask */
        start local 17 // org.bouncycastle.pkix.jcajce.ReasonsMask interimReasonsMask
        13: .line 910
            aload 17 /* interimReasonsMask */
            aload 7 /* reasonMask */
            invokevirtual org.bouncycastle.pkix.jcajce.ReasonsMask.hasNewReasons:(Lorg/bouncycastle/pkix/jcajce/ReasonsMask;)Z
            ifne 15
        14: .line 912
            goto 53
        15: .line 916
      StackMap locals: java.security.cert.X509CRL org.bouncycastle.pkix.jcajce.ReasonsMask
      StackMap stack:
            aload 16 /* crl */
            aload 2 /* cert */
            aload 4 /* defaultCRLSignCert */
            aload 5 /* defaultCRLSignKey */
        16: .line 917
            aload 1 /* paramsPKIX */
            aload 8 /* certPathCerts */
            aload 9 /* helper */
        17: .line 916
            invokestatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.processCRLF:(Ljava/security/cert/X509CRL;Ljava/lang/Object;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Lorg/bouncycastle/jcajce/PKIXExtendedParameters;Ljava/util/List;Lorg/bouncycastle/pkix/jcajce/PKIXJcaJceHelper;)Ljava/util/Set;
            astore 18 /* keys */
        start local 18 // java.util.Set keys
        18: .line 919
            aload 16 /* crl */
            aload 18 /* keys */
            invokestatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.processCRLG:(Ljava/security/cert/X509CRL;Ljava/util/Set;)Ljava/security/PublicKey;
            astore 19 /* key */
        start local 19 // java.security.PublicKey key
        19: .line 921
            aconst_null
            astore 20 /* deltaCRL */
        start local 20 // java.security.cert.X509CRL deltaCRL
        20: .line 923
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.isUseDeltasEnabled:()Z
            ifeq 23
        21: .line 926
            aload 11 /* validityDate */
            aload 16 /* crl */
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCertStores:()Ljava/util/List;
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getCRLStores:()Ljava/util/List;
            invokestatic org.bouncycastle.pkix.jcajce.RevocationUtilities.getDeltaCRLs:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/util/List;Ljava/util/List;)Ljava/util/Set;
            astore 21 /* deltaCRLs */
        start local 21 // java.util.Set deltaCRLs
        22: .line 929
            aload 21 /* deltaCRLs */
            aload 19 /* key */
            invokestatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.processCRLH:(Ljava/util/Set;Ljava/security/PublicKey;)Ljava/security/cert/X509CRL;
            astore 20 /* deltaCRL */
        end local 21 // java.util.Set deltaCRLs
        23: .line 945
      StackMap locals: java.util.Set java.security.PublicKey java.security.cert.X509CRL
      StackMap stack:
            aload 1 /* paramsPKIX */
            invokevirtual org.bouncycastle.jcajce.PKIXExtendedParameters.getValidityModel:()I
            iconst_1
            if_icmpeq 26
        24: .line 952
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getNotAfter:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            aload 16 /* crl */
            invokevirtual java.security.cert.X509CRL.getThisUpdate:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lcmp
            ifge 26
        25: .line 954
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "No valid CRL for current time found."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 958
      StackMap locals:
      StackMap stack:
            aload 0 /* dp */
            aload 2 /* cert */
            aload 16 /* crl */
            invokestatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.processCRLB1:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
        27: .line 961
            aload 0 /* dp */
            aload 2 /* cert */
            aload 16 /* crl */
            invokestatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.processCRLB2:(Lorg/bouncycastle/asn1/x509/DistributionPoint;Ljava/lang/Object;Ljava/security/cert/X509CRL;)V
        28: .line 964
            aload 20 /* deltaCRL */
            aload 16 /* crl */
            aload 1 /* paramsPKIX */
            invokestatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.processCRLC:(Ljava/security/cert/X509CRL;Ljava/security/cert/X509CRL;Lorg/bouncycastle/jcajce/PKIXExtendedParameters;)V
        29: .line 967
            aload 3 /* validDate */
            aload 20 /* deltaCRL */
            aload 2 /* cert */
            aload 6 /* certStatus */
            aload 1 /* paramsPKIX */
            invokestatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.processCRLI:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/pkix/jcajce/CertStatus;Lorg/bouncycastle/jcajce/PKIXExtendedParameters;)V
        30: .line 970
            aload 3 /* validDate */
            aload 16 /* crl */
            aload 2 /* cert */
            aload 6 /* certStatus */
            invokestatic org.bouncycastle.pkix.jcajce.RFC3280CertPathUtilities.processCRLJ:(Ljava/util/Date;Ljava/security/cert/X509CRL;Ljava/lang/Object;Lorg/bouncycastle/pkix/jcajce/CertStatus;)V
        31: .line 973
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.pkix.jcajce.CertStatus.getCertStatus:()I
            bipush 8
            if_icmpne 33
        32: .line 975
            aload 6 /* certStatus */
            bipush 11
            invokevirtual org.bouncycastle.pkix.jcajce.CertStatus.setCertStatus:(I)V
        33: .line 979
      StackMap locals:
      StackMap stack:
            aload 7 /* reasonMask */
            aload 17 /* interimReasonsMask */
            invokevirtual org.bouncycastle.pkix.jcajce.ReasonsMask.addReasons:(Lorg/bouncycastle/pkix/jcajce/ReasonsMask;)V
        34: .line 981
            aload 16 /* crl */
            invokevirtual java.security.cert.X509CRL.getCriticalExtensionOIDs:()Ljava/util/Set;
            astore 21 /* criticalExtensions */
        start local 21 // java.util.Set criticalExtensions
        35: .line 982
            aload 21 /* criticalExtensions */
            ifnull 41
        36: .line 984
            new java.util.HashSet
            dup
            aload 21 /* criticalExtensions */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 21 /* criticalExtensions */
        37: .line 985
            aload 21 /* criticalExtensions */
            getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        38: .line 986
            aload 21 /* criticalExtensions */
            getstatic org.bouncycastle.asn1.x509.Extension.deltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        39: .line 988
            aload 21 /* criticalExtensions */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 41
        40: .line 990
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "CRL contains unsupported critical extensions."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 994
      StackMap locals: java.util.Set
      StackMap stack:
            aload 20 /* deltaCRL */
            ifnull 49
        42: .line 996
            aload 20 /* deltaCRL */
            invokevirtual java.security.cert.X509CRL.getCriticalExtensionOIDs:()Ljava/util/Set;
            astore 21 /* criticalExtensions */
        43: .line 997
            aload 21 /* criticalExtensions */
            ifnull 49
        44: .line 999
            new java.util.HashSet
            dup
            aload 21 /* criticalExtensions */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 21 /* criticalExtensions */
        45: .line 1000
            aload 21 /* criticalExtensions */
            getstatic org.bouncycastle.asn1.x509.Extension.issuingDistributionPoint:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        46: .line 1001
            aload 21 /* criticalExtensions */
            getstatic org.bouncycastle.asn1.x509.Extension.deltaCRLIndicator:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        47: .line 1002
            aload 21 /* criticalExtensions */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 49
        48: .line 1004
            new org.bouncycastle.pkix.jcajce.AnnotatedException
            dup
            ldc "Delta CRL contains unsupported critical extension."
            invokespecial org.bouncycastle.pkix.jcajce.AnnotatedException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 1009
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 13 /* validCrlFound */
        end local 21 // java.util.Set criticalExtensions
        end local 20 // java.security.cert.X509CRL deltaCRL
        end local 19 // java.security.PublicKey key
        end local 18 // java.util.Set keys
        end local 17 // org.bouncycastle.pkix.jcajce.ReasonsMask interimReasonsMask
        end local 16 // java.security.cert.X509CRL crl
        50: .line 1010
            goto 53
        51: .line 1011
      StackMap locals: org.bouncycastle.asn1.x509.DistributionPoint org.bouncycastle.jcajce.PKIXExtendedParameters java.security.cert.X509Certificate java.util.Date java.security.cert.X509Certificate java.security.PublicKey org.bouncycastle.pkix.jcajce.CertStatus org.bouncycastle.pkix.jcajce.ReasonsMask java.util.List org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper java.util.Date java.util.Date java.util.Set int org.bouncycastle.pkix.jcajce.AnnotatedException java.util.Iterator
      StackMap stack: org.bouncycastle.pkix.jcajce.AnnotatedException
            astore 16 /* e */
        start local 16 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        52: .line 1013
            aload 16 /* e */
            astore 14 /* lastException */
        end local 16 // org.bouncycastle.pkix.jcajce.AnnotatedException e
        53: .line 895
      StackMap locals:
      StackMap stack:
            aload 15 /* crl_iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 54
            aload 6 /* certStatus */
            invokevirtual org.bouncycastle.pkix.jcajce.CertStatus.getCertStatus:()I
            bipush 11
            if_icmpne 54
            aload 7 /* reasonMask */
            invokevirtual org.bouncycastle.pkix.jcajce.ReasonsMask.isAllReasons:()Z
            ifeq 11
        54: .line 1016
      StackMap locals:
      StackMap stack:
            iload 13 /* validCrlFound */
            ifne 56
        55: .line 1018
            aload 14 /* lastException */
            athrow
        56: .line 1020
      StackMap locals:
      StackMap stack:
            return
        end local 15 // java.util.Iterator crl_iter
        end local 14 // org.bouncycastle.pkix.jcajce.AnnotatedException lastException
        end local 13 // boolean validCrlFound
        end local 12 // java.util.Set crls
        end local 11 // java.util.Date validityDate
        end local 10 // java.util.Date currentDate
        end local 9 // org.bouncycastle.pkix.jcajce.PKIXJcaJceHelper helper
        end local 8 // java.util.List certPathCerts
        end local 7 // org.bouncycastle.pkix.jcajce.ReasonsMask reasonMask
        end local 6 // org.bouncycastle.pkix.jcajce.CertStatus certStatus
        end local 5 // java.security.PublicKey defaultCRLSignKey
        end local 4 // java.security.cert.X509Certificate defaultCRLSignCert
        end local 3 // java.util.Date validDate
        end local 2 // java.security.cert.X509Certificate cert
        end local 1 // org.bouncycastle.jcajce.PKIXExtendedParameters paramsPKIX
        end local 0 // org.bouncycastle.asn1.x509.DistributionPoint dp
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   57     0                  dp  Lorg/bouncycastle/asn1/x509/DistributionPoint;
            0   57     1          paramsPKIX  Lorg/bouncycastle/jcajce/PKIXExtendedParameters;
            0   57     2                cert  Ljava/security/cert/X509Certificate;
            0   57     3           validDate  Ljava/util/Date;
            0   57     4  defaultCRLSignCert  Ljava/security/cert/X509Certificate;
            0   57     5   defaultCRLSignKey  Ljava/security/PublicKey;
            0   57     6          certStatus  Lorg/bouncycastle/pkix/jcajce/CertStatus;
            0   57     7          reasonMask  Lorg/bouncycastle/pkix/jcajce/ReasonsMask;
            0   57     8       certPathCerts  Ljava/util/List;
            0   57     9              helper  Lorg/bouncycastle/pkix/jcajce/PKIXJcaJceHelper;
            1   57    10         currentDate  Ljava/util/Date;
            4   57    11        validityDate  Ljava/util/Date;
            7   57    12                crls  Ljava/util/Set;
            8   57    13       validCrlFound  Z
            9   57    14       lastException  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
           10   57    15            crl_iter  Ljava/util/Iterator;
           12   50    16                 crl  Ljava/security/cert/X509CRL;
           13   50    17  interimReasonsMask  Lorg/bouncycastle/pkix/jcajce/ReasonsMask;
           18   50    18                keys  Ljava/util/Set;
           19   50    19                 key  Ljava/security/PublicKey;
           20   50    20            deltaCRL  Ljava/security/cert/X509CRL;
           22   23    21           deltaCRLs  Ljava/util/Set;
           35   50    21  criticalExtensions  Ljava/util/Set;
           52   53    16                   e  Lorg/bouncycastle/pkix/jcajce/AnnotatedException;
      Exception table:
        from    to  target  type
          11    14      51  Class org.bouncycastle.pkix.jcajce.AnnotatedException
          15    50      51  Class org.bouncycastle.pkix.jcajce.AnnotatedException
    Exceptions:
      throws org.bouncycastle.pkix.jcajce.AnnotatedException, org.bouncycastle.pkix.jcajce.CRLNotFoundException
    MethodParameters:
                    Name  Flags
      dp                  
      paramsPKIX          
      cert                
      validDate           
      defaultCRLSignCert  
      defaultCRLSignKey   
      certStatus          
      reasonMask          
      certPathCerts       
      helper              
}
SourceFile: "RFC3280CertPathUtilities.java"
InnerClasses:
  public Builder = org.bouncycastle.jcajce.PKIXCRLStoreSelector$Builder of org.bouncycastle.jcajce.PKIXCRLStoreSelector
  public Builder = org.bouncycastle.jcajce.PKIXCertStoreSelector$Builder of org.bouncycastle.jcajce.PKIXCertStoreSelector
  public Builder = org.bouncycastle.jcajce.PKIXExtendedBuilderParameters$Builder of org.bouncycastle.jcajce.PKIXExtendedBuilderParameters
  public Builder = org.bouncycastle.jcajce.PKIXExtendedParameters$Builder of org.bouncycastle.jcajce.PKIXExtendedParameters