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

  private java.util.Date startDate;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Date endDate;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private byte[] ski;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private java.math.BigInteger serial;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 53
            ldc "certpath"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.provider.certpath.AdaptableX509CertSelector.debug:Lsun/security/util/Debug;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
         0: .line 51
            aload 0 /* this */
            invokespecial java.security.cert.X509CertSelector.<init>:()V
            return
        end local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/certpath/AdaptableX509CertSelector;

  void setValidityPeriod(java.util.Date, java.util.Date);
    descriptor: (Ljava/util/Date;Ljava/util/Date;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
        start local 1 // java.util.Date startDate
        start local 2 // java.util.Date endDate
         0: .line 87
            aload 0 /* this */
            aload 1 /* startDate */
            putfield sun.security.provider.certpath.AdaptableX509CertSelector.startDate:Ljava/util/Date;
         1: .line 88
            aload 0 /* this */
            aload 2 /* endDate */
            putfield sun.security.provider.certpath.AdaptableX509CertSelector.endDate:Ljava/util/Date;
         2: .line 89
            return
        end local 2 // java.util.Date endDate
        end local 1 // java.util.Date startDate
        end local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/security/provider/certpath/AdaptableX509CertSelector;
            0    3     1  startDate  Ljava/util/Date;
            0    3     2    endDate  Ljava/util/Date;
    MethodParameters:
           Name  Flags
      startDate  
      endDate    

  public void setSubjectKeyIdentifier(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
        start local 1 // byte[] subjectKeyID
         0: .line 98
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 1 // byte[] subjectKeyID
        end local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lsun/security/provider/certpath/AdaptableX509CertSelector;
            0    1     1  subjectKeyID  [B
    MethodParameters:
              Name  Flags
      subjectKeyID  

  public void setSerialNumber(java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
        start local 1 // java.math.BigInteger serial
         0: .line 108
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        end local 1 // java.math.BigInteger serial
        end local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/security/provider/certpath/AdaptableX509CertSelector;
            0    1     1  serial  Ljava/math/BigInteger;
    MethodParameters:
        Name  Flags
      serial  

  void setSkiAndSerialNumber(sun.security.x509.AuthorityKeyIdentifierExtension);
    descriptor: (Lsun/security/x509/AuthorityKeyIdentifierExtension;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
        start local 1 // sun.security.x509.AuthorityKeyIdentifierExtension ext
         0: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.certpath.AdaptableX509CertSelector.ski:[B
         1: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.certpath.AdaptableX509CertSelector.serial:Ljava/math/BigInteger;
         2: .line 132
            aload 1 /* ext */
            ifnull 9
         3: .line 133
            aload 0 /* this */
            aload 1 /* ext */
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.getEncodedKeyIdentifier:()[B
            putfield sun.security.provider.certpath.AdaptableX509CertSelector.ski:[B
         4: .line 134
            aload 1 /* ext */
         5: .line 135
            ldc "serial_number"
         6: .line 134
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.SerialNumber
            astore 2 /* asn */
        start local 2 // sun.security.x509.SerialNumber asn
         7: .line 136
            aload 2 /* asn */
            ifnull 9
         8: .line 137
            aload 0 /* this */
            aload 2 /* asn */
            invokevirtual sun.security.x509.SerialNumber.getNumber:()Ljava/math/BigInteger;
            putfield sun.security.provider.certpath.AdaptableX509CertSelector.serial:Ljava/math/BigInteger;
        end local 2 // sun.security.x509.SerialNumber asn
         9: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.x509.AuthorityKeyIdentifierExtension ext
        end local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/provider/certpath/AdaptableX509CertSelector;
            0   10     1   ext  Lsun/security/x509/AuthorityKeyIdentifierExtension;
            7    9     2   asn  Lsun/security/x509/SerialNumber;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ext   

  public boolean match(java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
        start local 1 // java.security.cert.Certificate cert
         0: .line 157
            aload 1 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 2 /* xcert */
        start local 2 // java.security.cert.X509Certificate xcert
         1: .line 160
            aload 0 /* this */
            aload 2 /* xcert */
            invokevirtual sun.security.provider.certpath.AdaptableX509CertSelector.matchSubjectKeyID:(Ljava/security/cert/X509Certificate;)Z
            ifne 3
         2: .line 161
            iconst_0
            ireturn
         3: .line 173
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getVersion:()I
            istore 3 /* version */
        start local 3 // int version
         4: .line 174
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.serial:Ljava/math/BigInteger;
            ifnull 7
            iload 3 /* version */
            iconst_2
            if_icmple 7
         5: .line 175
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.serial:Ljava/math/BigInteger;
            aload 2 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 176
            iconst_0
            ireturn
         7: .line 181
      StackMap locals: int
      StackMap stack:
            iload 3 /* version */
            iconst_3
            if_icmpge 18
         8: .line 182
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.startDate:Ljava/util/Date;
            ifnull 13
         9: .line 184
            aload 2 /* xcert */
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.startDate:Ljava/util/Date;
            invokevirtual java.security.cert.X509Certificate.checkValidity:(Ljava/util/Date;)V
        10: .line 185
            goto 13
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        11: pop
        12: .line 186
            iconst_0
            ireturn
        13: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.endDate:Ljava/util/Date;
            ifnull 18
        14: .line 191
            aload 2 /* xcert */
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.endDate:Ljava/util/Date;
            invokevirtual java.security.cert.X509Certificate.checkValidity:(Ljava/util/Date;)V
        15: .line 192
            goto 18
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        16: pop
        17: .line 193
            iconst_0
            ireturn
        18: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cert */
            invokespecial java.security.cert.X509CertSelector.match:(Ljava/security/cert/Certificate;)Z
            ifne 20
        19: .line 200
            iconst_0
            ireturn
        20: .line 203
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int version
        end local 2 // java.security.cert.X509Certificate xcert
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Lsun/security/provider/certpath/AdaptableX509CertSelector;
            0   21     1     cert  Ljava/security/cert/Certificate;
            1   21     2    xcert  Ljava/security/cert/X509Certificate;
            4   21     3  version  I
      Exception table:
        from    to  target  type
           9    10      11  Class java.security.cert.CertificateException
          14    15      16  Class java.security.cert.CertificateException
    MethodParameters:
      Name  Flags
      cert  

  private boolean matchSubjectKeyID(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
        start local 1 // java.security.cert.X509Certificate xcert
         0: .line 212
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.ski:[B
            ifnonnull 2
         1: .line 213
            iconst_1
            ireturn
         2: .line 216
      StackMap locals:
      StackMap stack:
            aload 1 /* xcert */
         3: .line 217
            getstatic sun.security.util.KnownOIDs.SubjectKeyID:Lsun/security/util/KnownOIDs;
            invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
         4: .line 216
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 2 /* extVal */
        start local 2 // byte[] extVal
         5: .line 218
            aload 2 /* extVal */
            ifnonnull 11
         6: .line 219
            getstatic sun.security.provider.certpath.AdaptableX509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 10
            invokestatic sun.security.util.Debug.isVerbose:()Z
            ifeq 10
         7: .line 220
            getstatic sun.security.provider.certpath.AdaptableX509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "AdaptableX509CertSelector.match: no subject key ID extension. Subject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 222
            aload 1 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 220
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 224
      StackMap locals: byte[]
      StackMap stack:
            iconst_1
            ireturn
        11: .line 226
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerInputStream
            dup
            aload 2 /* extVal */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 3 /* in */
        start local 3 // sun.security.util.DerInputStream in
        12: .line 227
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
            astore 4 /* certSubjectKeyID */
        start local 4 // byte[] certSubjectKeyID
        13: .line 228
            aload 4 /* certSubjectKeyID */
            ifnull 15
        14: .line 229
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.ski:[B
            aload 4 /* certSubjectKeyID */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 25
        15: .line 230
      StackMap locals: sun.security.util.DerInputStream byte[]
      StackMap stack:
            getstatic sun.security.provider.certpath.AdaptableX509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 20
            invokestatic sun.security.util.Debug.isVerbose:()Z
            ifeq 20
        16: .line 231
            getstatic sun.security.provider.certpath.AdaptableX509CertSelector.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "AdaptableX509CertSelector.match: subject key IDs don't match. Expected: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 233
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.ski:[B
            invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 234
            ldc "Cert's: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* certSubjectKeyID */
            invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 231
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 236
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // byte[] certSubjectKeyID
        end local 3 // sun.security.util.DerInputStream in
        end local 2 // byte[] extVal
        21: .line 238
      StackMap locals: sun.security.provider.certpath.AdaptableX509CertSelector java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            pop
        22: .line 239
            getstatic sun.security.provider.certpath.AdaptableX509CertSelector.debug:Lsun/security/util/Debug;
            ifnull 24
            invokestatic sun.security.util.Debug.isVerbose:()Z
            ifeq 24
        23: .line 240
            getstatic sun.security.provider.certpath.AdaptableX509CertSelector.debug:Lsun/security/util/Debug;
            ldc "AdaptableX509CertSelector.match: exception in subject key ID check"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        24: .line 243
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        25: .line 245
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.security.cert.X509Certificate xcert
        end local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   26     0              this  Lsun/security/provider/certpath/AdaptableX509CertSelector;
            0   26     1             xcert  Ljava/security/cert/X509Certificate;
            5   21     2            extVal  [B
           12   21     3                in  Lsun/security/util/DerInputStream;
           13   21     4  certSubjectKeyID  [B
      Exception table:
        from    to  target  type
           2    10      21  Class java.io.IOException
          11    20      21  Class java.io.IOException
    MethodParameters:
       Name  Flags
      xcert  

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
         0: .line 251
            aload 0 /* this */
            invokespecial java.security.cert.X509CertSelector.clone:()Ljava/lang/Object;
            checkcast sun.security.provider.certpath.AdaptableX509CertSelector
         1: .line 250
            astore 1 /* copy */
        start local 1 // sun.security.provider.certpath.AdaptableX509CertSelector copy
         2: .line 252
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.startDate:Ljava/util/Date;
            ifnull 4
         3: .line 253
            aload 1 /* copy */
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.startDate:Ljava/util/Date;
            invokevirtual java.util.Date.clone:()Ljava/lang/Object;
            checkcast java.util.Date
            putfield sun.security.provider.certpath.AdaptableX509CertSelector.startDate:Ljava/util/Date;
         4: .line 256
      StackMap locals: sun.security.provider.certpath.AdaptableX509CertSelector
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.endDate:Ljava/util/Date;
            ifnull 6
         5: .line 257
            aload 1 /* copy */
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.endDate:Ljava/util/Date;
            invokevirtual java.util.Date.clone:()Ljava/lang/Object;
            checkcast java.util.Date
            putfield sun.security.provider.certpath.AdaptableX509CertSelector.endDate:Ljava/util/Date;
         6: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.ski:[B
            ifnull 8
         7: .line 261
            aload 1 /* copy */
            aload 0 /* this */
            getfield sun.security.provider.certpath.AdaptableX509CertSelector.ski:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield sun.security.provider.certpath.AdaptableX509CertSelector.ski:[B
         8: .line 263
      StackMap locals:
      StackMap stack:
            aload 1 /* copy */
            areturn
        end local 1 // sun.security.provider.certpath.AdaptableX509CertSelector copy
        end local 0 // sun.security.provider.certpath.AdaptableX509CertSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/provider/certpath/AdaptableX509CertSelector;
            2    9     1  copy  Lsun/security/provider/certpath/AdaptableX509CertSelector;
}
SourceFile: "AdaptableX509CertSelector.java"