class sun.security.provider.certpath.RevocationChecker extends sun.security.provider.certpath.PKIXRevocationChecker
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.provider.certpath.RevocationChecker
  super_class: sun.security.provider.certpath.PKIXRevocationChecker
{
  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.security.cert.TrustAnchor anchor;
    descriptor: Ljava/security/cert/TrustAnchor;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.provider.certpath.PKIX$ValidatorParams params;
    descriptor: Lsun/security/provider/certpath/PKIX$ValidatorParams;
    flags: (0x0002) ACC_PRIVATE

  private boolean onlyEE;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean softFail;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean crlDP;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.net.URI responderURI;
    descriptor: Ljava/net/URI;
    flags: (0x0002) ACC_PRIVATE

  private java.security.cert.X509Certificate responderCert;
    descriptor: Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<java.security.cert.CertStore> certStores;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/security/cert/CertStore;>;

  private java.util.Map<java.security.cert.X509Certificate, byte[]> ocspStapled;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/security/cert/X509Certificate;[B>;

  private java.util.List<java.security.cert.Extension> ocspExtensions;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/security/cert/Extension;>;

  private final boolean legacy;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private sun.security.provider.certpath.OCSPResponse$IssuerInfo issuerInfo;
    descriptor: Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
    flags: (0x0002) ACC_PRIVATE

  private java.security.PublicKey prevPubKey;
    descriptor: Ljava/security/PublicKey;
    flags: (0x0002) ACC_PRIVATE

  private boolean crlSignFlag;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private sun.security.provider.certpath.RevocationChecker$Mode mode;
    descriptor: Lsun/security/provider/certpath/RevocationChecker$Mode;
    flags: (0x0002) ACC_PRIVATE

  private static final long MAX_CLOCK_SKEW;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 900000

  private static final java.lang.String HEX_DIGITS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "0123456789ABCDEFabcdef"

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

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

  private static volatile int[] $SWITCH_TABLE$sun$security$provider$certpath$PKIXRevocationChecker$Option;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$sun$security$provider$certpath$RevocationChecker$Mode;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 59
            ldc "certpath"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
         1: .line 792
            bipush 9
            newarray 4
            dup
            iconst_0
            iconst_1
            bastore
            dup
            iconst_1
            iconst_1
            bastore
            dup
            iconst_2
            iconst_1
            bastore
            dup
            iconst_3
            iconst_1
            bastore
            dup
            iconst_4
            iconst_1
            bastore
            dup
            iconst_5
            iconst_1
            bastore
            dup
            bipush 6
            iconst_1
            bastore
            dup
            bipush 7
            iconst_1
            bastore
            dup
            bipush 8
            iconst_1
            bastore
         2: .line 791
            putstatic sun.security.provider.certpath.RevocationChecker.ALL_REASONS:[Z
         3: .line 922
            bipush 7
            newarray 4
            dup
            bipush 6
            iconst_1
            bastore
         4: .line 921
            putstatic sun.security.provider.certpath.RevocationChecker.CRL_SIGN_USAGE:[Z
         5: .line 922
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.provider.certpath.RevocationChecker this
         0: .line 91
            aload 0 /* this */
            invokespecial sun.security.provider.certpath.PKIXRevocationChecker.<init>:()V
         1: .line 79
            aload 0 /* this */
            getstatic sun.security.provider.certpath.RevocationChecker$Mode.PREFER_OCSP:Lsun/security/provider/certpath/RevocationChecker$Mode;
            putfield sun.security.provider.certpath.RevocationChecker.mode:Lsun/security/provider/certpath/RevocationChecker$Mode;
         2: .line 92
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.certpath.RevocationChecker.legacy:Z
         3: .line 93
            return
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/provider/certpath/RevocationChecker;

  void <init>(java.security.cert.TrustAnchor, sun.security.provider.certpath.PKIX$ValidatorParams);
    descriptor: (Ljava/security/cert/TrustAnchor;Lsun/security/provider/certpath/PKIX$ValidatorParams;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.TrustAnchor anchor
        start local 2 // sun.security.provider.certpath.PKIX$ValidatorParams params
         0: .line 95
            aload 0 /* this */
            invokespecial sun.security.provider.certpath.PKIXRevocationChecker.<init>:()V
         1: .line 79
            aload 0 /* this */
            getstatic sun.security.provider.certpath.RevocationChecker$Mode.PREFER_OCSP:Lsun/security/provider/certpath/RevocationChecker$Mode;
            putfield sun.security.provider.certpath.RevocationChecker.mode:Lsun/security/provider/certpath/RevocationChecker$Mode;
         2: .line 98
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.certpath.RevocationChecker.legacy:Z
         3: .line 99
            aload 0 /* this */
            aload 1 /* anchor */
            aload 2 /* params */
            invokevirtual sun.security.provider.certpath.RevocationChecker.init:(Ljava/security/cert/TrustAnchor;Lsun/security/provider/certpath/PKIX$ValidatorParams;)V
         4: .line 100
            return
        end local 2 // sun.security.provider.certpath.PKIX$ValidatorParams params
        end local 1 // java.security.cert.TrustAnchor anchor
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lsun/security/provider/certpath/RevocationChecker;
            0    5     1  anchor  Ljava/security/cert/TrustAnchor;
            0    5     2  params  Lsun/security/provider/certpath/PKIX$ValidatorParams;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
        Name  Flags
      anchor  
      params  

  void init(java.security.cert.TrustAnchor, sun.security.provider.certpath.PKIX$ValidatorParams);
    descriptor: (Ljava/security/cert/TrustAnchor;Lsun/security/provider/certpath/PKIX$ValidatorParams;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.TrustAnchor anchor
        start local 2 // sun.security.provider.certpath.PKIX$ValidatorParams params
         0: .line 105
            invokestatic sun.security.provider.certpath.RevocationChecker.getRevocationProperties:()Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;
            astore 3 /* rp */
        start local 3 // sun.security.provider.certpath.RevocationChecker$RevocationProperties rp
         1: .line 106
            aload 0 /* this */
            invokevirtual sun.security.provider.certpath.RevocationChecker.getOCSPResponder:()Ljava/net/URI;
            astore 4 /* uri */
        start local 4 // java.net.URI uri
         2: .line 107
            aload 0 /* this */
            aload 4 /* uri */
            ifnonnull 3
            aload 3 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspUrl:Ljava/lang/String;
            invokestatic sun.security.provider.certpath.RevocationChecker.toURI:(Ljava/lang/String;)Ljava/net/URI;
            goto 4
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.RevocationChecker$RevocationProperties java.net.URI
      StackMap stack: sun.security.provider.certpath.RevocationChecker
         3: aload 4 /* uri */
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.RevocationChecker$RevocationProperties java.net.URI
      StackMap stack: sun.security.provider.certpath.RevocationChecker java.net.URI
         4: putfield sun.security.provider.certpath.RevocationChecker.responderURI:Ljava/net/URI;
         5: .line 108
            aload 0 /* this */
            invokevirtual sun.security.provider.certpath.RevocationChecker.getOCSPResponderCert:()Ljava/security/cert/X509Certificate;
            astore 5 /* cert */
        start local 5 // java.security.cert.X509Certificate cert
         6: .line 109
            aload 0 /* this */
            aload 5 /* cert */
            ifnonnull 11
         7: .line 110
            aload 3 /* rp */
            aload 2 /* params */
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.trustAnchors:()Ljava/util/Set;
         8: .line 111
            aload 2 /* params */
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.certStores:()Ljava/util/List;
         9: .line 110
            invokestatic sun.security.provider.certpath.RevocationChecker.getResponderCert:(Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
        10: .line 111
            goto 12
        11: .line 112
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.RevocationChecker$RevocationProperties java.net.URI java.security.cert.X509Certificate
      StackMap stack: sun.security.provider.certpath.RevocationChecker
            aload 5 /* cert */
        12: .line 109
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.RevocationChecker$RevocationProperties java.net.URI java.security.cert.X509Certificate
      StackMap stack: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate
            putfield sun.security.provider.certpath.RevocationChecker.responderCert:Ljava/security/cert/X509Certificate;
        13: .line 113
            aload 0 /* this */
            invokevirtual sun.security.provider.certpath.RevocationChecker.getOptions:()Ljava/util/Set;
            astore 6 /* options */
        start local 6 // java.util.Set options
        14: .line 114
            aload 6 /* options */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.RevocationChecker$RevocationProperties java.net.URI java.security.cert.X509Certificate java.util.Set top java.util.Iterator
      StackMap stack:
        15: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.certpath.PKIXRevocationChecker$Option
            astore 7 /* option */
        start local 7 // sun.security.provider.certpath.PKIXRevocationChecker$Option option
        16: .line 115
            invokestatic sun.security.provider.certpath.RevocationChecker.$SWITCH_TABLE$sun$security$provider$certpath$PKIXRevocationChecker$Option:()[I
            aload 7 /* option */
            invokevirtual sun.security.provider.certpath.PKIXRevocationChecker$Option.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 17
                    2: 17
                    3: 17
              default: 18
          }
        17: .line 119
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.RevocationChecker$RevocationProperties java.net.URI java.security.cert.X509Certificate java.util.Set sun.security.provider.certpath.PKIXRevocationChecker$Option java.util.Iterator
      StackMap stack:
            goto 21
        18: .line 121
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
        19: .line 122
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized revocation parameter option: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* option */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 121
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // sun.security.provider.certpath.PKIXRevocationChecker$Option option
        21: .line 114
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.RevocationChecker$RevocationProperties java.net.URI java.security.cert.X509Certificate java.util.Set top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        22: .line 127
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.legacy:Z
            ifeq 28
        23: .line 128
            aload 0 /* this */
            aload 3 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspEnabled:Z
            ifeq 24
            getstatic sun.security.provider.certpath.RevocationChecker$Mode.PREFER_OCSP:Lsun/security/provider/certpath/RevocationChecker$Mode;
            goto 25
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.RevocationChecker$RevocationProperties java.net.URI java.security.cert.X509Certificate java.util.Set
      StackMap stack: sun.security.provider.certpath.RevocationChecker
        24: getstatic sun.security.provider.certpath.RevocationChecker$Mode.ONLY_CRLS:Lsun/security/provider/certpath/RevocationChecker$Mode;
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.TrustAnchor sun.security.provider.certpath.PKIX$ValidatorParams sun.security.provider.certpath.RevocationChecker$RevocationProperties java.net.URI java.security.cert.X509Certificate java.util.Set
      StackMap stack: sun.security.provider.certpath.RevocationChecker sun.security.provider.certpath.RevocationChecker$Mode
        25: putfield sun.security.provider.certpath.RevocationChecker.mode:Lsun/security/provider/certpath/RevocationChecker$Mode;
        26: .line 129
            aload 0 /* this */
            aload 3 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.onlyEE:Z
            putfield sun.security.provider.certpath.RevocationChecker.onlyEE:Z
        27: .line 130
            goto 31
        28: .line 131
      StackMap locals:
      StackMap stack:
            aload 6 /* options */
            getstatic sun.security.provider.certpath.PKIXRevocationChecker$Option.PREFER_CRLS:Lsun/security/provider/certpath/PKIXRevocationChecker$Option;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 30
        29: .line 132
            aload 0 /* this */
            getstatic sun.security.provider.certpath.RevocationChecker$Mode.PREFER_CRLS:Lsun/security/provider/certpath/RevocationChecker$Mode;
            putfield sun.security.provider.certpath.RevocationChecker.mode:Lsun/security/provider/certpath/RevocationChecker$Mode;
        30: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* options */
            getstatic sun.security.provider.certpath.PKIXRevocationChecker$Option.ONLY_END_ENTITY:Lsun/security/provider/certpath/PKIXRevocationChecker$Option;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            putfield sun.security.provider.certpath.RevocationChecker.onlyEE:Z
        31: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* options */
            getstatic sun.security.provider.certpath.PKIXRevocationChecker$Option.SOFT_FAIL:Lsun/security/provider/certpath/PKIXRevocationChecker$Option;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            putfield sun.security.provider.certpath.RevocationChecker.softFail:Z
        32: .line 137
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.legacy:Z
            ifeq 35
        33: .line 138
            aload 0 /* this */
            aload 3 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.crlDPEnabled:Z
            putfield sun.security.provider.certpath.RevocationChecker.crlDP:Z
        34: .line 139
            goto 36
        35: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.certpath.RevocationChecker.crlDP:Z
        36: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.security.provider.certpath.RevocationChecker.getOCSPStapledResponses:()Ljava/util/Map;
            putfield sun.security.provider.certpath.RevocationChecker.ocspStapled:Ljava/util/Map;
        37: .line 143
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.security.provider.certpath.RevocationChecker.getOCSPExtensions:()Ljava/util/List;
            putfield sun.security.provider.certpath.RevocationChecker.ocspExtensions:Ljava/util/List;
        38: .line 145
            aload 0 /* this */
            aload 1 /* anchor */
            putfield sun.security.provider.certpath.RevocationChecker.anchor:Ljava/security/cert/TrustAnchor;
        39: .line 146
            aload 0 /* this */
            aload 2 /* params */
            putfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
        40: .line 147
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 2 /* params */
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.certStores:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield sun.security.provider.certpath.RevocationChecker.certStores:Ljava/util/List;
        41: .line 149
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.certStores:Ljava/util/List;
            ldc "Collection"
        42: .line 150
            new java.security.cert.CollectionCertStoreParameters
            dup
            aload 2 /* params */
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.certificates:()Ljava/util/List;
            invokespecial java.security.cert.CollectionCertStoreParameters.<init>:(Ljava/util/Collection;)V
        43: .line 149
            invokestatic java.security.cert.CertStore.getInstance:(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        44: .line 151
            goto 50
        45: .line 152
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 7 /* e */
        start local 7 // java.security.GeneralSecurityException e
        46: .line 155
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 50
        47: .line 156
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker: error creating Collection CertStore: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        48: .line 157
            aload 7 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        49: .line 156
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // java.security.GeneralSecurityException e
        50: .line 160
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.util.Set options
        end local 5 // java.security.cert.X509Certificate cert
        end local 4 // java.net.URI uri
        end local 3 // sun.security.provider.certpath.RevocationChecker$RevocationProperties rp
        end local 2 // sun.security.provider.certpath.PKIX$ValidatorParams params
        end local 1 // java.security.cert.TrustAnchor anchor
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   51     0     this  Lsun/security/provider/certpath/RevocationChecker;
            0   51     1   anchor  Ljava/security/cert/TrustAnchor;
            0   51     2   params  Lsun/security/provider/certpath/PKIX$ValidatorParams;
            1   51     3       rp  Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;
            2   51     4      uri  Ljava/net/URI;
            6   51     5     cert  Ljava/security/cert/X509Certificate;
           14   51     6  options  Ljava/util/Set<Lsun/security/provider/certpath/PKIXRevocationChecker$Option;>;
           16   21     7   option  Lsun/security/provider/certpath/PKIXRevocationChecker$Option;
           46   50     7        e  Ljava/security/GeneralSecurityException;
      Exception table:
        from    to  target  type
          41    44      45  Class java.security.InvalidAlgorithmParameterException
          41    44      45  Class java.security.NoSuchAlgorithmException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
        Name  Flags
      anchor  
      params  

  private static java.net.URI toURI(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String uriString
         0: .line 166
            aload 0 /* uriString */
            ifnull 3
         1: .line 167
            new java.net.URI
            dup
            aload 0 /* uriString */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
         2: areturn
         3: .line 169
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         4: .line 170
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
            astore 1 /* e */
        start local 1 // java.net.URISyntaxException e
         5: .line 171
            new java.security.cert.CertPathValidatorException
            dup
         6: .line 172
            ldc "cannot parse ocsp.responderURL property"
            aload 1 /* e */
         7: .line 171
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.net.URISyntaxException e
        end local 0 // java.lang.String uriString
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  uriString  Ljava/lang/String;
            5    8     1          e  Ljava/net/URISyntaxException;
      Exception table:
        from    to  target  type
           0     2       4  Class java.net.URISyntaxException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
           Name  Flags
      uriString  

  private static sun.security.provider.certpath.RevocationChecker$RevocationProperties getRevocationProperties();
    descriptor: ()Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 178
            new sun.security.provider.certpath.RevocationChecker$1
            dup
            invokespecial sun.security.provider.certpath.RevocationChecker$1.<init>:()V
         1: .line 177
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast sun.security.provider.certpath.RevocationChecker$RevocationProperties
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.security.cert.X509Certificate getResponderCert(sun.security.provider.certpath.RevocationChecker$RevocationProperties, java.util.Set<java.security.cert.TrustAnchor>, java.util.List<java.security.cert.CertStore>);
    descriptor: (Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.provider.certpath.RevocationChecker$RevocationProperties rp
        start local 1 // java.util.Set anchors
        start local 2 // java.util.List stores
         0: .line 208
            aload 0 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspSubject:Ljava/lang/String;
            ifnull 2
         1: .line 209
            aload 0 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspSubject:Ljava/lang/String;
            aload 1 /* anchors */
            aload 2 /* stores */
            invokestatic sun.security.provider.certpath.RevocationChecker.getResponderCert:(Ljava/lang/String;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
            areturn
         2: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspIssuer:Ljava/lang/String;
            ifnull 6
            aload 0 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspSerial:Ljava/lang/String;
            ifnull 6
         3: .line 211
            aload 0 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspIssuer:Ljava/lang/String;
            aload 0 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspSerial:Ljava/lang/String;
         4: .line 212
            aload 1 /* anchors */
            aload 2 /* stores */
         5: .line 211
            invokestatic sun.security.provider.certpath.RevocationChecker.getResponderCert:(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
            areturn
         6: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspIssuer:Ljava/lang/String;
            ifnonnull 7
            aload 0 /* rp */
            getfield sun.security.provider.certpath.RevocationChecker$RevocationProperties.ocspSerial:Ljava/lang/String;
            ifnull 10
         7: .line 214
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
         8: .line 215
            ldc "Must specify both ocsp.responderCertIssuerName and ocsp.responderCertSerialNumber properties"
         9: .line 214
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 218
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.List stores
        end local 1 // java.util.Set anchors
        end local 0 // sun.security.provider.certpath.RevocationChecker$RevocationProperties rp
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0       rp  Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;
            0   11     1  anchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
            0   11     2   stores  Ljava/util/List<Ljava/security/cert/CertStore;>;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/List<Ljava/security/cert/CertStore;>;)Ljava/security/cert/X509Certificate;
    MethodParameters:
         Name  Flags
      rp       
      anchors  
      stores   

  private static java.security.cert.X509Certificate getResponderCert(java.lang.String, java.util.Set<java.security.cert.TrustAnchor>, java.util.List<java.security.cert.CertStore>);
    descriptor: (Ljava/lang/String;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String subject
        start local 1 // java.util.Set anchors
        start local 2 // java.util.List stores
         0: .line 226
            new java.security.cert.X509CertSelector
            dup
            invokespecial java.security.cert.X509CertSelector.<init>:()V
            astore 3 /* sel */
        start local 3 // java.security.cert.X509CertSelector sel
         1: .line 228
            aload 3 /* sel */
            new javax.security.auth.x500.X500Principal
            dup
            aload 0 /* subject */
            invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
            invokevirtual java.security.cert.X509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
         2: .line 229
            goto 7
      StackMap locals: java.lang.String java.util.Set java.util.List java.security.cert.X509CertSelector
      StackMap stack: java.lang.IllegalArgumentException
         3: astore 4 /* e */
        start local 4 // java.lang.IllegalArgumentException e
         4: .line 230
            new java.security.cert.CertPathValidatorException
            dup
         5: .line 231
            ldc "cannot parse ocsp.responderCertSubjectName property"
            aload 4 /* e */
         6: .line 230
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.IllegalArgumentException e
         7: .line 233
      StackMap locals:
      StackMap stack:
            aload 3 /* sel */
            aload 1 /* anchors */
            aload 2 /* stores */
            invokestatic sun.security.provider.certpath.RevocationChecker.getResponderCert:(Ljava/security/cert/X509CertSelector;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
            areturn
        end local 3 // java.security.cert.X509CertSelector sel
        end local 2 // java.util.List stores
        end local 1 // java.util.Set anchors
        end local 0 // java.lang.String subject
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  subject  Ljava/lang/String;
            0    8     1  anchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
            0    8     2   stores  Ljava/util/List<Ljava/security/cert/CertStore;>;
            1    8     3      sel  Ljava/security/cert/X509CertSelector;
            4    7     4        e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/lang/String;Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/List<Ljava/security/cert/CertStore;>;)Ljava/security/cert/X509Certificate;
    MethodParameters:
         Name  Flags
      subject  
      anchors  
      stores   

  private static java.security.cert.X509Certificate getResponderCert(java.lang.String, java.lang.String, java.util.Set<java.security.cert.TrustAnchor>, java.util.List<java.security.cert.CertStore>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // java.lang.String issuer
        start local 1 // java.lang.String serial
        start local 2 // java.util.Set anchors
        start local 3 // java.util.List stores
         0: .line 242
            new java.security.cert.X509CertSelector
            dup
            invokespecial java.security.cert.X509CertSelector.<init>:()V
            astore 4 /* sel */
        start local 4 // java.security.cert.X509CertSelector sel
         1: .line 244
            aload 4 /* sel */
            new javax.security.auth.x500.X500Principal
            dup
            aload 0 /* issuer */
            invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
            invokevirtual java.security.cert.X509CertSelector.setIssuer:(Ljavax/security/auth/x500/X500Principal;)V
         2: .line 245
            goto 7
      StackMap locals: java.lang.String java.lang.String java.util.Set java.util.List java.security.cert.X509CertSelector
      StackMap stack: java.lang.IllegalArgumentException
         3: astore 5 /* e */
        start local 5 // java.lang.IllegalArgumentException e
         4: .line 246
            new java.security.cert.CertPathValidatorException
            dup
         5: .line 247
            ldc "cannot parse ocsp.responderCertIssuerName property"
            aload 5 /* e */
         6: .line 246
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.IllegalArgumentException e
         7: .line 250
      StackMap locals:
      StackMap stack:
            aload 4 /* sel */
            new java.math.BigInteger
            dup
            aload 1 /* serial */
            invokestatic sun.security.provider.certpath.RevocationChecker.stripOutSeparators:(Ljava/lang/String;)Ljava/lang/String;
            bipush 16
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;I)V
            invokevirtual java.security.cert.X509CertSelector.setSerialNumber:(Ljava/math/BigInteger;)V
         8: .line 251
            goto 13
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
         9: astore 5 /* e */
        start local 5 // java.lang.NumberFormatException e
        10: .line 252
            new java.security.cert.CertPathValidatorException
            dup
        11: .line 253
            ldc "cannot parse ocsp.responderCertSerialNumber property"
            aload 5 /* e */
        12: .line 252
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.NumberFormatException e
        13: .line 255
      StackMap locals:
      StackMap stack:
            aload 4 /* sel */
            aload 2 /* anchors */
            aload 3 /* stores */
            invokestatic sun.security.provider.certpath.RevocationChecker.getResponderCert:(Ljava/security/cert/X509CertSelector;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
            areturn
        end local 4 // java.security.cert.X509CertSelector sel
        end local 3 // java.util.List stores
        end local 2 // java.util.Set anchors
        end local 1 // java.lang.String serial
        end local 0 // java.lang.String issuer
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0   issuer  Ljava/lang/String;
            0   14     1   serial  Ljava/lang/String;
            0   14     2  anchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
            0   14     3   stores  Ljava/util/List<Ljava/security/cert/CertStore;>;
            1   14     4      sel  Ljava/security/cert/X509CertSelector;
            4    7     5        e  Ljava/lang/IllegalArgumentException;
           10   13     5        e  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.IllegalArgumentException
           7     8       9  Class java.lang.NumberFormatException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/List<Ljava/security/cert/CertStore;>;)Ljava/security/cert/X509Certificate;
    MethodParameters:
         Name  Flags
      issuer   
      serial   
      anchors  
      stores   

  private static java.security.cert.X509Certificate getResponderCert(java.security.cert.X509CertSelector, java.util.Set<java.security.cert.TrustAnchor>, java.util.List<java.security.cert.CertStore>);
    descriptor: (Ljava/security/cert/X509CertSelector;Ljava/util/Set;Ljava/util/List;)Ljava/security/cert/X509Certificate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.security.cert.X509CertSelector sel
        start local 1 // java.util.Set anchors
        start local 2 // java.util.List stores
         0: .line 264
            aload 1 /* anchors */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: java.security.cert.X509CertSelector java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.TrustAnchor
            astore 3 /* anchor */
        start local 3 // java.security.cert.TrustAnchor anchor
         2: .line 265
            aload 3 /* anchor */
            invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
            astore 5 /* cert */
        start local 5 // java.security.cert.X509Certificate cert
         3: .line 266
            aload 5 /* cert */
            ifnonnull 5
         4: .line 267
            goto 7
         5: .line 269
      StackMap locals: java.security.cert.X509CertSelector java.util.Set java.util.List java.security.cert.TrustAnchor java.util.Iterator java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* sel */
            aload 5 /* cert */
            invokevirtual java.security.cert.X509CertSelector.match:(Ljava/security/cert/Certificate;)Z
            ifeq 7
         6: .line 270
            aload 5 /* cert */
            areturn
        end local 5 // java.security.cert.X509Certificate cert
        end local 3 // java.security.cert.TrustAnchor anchor
         7: .line 264
      StackMap locals: java.security.cert.X509CertSelector java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 274
            aload 2 /* stores */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals:
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.CertStore
            astore 3 /* store */
        start local 3 // java.security.cert.CertStore store
        10: .line 277
            aload 3 /* store */
            aload 0 /* sel */
            invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
        11: .line 276
            astore 5 /* certs */
        start local 5 // java.util.Collection certs
        12: .line 278
            aload 5 /* certs */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 18
        13: .line 279
            aload 5 /* certs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
        14: areturn
        end local 5 // java.util.Collection certs
        15: .line 281
      StackMap locals: java.security.cert.X509CertSelector java.util.Set java.util.List java.security.cert.CertStore java.util.Iterator
      StackMap stack: java.security.cert.CertStoreException
            astore 5 /* e */
        start local 5 // java.security.cert.CertStoreException e
        16: .line 283
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 18
        17: .line 284
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "CertStore exception:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // java.security.cert.CertStoreException e
        end local 3 // java.security.cert.CertStore store
        18: .line 274
      StackMap locals: java.security.cert.X509CertSelector java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        19: .line 289
            new java.security.cert.CertPathValidatorException
            dup
        20: .line 290
            ldc "Cannot find the responder's certificate (set using the OCSP security properties)."
        21: .line 289
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.util.List stores
        end local 1 // java.util.Set anchors
        end local 0 // java.security.cert.X509CertSelector sel
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0      sel  Ljava/security/cert/X509CertSelector;
            0   22     1  anchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
            0   22     2   stores  Ljava/util/List<Ljava/security/cert/CertStore;>;
            2    7     3   anchor  Ljava/security/cert/TrustAnchor;
            3    7     5     cert  Ljava/security/cert/X509Certificate;
           10   18     3    store  Ljava/security/cert/CertStore;
           12   15     5    certs  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
           16   18     5        e  Ljava/security/cert/CertStoreException;
      Exception table:
        from    to  target  type
          10    14      15  Class java.security.cert.CertStoreException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/X509CertSelector;Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;Ljava/util/List<Ljava/security/cert/CertStore;>;)Ljava/security/cert/X509Certificate;
    MethodParameters:
         Name  Flags
      sel      
      anchors  
      stores   

  public void init(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // boolean forward
         0: .line 296
            iload 1 /* forward */
            ifeq 3
         1: .line 298
            new java.security.cert.CertPathValidatorException
            dup
            ldc "forward checking not supported"
         2: .line 297
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.anchor:Ljava/security/cert/TrustAnchor;
            ifnull 6
         4: .line 301
            aload 0 /* this */
            new sun.security.provider.certpath.OCSPResponse$IssuerInfo
            dup
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.anchor:Ljava/security/cert/TrustAnchor;
            invokespecial sun.security.provider.certpath.OCSPResponse$IssuerInfo.<init>:(Ljava/security/cert/TrustAnchor;)V
            putfield sun.security.provider.certpath.RevocationChecker.issuerInfo:Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
         5: .line 302
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.issuerInfo:Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
            invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getPublicKey:()Ljava/security/PublicKey;
            putfield sun.security.provider.certpath.RevocationChecker.prevPubKey:Ljava/security/PublicKey;
         6: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.certpath.RevocationChecker.crlSignFlag:Z
         7: .line 307
            return
        end local 1 // boolean forward
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lsun/security/provider/certpath/RevocationChecker;
            0    8     1  forward  Z
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
         Name  Flags
      forward  

  public boolean isForwardCheckingSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.certpath.RevocationChecker this
         0: .line 311
            iconst_0
            ireturn
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/certpath/RevocationChecker;

  public java.util.Set<java.lang.String> getSupportedExtensions();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.certpath.RevocationChecker this
         0: .line 316
            aconst_null
            areturn
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/certpath/RevocationChecker;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public void check(java.security.cert.Certificate, java.util.Collection<java.lang.String>);
    descriptor: (Ljava/security/cert/Certificate;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.Certificate cert
        start local 2 // java.util.Collection unresolvedCritExts
         0: .line 323
            aload 1 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 3 /* xcert */
        start local 3 // java.security.cert.X509Certificate xcert
         1: .line 324
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.onlyEE:Z
            ifeq 5
            aload 3 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getBasicConstraints:()I
            iconst_m1
            if_icmpeq 5
         2: .line 325
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 6
         3: .line 326
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "Skipping revocation check, not end entity cert"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 328
            goto 6
         5: .line 329
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            aload 3 /* xcert */
            aload 2 /* unresolvedCritExts */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.prevPubKey:Ljava/security/PublicKey;
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.crlSignFlag:Z
            invokevirtual sun.security.provider.certpath.RevocationChecker.check:(Ljava/security/cert/X509Certificate;Ljava/util/Collection;Ljava/security/PublicKey;Z)V
         6: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* xcert */
            invokevirtual sun.security.provider.certpath.RevocationChecker.updateState:(Ljava/security/cert/X509Certificate;)V
         7: .line 332
            return
        end local 3 // java.security.cert.X509Certificate xcert
        end local 2 // java.util.Collection unresolvedCritExts
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lsun/security/provider/certpath/RevocationChecker;
            0    8     1                cert  Ljava/security/cert/Certificate;
            0    8     2  unresolvedCritExts  Ljava/util/Collection<Ljava/lang/String;>;
            1    8     3               xcert  Ljava/security/cert/X509Certificate;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/Certificate;Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
                    Name  Flags
      cert                
      unresolvedCritExts  

  void check(java.security.cert.X509Certificate, java.util.Collection<java.lang.String>, java.security.PublicKey, );
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/Collection;Ljava/security/PublicKey;Z)V
    flags: (0x0000) 
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.X509Certificate xcert
        start local 2 // java.util.Collection unresolvedCritExts
        start local 3 // java.security.PublicKey pubKey
        start local 4 // boolean crlSignFlag
         0: .line 339
            invokestatic sun.security.provider.certpath.RevocationChecker.$SWITCH_TABLE$sun$security$provider$certpath$RevocationChecker$Mode:()[I
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.mode:Lsun/security/provider/certpath/RevocationChecker$Mode;
            invokevirtual sun.security.provider.certpath.RevocationChecker$Mode.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 1
                    2: 3
                    3: 3
              default: 6
          }
         1: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* xcert */
            aload 2 /* unresolvedCritExts */
            invokevirtual sun.security.provider.certpath.RevocationChecker.checkOCSP:(Ljava/security/cert/X509Certificate;Ljava/util/Collection;)V
         2: .line 342
            goto 39
         3: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* xcert */
            aload 2 /* unresolvedCritExts */
            aconst_null
         4: .line 346
            aload 3 /* pubKey */
            iload 4 /* crlSignFlag */
         5: .line 345
            invokevirtual sun.security.provider.certpath.RevocationChecker.checkCRLs:(Ljava/security/cert/X509Certificate;Ljava/util/Collection;Ljava/util/Set;Ljava/security/PublicKey;Z)V
         6: .line 349
      StackMap locals:
      StackMap stack:
            goto 39
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
         7: astore 5 /* e */
        start local 5 // java.security.cert.CertPathValidatorException e
         8: .line 350
            aload 5 /* e */
            invokevirtual java.security.cert.CertPathValidatorException.getReason:()Ljava/security/cert/CertPathValidatorException$Reason;
            getstatic java.security.cert.CertPathValidatorException$BasicReason.REVOKED:Ljava/security/cert/CertPathValidatorException$BasicReason;
            if_acmpne 10
         9: .line 351
            aload 5 /* e */
            athrow
        10: .line 353
      StackMap locals: java.security.cert.CertPathValidatorException
      StackMap stack:
            aload 5 /* e */
            astore 6 /* cause */
        start local 6 // java.security.cert.CertPathValidatorException cause
        11: .line 354
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.softFail:Z
            ifeq 13
            aload 5 /* e */
            instanceof sun.security.provider.certpath.OCSP$NetworkFailureException
            ifeq 13
        12: .line 355
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.mode:Lsun/security/provider/certpath/RevocationChecker$Mode;
            getstatic sun.security.provider.certpath.RevocationChecker$Mode.ONLY_CRLS:Lsun/security/provider/certpath/RevocationChecker$Mode;
            if_acmpne 13
            return
        13: .line 358
      StackMap locals: java.security.cert.CertPathValidatorException
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.mode:Lsun/security/provider/certpath/RevocationChecker$Mode;
            getstatic sun.security.provider.certpath.RevocationChecker$Mode.ONLY_CRLS:Lsun/security/provider/certpath/RevocationChecker$Mode;
            if_acmpne 15
        14: .line 359
            aload 5 /* e */
            athrow
        15: .line 362
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 18
        16: .line 363
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.check() "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 364
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "RevocationChecker.check() preparing to failover"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 367
      StackMap locals:
      StackMap stack:
            invokestatic sun.security.provider.certpath.RevocationChecker.$SWITCH_TABLE$sun$security$provider$certpath$RevocationChecker$Mode:()[I
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.mode:Lsun/security/provider/certpath/RevocationChecker$Mode;
            invokevirtual sun.security.provider.certpath.RevocationChecker$Mode.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 19
                    2: 23
              default: 24
          }
        19: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* xcert */
            aload 2 /* unresolvedCritExts */
            aconst_null
        20: .line 370
            aload 3 /* pubKey */
            iload 4 /* crlSignFlag */
        21: .line 369
            invokevirtual sun.security.provider.certpath.RevocationChecker.checkCRLs:(Ljava/security/cert/X509Certificate;Ljava/util/Collection;Ljava/util/Set;Ljava/security/PublicKey;Z)V
        22: .line 371
            goto 39
        23: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* xcert */
            aload 2 /* unresolvedCritExts */
            invokevirtual sun.security.provider.certpath.RevocationChecker.checkOCSP:(Ljava/security/cert/X509Certificate;Ljava/util/Collection;)V
        24: .line 376
      StackMap locals:
      StackMap stack:
            goto 39
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
        25: astore 7 /* x */
        start local 7 // java.security.cert.CertPathValidatorException x
        26: .line 377
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 29
        27: .line 378
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "RevocationChecker.check() failover failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 379
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.check() "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* x */
            invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        29: .line 381
      StackMap locals: java.security.cert.CertPathValidatorException
      StackMap stack:
            aload 7 /* x */
            invokevirtual java.security.cert.CertPathValidatorException.getReason:()Ljava/security/cert/CertPathValidatorException$Reason;
            getstatic java.security.cert.CertPathValidatorException$BasicReason.REVOKED:Ljava/security/cert/CertPathValidatorException$BasicReason;
            if_acmpne 31
        30: .line 382
            aload 7 /* x */
            athrow
        31: .line 384
      StackMap locals:
      StackMap stack:
            aload 6 /* cause */
            ifnull 36
        32: .line 385
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.softFail:Z
            ifeq 34
            aload 6 /* cause */
            instanceof sun.security.provider.certpath.OCSP$NetworkFailureException
            ifeq 34
        33: .line 386
            return
        34: .line 388
      StackMap locals:
      StackMap stack:
            aload 6 /* cause */
            aload 7 /* x */
            invokevirtual java.security.cert.CertPathValidatorException.addSuppressed:(Ljava/lang/Throwable;)V
        35: .line 389
            aload 6 /* cause */
            athrow
        36: .line 392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.softFail:Z
            ifeq 38
            aload 7 /* x */
            instanceof sun.security.provider.certpath.OCSP$NetworkFailureException
            ifeq 38
        37: .line 393
            return
        38: .line 395
      StackMap locals:
      StackMap stack:
            aload 7 /* x */
            athrow
        end local 7 // java.security.cert.CertPathValidatorException x
        end local 6 // java.security.cert.CertPathValidatorException cause
        end local 5 // java.security.cert.CertPathValidatorException e
        39: .line 398
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean crlSignFlag
        end local 3 // java.security.PublicKey pubKey
        end local 2 // java.util.Collection unresolvedCritExts
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   40     0                this  Lsun/security/provider/certpath/RevocationChecker;
            0   40     1               xcert  Ljava/security/cert/X509Certificate;
            0   40     2  unresolvedCritExts  Ljava/util/Collection<Ljava/lang/String;>;
            0   40     3              pubKey  Ljava/security/PublicKey;
            0   40     4         crlSignFlag  Z
            8   39     5                   e  Ljava/security/cert/CertPathValidatorException;
           11   39     6               cause  Ljava/security/cert/CertPathValidatorException;
           26   39     7                   x  Ljava/security/cert/CertPathValidatorException;
      Exception table:
        from    to  target  type
           0     6       7  Class java.security.cert.CertPathValidatorException
          18    24      25  Class java.security.cert.CertPathValidatorException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/X509Certificate;Ljava/util/Collection<Ljava/lang/String;>;Ljava/security/PublicKey;Z)V
    MethodParameters:
                    Name  Flags
      xcert               
      unresolvedCritExts  
      pubKey              
      crlSignFlag         

  private void updateState(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.X509Certificate cert
         0: .line 403
            aload 0 /* this */
            new sun.security.provider.certpath.OCSPResponse$IssuerInfo
            dup
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.anchor:Ljava/security/cert/TrustAnchor;
            aload 1 /* cert */
            invokespecial sun.security.provider.certpath.OCSPResponse$IssuerInfo.<init>:(Ljava/security/cert/TrustAnchor;Ljava/security/cert/X509Certificate;)V
            putfield sun.security.provider.certpath.RevocationChecker.issuerInfo:Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
         1: .line 406
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 2 /* pubKey */
        start local 2 // java.security.PublicKey pubKey
         2: .line 407
            aload 2 /* pubKey */
            invokestatic sun.security.provider.certpath.PKIX.isDSAPublicKeyWithoutParams:(Ljava/security/PublicKey;)Z
            ifeq 4
         3: .line 409
            aload 2 /* pubKey */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.prevPubKey:Ljava/security/PublicKey;
            invokestatic sun.security.provider.certpath.BasicChecker.makeInheritedParamsKey:(Ljava/security/PublicKey;Ljava/security/PublicKey;)Ljava/security/PublicKey;
            astore 2 /* pubKey */
         4: .line 411
      StackMap locals: java.security.PublicKey
      StackMap stack:
            aload 0 /* this */
            aload 2 /* pubKey */
            putfield sun.security.provider.certpath.RevocationChecker.prevPubKey:Ljava/security/PublicKey;
         5: .line 412
            aload 0 /* this */
            aload 1 /* cert */
            invokestatic sun.security.provider.certpath.RevocationChecker.certCanSignCrl:(Ljava/security/cert/X509Certificate;)Z
            putfield sun.security.provider.certpath.RevocationChecker.crlSignFlag:Z
         6: .line 413
            return
        end local 2 // java.security.PublicKey pubKey
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/provider/certpath/RevocationChecker;
            0    7     1    cert  Ljava/security/cert/X509Certificate;
            2    7     2  pubKey  Ljava/security/PublicKey;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
      Name  Flags
      cert  

  private void checkCRLs(java.security.cert.X509Certificate, java.util.Collection<java.lang.String>, java.util.Set<java.security.cert.X509Certificate>, java.security.PublicKey, );
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/Collection;Ljava/util/Set;Ljava/security/PublicKey;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.X509Certificate cert
        start local 2 // java.util.Collection unresolvedCritExts
        start local 3 // java.util.Set stackedCerts
        start local 4 // java.security.PublicKey pubKey
        start local 5 // boolean signFlag
         0: .line 424
            aload 0 /* this */
            aload 1 /* cert */
            aload 4 /* pubKey */
            aconst_null
            iload 5 /* signFlag */
            iconst_1
         1: .line 425
            aload 3 /* stackedCerts */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.trustAnchors:()Ljava/util/Set;
         2: .line 424
            invokevirtual sun.security.provider.certpath.RevocationChecker.checkCRLs:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/security/cert/X509Certificate;ZZLjava/util/Set;Ljava/util/Set;)V
         3: .line 426
            return
        end local 5 // boolean signFlag
        end local 4 // java.security.PublicKey pubKey
        end local 3 // java.util.Set stackedCerts
        end local 2 // java.util.Collection unresolvedCritExts
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lsun/security/provider/certpath/RevocationChecker;
            0    4     1                cert  Ljava/security/cert/X509Certificate;
            0    4     2  unresolvedCritExts  Ljava/util/Collection<Ljava/lang/String;>;
            0    4     3        stackedCerts  Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
            0    4     4              pubKey  Ljava/security/PublicKey;
            0    4     5            signFlag  Z
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/X509Certificate;Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Set<Ljava/security/cert/X509Certificate;>;Ljava/security/PublicKey;Z)V
    MethodParameters:
                    Name  Flags
      cert                
      unresolvedCritExts  
      stackedCerts        
      pubKey              
      signFlag            

  static boolean isCausedByNetworkIssue(java.lang.String, java.security.cert.CertStoreException);
    descriptor: (Ljava/lang/String;Ljava/security/cert/CertStoreException;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.String type
        start local 1 // java.security.cert.CertStoreException cse
         0: .line 430
            aload 1 /* cse */
            invokevirtual java.security.cert.CertStoreException.getCause:()Ljava/lang/Throwable;
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
         1: .line 432
            aload 0 /* type */
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
                84300: 2
              2331559: 3
            133315663: 4
              default: 23
          }
      StackMap locals: java.lang.String java.security.cert.CertStoreException top java.lang.Throwable java.lang.String
      StackMap stack:
         2: aload 4
            ldc "URI"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 23
      StackMap locals:
      StackMap stack:
         3: aload 4
            ldc "LDAP"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 23
      StackMap locals:
      StackMap stack:
         4: aload 4
            ldc "SSLServer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 23
         5: .line 434
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            ifnull 13
         6: .line 436
            aload 3 /* t */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 5 /* cn */
        start local 5 // java.lang.String cn
         7: .line 437
            aload 5 /* cn */
            ldc "javax.naming.ServiceUnavailableException"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         8: .line 438
            aload 5 /* cn */
            ldc "javax.naming.CommunicationException"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 437
            iconst_0
            goto 11
      StackMap locals: java.lang.String
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 2 /* result */
        end local 5 // java.lang.String cn
        start local 2 // boolean result
        12: .line 439
            goto 24
        end local 2 // boolean result
        13: .line 440
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* result */
        start local 2 // boolean result
        14: .line 442
            goto 24
        end local 2 // boolean result
        15: .line 444
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            ifnull 16
            aload 3 /* t */
            instanceof java.io.IOException
            ifeq 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 2 /* result */
        start local 2 // boolean result
        18: .line 445
            goto 24
        end local 2 // boolean result
        19: .line 447
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            ifnull 20
            aload 3 /* t */
            instanceof java.io.IOException
            ifeq 20
            iconst_1
            goto 21
      StackMap locals:
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 2 /* result */
        start local 2 // boolean result
        22: .line 448
            goto 24
        end local 2 // boolean result
        23: .line 451
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 2 // boolean result
        24: .line 453
      StackMap locals: java.lang.String java.security.cert.CertStoreException int java.lang.Throwable
      StackMap stack:
            iload 2 /* result */
            ireturn
        end local 3 // java.lang.Throwable t
        end local 2 // boolean result
        end local 1 // java.security.cert.CertStoreException cse
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   25     0    type  Ljava/lang/String;
            0   25     1     cse  Ljava/security/cert/CertStoreException;
           12   13     2  result  Z
           14   15     2  result  Z
           18   19     2  result  Z
           22   23     2  result  Z
           24   25     2  result  Z
            1   25     3       t  Ljava/lang/Throwable;
            7   12     5      cn  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  
      cse   

  private void checkCRLs(java.security.cert.X509Certificate, java.security.PublicKey, java.security.cert.X509Certificate, boolean, boolean, java.util.Set<java.security.cert.X509Certificate>, java.util.Set<java.security.cert.TrustAnchor>);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/security/cert/X509Certificate;ZZLjava/util/Set;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=16, args_size=8
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.X509Certificate cert
        start local 2 // java.security.PublicKey prevKey
        start local 3 // java.security.cert.X509Certificate prevCert
        start local 4 // boolean signFlag
        start local 5 // boolean allowSeparateKey
        start local 6 // java.util.Set stackedCerts
        start local 7 // java.util.Set anchors
         0: .line 463
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 464
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "RevocationChecker.checkCRLs() ---checking revocation status ..."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         2: .line 471
      StackMap locals:
      StackMap stack:
            aload 6 /* stackedCerts */
            ifnull 9
            aload 6 /* stackedCerts */
            aload 1 /* cert */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 9
         3: .line 472
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 5
         4: .line 473
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "RevocationChecker.checkCRLs() circular dependency"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 476
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
         6: .line 477
            ldc "Could not determine revocation status"
            aconst_null
            aconst_null
            iconst_m1
         7: .line 478
            getstatic java.security.cert.CertPathValidatorException$BasicReason.UNDETERMINED_REVOCATION_STATUS:Ljava/security/cert/CertPathValidatorException$BasicReason;
         8: .line 476
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
         9: .line 481
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* possibleCRLs */
        start local 8 // java.util.Set possibleCRLs
        10: .line 482
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* approvedCRLs */
        start local 9 // java.util.Set approvedCRLs
        11: .line 483
            new java.security.cert.X509CRLSelector
            dup
            invokespecial java.security.cert.X509CRLSelector.<init>:()V
            astore 10 /* sel */
        start local 10 // java.security.cert.X509CRLSelector sel
        12: .line 484
            aload 10 /* sel */
            aload 1 /* cert */
            invokevirtual java.security.cert.X509CRLSelector.setCertificateChecking:(Ljava/security/cert/X509Certificate;)V
        13: .line 485
            aload 10 /* sel */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.date:()Ljava/util/Date;
            ldc 900000
            invokestatic sun.security.provider.certpath.CertPathHelper.setDateAndTime:(Ljava/security/cert/X509CRLSelector;Ljava/util/Date;J)V
        14: .line 488
            aconst_null
            astore 11 /* nfe */
        start local 11 // sun.security.provider.certpath.OCSP$NetworkFailureException nfe
        15: .line 489
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.certStores:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 30
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.security.cert.X509Certificate int int java.util.Set java.util.Set java.util.Set java.util.Set java.security.cert.X509CRLSelector sun.security.provider.certpath.OCSP$NetworkFailureException top java.util.Iterator
      StackMap stack:
        16: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.CertStore
            astore 12 /* store */
        start local 12 // java.security.cert.CertStore store
        17: .line 491
            aload 12 /* store */
            aload 10 /* sel */
            invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 15
            goto 20
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.security.cert.X509Certificate int int java.util.Set java.util.Set java.util.Set java.util.Set java.security.cert.X509CRLSelector sun.security.provider.certpath.OCSP$NetworkFailureException java.security.cert.CertStore java.util.Iterator top java.util.Iterator
      StackMap stack:
        18: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.CRL
            astore 14 /* crl */
        start local 14 // java.security.cert.CRL crl
        19: .line 492
            aload 8 /* possibleCRLs */
            aload 14 /* crl */
            checkcast java.security.cert.X509CRL
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // java.security.cert.CRL crl
        20: .line 491
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        21: .line 494
            goto 30
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.security.cert.X509Certificate int int java.util.Set java.util.Set java.util.Set java.util.Set java.security.cert.X509CRLSelector sun.security.provider.certpath.OCSP$NetworkFailureException java.security.cert.CertStore java.util.Iterator
      StackMap stack: java.security.cert.CertStoreException
        22: astore 14 /* e */
        start local 14 // java.security.cert.CertStoreException e
        23: .line 495
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 27
        24: .line 496
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.checkCRLs() CertStoreException: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 497
            aload 14 /* e */
            invokevirtual java.security.cert.CertStoreException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 496
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        27: .line 499
      StackMap locals: java.security.cert.CertStoreException
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.softFail:Z
            ifeq 30
            aload 11 /* nfe */
            ifnonnull 30
        28: .line 500
            aload 12 /* store */
            invokevirtual java.security.cert.CertStore.getType:()Ljava/lang/String;
            aload 14 /* e */
            invokestatic sun.security.provider.certpath.RevocationChecker.isCausedByNetworkIssue:(Ljava/lang/String;Ljava/security/cert/CertStoreException;)Z
            ifeq 30
        29: .line 502
            new sun.security.provider.certpath.OCSP$NetworkFailureException
            dup
            aload 14 /* e */
            invokespecial sun.security.provider.certpath.OCSP$NetworkFailureException.<init>:(Ljava/lang/Throwable;)V
            astore 11 /* nfe */
        end local 14 // java.security.cert.CertStoreException e
        end local 12 // java.security.cert.CertStore store
        30: .line 489
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.security.cert.X509Certificate int int java.util.Set java.util.Set java.util.Set java.util.Set java.security.cert.X509CRLSelector sun.security.provider.certpath.OCSP$NetworkFailureException top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        31: .line 507
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 35
        32: .line 508
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.checkCRLs() possible crls.size() = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        33: .line 509
            aload 8 /* possibleCRLs */
            invokeinterface java.util.Set.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 508
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        35: .line 511
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.security.cert.X509Certificate int int java.util.Set java.util.Set java.util.Set java.util.Set java.security.cert.X509CRLSelector sun.security.provider.certpath.OCSP$NetworkFailureException
      StackMap stack:
            bipush 9
            newarray 4
            astore 12 /* reasonsMask */
        start local 12 // boolean[] reasonsMask
        36: .line 512
            aload 8 /* possibleCRLs */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 41
        37: .line 515
            aload 9 /* approvedCRLs */
            aload 0 /* this */
            aload 8 /* possibleCRLs */
            aload 1 /* cert */
            aload 2 /* prevKey */
        38: .line 516
            iload 4 /* signFlag */
            aload 12 /* reasonsMask */
        39: .line 517
            aload 7 /* anchors */
        40: .line 515
            invokevirtual sun.security.provider.certpath.RevocationChecker.verifyPossibleCRLs:(Ljava/util/Set;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Z[ZLjava/util/Set;)Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        41: .line 520
      StackMap locals: boolean[]
      StackMap stack:
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 45
        42: .line 521
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.checkCRLs() approved crls.size() = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        43: .line 522
            aload 9 /* approvedCRLs */
            invokeinterface java.util.Set.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 521
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        45: .line 527
      StackMap locals:
      StackMap stack:
            aload 9 /* approvedCRLs */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 49
        46: .line 528
            aload 12 /* reasonsMask */
            getstatic sun.security.provider.certpath.RevocationChecker.ALL_REASONS:[Z
            invokestatic java.util.Arrays.equals:([Z[Z)Z
            ifeq 49
        47: .line 530
            aload 0 /* this */
            aload 1 /* cert */
            aload 9 /* approvedCRLs */
            invokevirtual sun.security.provider.certpath.RevocationChecker.checkApprovedCRLs:(Ljava/security/cert/X509Certificate;Ljava/util/Set;)V
        48: .line 531
            goto 81
        49: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.crlDP:Z
            ifeq 62
        50: .line 536
            aload 9 /* approvedCRLs */
        51: .line 537
            aload 10 /* sel */
            iload 4 /* signFlag */
            aload 2 /* prevKey */
            aload 3 /* prevCert */
        52: .line 538
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.sigProvider:()Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.certStores:Ljava/util/List;
            aload 12 /* reasonsMask */
        53: .line 539
            aload 7 /* anchors */
            aconst_null
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.variant:()Ljava/lang/String;
        54: .line 536
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.getCRLs:(Ljava/security/cert/X509CRLSelector;ZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/List;[ZLjava/util/Set;Ljava/util/Date;Ljava/lang/String;)Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        55: .line 541
            goto 62
      StackMap locals:
      StackMap stack: java.security.cert.CertStoreException
        56: astore 13 /* e */
        start local 13 // java.security.cert.CertStoreException e
        57: .line 542
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.softFail:Z
            ifeq 61
            aload 13 /* e */
            instanceof sun.security.provider.certpath.PKIX$CertStoreTypeException
            ifeq 61
        58: .line 543
            aload 13 /* e */
            checkcast sun.security.provider.certpath.PKIX$CertStoreTypeException
            astore 14 /* cste */
        start local 14 // sun.security.provider.certpath.PKIX$CertStoreTypeException cste
        59: .line 544
            aload 14 /* cste */
            invokevirtual sun.security.provider.certpath.PKIX$CertStoreTypeException.getType:()Ljava/lang/String;
            aload 13 /* e */
            invokestatic sun.security.provider.certpath.RevocationChecker.isCausedByNetworkIssue:(Ljava/lang/String;Ljava/security/cert/CertStoreException;)Z
            ifeq 61
        60: .line 545
            new sun.security.provider.certpath.OCSP$NetworkFailureException
            dup
            aload 13 /* e */
            invokespecial sun.security.provider.certpath.OCSP$NetworkFailureException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 14 // sun.security.provider.certpath.PKIX$CertStoreTypeException cste
        61: .line 548
      StackMap locals: java.security.cert.CertStoreException
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
            aload 13 /* e */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.security.cert.CertStoreException e
        62: .line 550
      StackMap locals:
      StackMap stack:
            aload 9 /* approvedCRLs */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 66
        63: .line 551
            aload 12 /* reasonsMask */
            getstatic sun.security.provider.certpath.RevocationChecker.ALL_REASONS:[Z
            invokestatic java.util.Arrays.equals:([Z[Z)Z
            ifeq 66
        64: .line 553
            aload 0 /* this */
            aload 1 /* cert */
            aload 9 /* approvedCRLs */
            invokevirtual sun.security.provider.certpath.RevocationChecker.checkApprovedCRLs:(Ljava/security/cert/X509Certificate;Ljava/util/Set;)V
        65: .line 554
            goto 81
        66: .line 555
      StackMap locals:
      StackMap stack:
            iload 5 /* allowSeparateKey */
            ifeq 75
        67: .line 557
            aload 0 /* this */
            aload 1 /* cert */
            aload 2 /* prevKey */
            iload 4 /* signFlag */
        68: .line 558
            aload 6 /* stackedCerts */
        69: .line 557
            invokevirtual sun.security.provider.certpath.RevocationChecker.verifyWithSeparateSigningKey:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;ZLjava/util/Set;)V
        70: .line 559
            return
        71: .line 560
      StackMap locals:
      StackMap stack: java.security.cert.CertPathValidatorException
            astore 13 /* cpve */
        start local 13 // java.security.cert.CertPathValidatorException cpve
        72: .line 561
            aload 11 /* nfe */
            ifnull 74
        73: .line 566
            aload 11 /* nfe */
            athrow
        74: .line 568
      StackMap locals: java.security.cert.CertPathValidatorException
      StackMap stack:
            aload 13 /* cpve */
            athrow
        end local 13 // java.security.cert.CertPathValidatorException cpve
        75: .line 571
      StackMap locals:
      StackMap stack:
            aload 11 /* nfe */
            ifnull 77
        76: .line 576
            aload 11 /* nfe */
            athrow
        77: .line 578
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
        78: .line 579
            ldc "Could not determine revocation status"
            aconst_null
            aconst_null
            iconst_m1
        79: .line 580
            getstatic java.security.cert.CertPathValidatorException$BasicReason.UNDETERMINED_REVOCATION_STATUS:Ljava/security/cert/CertPathValidatorException$BasicReason;
        80: .line 578
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        81: .line 584
      StackMap locals:
      StackMap stack:
            return
        end local 12 // boolean[] reasonsMask
        end local 11 // sun.security.provider.certpath.OCSP$NetworkFailureException nfe
        end local 10 // java.security.cert.X509CRLSelector sel
        end local 9 // java.util.Set approvedCRLs
        end local 8 // java.util.Set possibleCRLs
        end local 7 // java.util.Set anchors
        end local 6 // java.util.Set stackedCerts
        end local 5 // boolean allowSeparateKey
        end local 4 // boolean signFlag
        end local 3 // java.security.cert.X509Certificate prevCert
        end local 2 // java.security.PublicKey prevKey
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   82     0              this  Lsun/security/provider/certpath/RevocationChecker;
            0   82     1              cert  Ljava/security/cert/X509Certificate;
            0   82     2           prevKey  Ljava/security/PublicKey;
            0   82     3          prevCert  Ljava/security/cert/X509Certificate;
            0   82     4          signFlag  Z
            0   82     5  allowSeparateKey  Z
            0   82     6      stackedCerts  Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
            0   82     7           anchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
           10   82     8      possibleCRLs  Ljava/util/Set<Ljava/security/cert/X509CRL;>;
           11   82     9      approvedCRLs  Ljava/util/Set<Ljava/security/cert/X509CRL;>;
           12   82    10               sel  Ljava/security/cert/X509CRLSelector;
           15   82    11               nfe  Lsun/security/provider/certpath/OCSP$NetworkFailureException;
           17   30    12             store  Ljava/security/cert/CertStore;
           19   20    14               crl  Ljava/security/cert/CRL;
           23   30    14                 e  Ljava/security/cert/CertStoreException;
           36   82    12       reasonsMask  [Z
           57   62    13                 e  Ljava/security/cert/CertStoreException;
           59   61    14              cste  Lsun/security/provider/certpath/PKIX$CertStoreTypeException;
           72   75    13              cpve  Ljava/security/cert/CertPathValidatorException;
      Exception table:
        from    to  target  type
          17    21      22  Class java.security.cert.CertStoreException
          49    55      56  Class java.security.cert.CertStoreException
          67    70      71  Class java.security.cert.CertPathValidatorException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/security/cert/X509Certificate;ZZLjava/util/Set<Ljava/security/cert/X509Certificate;>;Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;)V
    MethodParameters:
                  Name  Flags
      cert              
      prevKey           
      prevCert          
      signFlag          
      allowSeparateKey  
      stackedCerts      
      anchors           

  private void checkApprovedCRLs(java.security.cert.X509Certificate, java.util.Set<java.security.cert.X509CRL>);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=3
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.X509Certificate cert
        start local 2 // java.util.Set approvedCRLs
         0: .line 591
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 6
         1: .line 592
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 3 /* sn */
        start local 3 // java.math.BigInteger sn
         2: .line 593
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "RevocationChecker.checkApprovedCRLs() starting the final sweep..."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         3: .line 595
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.checkApprovedCRLs() cert SN: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 596
            aload 3 /* sn */
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 595
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 3 // java.math.BigInteger sn
         6: .line 599
      StackMap locals:
      StackMap stack:
            getstatic java.security.cert.CRLReason.UNSPECIFIED:Ljava/security/cert/CRLReason;
            astore 3 /* reasonCode */
        start local 3 // java.security.cert.CRLReason reasonCode
         7: .line 600
            aconst_null
            astore 4 /* entry */
        start local 4 // sun.security.x509.X509CRLEntryImpl entry
         8: .line 601
            aload 2 /* approvedCRLs */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 43
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.util.Set java.security.cert.CRLReason sun.security.x509.X509CRLEntryImpl top java.util.Iterator
      StackMap stack:
         9: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
            astore 5 /* crl */
        start local 5 // java.security.cert.X509CRL crl
        10: .line 602
            aload 5 /* crl */
            aload 1 /* cert */
            invokevirtual java.security.cert.X509CRL.getRevokedCertificate:(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509CRLEntry;
            astore 7 /* e */
        start local 7 // java.security.cert.X509CRLEntry e
        11: .line 603
            aload 7 /* e */
            ifnull 43
        12: .line 605
            aload 7 /* e */
            invokestatic sun.security.x509.X509CRLEntryImpl.toImpl:(Ljava/security/cert/X509CRLEntry;)Lsun/security/x509/X509CRLEntryImpl;
            astore 4 /* entry */
        13: .line 606
            goto 16
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.util.Set java.security.cert.CRLReason sun.security.x509.X509CRLEntryImpl java.security.cert.X509CRL java.util.Iterator java.security.cert.X509CRLEntry
      StackMap stack: java.security.cert.CRLException
        14: astore 8 /* ce */
        start local 8 // java.security.cert.CRLException ce
        15: .line 607
            new java.security.cert.CertPathValidatorException
            dup
            aload 8 /* ce */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.security.cert.CRLException ce
        16: .line 609
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 20
        17: .line 610
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.checkApprovedCRLs() CRL entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 611
            aload 4 /* entry */
            invokevirtual sun.security.x509.X509CRLEntryImpl.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 610
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 619
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokevirtual sun.security.x509.X509CRLEntryImpl.getCriticalExtensionOIDs:()Ljava/util/Set;
            astore 8 /* unresCritExts */
        start local 8 // java.util.Set unresCritExts
        21: .line 620
            aload 8 /* unresCritExts */
            ifnull 33
            aload 8 /* unresCritExts */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 33
        22: .line 622
            aload 8 /* unresCritExts */
            getstatic sun.security.x509.PKIXExtensions.ReasonCode_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        23: .line 623
            aload 8 /* unresCritExts */
            getstatic sun.security.x509.PKIXExtensions.CertificateIssuer_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        24: .line 624
            aload 8 /* unresCritExts */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 33
        25: .line 625
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 29
        26: .line 626
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized critical extension(s) in revoked CRL entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 628
            aload 8 /* unresCritExts */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 626
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        29: .line 630
      StackMap locals: java.util.Set
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
        30: .line 631
            ldc "Could not determine revocation status"
            aconst_null
            aconst_null
        31: .line 632
            iconst_m1
            getstatic java.security.cert.CertPathValidatorException$BasicReason.UNDETERMINED_REVOCATION_STATUS:Ljava/security/cert/CertPathValidatorException$BasicReason;
        32: .line 630
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        33: .line 636
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokevirtual sun.security.x509.X509CRLEntryImpl.getRevocationReason:()Ljava/security/cert/CRLReason;
            astore 3 /* reasonCode */
        34: .line 637
            aload 3 /* reasonCode */
            ifnonnull 36
        35: .line 638
            getstatic java.security.cert.CRLReason.UNSPECIFIED:Ljava/security/cert/CRLReason;
            astore 3 /* reasonCode */
        36: .line 640
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateRevokedException
            dup
        37: .line 641
            aload 4 /* entry */
            invokevirtual sun.security.x509.X509CRLEntryImpl.getRevocationDate:()Ljava/util/Date;
            aload 3 /* reasonCode */
        38: .line 642
            aload 5 /* crl */
            invokevirtual java.security.cert.X509CRL.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            aload 4 /* entry */
            invokevirtual sun.security.x509.X509CRLEntryImpl.getExtensions:()Ljava/util/Map;
        39: .line 640
            invokespecial java.security.cert.CertificateRevokedException.<init>:(Ljava/util/Date;Ljava/security/cert/CRLReason;Ljavax/security/auth/x500/X500Principal;Ljava/util/Map;)V
            astore 9 /* t */
        start local 9 // java.lang.Throwable t
        40: .line 643
            new java.security.cert.CertPathValidatorException
            dup
            aload 9 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 9 /* t */
        41: .line 644
            aconst_null
            iconst_m1
            getstatic java.security.cert.CertPathValidatorException$BasicReason.REVOKED:Ljava/security/cert/CertPathValidatorException$BasicReason;
        42: .line 643
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        end local 9 // java.lang.Throwable t
        end local 8 // java.util.Set unresCritExts
        end local 7 // java.security.cert.X509CRLEntry e
        end local 5 // java.security.cert.X509CRL crl
        43: .line 601
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.util.Set java.security.cert.CRLReason sun.security.x509.X509CRLEntryImpl top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        44: .line 647
            return
        end local 4 // sun.security.x509.X509CRLEntryImpl entry
        end local 3 // java.security.cert.CRLReason reasonCode
        end local 2 // java.util.Set approvedCRLs
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   45     0           this  Lsun/security/provider/certpath/RevocationChecker;
            0   45     1           cert  Ljava/security/cert/X509Certificate;
            0   45     2   approvedCRLs  Ljava/util/Set<Ljava/security/cert/X509CRL;>;
            2    6     3             sn  Ljava/math/BigInteger;
            7   45     3     reasonCode  Ljava/security/cert/CRLReason;
            8   45     4          entry  Lsun/security/x509/X509CRLEntryImpl;
           10   43     5            crl  Ljava/security/cert/X509CRL;
           11   43     7              e  Ljava/security/cert/X509CRLEntry;
           15   16     8             ce  Ljava/security/cert/CRLException;
           21   43     8  unresCritExts  Ljava/util/Set<Ljava/lang/String;>;
           40   43     9              t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          12    13      14  Class java.security.cert.CRLException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/X509Certificate;Ljava/util/Set<Ljava/security/cert/X509CRL;>;)V
    MethodParameters:
              Name  Flags
      cert          
      approvedCRLs  

  private void checkOCSP(java.security.cert.X509Certificate, java.util.Collection<java.lang.String>);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.X509Certificate cert
        start local 2 // java.util.Collection unresolvedCritExts
         0: .line 653
            aconst_null
            astore 3 /* currCert */
        start local 3 // sun.security.x509.X509CertImpl currCert
         1: .line 655
            aload 1 /* cert */
            invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
            astore 3 /* currCert */
         2: .line 656
            goto 5
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.util.Collection sun.security.x509.X509CertImpl
      StackMap stack: java.security.cert.CertificateException
         3: astore 4 /* ce */
        start local 4 // java.security.cert.CertificateException ce
         4: .line 657
            new java.security.cert.CertPathValidatorException
            dup
            aload 4 /* ce */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.security.cert.CertificateException ce
         5: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.responderURI:Ljava/net/URI;
            ifnull 7
         6: .line 661
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.responderURI:Ljava/net/URI;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 3 /* currCert */
            invokestatic sun.security.provider.certpath.RevocationChecker.getOCSPServerURI:(Lsun/security/x509/X509CertImpl;)Ljava/net/URI;
         8: .line 660
      StackMap locals:
      StackMap stack: java.net.URI
            astore 4 /* responderURI */
        start local 4 // java.net.URI responderURI
         9: .line 667
            aconst_null
            astore 5 /* response */
        start local 5 // sun.security.provider.certpath.OCSPResponse response
        10: .line 668
            aconst_null
            astore 6 /* certId */
        start local 6 // sun.security.provider.certpath.CertId certId
        11: .line 670
            new sun.security.provider.certpath.CertId
            dup
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.issuerInfo:Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
            invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getName:()Ljavax/security/auth/x500/X500Principal;
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.issuerInfo:Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
            invokevirtual sun.security.provider.certpath.OCSPResponse$IssuerInfo.getPublicKey:()Ljava/security/PublicKey;
        12: .line 671
            aload 3 /* currCert */
            invokevirtual sun.security.x509.X509CertImpl.getSerialNumberObject:()Lsun/security/x509/SerialNumber;
        13: .line 670
            invokespecial sun.security.provider.certpath.CertId.<init>:(Ljavax/security/auth/x500/X500Principal;Ljava/security/PublicKey;Lsun/security/x509/SerialNumber;)V
            astore 6 /* certId */
        14: .line 674
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.ocspStapled:Ljava/util/Map;
            aload 1 /* cert */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            astore 7 /* responseBytes */
        start local 7 // byte[] responseBytes
        15: .line 675
            aload 7 /* responseBytes */
            ifnull 29
        16: .line 676
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 18
        17: .line 677
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "Found stapled OCSP response"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 679
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.util.Collection sun.security.x509.X509CertImpl java.net.URI sun.security.provider.certpath.OCSPResponse sun.security.provider.certpath.CertId byte[]
      StackMap stack:
            new sun.security.provider.certpath.OCSPResponse
            dup
            aload 7 /* responseBytes */
            invokespecial sun.security.provider.certpath.OCSPResponse.<init>:([B)V
            astore 5 /* response */
        19: .line 682
            aconst_null
            astore 8 /* nonce */
        start local 8 // byte[] nonce
        20: .line 683
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.ocspExtensions:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 24
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.util.Collection sun.security.x509.X509CertImpl java.net.URI sun.security.provider.certpath.OCSPResponse sun.security.provider.certpath.CertId byte[] byte[] top java.util.Iterator
      StackMap stack:
        21: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.Extension
            astore 9 /* ext */
        start local 9 // java.security.cert.Extension ext
        22: .line 684
            aload 9 /* ext */
            invokeinterface java.security.cert.Extension.getId:()Ljava/lang/String;
            ldc "1.3.6.1.5.5.7.48.1.2"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 685
            aload 9 /* ext */
            invokeinterface java.security.cert.Extension.getValue:()[B
            astore 8 /* nonce */
        end local 9 // java.security.cert.Extension ext
        24: .line 683
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        25: .line 688
            aload 5 /* response */
            aload 6 /* certId */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.issuerInfo:Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
        26: .line 689
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.responderCert:Ljava/security/cert/X509Certificate;
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.date:()Ljava/util/Date;
            aload 8 /* nonce */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.variant:()Ljava/lang/String;
        27: .line 688
            invokevirtual sun.security.provider.certpath.OCSPResponse.verify:(Ljava/util/List;Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;Ljava/security/cert/X509Certificate;Ljava/util/Date;[BLjava/lang/String;)V
        end local 8 // byte[] nonce
        28: .line 691
            goto 36
        29: .line 692
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.util.Collection sun.security.x509.X509CertImpl java.net.URI sun.security.provider.certpath.OCSPResponse sun.security.provider.certpath.CertId byte[]
      StackMap stack:
            aload 6 /* certId */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
        30: .line 693
            aload 4 /* responderURI */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.issuerInfo:Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.responderCert:Ljava/security/cert/X509Certificate;
            aconst_null
        31: .line 694
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.ocspExtensions:Ljava/util/List;
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.variant:()Ljava/lang/String;
        32: .line 692
            invokestatic sun.security.provider.certpath.OCSP.check:(Ljava/util/List;Ljava/net/URI;Lsun/security/provider/certpath/OCSPResponse$IssuerInfo;Ljava/security/cert/X509Certificate;Ljava/util/Date;Ljava/util/List;Ljava/lang/String;)Lsun/security/provider/certpath/OCSPResponse;
            astore 5 /* response */
        end local 7 // byte[] responseBytes
        33: .line 696
            goto 36
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.util.Collection sun.security.x509.X509CertImpl java.net.URI sun.security.provider.certpath.OCSPResponse sun.security.provider.certpath.CertId
      StackMap stack: java.io.IOException
        34: astore 7 /* e */
        start local 7 // java.io.IOException e
        35: .line 697
            new java.security.cert.CertPathValidatorException
            dup
            aload 7 /* e */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException e
        36: .line 701
      StackMap locals:
      StackMap stack:
            aload 5 /* response */
            aload 6 /* certId */
            invokevirtual sun.security.provider.certpath.OCSPResponse.getSingleResponse:(Lsun/security/provider/certpath/CertId;)Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
        37: .line 700
            astore 7 /* rs */
        start local 7 // sun.security.provider.certpath.OCSP$RevocationStatus rs
        38: .line 702
            aload 7 /* rs */
            invokeinterface sun.security.provider.certpath.OCSP$RevocationStatus.getCertStatus:()Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
            astore 8 /* certStatus */
        start local 8 // sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus certStatus
        39: .line 703
            aload 8 /* certStatus */
            getstatic sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus.REVOKED:Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
            if_acmpne 48
        40: .line 704
            new java.security.cert.CertificateRevokedException
            dup
        41: .line 705
            aload 7 /* rs */
            invokeinterface sun.security.provider.certpath.OCSP$RevocationStatus.getRevocationTime:()Ljava/util/Date;
            aload 7 /* rs */
            invokeinterface sun.security.provider.certpath.OCSP$RevocationStatus.getRevocationReason:()Ljava/security/cert/CRLReason;
        42: .line 706
            aload 5 /* response */
            invokevirtual sun.security.provider.certpath.OCSPResponse.getSignerCertificate:()Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        43: .line 707
            aload 7 /* rs */
            invokeinterface sun.security.provider.certpath.OCSP$RevocationStatus.getSingleExtensions:()Ljava/util/Map;
        44: .line 704
            invokespecial java.security.cert.CertificateRevokedException.<init>:(Ljava/util/Date;Ljava/security/cert/CRLReason;Ljavax/security/auth/x500/X500Principal;Ljava/util/Map;)V
            astore 9 /* t */
        start local 9 // java.lang.Throwable t
        45: .line 708
            new java.security.cert.CertPathValidatorException
            dup
            aload 9 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 9 /* t */
            aconst_null
        46: .line 709
            iconst_m1
            getstatic java.security.cert.CertPathValidatorException$BasicReason.REVOKED:Ljava/security/cert/CertPathValidatorException$BasicReason;
        47: .line 708
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        end local 9 // java.lang.Throwable t
        48: .line 710
      StackMap locals: sun.security.provider.certpath.OCSP$RevocationStatus sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus
      StackMap stack:
            aload 8 /* certStatus */
            getstatic sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus.UNKNOWN:Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
            if_acmpne 54
        49: .line 711
            new java.security.cert.CertPathValidatorException
            dup
        50: .line 712
            ldc "Certificate's revocation status is unknown"
            aconst_null
        51: .line 713
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.certPath:()Ljava/security/cert/CertPath;
            iconst_m1
        52: .line 714
            getstatic java.security.cert.CertPathValidatorException$BasicReason.UNDETERMINED_REVOCATION_STATUS:Ljava/security/cert/CertPathValidatorException$BasicReason;
        53: .line 711
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        54: .line 716
      StackMap locals:
      StackMap stack:
            return
        end local 8 // sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus certStatus
        end local 7 // sun.security.provider.certpath.OCSP$RevocationStatus rs
        end local 6 // sun.security.provider.certpath.CertId certId
        end local 5 // sun.security.provider.certpath.OCSPResponse response
        end local 4 // java.net.URI responderURI
        end local 3 // sun.security.x509.X509CertImpl currCert
        end local 2 // java.util.Collection unresolvedCritExts
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   55     0                this  Lsun/security/provider/certpath/RevocationChecker;
            0   55     1                cert  Ljava/security/cert/X509Certificate;
            0   55     2  unresolvedCritExts  Ljava/util/Collection<Ljava/lang/String;>;
            1   55     3            currCert  Lsun/security/x509/X509CertImpl;
            4    5     4                  ce  Ljava/security/cert/CertificateException;
            9   55     4        responderURI  Ljava/net/URI;
           10   55     5            response  Lsun/security/provider/certpath/OCSPResponse;
           11   55     6              certId  Lsun/security/provider/certpath/CertId;
           15   33     7       responseBytes  [B
           20   28     8               nonce  [B
           22   24     9                 ext  Ljava/security/cert/Extension;
           35   36     7                   e  Ljava/io/IOException;
           38   55     7                  rs  Lsun/security/provider/certpath/OCSP$RevocationStatus;
           39   55     8          certStatus  Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
           45   48     9                   t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.security.cert.CertificateException
          11    33      34  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/X509Certificate;Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
                    Name  Flags
      cert                
      unresolvedCritExts  

  private static java.lang.String stripOutSeparators(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String value
         0: .line 723
            aload 0 /* value */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* chars */
        start local 1 // char[] chars
         1: .line 724
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* hexNumber */
        start local 2 // java.lang.StringBuilder hexNumber
         2: .line 725
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 726
      StackMap locals: char[] java.lang.StringBuilder int
      StackMap stack:
            ldc "0123456789ABCDEFabcdef"
            aload 1 /* chars */
            iload 3 /* i */
            caload
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 6
         5: .line 727
            aload 2 /* hexNumber */
            aload 1 /* chars */
            iload 3 /* i */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 725
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* chars */
            arraylength
            if_icmplt 4
        end local 3 // int i
         8: .line 730
            aload 2 /* hexNumber */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder hexNumber
        end local 1 // char[] chars
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0      value  Ljava/lang/String;
            1    9     1      chars  [C
            2    9     2  hexNumber  Ljava/lang/StringBuilder;
            3    8     3          i  I
    MethodParameters:
       Name  Flags
      value  

  private static java.net.URI getOCSPServerURI(sun.security.x509.X509CertImpl);
    descriptor: (Lsun/security/x509/X509CertImpl;)Ljava/net/URI;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // sun.security.x509.X509CertImpl cert
         0: .line 738
            aload 0 /* cert */
            invokevirtual sun.security.x509.X509CertImpl.getAuthorityInfoAccessExtension:()Lsun/security/x509/AuthorityInfoAccessExtension;
         1: .line 737
            astore 1 /* aia */
        start local 1 // sun.security.x509.AuthorityInfoAccessExtension aia
         2: .line 739
            aload 1 /* aia */
            ifnonnull 6
         3: .line 740
            new java.security.cert.CertPathValidatorException
            dup
         4: .line 741
            ldc "Must specify the location of an OCSP Responder"
         5: .line 740
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 744
      StackMap locals: sun.security.x509.AuthorityInfoAccessExtension
      StackMap stack:
            aload 1 /* aia */
            invokevirtual sun.security.x509.AuthorityInfoAccessExtension.getAccessDescriptions:()Ljava/util/List;
            astore 2 /* descriptions */
        start local 2 // java.util.List descriptions
         7: .line 745
            aload 2 /* descriptions */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.AuthorityInfoAccessExtension java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.AccessDescription
            astore 3 /* description */
        start local 3 // sun.security.x509.AccessDescription description
         9: .line 746
            aload 3 /* description */
            invokevirtual sun.security.x509.AccessDescription.getAccessMethod:()Lsun/security/util/ObjectIdentifier;
        10: .line 747
            getstatic sun.security.x509.AccessDescription.Ad_OCSP_Id:Lsun/security/util/ObjectIdentifier;
        11: .line 746
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
        12: .line 747
            ifeq 17
        13: .line 749
            aload 3 /* description */
            invokevirtual sun.security.x509.AccessDescription.getAccessLocation:()Lsun/security/x509/GeneralName;
            astore 5 /* generalName */
        start local 5 // sun.security.x509.GeneralName generalName
        14: .line 750
            aload 5 /* generalName */
            invokevirtual sun.security.x509.GeneralName.getType:()I
            bipush 6
            if_icmpne 17
        15: .line 751
            aload 5 /* generalName */
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            checkcast sun.security.x509.URIName
            astore 6 /* uri */
        start local 6 // sun.security.x509.URIName uri
        16: .line 752
            aload 6 /* uri */
            invokevirtual sun.security.x509.URIName.getURI:()Ljava/net/URI;
            areturn
        end local 6 // sun.security.x509.URIName uri
        end local 5 // sun.security.x509.GeneralName generalName
        end local 3 // sun.security.x509.AccessDescription description
        17: .line 745
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        18: .line 757
            new java.security.cert.CertPathValidatorException
            dup
        19: .line 758
            ldc "Cannot find the location of the OCSP Responder"
        20: .line 757
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.util.List descriptions
        end local 1 // sun.security.x509.AuthorityInfoAccessExtension aia
        end local 0 // sun.security.x509.X509CertImpl cert
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          cert  Lsun/security/x509/X509CertImpl;
            2   21     1           aia  Lsun/security/x509/AuthorityInfoAccessExtension;
            7   21     2  descriptions  Ljava/util/List<Lsun/security/x509/AccessDescription;>;
            9   17     3   description  Lsun/security/x509/AccessDescription;
           14   17     5   generalName  Lsun/security/x509/GeneralName;
           16   17     6           uri  Lsun/security/x509/URIName;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    MethodParameters:
      Name  Flags
      cert  

  static boolean certCanSignCrl(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 772
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
            astore 1 /* keyUsage */
        start local 1 // boolean[] keyUsage
         1: .line 773
            aload 1 /* keyUsage */
            ifnull 3
         2: .line 774
            aload 1 /* keyUsage */
            bipush 6
            baload
            ireturn
         3: .line 776
      StackMap locals: boolean[]
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // boolean[] keyUsage
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      cert  Ljava/security/cert/X509Certificate;
            1    4     1  keyUsage  [Z
    MethodParameters:
      Name  Flags
      cert  

  private java.util.Collection<java.security.cert.X509CRL> verifyPossibleCRLs(java.util.Set<java.security.cert.X509CRL>, java.security.cert.X509Certificate, java.security.PublicKey, boolean, boolean[], java.util.Set<java.security.cert.TrustAnchor>);
    descriptor: (Ljava/util/Set;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Z[ZLjava/util/Set;)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=15, args_size=7
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.util.Set crls
        start local 2 // java.security.cert.X509Certificate cert
        start local 3 // java.security.PublicKey prevKey
        start local 4 // boolean signFlag
        start local 5 // boolean[] reasonsMask
        start local 6 // java.util.Set anchors
         0: .line 802
            aload 2 /* cert */
            invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
            astore 7 /* certImpl */
        start local 7 // sun.security.x509.X509CertImpl certImpl
         1: .line 803
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 5
         2: .line 804
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.verifyPossibleCRLs: Checking CRLDPs for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 806
            aload 7 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 804
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 809
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack:
            aload 7 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getCRLDistributionPointsExtension:()Lsun/security/x509/CRLDistributionPointsExtension;
         6: .line 808
            astore 8 /* ext */
        start local 8 // sun.security.x509.CRLDistributionPointsExtension ext
         7: .line 810
            aconst_null
            astore 9 /* points */
        start local 9 // java.util.List points
         8: .line 811
            aload 8 /* ext */
            ifnonnull 16
         9: .line 815
            aload 7 /* certImpl */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerDN:()Ljava/security/Principal;
            checkcast sun.security.x509.X500Name
            astore 10 /* certIssuer */
        start local 10 // sun.security.x509.X500Name certIssuer
        10: .line 816
            new sun.security.x509.DistributionPoint
            dup
        11: .line 817
            new sun.security.x509.GeneralNames
            dup
            invokespecial sun.security.x509.GeneralNames.<init>:()V
            new sun.security.x509.GeneralName
            dup
            aload 10 /* certIssuer */
            invokespecial sun.security.x509.GeneralName.<init>:(Lsun/security/x509/GeneralNameInterface;)V
            invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
        12: .line 818
            aconst_null
            aconst_null
        13: .line 816
            invokespecial sun.security.x509.DistributionPoint.<init>:(Lsun/security/x509/GeneralNames;[ZLsun/security/x509/GeneralNames;)V
            astore 11 /* point */
        start local 11 // sun.security.x509.DistributionPoint point
        14: .line 819
            aload 11 /* point */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 9 /* points */
        end local 11 // sun.security.x509.DistributionPoint point
        end local 10 // sun.security.x509.X500Name certIssuer
        15: .line 820
            goto 17
        16: .line 821
      StackMap locals: sun.security.x509.CRLDistributionPointsExtension java.util.List
      StackMap stack:
            aload 8 /* ext */
            ldc "points"
            invokevirtual sun.security.x509.CRLDistributionPointsExtension.get:(Ljava/lang/String;)Ljava/util/List;
            astore 9 /* points */
        17: .line 823
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 10 /* results */
        start local 10 // java.util.Set results
        18: .line 824
            aload 9 /* points */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 31
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.util.Set java.security.cert.X509Certificate java.security.PublicKey int boolean[] java.util.Set sun.security.x509.X509CertImpl sun.security.x509.CRLDistributionPointsExtension java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
        19: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.DistributionPoint
            astore 11 /* point */
        start local 11 // sun.security.x509.DistributionPoint point
        20: .line 825
            aload 1 /* crls */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 14
            goto 28
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.util.Set java.security.cert.X509Certificate java.security.PublicKey int boolean[] java.util.Set sun.security.x509.X509CertImpl sun.security.x509.CRLDistributionPointsExtension java.util.List java.util.Set sun.security.x509.DistributionPoint java.util.Iterator top java.util.Iterator
      StackMap stack:
        21: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509CRL
            astore 13 /* crl */
        start local 13 // java.security.cert.X509CRL crl
        22: .line 827
            aload 7 /* certImpl */
            aload 11 /* point */
            aload 13 /* crl */
            aload 5 /* reasonsMask */
            iload 4 /* signFlag */
        23: .line 828
            aload 3 /* prevKey */
            aconst_null
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.sigProvider:()Ljava/lang/String;
            aload 6 /* anchors */
        24: .line 829
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.certStores:Ljava/util/List;
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.date:()Ljava/util/Date;
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.variant:()Ljava/lang/String;
        25: .line 826
            invokestatic sun.security.provider.certpath.DistributionPointFetcher.verifyCRL:(Lsun/security/x509/X509CertImpl;Lsun/security/x509/DistributionPoint;Ljava/security/cert/X509CRL;[ZZLjava/security/PublicKey;Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/util/Set;Ljava/util/List;Ljava/util/Date;Ljava/lang/String;)Z
        26: .line 829
            ifeq 28
        27: .line 831
            aload 10 /* results */
            aload 13 /* crl */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.security.cert.X509CRL crl
        28: .line 825
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        29: .line 834
            aload 5 /* reasonsMask */
            getstatic sun.security.provider.certpath.RevocationChecker.ALL_REASONS:[Z
            invokestatic java.util.Arrays.equals:([Z[Z)Z
            ifeq 31
        30: .line 835
            goto 32
        end local 11 // sun.security.x509.DistributionPoint point
        31: .line 824
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.util.Set java.security.cert.X509Certificate java.security.PublicKey int boolean[] java.util.Set sun.security.x509.X509CertImpl sun.security.x509.CRLDistributionPointsExtension java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        32: .line 837
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.util.Set java.security.cert.X509Certificate java.security.PublicKey int boolean[] java.util.Set sun.security.x509.X509CertImpl sun.security.x509.CRLDistributionPointsExtension java.util.List java.util.Set
      StackMap stack:
            aload 10 /* results */
        33: areturn
        end local 10 // java.util.Set results
        end local 9 // java.util.List points
        end local 8 // sun.security.x509.CRLDistributionPointsExtension ext
        end local 7 // sun.security.x509.X509CertImpl certImpl
        34: .line 838
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.util.Set java.security.cert.X509Certificate java.security.PublicKey int boolean[] java.util.Set
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        35: .line 839
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 38
        36: .line 840
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Exception while verifying CRL: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        37: .line 841
            aload 7 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        38: .line 843
      StackMap locals: java.lang.Exception
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 7 // java.lang.Exception e
        end local 6 // java.util.Set anchors
        end local 5 // boolean[] reasonsMask
        end local 4 // boolean signFlag
        end local 3 // java.security.PublicKey prevKey
        end local 2 // java.security.cert.X509Certificate cert
        end local 1 // java.util.Set crls
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   39     0         this  Lsun/security/provider/certpath/RevocationChecker;
            0   39     1         crls  Ljava/util/Set<Ljava/security/cert/X509CRL;>;
            0   39     2         cert  Ljava/security/cert/X509Certificate;
            0   39     3      prevKey  Ljava/security/PublicKey;
            0   39     4     signFlag  Z
            0   39     5  reasonsMask  [Z
            0   39     6      anchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
            1   34     7     certImpl  Lsun/security/x509/X509CertImpl;
            7   34     8          ext  Lsun/security/x509/CRLDistributionPointsExtension;
            8   34     9       points  Ljava/util/List<Lsun/security/x509/DistributionPoint;>;
           10   15    10   certIssuer  Lsun/security/x509/X500Name;
           14   15    11        point  Lsun/security/x509/DistributionPoint;
           18   34    10      results  Ljava/util/Set<Ljava/security/cert/X509CRL;>;
           20   31    11        point  Lsun/security/x509/DistributionPoint;
           22   28    13          crl  Ljava/security/cert/X509CRL;
           35   39     7            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    33      34  Class java.security.cert.CertificateException
           0    33      34  Class java.security.cert.CRLException
           0    33      34  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/util/Set<Ljava/security/cert/X509CRL;>;Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Z[ZLjava/util/Set<Ljava/security/cert/TrustAnchor;>;)Ljava/util/Collection<Ljava/security/cert/X509CRL;>;
    MethodParameters:
             Name  Flags
      crls         
      cert         
      prevKey      
      signFlag     
      reasonsMask  
      anchors      

  private void verifyWithSeparateSigningKey(java.security.cert.X509Certificate, java.security.PublicKey, boolean, java.util.Set<java.security.cert.X509Certificate>);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;ZLjava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.X509Certificate cert
        start local 2 // java.security.PublicKey prevKey
        start local 3 // boolean signFlag
        start local 4 // java.util.Set stackedCerts
         0: .line 875
            ldc "revocation status"
            astore 5 /* msg */
        start local 5 // java.lang.String msg
         1: .line 876
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 7
         2: .line 877
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
         3: .line 878
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.verifyWithSeparateSigningKey() ---checking "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 879
            aload 5 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 878
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 877
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         7: .line 885
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* stackedCerts */
            ifnull 16
            aload 4 /* stackedCerts */
            aload 1 /* cert */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 16
         8: .line 886
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 12
         9: .line 887
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
        10: .line 888
            ldc "RevocationChecker.verifyWithSeparateSigningKey() circular dependency"
        11: .line 887
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 891
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertPathValidatorException
            dup
        13: .line 892
            ldc "Could not determine revocation status"
            aconst_null
            aconst_null
        14: .line 893
            iconst_m1
            getstatic java.security.cert.CertPathValidatorException$BasicReason.UNDETERMINED_REVOCATION_STATUS:Ljava/security/cert/CertPathValidatorException$BasicReason;
        15: .line 891
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        16: .line 900
      StackMap locals:
      StackMap stack:
            iload 3 /* signFlag */
            ifne 19
        17: .line 901
            aload 0 /* this */
            aload 1 /* cert */
            aconst_null
            aload 4 /* stackedCerts */
            invokevirtual sun.security.provider.certpath.RevocationChecker.buildToNewKey:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/util/Set;)V
        18: .line 902
            goto 20
        19: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cert */
            aload 2 /* prevKey */
            aload 4 /* stackedCerts */
            invokevirtual sun.security.provider.certpath.RevocationChecker.buildToNewKey:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/util/Set;)V
        20: .line 905
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String msg
        end local 4 // java.util.Set stackedCerts
        end local 3 // boolean signFlag
        end local 2 // java.security.PublicKey prevKey
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lsun/security/provider/certpath/RevocationChecker;
            0   21     1          cert  Ljava/security/cert/X509Certificate;
            0   21     2       prevKey  Ljava/security/PublicKey;
            0   21     3      signFlag  Z
            0   21     4  stackedCerts  Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
            1   21     5           msg  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;ZLjava/util/Set<Ljava/security/cert/X509Certificate;>;)V
    MethodParameters:
              Name  Flags
      cert          
      prevKey       
      signFlag      
      stackedCerts  

  private void buildToNewKey(java.security.cert.X509Certificate, java.security.PublicKey, java.util.Set<java.security.cert.X509Certificate>);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=16, args_size=4
        start local 0 // sun.security.provider.certpath.RevocationChecker this
        start local 1 // java.security.cert.X509Certificate currCert
        start local 2 // java.security.PublicKey prevKey
        start local 3 // java.util.Set stackedCerts
         0: .line 929
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 930
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "RevocationChecker.buildToNewKey() starting work"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         2: .line 933
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* badKeys */
        start local 4 // java.util.Set badKeys
         3: .line 934
            aload 2 /* prevKey */
            ifnull 5
         4: .line 935
            aload 4 /* badKeys */
            aload 2 /* prevKey */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 937
      StackMap locals: java.util.Set
      StackMap stack:
            new sun.security.provider.certpath.RevocationChecker$RejectKeySelector
            dup
            aload 4 /* badKeys */
            invokespecial sun.security.provider.certpath.RevocationChecker$RejectKeySelector.<init>:(Ljava/util/Set;)V
            astore 5 /* certSel */
        start local 5 // java.security.cert.X509CertSelector certSel
         6: .line 938
            aload 5 /* certSel */
            aload 1 /* currCert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.security.cert.X509CertSelector.setSubject:(Ljavax/security/auth/x500/X500Principal;)V
         7: .line 939
            aload 5 /* certSel */
            getstatic sun.security.provider.certpath.RevocationChecker.CRL_SIGN_USAGE:[Z
            invokevirtual java.security.cert.X509CertSelector.setKeyUsage:([Z)V
         8: .line 941
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.anchor:Ljava/security/cert/TrustAnchor;
            ifnonnull 10
         9: .line 942
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.trustAnchors:()Ljava/util/Set;
            goto 11
        10: .line 943
      StackMap locals: java.security.cert.X509CertSelector
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.anchor:Ljava/security/cert/TrustAnchor;
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
        11: .line 941
      StackMap locals:
      StackMap stack: java.util.Set
            astore 6 /* newAnchors */
        start local 6 // java.util.Set newAnchors
        12: .line 947
            new java.security.cert.PKIXBuilderParameters
            dup
            aload 6 /* newAnchors */
            aload 5 /* certSel */
            invokespecial java.security.cert.PKIXBuilderParameters.<init>:(Ljava/util/Set;Ljava/security/cert/CertSelector;)V
            astore 7 /* builderParams */
        start local 7 // java.security.cert.PKIXBuilderParameters builderParams
        13: .line 948
            goto 16
        end local 7 // java.security.cert.PKIXBuilderParameters builderParams
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set
      StackMap stack: java.security.InvalidAlgorithmParameterException
        14: astore 8 /* iape */
        start local 8 // java.security.InvalidAlgorithmParameterException iape
        15: .line 949
            new java.lang.RuntimeException
            dup
            aload 8 /* iape */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.security.InvalidAlgorithmParameterException iape
        start local 7 // java.security.cert.PKIXBuilderParameters builderParams
        16: .line 951
      StackMap locals: java.security.cert.PKIXBuilderParameters
      StackMap stack:
            aload 7 /* builderParams */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.initialPolicies:()Ljava/util/Set;
            invokevirtual java.security.cert.PKIXBuilderParameters.setInitialPolicies:(Ljava/util/Set;)V
        17: .line 952
            aload 7 /* builderParams */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.certStores:Ljava/util/List;
            invokevirtual java.security.cert.PKIXBuilderParameters.setCertStores:(Ljava/util/List;)V
        18: .line 953
            aload 7 /* builderParams */
        19: .line 954
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.explicitPolicyRequired:()Z
        20: .line 953
            invokevirtual java.security.cert.PKIXBuilderParameters.setExplicitPolicyRequired:(Z)V
        21: .line 955
            aload 7 /* builderParams */
        22: .line 956
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.policyMappingInhibited:()Z
        23: .line 955
            invokevirtual java.security.cert.PKIXBuilderParameters.setPolicyMappingInhibited:(Z)V
        24: .line 957
            aload 7 /* builderParams */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.anyPolicyInhibited:()Z
            invokevirtual java.security.cert.PKIXBuilderParameters.setAnyPolicyInhibited:(Z)V
        25: .line 961
            aload 7 /* builderParams */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.date:()Ljava/util/Date;
            invokevirtual java.security.cert.PKIXBuilderParameters.setDate:(Ljava/util/Date;)V
        26: .line 963
            aload 7 /* builderParams */
        27: .line 964
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.getPKIXParameters:()Ljava/security/cert/PKIXParameters;
            invokevirtual java.security.cert.PKIXParameters.getCertPathCheckers:()Ljava/util/List;
        28: .line 963
            invokevirtual java.security.cert.PKIXBuilderParameters.setCertPathCheckers:(Ljava/util/List;)V
        29: .line 965
            aload 7 /* builderParams */
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.sigProvider:()Ljava/lang/String;
            invokevirtual java.security.cert.PKIXBuilderParameters.setSigProvider:(Ljava/lang/String;)V
        30: .line 970
            aload 7 /* builderParams */
            iconst_0
            invokevirtual java.security.cert.PKIXBuilderParameters.setRevocationEnabled:(Z)V
        31: .line 973
            getstatic sun.security.provider.certpath.Builder.USE_AIA:Z
            ifeq 54
        32: .line 974
            aconst_null
            astore 8 /* currCertImpl */
        start local 8 // sun.security.x509.X509CertImpl currCertImpl
        33: .line 976
            aload 1 /* currCert */
            invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
            astore 8 /* currCertImpl */
        34: .line 977
            goto 40
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set java.security.cert.PKIXBuilderParameters sun.security.x509.X509CertImpl
      StackMap stack: java.security.cert.CertificateException
        35: astore 9 /* ce */
        start local 9 // java.security.cert.CertificateException ce
        36: .line 979
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 40
        37: .line 980
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.buildToNewKey: error decoding cert: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 981
            aload 9 /* ce */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 980
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // java.security.cert.CertificateException ce
        40: .line 984
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* aiaExt */
        start local 9 // sun.security.x509.AuthorityInfoAccessExtension aiaExt
        41: .line 985
            aload 8 /* currCertImpl */
            ifnull 43
        42: .line 986
            aload 8 /* currCertImpl */
            invokevirtual sun.security.x509.X509CertImpl.getAuthorityInfoAccessExtension:()Lsun/security/x509/AuthorityInfoAccessExtension;
            astore 9 /* aiaExt */
        43: .line 988
      StackMap locals: sun.security.x509.AuthorityInfoAccessExtension
      StackMap stack:
            aload 9 /* aiaExt */
            ifnull 54
        44: .line 989
            aload 9 /* aiaExt */
            invokevirtual sun.security.x509.AuthorityInfoAccessExtension.getAccessDescriptions:()Ljava/util/List;
            astore 10 /* adList */
        start local 10 // java.util.List adList
        45: .line 990
            aload 10 /* adList */
            ifnull 54
        46: .line 991
            aload 10 /* adList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 53
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set java.security.cert.PKIXBuilderParameters sun.security.x509.X509CertImpl sun.security.x509.AuthorityInfoAccessExtension java.util.List top java.util.Iterator
      StackMap stack:
        47: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.AccessDescription
            astore 11 /* ad */
        start local 11 // sun.security.x509.AccessDescription ad
        48: .line 992
            aload 11 /* ad */
            invokestatic sun.security.provider.certpath.URICertStore.getInstance:(Lsun/security/x509/AccessDescription;)Ljava/security/cert/CertStore;
            astore 13 /* cs */
        start local 13 // java.security.cert.CertStore cs
        49: .line 993
            aload 13 /* cs */
            ifnull 53
        50: .line 994
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 52
        51: .line 995
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "adding AIAext CertStore"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        52: .line 997
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set java.security.cert.PKIXBuilderParameters sun.security.x509.X509CertImpl sun.security.x509.AuthorityInfoAccessExtension java.util.List sun.security.x509.AccessDescription java.util.Iterator java.security.cert.CertStore
      StackMap stack:
            aload 7 /* builderParams */
            aload 13 /* cs */
            invokevirtual java.security.cert.PKIXBuilderParameters.addCertStore:(Ljava/security/cert/CertStore;)V
        end local 13 // java.security.cert.CertStore cs
        end local 11 // sun.security.x509.AccessDescription ad
        53: .line 991
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set java.security.cert.PKIXBuilderParameters sun.security.x509.X509CertImpl sun.security.x509.AuthorityInfoAccessExtension java.util.List top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        end local 10 // java.util.List adList
        end local 9 // sun.security.x509.AuthorityInfoAccessExtension aiaExt
        end local 8 // sun.security.x509.X509CertImpl currCertImpl
        54: .line 1004
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set java.security.cert.PKIXBuilderParameters
      StackMap stack:
            aconst_null
            astore 8 /* builder */
        start local 8 // java.security.cert.CertPathBuilder builder
        55: .line 1006
            ldc "PKIX"
            invokestatic java.security.cert.CertPathBuilder.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
            astore 8 /* builder */
        56: .line 1007
            goto 59
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set java.security.cert.PKIXBuilderParameters java.security.cert.CertPathBuilder
      StackMap stack: java.security.NoSuchAlgorithmException
        57: astore 9 /* nsae */
        start local 9 // java.security.NoSuchAlgorithmException nsae
        58: .line 1008
            new java.security.cert.CertPathValidatorException
            dup
            aload 9 /* nsae */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.security.NoSuchAlgorithmException nsae
        59: .line 1012
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 61
        60: .line 1013
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "RevocationChecker.buildToNewKey() about to try build ..."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        61: .line 1017
      StackMap locals:
      StackMap stack:
            aload 8 /* builder */
            aload 7 /* builderParams */
            invokevirtual java.security.cert.CertPathBuilder.build:(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
            checkcast java.security.cert.PKIXCertPathBuilderResult
        62: .line 1016
            astore 9 /* cpbr */
        start local 9 // java.security.cert.PKIXCertPathBuilderResult cpbr
        63: .line 1019
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 65
        64: .line 1020
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ldc "RevocationChecker.buildToNewKey() about to check revocation ..."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        65: .line 1025
      StackMap locals: java.security.cert.PKIXCertPathBuilderResult
      StackMap stack:
            aload 3 /* stackedCerts */
            ifnonnull 67
        66: .line 1026
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* stackedCerts */
        67: .line 1028
      StackMap locals:
      StackMap stack:
            aload 3 /* stackedCerts */
            aload 1 /* currCert */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        68: .line 1029
            aload 9 /* cpbr */
            invokevirtual java.security.cert.PKIXCertPathBuilderResult.getTrustAnchor:()Ljava/security/cert/TrustAnchor;
            astore 10 /* ta */
        start local 10 // java.security.cert.TrustAnchor ta
        69: .line 1030
            aload 10 /* ta */
            invokevirtual java.security.cert.TrustAnchor.getCAPublicKey:()Ljava/security/PublicKey;
            astore 11 /* prevKey2 */
        start local 11 // java.security.PublicKey prevKey2
        70: .line 1031
            aload 11 /* prevKey2 */
            ifnonnull 72
        71: .line 1032
            aload 10 /* ta */
            invokevirtual java.security.cert.TrustAnchor.getTrustedCert:()Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 11 /* prevKey2 */
        72: .line 1034
      StackMap locals: java.security.cert.TrustAnchor java.security.PublicKey
      StackMap stack:
            iconst_1
            istore 12 /* signFlag */
        start local 12 // boolean signFlag
        73: .line 1036
            aload 9 /* cpbr */
            invokevirtual java.security.cert.PKIXCertPathBuilderResult.getCertPath:()Ljava/security/cert/CertPath;
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
        74: .line 1035
            astore 13 /* cpList */
        start local 13 // java.util.List cpList
        75: .line 1038
            aload 13 /* cpList */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 14 /* i */
        start local 14 // int i
        76: goto 89
        77: .line 1039
      StackMap locals: int java.util.List int
      StackMap stack:
            aload 13 /* cpList */
            iload 14 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 15 /* cert */
        start local 15 // java.security.cert.X509Certificate cert
        78: .line 1041
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 83
        79: .line 1042
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.buildToNewKey() index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        80: .line 1043
            iload 14 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " checking "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        81: .line 1044
            aload 15 /* cert */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        82: .line 1042
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        83: .line 1046
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            aload 15 /* cert */
            aload 11 /* prevKey2 */
            aconst_null
            iload 12 /* signFlag */
            iconst_1
        84: .line 1047
            aload 3 /* stackedCerts */
            aload 6 /* newAnchors */
        85: .line 1046
            invokevirtual sun.security.provider.certpath.RevocationChecker.checkCRLs:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/security/cert/X509Certificate;ZZLjava/util/Set;Ljava/util/Set;)V
        86: .line 1048
            aload 15 /* cert */
            invokestatic sun.security.provider.certpath.RevocationChecker.certCanSignCrl:(Ljava/security/cert/X509Certificate;)Z
            istore 12 /* signFlag */
        87: .line 1049
            aload 15 /* cert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 11 /* prevKey2 */
        end local 15 // java.security.cert.X509Certificate cert
        88: .line 1038
            iinc 14 /* i */ -1
      StackMap locals:
      StackMap stack:
        89: iload 14 /* i */
            ifge 77
        end local 14 // int i
        90: .line 1051
            goto 94
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set java.security.cert.PKIXBuilderParameters java.security.cert.CertPathBuilder java.security.cert.PKIXCertPathBuilderResult java.security.cert.TrustAnchor java.security.PublicKey int java.util.List
      StackMap stack: java.security.cert.CertPathValidatorException
        91: pop
        92: .line 1053
            aload 4 /* badKeys */
            aload 9 /* cpbr */
            invokevirtual java.security.cert.PKIXCertPathBuilderResult.getPublicKey:()Ljava/security/PublicKey;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        93: .line 1054
            goto 59
        94: .line 1057
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            ifnull 98
        95: .line 1058
            getstatic sun.security.provider.certpath.RevocationChecker.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "RevocationChecker.buildToNewKey() got key "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        96: .line 1059
            aload 9 /* cpbr */
            invokevirtual java.security.cert.PKIXCertPathBuilderResult.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        97: .line 1058
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        98: .line 1065
      StackMap locals:
      StackMap stack:
            aload 9 /* cpbr */
            invokevirtual java.security.cert.PKIXCertPathBuilderResult.getPublicKey:()Ljava/security/PublicKey;
            astore 14 /* newKey */
        start local 14 // java.security.PublicKey newKey
        99: .line 1067
            aload 0 /* this */
            aload 1 /* currCert */
            aload 14 /* newKey */
            aload 13 /* cpList */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
       100: .line 1068
            iconst_1
            iconst_0
            aconst_null
            aload 0 /* this */
            getfield sun.security.provider.certpath.RevocationChecker.params:Lsun/security/provider/certpath/PKIX$ValidatorParams;
            invokevirtual sun.security.provider.certpath.PKIX$ValidatorParams.trustAnchors:()Ljava/util/Set;
       101: .line 1067
            invokevirtual sun.security.provider.certpath.RevocationChecker.checkCRLs:(Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/security/cert/X509Certificate;ZZLjava/util/Set;Ljava/util/Set;)V
       102: .line 1070
            return
       103: .line 1071
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set java.security.cert.PKIXBuilderParameters java.security.cert.CertPathBuilder java.security.cert.PKIXCertPathBuilderResult java.security.cert.TrustAnchor java.security.PublicKey int java.util.List java.security.PublicKey
      StackMap stack: java.security.cert.CertPathValidatorException
            astore 15 /* cpve */
        start local 15 // java.security.cert.CertPathValidatorException cpve
       104: .line 1073
            aload 15 /* cpve */
            invokevirtual java.security.cert.CertPathValidatorException.getReason:()Ljava/security/cert/CertPathValidatorException$Reason;
            getstatic java.security.cert.CertPathValidatorException$BasicReason.REVOKED:Ljava/security/cert/CertPathValidatorException$BasicReason;
            if_acmpne 106
       105: .line 1074
            aload 15 /* cpve */
            athrow
        end local 15 // java.security.cert.CertPathValidatorException cpve
       106: .line 1079
      StackMap locals:
      StackMap stack:
            aload 4 /* badKeys */
            aload 14 /* newKey */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // java.security.PublicKey newKey
        end local 13 // java.util.List cpList
        end local 12 // boolean signFlag
        end local 11 // java.security.PublicKey prevKey2
        end local 10 // java.security.cert.TrustAnchor ta
        end local 9 // java.security.cert.PKIXCertPathBuilderResult cpbr
       107: .line 1080
            goto 59
      StackMap locals: sun.security.provider.certpath.RevocationChecker java.security.cert.X509Certificate java.security.PublicKey java.util.Set java.util.Set java.security.cert.X509CertSelector java.util.Set java.security.cert.PKIXBuilderParameters java.security.cert.CertPathBuilder
      StackMap stack: java.security.InvalidAlgorithmParameterException
       108: astore 9 /* iape */
        start local 9 // java.security.InvalidAlgorithmParameterException iape
       109: .line 1081
            new java.security.cert.CertPathValidatorException
            dup
            aload 9 /* iape */
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.security.InvalidAlgorithmParameterException iape
       110: .line 1082
      StackMap locals:
      StackMap stack: java.security.cert.CertPathBuilderException
            pop
       111: .line 1083
            new java.security.cert.CertPathValidatorException
            dup
       112: .line 1084
            ldc "Could not determine revocation status"
            aconst_null
            aconst_null
       113: .line 1085
            iconst_m1
            getstatic java.security.cert.CertPathValidatorException$BasicReason.UNDETERMINED_REVOCATION_STATUS:Ljava/security/cert/CertPathValidatorException$BasicReason;
       114: .line 1083
            invokespecial java.security.cert.CertPathValidatorException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V
            athrow
        end local 8 // java.security.cert.CertPathBuilder builder
        end local 7 // java.security.cert.PKIXBuilderParameters builderParams
        end local 6 // java.util.Set newAnchors
        end local 5 // java.security.cert.X509CertSelector certSel
        end local 4 // java.util.Set badKeys
        end local 3 // java.util.Set stackedCerts
        end local 2 // java.security.PublicKey prevKey
        end local 1 // java.security.cert.X509Certificate currCert
        end local 0 // sun.security.provider.certpath.RevocationChecker this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  115     0           this  Lsun/security/provider/certpath/RevocationChecker;
            0  115     1       currCert  Ljava/security/cert/X509Certificate;
            0  115     2        prevKey  Ljava/security/PublicKey;
            0  115     3   stackedCerts  Ljava/util/Set<Ljava/security/cert/X509Certificate;>;
            3  115     4        badKeys  Ljava/util/Set<Ljava/security/PublicKey;>;
            6  115     5        certSel  Ljava/security/cert/X509CertSelector;
           12  115     6     newAnchors  Ljava/util/Set<Ljava/security/cert/TrustAnchor;>;
           13   14     7  builderParams  Ljava/security/cert/PKIXBuilderParameters;
           16  115     7  builderParams  Ljava/security/cert/PKIXBuilderParameters;
           15   16     8           iape  Ljava/security/InvalidAlgorithmParameterException;
           33   54     8   currCertImpl  Lsun/security/x509/X509CertImpl;
           36   40     9             ce  Ljava/security/cert/CertificateException;
           41   54     9         aiaExt  Lsun/security/x509/AuthorityInfoAccessExtension;
           45   54    10         adList  Ljava/util/List<Lsun/security/x509/AccessDescription;>;
           48   53    11             ad  Lsun/security/x509/AccessDescription;
           49   53    13             cs  Ljava/security/cert/CertStore;
           55  115     8        builder  Ljava/security/cert/CertPathBuilder;
           58   59     9           nsae  Ljava/security/NoSuchAlgorithmException;
           63  107     9           cpbr  Ljava/security/cert/PKIXCertPathBuilderResult;
           69  107    10             ta  Ljava/security/cert/TrustAnchor;
           70  107    11       prevKey2  Ljava/security/PublicKey;
           73  107    12       signFlag  Z
           75  107    13         cpList  Ljava/util/List<+Ljava/security/cert/Certificate;>;
           76   90    14              i  I
           78   88    15           cert  Ljava/security/cert/X509Certificate;
           99  107    14         newKey  Ljava/security/PublicKey;
          104  106    15           cpve  Ljava/security/cert/CertPathValidatorException;
          109  110     9           iape  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
          12    13      14  Class java.security.InvalidAlgorithmParameterException
          33    34      35  Class java.security.cert.CertificateException
          55    56      57  Class java.security.NoSuchAlgorithmException
          75    90      91  Class java.security.cert.CertPathValidatorException
          99   102     103  Class java.security.cert.CertPathValidatorException
          59    93     108  Class java.security.InvalidAlgorithmParameterException
          94   102     108  Class java.security.InvalidAlgorithmParameterException
         103   107     108  Class java.security.InvalidAlgorithmParameterException
          59    93     110  Class java.security.cert.CertPathBuilderException
          94   102     110  Class java.security.cert.CertPathBuilderException
         103   107     110  Class java.security.cert.CertPathBuilderException
    Exceptions:
      throws java.security.cert.CertPathValidatorException
    Signature: (Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/util/Set<Ljava/security/cert/X509Certificate;>;)V
    MethodParameters:
              Name  Flags
      currCert      
      prevKey       
      stackedCerts  

  static int[] $SWITCH_TABLE$sun$security$provider$certpath$PKIXRevocationChecker$Option();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 57
            getstatic sun.security.provider.certpath.RevocationChecker.$SWITCH_TABLE$sun$security$provider$certpath$PKIXRevocationChecker$Option:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic sun.security.provider.certpath.PKIXRevocationChecker$Option.values:()[Lsun/security/provider/certpath/PKIXRevocationChecker$Option;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic sun.security.provider.certpath.PKIXRevocationChecker$Option.ONLY_END_ENTITY:Lsun/security/provider/certpath/PKIXRevocationChecker$Option;
            invokevirtual sun.security.provider.certpath.PKIXRevocationChecker$Option.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic sun.security.provider.certpath.PKIXRevocationChecker$Option.PREFER_CRLS:Lsun/security/provider/certpath/PKIXRevocationChecker$Option;
            invokevirtual sun.security.provider.certpath.PKIXRevocationChecker$Option.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic sun.security.provider.certpath.PKIXRevocationChecker$Option.SOFT_FAIL:Lsun/security/provider/certpath/PKIXRevocationChecker$Option;
            invokevirtual sun.security.provider.certpath.PKIXRevocationChecker$Option.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic sun.security.provider.certpath.RevocationChecker.$SWITCH_TABLE$sun$security$provider$certpath$PKIXRevocationChecker$Option:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError

  static int[] $SWITCH_TABLE$sun$security$provider$certpath$RevocationChecker$Mode();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 57
            getstatic sun.security.provider.certpath.RevocationChecker.$SWITCH_TABLE$sun$security$provider$certpath$RevocationChecker$Mode:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic sun.security.provider.certpath.RevocationChecker$Mode.values:()[Lsun/security/provider/certpath/RevocationChecker$Mode;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic sun.security.provider.certpath.RevocationChecker$Mode.ONLY_CRLS:Lsun/security/provider/certpath/RevocationChecker$Mode;
            invokevirtual sun.security.provider.certpath.RevocationChecker$Mode.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic sun.security.provider.certpath.RevocationChecker$Mode.PREFER_CRLS:Lsun/security/provider/certpath/RevocationChecker$Mode;
            invokevirtual sun.security.provider.certpath.RevocationChecker$Mode.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic sun.security.provider.certpath.RevocationChecker$Mode.PREFER_OCSP:Lsun/security/provider/certpath/RevocationChecker$Mode;
            invokevirtual sun.security.provider.certpath.RevocationChecker$Mode.ordinal:()I
            iconst_1
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            dup
            putstatic sun.security.provider.certpath.RevocationChecker.$SWITCH_TABLE$sun$security$provider$certpath$RevocationChecker$Mode:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
}
SourceFile: "RevocationChecker.java"
NestMembers:
  sun.security.provider.certpath.RevocationChecker$1  sun.security.provider.certpath.RevocationChecker$Mode  sun.security.provider.certpath.RevocationChecker$RejectKeySelector  sun.security.provider.certpath.RevocationChecker$RevocationProperties
InnerClasses:
  public final BasicReason = java.security.cert.CertPathValidatorException$BasicReason of java.security.cert.CertPathValidatorException
  public abstract Reason = java.security.cert.CertPathValidatorException$Reason of java.security.cert.CertPathValidatorException
  NetworkFailureException = sun.security.provider.certpath.OCSP$NetworkFailureException of sun.security.provider.certpath.OCSP
  public abstract RevocationStatus = sun.security.provider.certpath.OCSP$RevocationStatus of sun.security.provider.certpath.OCSP
  public final CertStatus = sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus of sun.security.provider.certpath.OCSP$RevocationStatus
  final IssuerInfo = sun.security.provider.certpath.OCSPResponse$IssuerInfo of sun.security.provider.certpath.OCSPResponse
  public final SingleResponse = sun.security.provider.certpath.OCSPResponse$SingleResponse of sun.security.provider.certpath.OCSPResponse
  CertStoreTypeException = sun.security.provider.certpath.PKIX$CertStoreTypeException of sun.security.provider.certpath.PKIX
  ValidatorParams = sun.security.provider.certpath.PKIX$ValidatorParams of sun.security.provider.certpath.PKIX
  public final Option = sun.security.provider.certpath.PKIXRevocationChecker$Option of sun.security.provider.certpath.PKIXRevocationChecker
  sun.security.provider.certpath.RevocationChecker$1
  private final Mode = sun.security.provider.certpath.RevocationChecker$Mode of sun.security.provider.certpath.RevocationChecker
  private RejectKeySelector = sun.security.provider.certpath.RevocationChecker$RejectKeySelector of sun.security.provider.certpath.RevocationChecker
  private RevocationProperties = sun.security.provider.certpath.RevocationChecker$RevocationProperties of sun.security.provider.certpath.RevocationChecker