public class org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector extends org.bouncycastle.cert.selector.X509CertificateHolderSelector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector
  super_class: org.bouncycastle.cert.selector.X509CertificateHolderSelector
{
  public void <init>(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector this
        start local 1 // java.security.cert.X509Certificate certificate
         0: .line 24
            aload 0 /* this */
            aload 1 /* certificate */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokestatic org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector.convertPrincipal:(Ljavax/security/auth/x500/X500Principal;)Lorg/bouncycastle/asn1/x500/X500Name;
            aload 1 /* certificate */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            aload 1 /* certificate */
            invokestatic org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector.getSubjectKeyId:(Ljava/security/cert/X509Certificate;)[B
            invokespecial org.bouncycastle.cert.selector.X509CertificateHolderSelector.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;[B)V
         1: .line 25
            return
        end local 1 // java.security.cert.X509Certificate certificate
        end local 0 // org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/bouncycastle/cert/selector/jcajce/JcaX509CertificateHolderSelector;
            0    2     1  certificate  Ljava/security/cert/X509Certificate;
    MethodParameters:
             Name  Flags
      certificate  

  public void <init>(javax.security.auth.x500.X500Principal, java.math.BigInteger);
    descriptor: (Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector this
        start local 1 // javax.security.auth.x500.X500Principal issuer
        start local 2 // java.math.BigInteger serialNumber
         0: .line 35
            aload 0 /* this */
            aload 1 /* issuer */
            invokestatic org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector.convertPrincipal:(Ljavax/security/auth/x500/X500Principal;)Lorg/bouncycastle/asn1/x500/X500Name;
            aload 2 /* serialNumber */
            invokespecial org.bouncycastle.cert.selector.X509CertificateHolderSelector.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;)V
         1: .line 36
            return
        end local 2 // java.math.BigInteger serialNumber
        end local 1 // javax.security.auth.x500.X500Principal issuer
        end local 0 // org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/bouncycastle/cert/selector/jcajce/JcaX509CertificateHolderSelector;
            0    2     1        issuer  Ljavax/security/auth/x500/X500Principal;
            0    2     2  serialNumber  Ljava/math/BigInteger;
    MethodParameters:
              Name  Flags
      issuer        
      serialNumber  

  public void <init>(javax.security.auth.x500.X500Principal, java.math.BigInteger, byte[]);
    descriptor: (Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector this
        start local 1 // javax.security.auth.x500.X500Principal issuer
        start local 2 // java.math.BigInteger serialNumber
        start local 3 // byte[] subjectKeyId
         0: .line 47
            aload 0 /* this */
            aload 1 /* issuer */
            invokestatic org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector.convertPrincipal:(Ljavax/security/auth/x500/X500Principal;)Lorg/bouncycastle/asn1/x500/X500Name;
            aload 2 /* serialNumber */
            aload 3 /* subjectKeyId */
            invokespecial org.bouncycastle.cert.selector.X509CertificateHolderSelector.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;[B)V
         1: .line 48
            return
        end local 3 // byte[] subjectKeyId
        end local 2 // java.math.BigInteger serialNumber
        end local 1 // javax.security.auth.x500.X500Principal issuer
        end local 0 // org.bouncycastle.cert.selector.jcajce.JcaX509CertificateHolderSelector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/bouncycastle/cert/selector/jcajce/JcaX509CertificateHolderSelector;
            0    2     1        issuer  Ljavax/security/auth/x500/X500Principal;
            0    2     2  serialNumber  Ljava/math/BigInteger;
            0    2     3  subjectKeyId  [B
    MethodParameters:
              Name  Flags
      issuer        
      serialNumber  
      subjectKeyId  

  private static org.bouncycastle.asn1.x500.X500Name convertPrincipal(javax.security.auth.x500.X500Principal);
    descriptor: (Ljavax/security/auth/x500/X500Principal;)Lorg/bouncycastle/asn1/x500/X500Name;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.security.auth.x500.X500Principal issuer
         0: .line 52
            aload 0 /* issuer */
            ifnonnull 2
         1: .line 54
            aconst_null
            areturn
         2: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* issuer */
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            invokestatic org.bouncycastle.asn1.x500.X500Name.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x500/X500Name;
            areturn
        end local 0 // javax.security.auth.x500.X500Principal issuer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  issuer  Ljavax/security/auth/x500/X500Principal;
    MethodParameters:
        Name  Flags
      issuer  

  private static byte[] getSubjectKeyId(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 61
            aload 0 /* cert */
            getstatic org.bouncycastle.asn1.x509.Extension.subjectKeyIdentifier:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         1: .line 63
            aload 1 /* ext */
            ifnull 3
         2: .line 65
            aload 1 /* ext */
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            areturn
         3: .line 69
      StackMap locals: byte[]
      StackMap stack:
            aconst_null
            areturn
        end local 1 // byte[] ext
        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   ext  [B
    MethodParameters:
      Name  Flags
      cert  
}
SourceFile: "JcaX509CertificateHolderSelector.java"