public class sun.security.x509.X509Cert implements java.security.Certificate, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.x509.X509Cert
  super_class: java.lang.Object
{
  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -52595524744692374

  protected transient sun.security.x509.AlgorithmId algid;
    descriptor: Lsun/security/x509/AlgorithmId;
    flags: (0x0084) ACC_PROTECTED, ACC_TRANSIENT

  private transient byte[] rawCert;
    descriptor: [B
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient byte[] signature;
    descriptor: [B
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient byte[] signedCert;
    descriptor: [B
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient sun.security.x509.X500Name subject;
    descriptor: Lsun/security/x509/X500Name;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.security.PublicKey pubkey;
    descriptor: Ljava/security/PublicKey;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.util.Date notafter;
    descriptor: Ljava/util/Date;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.util.Date notbefore;
    descriptor: Ljava/util/Date;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient int version;
    descriptor: I
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.math.BigInteger serialnum;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient sun.security.x509.X500Name issuer;
    descriptor: Lsun/security/x509/X500Name;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient sun.security.x509.AlgorithmId issuerSigAlg;
    descriptor: Lsun/security/x509/AlgorithmId;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient boolean parsed;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 113
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509Cert.parsed:Z
         2: .line 113
            return
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/x509/X509Cert;

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // byte[] cert
         0: .line 128
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509Cert.parsed:Z
         2: .line 130
            new sun.security.util.DerValue
            dup
            aload 1 /* cert */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 2 /* in */
        start local 2 // sun.security.util.DerValue in
         3: .line 131
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual sun.security.x509.X509Cert.parse:(Lsun/security/util/DerValue;)V
         4: .line 132
            aload 2 /* in */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 6
         5: .line 133
            new sun.security.x509.CertParseError
            dup
            ldc "garbage at end"
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 134
      StackMap locals: sun.security.x509.X509Cert byte[] sun.security.util.DerValue
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cert */
            putfield sun.security.x509.X509Cert.signedCert:[B
         7: .line 135
            return
        end local 2 // sun.security.util.DerValue in
        end local 1 // byte[] cert
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/x509/X509Cert;
            0    8     1  cert  [B
            3    8     2    in  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      cert  

  public void <init>(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // byte[] buf
        start local 2 // int offset
        start local 3 // int len
         0: .line 150
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509Cert.parsed:Z
         2: .line 152
            new sun.security.util.DerValue
            dup
            aload 1 /* buf */
            iload 2 /* offset */
            iload 3 /* len */
            invokespecial sun.security.util.DerValue.<init>:([BII)V
            astore 4 /* in */
        start local 4 // sun.security.util.DerValue in
         3: .line 154
            aload 0 /* this */
            aload 4 /* in */
            invokevirtual sun.security.x509.X509Cert.parse:(Lsun/security/util/DerValue;)V
         4: .line 155
            aload 4 /* in */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 6
         5: .line 156
            new sun.security.x509.CertParseError
            dup
            ldc "garbage at end"
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 157
      StackMap locals: sun.security.x509.X509Cert byte[] int int sun.security.util.DerValue
      StackMap stack:
            aload 0 /* this */
            iload 3 /* len */
            newarray 8
            putfield sun.security.x509.X509Cert.signedCert:[B
         7: .line 158
            aload 1 /* buf */
            iload 2 /* offset */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            iconst_0
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 159
            return
        end local 4 // sun.security.util.DerValue in
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] buf
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lsun/security/x509/X509Cert;
            0    9     1     buf  [B
            0    9     2  offset  I
            0    9     3     len  I
            3    9     4      in  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buf     
      offset  
      len     

  public void <init>(sun.security.util.DerValue);
    descriptor: (Lsun/security/util/DerValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // sun.security.util.DerValue derVal
         0: .line 170
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509Cert.parsed:Z
         2: .line 172
            aload 0 /* this */
            aload 1 /* derVal */
            invokevirtual sun.security.x509.X509Cert.parse:(Lsun/security/util/DerValue;)V
         3: .line 173
            aload 1 /* derVal */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 5
         4: .line 174
            new sun.security.x509.CertParseError
            dup
            ldc "garbage at end"
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 175
      StackMap locals: sun.security.x509.X509Cert sun.security.util.DerValue
      StackMap stack:
            aload 0 /* this */
            aload 1 /* derVal */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            putfield sun.security.x509.X509Cert.signedCert:[B
         6: .line 176
            return
        end local 1 // sun.security.util.DerValue derVal
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/x509/X509Cert;
            0    7     1  derVal  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      derVal  

  public void <init>(sun.security.x509.X500Name, sun.security.x509.X509Key, java.util.Date, java.util.Date);
    descriptor: (Lsun/security/x509/X500Name;Lsun/security/x509/X509Key;Ljava/util/Date;Ljava/util/Date;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // sun.security.x509.X500Name subjectName
        start local 2 // sun.security.x509.X509Key subjectPublicKey
        start local 3 // java.util.Date notBefore
        start local 4 // java.util.Date notAfter
         0: .line 208
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509Cert.parsed:Z
         2: .line 211
            aload 0 /* this */
            aload 1 /* subjectName */
            putfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
         3: .line 213
            aload 2 /* subjectPublicKey */
            instanceof java.security.PublicKey
            ifne 7
         4: .line 214
            new sun.security.x509.CertException
            dup
            bipush 9
         5: .line 215
            ldc "Doesn't implement PublicKey interface"
         6: .line 214
            invokespecial sun.security.x509.CertException.<init>:(ILjava/lang/String;)V
            athrow
         7: .line 218
      StackMap locals: sun.security.x509.X509Cert sun.security.x509.X500Name sun.security.x509.X509Key java.util.Date java.util.Date
      StackMap stack:
            aload 0 /* this */
            aload 2 /* subjectPublicKey */
            putfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
         8: .line 219
            aload 0 /* this */
            aload 3 /* notBefore */
            putfield sun.security.x509.X509Cert.notbefore:Ljava/util/Date;
         9: .line 220
            aload 0 /* this */
            aload 4 /* notAfter */
            putfield sun.security.x509.X509Cert.notafter:Ljava/util/Date;
        10: .line 221
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509Cert.version:I
        11: .line 222
            return
        end local 4 // java.util.Date notAfter
        end local 3 // java.util.Date notBefore
        end local 2 // sun.security.x509.X509Key subjectPublicKey
        end local 1 // sun.security.x509.X500Name subjectName
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lsun/security/x509/X509Cert;
            0   12     1       subjectName  Lsun/security/x509/X500Name;
            0   12     2  subjectPublicKey  Lsun/security/x509/X509Key;
            0   12     3         notBefore  Ljava/util/Date;
            0   12     4          notAfter  Ljava/util/Date;
    Exceptions:
      throws sun.security.x509.CertException
    MethodParameters:
                  Name  Flags
      subjectName       
      subjectPublicKey  
      notBefore         
      notAfter          

  public void decode(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // java.io.InputStream in
         0: .line 234
            new sun.security.util.DerValue
            dup
            aload 1 /* in */
            invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
            astore 2 /* val */
        start local 2 // sun.security.util.DerValue val
         1: .line 235
            aload 0 /* this */
            aload 2 /* val */
            invokevirtual sun.security.x509.X509Cert.parse:(Lsun/security/util/DerValue;)V
         2: .line 236
            aload 0 /* this */
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            putfield sun.security.x509.X509Cert.signedCert:[B
         3: .line 237
            return
        end local 2 // sun.security.util.DerValue val
        end local 1 // java.io.InputStream in
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/x509/X509Cert;
            0    4     1    in  Ljava/io/InputStream;
            1    4     2   val  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public void encode(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // java.io.OutputStream out
         0: .line 247
            aload 1 /* out */
            aload 0 /* this */
            invokevirtual sun.security.x509.X509Cert.getSignedCert:()[B
            invokevirtual java.io.OutputStream.write:([B)V
            return
        end local 1 // java.io.OutputStream out
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;
            0    1     1   out  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // java.lang.Object other
         0: .line 260
            aload 1 /* other */
            instanceof sun.security.x509.X509Cert
            ifeq 2
         1: .line 261
            aload 0 /* this */
            aload 1 /* other */
            checkcast sun.security.x509.X509Cert
            invokevirtual sun.security.x509.X509Cert.equals:(Lsun/security/x509/X509Cert;)Z
            ireturn
         2: .line 263
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/security/x509/X509Cert;
            0    3     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public boolean equals(sun.security.x509.X509Cert);
    descriptor: (Lsun/security/x509/X509Cert;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // sun.security.x509.X509Cert src
         0: .line 276
            aload 0 /* this */
            aload 1 /* src */
            if_acmpne 2
         1: .line 277
            iconst_1
            ireturn
         2: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            ifnull 3
            aload 1 /* src */
            getfield sun.security.x509.X509Cert.signedCert:[B
            ifnonnull 4
         3: .line 279
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            arraylength
            aload 1 /* src */
            getfield sun.security.x509.X509Cert.signedCert:[B
            arraylength
            if_icmpeq 6
         5: .line 281
            iconst_0
            ireturn
         6: .line 282
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 11
         8: .line 283
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            iload 2 /* i */
            baload
            aload 1 /* src */
            getfield sun.security.x509.X509Cert.signedCert:[B
            iload 2 /* i */
            baload
            if_icmpeq 10
         9: .line 284
            iconst_0
            ireturn
        10: .line 282
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            arraylength
            if_icmplt 8
        end local 2 // int i
        12: .line 285
            iconst_1
            ireturn
        end local 1 // sun.security.x509.X509Cert src
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/security/x509/X509Cert;
            0   13     1   src  Lsun/security/x509/X509Cert;
            7   12     2     i  I
    MethodParameters:
      Name  Flags
      src   

  public java.lang.String getFormat();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 291
            ldc "X.509"
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public java.security.Principal getGuarantor();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 296
            aload 0 /* this */
            invokevirtual sun.security.x509.X509Cert.getIssuerName:()Lsun/security/x509/X500Name;
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public java.security.Principal getPrincipal();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 301
            aload 0 /* this */
            invokevirtual sun.security.x509.X509Cert.getSubjectName:()Lsun/security/x509/X500Name;
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public void verify(java.security.PublicKey);
    descriptor: (Ljava/security/PublicKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // java.security.PublicKey issuerPublicKey
         0: .line 332
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 2 /* now */
        start local 2 // java.util.Date now
         1: .line 334
            aload 2 /* now */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notbefore:Ljava/util/Date;
            invokevirtual java.util.Date.before:(Ljava/util/Date;)Z
            ifeq 3
         2: .line 335
            new sun.security.x509.CertException
            dup
            iconst_3
            invokespecial sun.security.x509.CertException.<init>:(I)V
            athrow
         3: .line 336
      StackMap locals: java.util.Date
      StackMap stack:
            aload 2 /* now */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notafter:Ljava/util/Date;
            invokevirtual java.util.Date.after:(Ljava/util/Date;)Z
            ifeq 5
         4: .line 337
            new sun.security.x509.CertException
            dup
            iconst_4
            invokespecial sun.security.x509.CertException.<init>:(I)V
            athrow
         5: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            ifnonnull 9
         6: .line 339
            new sun.security.x509.CertException
            dup
            iconst_1
         7: .line 340
            ldc "?? certificate is not signed yet ??"
         8: .line 339
            invokespecial sun.security.x509.CertException.<init>:(ILjava/lang/String;)V
            athrow
         9: .line 345
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* algName */
        start local 3 // java.lang.String algName
        10: .line 348
            aconst_null
            astore 4 /* sigVerf */
        start local 4 // java.security.Signature sigVerf
        11: .line 350
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuerSigAlg:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            astore 3 /* algName */
        12: .line 351
            aload 3 /* algName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 4 /* sigVerf */
        13: .line 352
            aload 4 /* sigVerf */
            aload 1 /* issuerPublicKey */
            invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
        14: .line 353
            aload 4 /* sigVerf */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.rawCert:[B
            iconst_0
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.rawCert:[B
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        15: .line 355
            aload 4 /* sigVerf */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signature:[B
            invokevirtual java.security.Signature.verify:([B)Z
            ifne 31
        16: .line 356
            new sun.security.x509.CertException
            dup
            iconst_1
        17: .line 357
            new java.lang.StringBuilder
            dup
            ldc "Signature ... by <"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuer:Lsun/security/x509/X500Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "> for <"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 356
            invokespecial sun.security.x509.CertException.<init>:(ILjava/lang/String;)V
            athrow
        end local 4 // java.security.Signature sigVerf
        19: .line 362
      StackMap locals: sun.security.x509.X509Cert java.security.PublicKey java.util.Date java.lang.String
      StackMap stack: java.security.NoSuchAlgorithmException
            pop
        20: .line 363
            new sun.security.x509.CertException
            dup
            iconst_1
        21: .line 364
            new java.lang.StringBuilder
            dup
            ldc "Unsupported signature algorithm ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* algName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 363
            invokespecial sun.security.x509.CertException.<init>:(ILjava/lang/String;)V
            athrow
        23: .line 366
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
            pop
        24: .line 368
            new sun.security.x509.CertException
            dup
            bipush 9
        25: .line 369
            new java.lang.StringBuilder
            dup
            ldc "Algorithm ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* algName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") rejected public key"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 368
            invokespecial sun.security.x509.CertException.<init>:(ILjava/lang/String;)V
            athrow
        27: .line 371
      StackMap locals:
      StackMap stack: java.security.SignatureException
            pop
        28: .line 372
            new sun.security.x509.CertException
            dup
            iconst_1
        29: .line 373
            new java.lang.StringBuilder
            dup
            ldc "Signature by <"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuer:Lsun/security/x509/X500Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "> for <"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 372
            invokespecial sun.security.x509.CertException.<init>:(ILjava/lang/String;)V
            athrow
        31: .line 375
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String algName
        end local 2 // java.util.Date now
        end local 1 // java.security.PublicKey issuerPublicKey
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0             this  Lsun/security/x509/X509Cert;
            0   32     1  issuerPublicKey  Ljava/security/PublicKey;
            1   32     2              now  Ljava/util/Date;
           10   32     3          algName  Ljava/lang/String;
           11   19     4          sigVerf  Ljava/security/Signature;
      Exception table:
        from    to  target  type
          10    19      19  Class java.security.NoSuchAlgorithmException
          10    19      23  Class java.security.InvalidKeyException
          10    19      27  Class java.security.SignatureException
    Exceptions:
      throws sun.security.x509.CertException
    MethodParameters:
                 Name  Flags
      issuerPublicKey  

  public byte[] encodeAndSign(java.math.BigInteger, sun.security.x509.X500Signer);
    descriptor: (Ljava/math/BigInteger;Lsun/security/x509/X500Signer;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // java.math.BigInteger serial
        start local 2 // sun.security.x509.X500Signer issuer
         0: .line 402
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509Cert.rawCert:[B
         1: .line 410
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509Cert.version:I
         2: .line 411
            aload 0 /* this */
            aload 1 /* serial */
            putfield sun.security.x509.X509Cert.serialnum:Ljava/math/BigInteger;
         3: .line 412
            aload 0 /* this */
            aload 2 /* issuer */
            invokevirtual sun.security.x509.X500Signer.getSigner:()Lsun/security/x509/X500Name;
            putfield sun.security.x509.X509Cert.issuer:Lsun/security/x509/X500Name;
         4: .line 413
            aload 0 /* this */
            aload 2 /* issuer */
            invokevirtual sun.security.x509.X500Signer.getAlgorithmId:()Lsun/security/x509/AlgorithmId;
            putfield sun.security.x509.X509Cert.issuerSigAlg:Lsun/security/x509/AlgorithmId;
         5: .line 415
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
            ifnull 7
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
            ifnull 7
         6: .line 416
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notbefore:Ljava/util/Date;
            ifnull 7
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notafter:Ljava/util/Date;
            ifnonnull 8
         7: .line 417
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "not enough cert parameters"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.security.x509.X509Cert.DERencode:()[B
            putfield sun.security.x509.X509Cert.rawCert:[B
         9: .line 424
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* issuer */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.rawCert:[B
            invokevirtual sun.security.x509.X509Cert.sign:(Lsun/security/x509/X500Signer;[B)[B
            putfield sun.security.x509.X509Cert.signedCert:[B
        10: .line 425
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            areturn
        end local 2 // sun.security.x509.X500Signer issuer
        end local 1 // java.math.BigInteger serial
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lsun/security/x509/X509Cert;
            0   11     1  serial  Ljava/math/BigInteger;
            0   11     2  issuer  Lsun/security/x509/X500Signer;
    Exceptions:
      throws java.io.IOException, java.security.SignatureException
    MethodParameters:
        Name  Flags
      serial  
      issuer  

  public sun.security.x509.X500Signer getSigner(sun.security.x509.AlgorithmId, java.security.PrivateKey);
    descriptor: (Lsun/security/x509/AlgorithmId;Ljava/security/PrivateKey;)Lsun/security/x509/X500Signer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // sun.security.x509.AlgorithmId algorithmId
        start local 2 // java.security.PrivateKey privateKey
         0: .line 460
            aload 2 /* privateKey */
            instanceof java.security.Key
            ifeq 4
         1: .line 461
            aload 2 /* privateKey */
            astore 5 /* key */
        start local 5 // java.security.Key key
         2: .line 462
            aload 5 /* key */
            invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
            astore 3 /* algorithm */
        end local 5 // java.security.Key key
        start local 3 // java.lang.String algorithm
         3: .line 463
            goto 5
        end local 3 // java.lang.String algorithm
         4: .line 464
      StackMap locals:
      StackMap stack:
            new java.security.InvalidKeyException
            dup
            ldc "private key not a key!"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // java.lang.String algorithm
         5: .line 467
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* algorithmId */
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 4 /* sig */
        start local 4 // java.security.Signature sig
         6: .line 469
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            aload 3 /* algorithm */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
         7: .line 471
            new java.security.InvalidKeyException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Private key algorithm "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 472
            aload 3 /* algorithm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 473
            ldc " incompatible with certificate "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 474
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 471
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 476
      StackMap locals: java.security.Signature
      StackMap stack:
            aload 4 /* sig */
            aload 2 /* privateKey */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
        13: .line 477
            new sun.security.x509.X500Signer
            dup
            aload 4 /* sig */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
            invokespecial sun.security.x509.X500Signer.<init>:(Ljava/security/Signature;Lsun/security/x509/X500Name;)V
            areturn
        end local 4 // java.security.Signature sig
        end local 3 // java.lang.String algorithm
        end local 2 // java.security.PrivateKey privateKey
        end local 1 // sun.security.x509.AlgorithmId algorithmId
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lsun/security/x509/X509Cert;
            0   14     1  algorithmId  Lsun/security/x509/AlgorithmId;
            0   14     2   privateKey  Ljava/security/PrivateKey;
            3    4     3    algorithm  Ljava/lang/String;
            5   14     3    algorithm  Ljava/lang/String;
            6   14     4          sig  Ljava/security/Signature;
            2    3     5          key  Ljava/security/Key;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
    MethodParameters:
             Name  Flags
      algorithmId  
      privateKey   

  public java.security.Signature getVerifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/Signature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // java.lang.String algorithm
         0: .line 506
            aload 1 /* algorithm */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 2 /* sig */
        start local 2 // java.security.Signature sig
         1: .line 507
            aload 2 /* sig */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
            invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
         2: .line 508
            aload 2 /* sig */
            areturn
        end local 2 // java.security.Signature sig
        end local 1 // java.lang.String algorithm
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/security/x509/X509Cert;
            0    3     1  algorithm  Ljava/lang/String;
            1    3     2        sig  Ljava/security/Signature;
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
    MethodParameters:
           Name  Flags
      algorithm  

  public byte[] getSignedCert();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 519
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public java.math.BigInteger getSerialNumber();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 527
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.serialnum:Ljava/math/BigInteger;
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public sun.security.x509.X500Name getSubjectName();
    descriptor: ()Lsun/security/x509/X500Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 534
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public sun.security.x509.X500Name getIssuerName();
    descriptor: ()Lsun/security/x509/X500Name;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 542
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuer:Lsun/security/x509/X500Name;
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public sun.security.x509.AlgorithmId getIssuerAlgorithmId();
    descriptor: ()Lsun/security/x509/AlgorithmId;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 550
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuerSigAlg:Lsun/security/x509/AlgorithmId;
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public java.util.Date getNotBefore();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 557
            new java.util.Date
            dup
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notbefore:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokespecial java.util.Date.<init>:(J)V
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public java.util.Date getNotAfter();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 564
            new java.util.Date
            dup
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notafter:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokespecial java.util.Date.<init>:(J)V
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public java.security.PublicKey getPublicKey();
    descriptor: ()Ljava/security/PublicKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 582
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
            areturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public int getVersion();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 592
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.version:I
            ireturn
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509Cert;

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 601
            iconst_0
            istore 1 /* retval */
        start local 1 // int retval
         1: .line 603
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 604
      StackMap locals: int int
      StackMap stack:
            iload 1 /* retval */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            iload 2 /* i */
            baload
            iload 2 /* i */
            imul
            iadd
            istore 1 /* retval */
         4: .line 603
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signedCert:[B
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 605
            iload 1 /* retval */
            ireturn
        end local 1 // int retval
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/x509/X509Cert;
            1    7     1  retval  I
            2    6     2       i  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 621
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
            ifnull 4
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
            ifnull 4
         1: .line 622
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notbefore:Ljava/util/Date;
            ifnull 4
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notafter:Ljava/util/Date;
            ifnull 4
         2: .line 623
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuer:Lsun/security/x509/X500Name;
            ifnull 4
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuerSigAlg:Lsun/security/x509/AlgorithmId;
            ifnull 4
         3: .line 624
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.serialnum:Ljava/math/BigInteger;
            ifnonnull 5
         4: .line 625
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            ldc "X.509 cert is incomplete"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 627
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "  X.509v"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.version:I
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " certificate,\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        start local 1 // java.lang.String s
         6: .line 628
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Subject is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         7: .line 629
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Key:  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         8: .line 630
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Validity <"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notbefore:Ljava/util/Date;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "> until <"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notafter:Ljava/util/Date;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ">\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
         9: .line 631
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Issuer is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuer:Lsun/security/x509/X500Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        10: .line 632
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Issuer signature used "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuerSigAlg:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        11: .line 633
            new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  Serial number = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.serialnum:Ljava/math/BigInteger;
            invokestatic sun.security.util.Debug.toHexString:(Ljava/math/BigInteger;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* s */
        12: .line 637
            new java.lang.StringBuilder
            dup
            ldc "[\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String s
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/security/x509/X509Cert;
            6   13     1     s  Ljava/lang/String;

  public java.lang.String toString(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // boolean detailed
         0: .line 647
            aload 0 /* this */
            invokevirtual sun.security.x509.X509Cert.toString:()Ljava/lang/String;
            areturn
        end local 1 // boolean detailed
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lsun/security/x509/X509Cert;
            0    1     1  detailed  Z
    MethodParameters:
          Name  Flags
      detailed  

  private void parse(sun.security.util.DerValue);
    descriptor: (Lsun/security/util/DerValue;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // sun.security.util.DerValue val
         0: .line 664
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.parsed:Z
            ifeq 2
         1: .line 665
            new java.io.IOException
            dup
            ldc "Certificate already parsed"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 668
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.util.DerValue
            astore 2 /* seq */
        start local 2 // sun.security.util.DerValue[] seq
         3: .line 670
            aload 2 /* seq */
            iconst_0
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            aastore
         4: .line 671
            aload 2 /* seq */
            iconst_1
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            aastore
         5: .line 672
            aload 2 /* seq */
            iconst_2
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            aastore
         6: .line 674
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 10
         7: .line 675
            new sun.security.x509.CertParseError
            dup
            new java.lang.StringBuilder
            dup
            ldc "signed overrun, bytes = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 676
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 675
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 677
      StackMap locals: sun.security.util.DerValue[]
      StackMap stack:
            aload 2 /* seq */
            iconst_0
            aaload
            getfield sun.security.util.DerValue.tag:B
            bipush 48
            if_icmpeq 12
        11: .line 678
            new sun.security.x509.CertParseError
            dup
            ldc "signed fields invalid"
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 680
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* seq */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            putfield sun.security.x509.X509Cert.rawCert:[B
        13: .line 683
            aload 0 /* this */
            aload 2 /* seq */
            iconst_1
            aaload
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            putfield sun.security.x509.X509Cert.issuerSigAlg:Lsun/security/x509/AlgorithmId;
        14: .line 684
            aload 0 /* this */
            aload 2 /* seq */
            iconst_2
            aaload
            invokevirtual sun.security.util.DerValue.getBitString:()[B
            putfield sun.security.x509.X509Cert.signature:[B
        15: .line 686
            aload 2 /* seq */
            iconst_1
            aaload
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 17
        16: .line 689
            new sun.security.x509.CertParseError
            dup
            ldc "algid field overrun"
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 692
      StackMap locals:
      StackMap stack:
            aload 2 /* seq */
            iconst_2
            aaload
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 19
        18: .line 693
            new sun.security.x509.CertParseError
            dup
            ldc "signed fields overrun"
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 701
      StackMap locals:
      StackMap stack:
            aload 2 /* seq */
            iconst_0
            aaload
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            astore 3 /* in */
        start local 3 // sun.security.util.DerInputStream in
        20: .line 710
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509Cert.version:I
        21: .line 711
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 4 /* tmp */
        start local 4 // sun.security.util.DerValue tmp
        22: .line 712
            aload 4 /* tmp */
            invokevirtual sun.security.util.DerValue.isConstructed:()Z
            ifeq 27
            aload 4 /* tmp */
            invokevirtual sun.security.util.DerValue.isContextSpecific:()Z
            ifeq 27
        23: .line 713
            aload 0 /* this */
            aload 4 /* tmp */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getInteger:()I
            putfield sun.security.x509.X509Cert.version:I
        24: .line 714
            aload 4 /* tmp */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 26
        25: .line 715
            new java.io.IOException
            dup
            ldc "X.509 version, bad format"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 716
      StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue
      StackMap stack:
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 4 /* tmp */
        27: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* tmp */
            invokevirtual sun.security.util.DerValue.getBigInteger:()Ljava/math/BigInteger;
            putfield sun.security.x509.X509Cert.serialnum:Ljava/math/BigInteger;
        28: .line 730
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 4 /* tmp */
        29: .line 735
            aload 4 /* tmp */
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            astore 5 /* algid */
        start local 5 // sun.security.x509.AlgorithmId algid
        30: .line 737
            aload 5 /* algid */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuerSigAlg:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
            ifne 32
        31: .line 738
            new sun.security.x509.CertParseError
            dup
            ldc "CA Algorithm mismatch!"
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 740
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 0 /* this */
            aload 5 /* algid */
            putfield sun.security.x509.X509Cert.algid:Lsun/security/x509/AlgorithmId;
        end local 5 // sun.security.x509.AlgorithmId algid
        33: .line 746
            aload 0 /* this */
            new sun.security.x509.X500Name
            dup
            aload 3 /* in */
            invokespecial sun.security.x509.X500Name.<init>:(Lsun/security/util/DerInputStream;)V
            putfield sun.security.x509.X509Cert.issuer:Lsun/security/x509/X500Name;
        34: .line 751
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 4 /* tmp */
        35: .line 752
            aload 4 /* tmp */
            getfield sun.security.util.DerValue.tag:B
            bipush 48
            if_icmpeq 37
        36: .line 753
            new sun.security.x509.CertParseError
            dup
            ldc "corrupt validity field"
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* tmp */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getUTCTime:()Ljava/util/Date;
            putfield sun.security.x509.X509Cert.notbefore:Ljava/util/Date;
        38: .line 756
            aload 0 /* this */
            aload 4 /* tmp */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getUTCTime:()Ljava/util/Date;
            putfield sun.security.x509.X509Cert.notafter:Ljava/util/Date;
        39: .line 757
            aload 4 /* tmp */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 41
        40: .line 758
            new sun.security.x509.CertParseError
            dup
            ldc "excess validity data"
            invokespecial sun.security.x509.CertParseError.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 763
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.x509.X500Name
            dup
            aload 3 /* in */
            invokespecial sun.security.x509.X500Name.<init>:(Lsun/security/util/DerInputStream;)V
            putfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
        42: .line 765
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 4 /* tmp */
        43: .line 766
            aload 0 /* this */
            aload 4 /* tmp */
            invokestatic sun.security.x509.X509Key.parse:(Lsun/security/util/DerValue;)Ljava/security/PublicKey;
            putfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
        44: .line 772
            aload 3 /* in */
            invokevirtual sun.security.util.DerInputStream.available:()I
            pop
        45: .line 785
            aload 0 /* this */
            iconst_1
            putfield sun.security.x509.X509Cert.parsed:Z
        46: .line 786
            return
        end local 4 // sun.security.util.DerValue tmp
        end local 3 // sun.security.util.DerInputStream in
        end local 2 // sun.security.util.DerValue[] seq
        end local 1 // sun.security.util.DerValue val
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   47     0   this  Lsun/security/x509/X509Cert;
            0   47     1    val  Lsun/security/util/DerValue;
            3   47     2    seq  [Lsun/security/util/DerValue;
           20   47     3     in  Lsun/security/util/DerInputStream;
           22   47     4    tmp  Lsun/security/util/DerValue;
           30   33     5  algid  Lsun/security/x509/AlgorithmId;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      val   

  private byte[] DERencode();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509Cert this
         0: .line 794
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 1 /* raw */
        start local 1 // sun.security.util.DerOutputStream raw
         1: .line 796
            aload 0 /* this */
            aload 1 /* raw */
            invokevirtual sun.security.x509.X509Cert.encode:(Lsun/security/util/DerOutputStream;)V
         2: .line 797
            aload 1 /* raw */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            areturn
        end local 1 // sun.security.util.DerOutputStream raw
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/x509/X509Cert;
            1    3     1   raw  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws java.io.IOException

  private void encode(sun.security.util.DerOutputStream);
    descriptor: (Lsun/security/util/DerOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // sun.security.util.DerOutputStream out
         0: .line 806
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* tmp */
        start local 2 // sun.security.util.DerOutputStream tmp
         1: .line 812
            aload 2 /* tmp */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.serialnum:Ljava/math/BigInteger;
            invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
         2: .line 813
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuerSigAlg:Lsun/security/x509/AlgorithmId;
            aload 2 /* tmp */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
         3: .line 814
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.issuer:Lsun/security/x509/X500Name;
            aload 2 /* tmp */
            invokevirtual sun.security.x509.X500Name.encode:(Lsun/security/util/DerOutputStream;)V
         4: .line 821
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* seq */
        start local 3 // sun.security.util.DerOutputStream seq
         5: .line 823
            aload 3 /* seq */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notbefore:Ljava/util/Date;
            invokevirtual sun.security.util.DerOutputStream.putUTCTime:(Ljava/util/Date;)V
         6: .line 824
            aload 3 /* seq */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.notafter:Ljava/util/Date;
            invokevirtual sun.security.util.DerOutputStream.putUTCTime:(Ljava/util/Date;)V
         7: .line 825
            aload 2 /* tmp */
            bipush 48
            aload 3 /* seq */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 3 // sun.security.util.DerOutputStream seq
         8: .line 831
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.subject:Lsun/security/x509/X500Name;
            aload 2 /* tmp */
            invokevirtual sun.security.x509.X500Name.encode:(Lsun/security/util/DerOutputStream;)V
         9: .line 832
            aload 2 /* tmp */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.pubkey:Ljava/security/PublicKey;
            invokeinterface java.security.PublicKey.getEncoded:()[B
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        10: .line 837
            aload 1 /* out */
            bipush 48
            aload 2 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        11: .line 838
            return
        end local 2 // sun.security.util.DerOutputStream tmp
        end local 1 // sun.security.util.DerOutputStream out
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/security/x509/X509Cert;
            0   12     1   out  Lsun/security/util/DerOutputStream;
            1   12     2   tmp  Lsun/security/util/DerOutputStream;
            5    8     3   seq  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  private byte[] sign(sun.security.x509.X500Signer, byte[]);
    descriptor: (Lsun/security/x509/X500Signer;[B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // sun.security.x509.X500Signer issuer
        start local 2 // byte[] data
         0: .line 853
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* out */
        start local 3 // sun.security.util.DerOutputStream out
         1: .line 854
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 4 /* tmp */
        start local 4 // sun.security.util.DerOutputStream tmp
         2: .line 856
            aload 4 /* tmp */
            aload 2 /* data */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
         3: .line 857
            aload 1 /* issuer */
            invokevirtual sun.security.x509.X500Signer.getAlgorithmId:()Lsun/security/x509/AlgorithmId;
            aload 4 /* tmp */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
         4: .line 863
            aload 1 /* issuer */
            aload 2 /* data */
            iconst_0
            aload 2 /* data */
            arraylength
            invokevirtual sun.security.x509.X500Signer.update:([BII)V
         5: .line 864
            aload 0 /* this */
            aload 1 /* issuer */
            invokevirtual sun.security.x509.X500Signer.sign:()[B
            putfield sun.security.x509.X509Cert.signature:[B
         6: .line 865
            aload 4 /* tmp */
            aload 0 /* this */
            getfield sun.security.x509.X509Cert.signature:[B
            invokevirtual sun.security.util.DerOutputStream.putBitString:([B)V
         7: .line 870
            aload 3 /* out */
            bipush 48
            aload 4 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
         8: .line 871
            aload 3 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            areturn
        end local 4 // sun.security.util.DerOutputStream tmp
        end local 3 // sun.security.util.DerOutputStream out
        end local 2 // byte[] data
        end local 1 // sun.security.x509.X500Signer issuer
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lsun/security/x509/X509Cert;
            0    9     1  issuer  Lsun/security/x509/X500Signer;
            0    9     2    data  [B
            1    9     3     out  Lsun/security/util/DerOutputStream;
            2    9     4     tmp  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws java.io.IOException, java.security.SignatureException
    MethodParameters:
        Name  Flags
      issuer  
      data    

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // java.io.ObjectOutputStream stream
         0: .line 883
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual sun.security.x509.X509Cert.encode:(Ljava/io/OutputStream;)V
            return
        end local 1 // java.io.ObjectOutputStream stream
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/security/x509/X509Cert;
            0    1     1  stream  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.x509.X509Cert this
        start local 1 // java.io.ObjectInputStream stream
         0: .line 891
            aload 0 /* this */
            aload 1 /* stream */
            invokevirtual sun.security.x509.X509Cert.decode:(Ljava/io/InputStream;)V
            return
        end local 1 // java.io.ObjectInputStream stream
        end local 0 // sun.security.x509.X509Cert this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/security/x509/X509Cert;
            0    1     1  stream  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  
}
SourceFile: "X509Cert.java"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()