public class sun.security.x509.X509CertImpl extends java.security.cert.X509Certificate implements sun.security.util.DerEncoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.x509.X509CertImpl
  super_class: java.security.cert.X509Certificate
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -3457612960190864406

  private static final char DOT;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 46

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

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

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

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

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

  public static final java.lang.String SUBJECT_DN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "x509.info.subject.dname"

  public static final java.lang.String ISSUER_DN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "x509.info.issuer.dname"

  public static final java.lang.String SERIAL_ID;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "x509.info.serialNumber.number"

  public static final java.lang.String PUBLIC_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "x509.info.key.value"

  public static final java.lang.String VERSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "x509.info.version.number"

  public static final java.lang.String SIG_ALG;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "x509.algorithm"

  public static final java.lang.String SIG;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "x509.signature"

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

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

  protected sun.security.x509.X509CertInfo info;
    descriptor: Lsun/security/x509/X509CertInfo;
    flags: (0x0004) ACC_PROTECTED

  protected sun.security.x509.AlgorithmId algId;
    descriptor: Lsun/security/x509/AlgorithmId;
    flags: (0x0004) ACC_PROTECTED

  protected byte[] signature;
    descriptor: [B
    flags: (0x0004) ACC_PROTECTED

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

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

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

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

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

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

  private static final int NUM_STANDARD_KEY_USAGE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private java.util.Collection<java.util.List<?>> subjectAlternativeNames;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<Ljava/util/List<*>;>;

  private java.util.Collection<java.util.List<?>> issuerAlternativeNames;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<Ljava/util/List<*>;>;

  private java.util.List<java.lang.String> extKeyUsage;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.util.Set<sun.security.x509.AccessDescription> authInfoAccess;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lsun/security/x509/AccessDescription;>;

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

  private java.lang.String verifiedProvider;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.concurrent.ConcurrentHashMap<java.lang.String, java.lang.String> fingerprints;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/lang/String;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 179
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 126
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 132
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1922
            aload 0 /* this */
         7: .line 1923
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_2
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
            putfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
         8: .line 179
            return
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/x509/X509CertImpl;

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // byte[] certData
         0: .line 193
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 126
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 132
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1922
            aload 0 /* this */
         7: .line 1923
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_2
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
            putfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
         8: .line 195
            aload 0 /* this */
            new sun.security.util.DerValue
            dup
            aload 1 /* certData */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
         9: .line 196
            goto 13
      StackMap locals: sun.security.x509.X509CertImpl byte[]
      StackMap stack: java.io.IOException
        10: astore 2 /* e */
        start local 2 // java.io.IOException e
        11: .line 197
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 198
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to initialize, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        13: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] certData
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lsun/security/x509/X509CertImpl;
            0   14     1  certData  [B
           11   13     2         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      certData  

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.io.InputStream in
         0: .line 213
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 126
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 132
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1922
            aload 0 /* this */
         7: .line 1923
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_2
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
            putfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
         8: .line 215
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         9: .line 217
            new java.io.BufferedInputStream
            dup
            aload 1 /* in */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* inBuffered */
        start local 3 // java.io.BufferedInputStream inBuffered
        10: .line 222
            aload 3 /* inBuffered */
            ldc 2147483647
            invokevirtual java.io.BufferedInputStream.mark:(I)V
        11: .line 223
            aload 0 /* this */
            aload 3 /* inBuffered */
            invokevirtual sun.security.x509.X509CertImpl.readRFC1421Cert:(Ljava/io/InputStream;)Lsun/security/util/DerValue;
            astore 2 /* der */
        12: .line 224
            goto 21
      StackMap locals: sun.security.x509.X509CertImpl java.io.InputStream sun.security.util.DerValue java.io.BufferedInputStream
      StackMap stack: java.io.IOException
        13: pop
        14: .line 227
            aload 3 /* inBuffered */
            invokevirtual java.io.BufferedInputStream.reset:()V
        15: .line 228
            new sun.security.util.DerValue
            dup
            aload 3 /* inBuffered */
            invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
            astore 2 /* der */
        16: .line 229
            goto 21
      StackMap locals:
      StackMap stack: java.io.IOException
        17: astore 4 /* ioe1 */
        start local 4 // java.io.IOException ioe1
        18: .line 230
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Input stream must be either DER-encoded bytes or RFC1421 hex-encoded DER-encoded bytes: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 234
            aload 4 /* ioe1 */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* ioe1 */
        20: .line 230
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe1
        21: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* der */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
        22: .line 239
            goto 28
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
        24: .line 240
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        25: .line 241
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to parse DER value of certificate, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 242
            aload 4 /* ioe */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* ioe */
        27: .line 241
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe
        28: .line 244
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.BufferedInputStream inBuffered
        end local 2 // sun.security.util.DerValue der
        end local 1 // java.io.InputStream in
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lsun/security/x509/X509CertImpl;
            0   29     1          in  Ljava/io/InputStream;
            9   29     2         der  Lsun/security/util/DerValue;
           10   29     3  inBuffered  Ljava/io/BufferedInputStream;
           18   21     4        ioe1  Ljava/io/IOException;
           24   28     4         ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          10    12      13  Class java.io.IOException
          14    16      17  Class java.io.IOException
          21    22      23  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
      Name  Flags
      in    

  private sun.security.util.DerValue readRFC1421Cert(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Lsun/security/util/DerValue;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.io.InputStream in
         0: .line 255
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         1: .line 256
            aconst_null
            astore 3 /* line */
        start local 3 // java.lang.String line
         2: .line 258
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 1 /* in */
            ldc "ASCII"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
         3: .line 257
            astore 4 /* certBufferedReader */
        start local 4 // java.io.BufferedReader certBufferedReader
         4: .line 260
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 3 /* line */
         5: .line 261
            goto 10
      StackMap locals: sun.security.x509.X509CertImpl java.io.InputStream sun.security.util.DerValue java.lang.String java.io.BufferedReader
      StackMap stack: java.io.IOException
         6: astore 5 /* ioe1 */
        start local 5 // java.io.IOException ioe1
         7: .line 262
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to read InputStream: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 263
            aload 5 /* ioe1 */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 262
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.IOException ioe1
        10: .line 265
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "-----BEGIN CERTIFICATE-----"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        11: .line 267
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 5 /* decstream */
        start local 5 // java.io.ByteArrayOutputStream decstream
        12: .line 269
            goto 17
        13: .line 270
      StackMap locals: java.io.ByteArrayOutputStream
      StackMap stack:
            aload 3 /* line */
            ldc "-----END CERTIFICATE-----"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 271
            new sun.security.util.DerValue
            dup
            aload 5 /* decstream */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 2 /* der */
        15: .line 272
            goto 24
        16: .line 274
      StackMap locals:
      StackMap stack:
            aload 5 /* decstream */
            aload 3 /* line */
            invokestatic sun.security.util.Pem.decode:(Ljava/lang/String;)[B
            invokevirtual java.io.ByteArrayOutputStream.write:([B)V
        17: .line 269
      StackMap locals:
      StackMap stack:
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
            ifnonnull 13
        18: .line 277
            goto 24
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe2 */
        start local 6 // java.io.IOException ioe2
        20: .line 278
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to read InputStream: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 279
            aload 6 /* ioe2 */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 278
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.io.IOException ioe2
        end local 5 // java.io.ByteArrayOutputStream decstream
        23: .line 282
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "InputStream is not RFC1421 hex-encoded DER bytes"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 285
      StackMap locals:
      StackMap stack:
            aload 2 /* der */
            areturn
        end local 4 // java.io.BufferedReader certBufferedReader
        end local 3 // java.lang.String line
        end local 2 // sun.security.util.DerValue der
        end local 1 // java.io.InputStream in
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   25     0                this  Lsun/security/x509/X509CertImpl;
            0   25     1                  in  Ljava/io/InputStream;
            1   25     2                 der  Lsun/security/util/DerValue;
            2   25     3                line  Ljava/lang/String;
            4   25     4  certBufferedReader  Ljava/io/BufferedReader;
            7   10     5                ioe1  Ljava/io/IOException;
           12   23     5           decstream  Ljava/io/ByteArrayOutputStream;
           20   23     6                ioe2  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
          12    18      19  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  public void <init>(sun.security.x509.X509CertInfo);
    descriptor: (Lsun/security/x509/X509CertInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // sun.security.x509.X509CertInfo certInfo
         0: .line 295
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 126
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 132
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1922
            aload 0 /* this */
         7: .line 1923
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_2
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
            putfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
         8: .line 296
            aload 0 /* this */
            aload 1 /* certInfo */
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         9: .line 297
            return
        end local 1 // sun.security.x509.X509CertInfo certInfo
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lsun/security/x509/X509CertImpl;
            0   10     1  certInfo  Lsun/security/x509/X509CertInfo;
    MethodParameters:
          Name  Flags
      certInfo  

  public void <init>(sun.security.util.DerValue);
    descriptor: (Lsun/security/util/DerValue;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // sun.security.util.DerValue derVal
         0: .line 307
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 126
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 132
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1922
            aload 0 /* this */
         7: .line 1923
            new java.util.concurrent.ConcurrentHashMap
            dup
            iconst_2
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
            putfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
         8: .line 309
            aload 0 /* this */
            aload 1 /* derVal */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
         9: .line 310
            goto 13
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.DerValue
      StackMap stack: java.io.IOException
        10: astore 2 /* e */
        start local 2 // java.io.IOException e
        11: .line 311
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 312
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to initialize, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException e
        13: .line 314
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.util.DerValue derVal
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lsun/security/x509/X509CertImpl;
            0   14     1  derVal  Lsun/security/util/DerValue;
           11   13     2       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
        Name  Flags
      derVal  

  public void encode(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.io.OutputStream out
         0: .line 324
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 325
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 326
            ldc "Null certificate to encode"
         3: .line 325
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 328
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            invokevirtual java.io.OutputStream.write:([B)V
         5: .line 329
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 2 /* e */
        start local 2 // java.io.IOException e
         7: .line 330
            new java.security.cert.CertificateEncodingException
            dup
            aload 2 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.IOException e
         8: .line 332
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.OutputStream out
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/x509/X509CertImpl;
            0    9     1   out  Ljava/io/OutputStream;
            7    8     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateEncodingException
    MethodParameters:
      Name  Flags
      out   

  public void derEncode(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.io.OutputStream out
         0: .line 343
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 344
            new java.io.IOException
            dup
            ldc "Null certificate to encode"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 345
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            invokevirtual java.io.OutputStream.write:([B)V
         3: .line 346
            return
        end local 1 // java.io.OutputStream out
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/x509/X509CertImpl;
            0    4     1   out  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public byte[] getEncoded();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 357
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getEncodedInternal:()[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509CertImpl;
    Exceptions:
      throws java.security.cert.CertificateEncodingException

  public byte[] getEncodedInternal();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 366
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 367
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 368
            ldc "Null certificate to encode"
         3: .line 367
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/x509/X509CertImpl;
    Exceptions:
      throws java.security.cert.CertificateEncodingException

  public void verify(java.security.PublicKey);
    descriptor: (Ljava/security/PublicKey;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.security.PublicKey key
         0: .line 392
            aload 0 /* this */
            aload 1 /* key */
            ldc ""
            invokevirtual sun.security.x509.X509CertImpl.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
         1: .line 393
            return
        end local 1 // java.security.PublicKey key
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;
            0    2     1   key  Ljava/security/PublicKey;
    Exceptions:
      throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.NoSuchProviderException, java.security.SignatureException
    MethodParameters:
      Name  Flags
      key   

  public synchronized void verify(java.security.PublicKey, java.lang.String);
    descriptor: (Ljava/security/PublicKey;Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.security.PublicKey key
        start local 2 // java.lang.String sigProvider
         0: .line 414
            aload 2 /* sigProvider */
            ifnonnull 2
         1: .line 415
            ldc ""
            astore 2 /* sigProvider */
         2: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
            ifnull 7
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
            aload 1 /* key */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         3: .line 420
            aload 2 /* sigProvider */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verifiedProvider:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         4: .line 421
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifeq 6
         5: .line 422
            return
         6: .line 424
      StackMap locals:
      StackMap stack:
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 9
         8: .line 429
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 432
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
        10: .line 433
            aload 2 /* sigProvider */
            invokevirtual java.lang.String.length:()I
            ifne 13
        11: .line 434
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
        12: .line 435
            goto 14
        13: .line 436
      StackMap locals: java.security.Signature
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            aload 2 /* sigProvider */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
        14: .line 438
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
            invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
        15: .line 440
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual sun.security.x509.X509CertInfo.getEncodedInfo:()[B
            astore 4 /* rawCert */
        start local 4 // byte[] rawCert
        16: .line 441
            aload 3 /* sigVerf */
            aload 4 /* rawCert */
            iconst_0
            aload 4 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        17: .line 444
            aload 0 /* this */
            aload 3 /* sigVerf */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual java.security.Signature.verify:([B)Z
            putfield sun.security.x509.X509CertImpl.verificationResult:Z
        18: .line 445
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        19: .line 446
            aload 0 /* this */
            aload 2 /* sigProvider */
            putfield sun.security.x509.X509CertImpl.verifiedProvider:Ljava/lang/String;
        20: .line 448
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 22
        21: .line 449
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 451
      StackMap locals: byte[]
      StackMap stack:
            return
        end local 4 // byte[] rawCert
        end local 3 // java.security.Signature sigVerf
        end local 2 // java.lang.String sigProvider
        end local 1 // java.security.PublicKey key
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   23     0         this  Lsun/security/x509/X509CertImpl;
            0   23     1          key  Ljava/security/PublicKey;
            0   23     2  sigProvider  Ljava/lang/String;
           10   23     3      sigVerf  Ljava/security/Signature;
           16   23     4      rawCert  [B
    Exceptions:
      throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.NoSuchProviderException, java.security.SignatureException
    MethodParameters:
             Name  Flags
      key          
      sigProvider  

  public synchronized void verify(java.security.PublicKey, java.security.Provider);
    descriptor: (Ljava/security/PublicKey;Ljava/security/Provider;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.security.PublicKey key
        start local 2 // java.security.Provider sigProvider
         0: .line 473
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 474
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 477
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
         3: .line 478
            aload 2 /* sigProvider */
            ifnonnull 6
         4: .line 479
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
         5: .line 480
            goto 7
         6: .line 481
      StackMap locals: java.security.Signature
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            aload 2 /* sigProvider */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;
            astore 3 /* sigVerf */
         7: .line 483
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
            invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
         8: .line 485
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual sun.security.x509.X509CertInfo.getEncodedInfo:()[B
            astore 4 /* rawCert */
        start local 4 // byte[] rawCert
         9: .line 486
            aload 3 /* sigVerf */
            aload 4 /* rawCert */
            iconst_0
            aload 4 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        10: .line 489
            aload 0 /* this */
            aload 3 /* sigVerf */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual java.security.Signature.verify:([B)Z
            putfield sun.security.x509.X509CertImpl.verificationResult:Z
        11: .line 490
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        12: .line 492
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 14
        13: .line 493
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 495
      StackMap locals: byte[]
      StackMap stack:
            return
        end local 4 // byte[] rawCert
        end local 3 // java.security.Signature sigVerf
        end local 2 // java.security.Provider sigProvider
        end local 1 // java.security.PublicKey key
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lsun/security/x509/X509CertImpl;
            0   15     1          key  Ljava/security/PublicKey;
            0   15     2  sigProvider  Ljava/security/Provider;
            3   15     3      sigVerf  Ljava/security/Signature;
            9   15     4      rawCert  [B
    Exceptions:
      throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException
    MethodParameters:
             Name  Flags
      key          
      sigProvider  

  public static void verify(java.security.cert.X509Certificate, java.security.PublicKey, java.security.Provider);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/security/PublicKey;Ljava/security/Provider;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.security.cert.X509Certificate cert
        start local 1 // java.security.PublicKey key
        start local 2 // java.security.Provider sigProvider
         0: .line 506
            aload 0 /* cert */
            aload 1 /* key */
            aload 2 /* sigProvider */
            invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;Ljava/security/Provider;)V
         1: .line 507
            return
        end local 2 // java.security.Provider sigProvider
        end local 1 // java.security.PublicKey key
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         cert  Ljava/security/cert/X509Certificate;
            0    2     1          key  Ljava/security/PublicKey;
            0    2     2  sigProvider  Ljava/security/Provider;
    Exceptions:
      throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException
    MethodParameters:
             Name  Flags
      cert         
      key          
      sigProvider  

  public void sign(java.security.PrivateKey, java.lang.String);
    descriptor: (Ljava/security/PrivateKey;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.security.PrivateKey key
        start local 2 // java.lang.String algorithm
         0: .line 528
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* algorithm */
            aconst_null
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 529
            return
        end local 2 // java.lang.String algorithm
        end local 1 // java.security.PrivateKey key
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lsun/security/x509/X509CertImpl;
            0    2     1        key  Ljava/security/PrivateKey;
            0    2     2  algorithm  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.NoSuchProviderException, java.security.SignatureException
    MethodParameters:
           Name  Flags
      key        
      algorithm  

  public void sign(java.security.PrivateKey, java.lang.String, java.lang.String);
    descriptor: (Ljava/security/PrivateKey;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.security.PrivateKey key
        start local 2 // java.lang.String algorithm
        start local 3 // java.lang.String provider
         0: .line 552
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 553
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 554
            ldc "cannot over-write existing certificate"
         3: .line 553
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 555
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* sigEngine */
        start local 4 // java.security.Signature sigEngine
         5: .line 556
            aload 3 /* provider */
            ifnull 6
            aload 3 /* provider */
            invokevirtual java.lang.String.length:()I
            ifne 7
         6: .line 557
      StackMap locals: java.security.Signature
      StackMap stack:
            aload 2 /* algorithm */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 4 /* sigEngine */
            goto 8
         7: .line 559
      StackMap locals:
      StackMap stack:
            aload 2 /* algorithm */
            aload 3 /* provider */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
            astore 4 /* sigEngine */
         8: .line 561
      StackMap locals:
      StackMap stack:
            aload 4 /* sigEngine */
            aload 1 /* key */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
         9: .line 564
            aload 0 /* this */
            aload 4 /* sigEngine */
            invokevirtual java.security.Signature.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        10: .line 566
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 5 /* out */
        start local 5 // sun.security.util.DerOutputStream out
        11: .line 567
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 6 /* tmp */
        start local 6 // sun.security.util.DerOutputStream tmp
        12: .line 570
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            aload 6 /* tmp */
            invokevirtual sun.security.x509.X509CertInfo.encode:(Ljava/io/OutputStream;)V
        13: .line 571
            aload 6 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 7 /* rawCert */
        start local 7 // byte[] rawCert
        14: .line 574
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            aload 6 /* tmp */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
        15: .line 577
            aload 4 /* sigEngine */
            aload 7 /* rawCert */
            iconst_0
            aload 7 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        16: .line 578
            aload 0 /* this */
            aload 4 /* sigEngine */
            invokevirtual java.security.Signature.sign:()[B
            putfield sun.security.x509.X509CertImpl.signature:[B
        17: .line 579
            aload 6 /* tmp */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual sun.security.util.DerOutputStream.putBitString:([B)V
        18: .line 582
            aload 5 /* out */
            bipush 48
            aload 6 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        19: .line 583
            aload 0 /* this */
            aload 5 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        20: .line 584
            aload 0 /* this */
            iconst_1
            putfield sun.security.x509.X509CertImpl.readOnly:Z
        end local 7 // byte[] rawCert
        end local 6 // sun.security.util.DerOutputStream tmp
        end local 5 // sun.security.util.DerOutputStream out
        end local 4 // java.security.Signature sigEngine
        21: .line 586
            goto 24
      StackMap locals: sun.security.x509.X509CertImpl java.security.PrivateKey java.lang.String java.lang.String
      StackMap stack: java.io.IOException
        22: astore 4 /* e */
        start local 4 // java.io.IOException e
        23: .line 587
            new java.security.cert.CertificateEncodingException
            dup
            aload 4 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.io.IOException e
        24: .line 589
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String provider
        end local 2 // java.lang.String algorithm
        end local 1 // java.security.PrivateKey key
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lsun/security/x509/X509CertImpl;
            0   25     1        key  Ljava/security/PrivateKey;
            0   25     2  algorithm  Ljava/lang/String;
            0   25     3   provider  Ljava/lang/String;
            5   21     4  sigEngine  Ljava/security/Signature;
           11   21     5        out  Lsun/security/util/DerOutputStream;
           12   21     6        tmp  Lsun/security/util/DerOutputStream;
           14   21     7    rawCert  [B
           23   24     4          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    21      22  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.NoSuchProviderException, java.security.SignatureException
    MethodParameters:
           Name  Flags
      key        
      algorithm  
      provider   

  public void checkValidity();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 601
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 1 /* date */
        start local 1 // java.util.Date date
         1: .line 602
            aload 0 /* this */
            aload 1 /* date */
            invokevirtual sun.security.x509.X509CertImpl.checkValidity:(Ljava/util/Date;)V
         2: .line 603
            return
        end local 1 // java.util.Date date
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/x509/X509CertImpl;
            1    3     1  date  Ljava/util/Date;
    Exceptions:
      throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException

  public void checkValidity(java.util.Date);
    descriptor: (Ljava/util/Date;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.util.Date date
         0: .line 621
            aconst_null
            astore 2 /* interval */
        start local 2 // sun.security.x509.CertificateValidity interval
         1: .line 623
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "validity"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateValidity
            astore 2 /* interval */
         2: .line 624
            goto 5
      StackMap locals: sun.security.x509.X509CertImpl java.util.Date sun.security.x509.CertificateValidity
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 625
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Incorrect validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 627
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            ifnonnull 7
         6: .line 628
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Null validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 629
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            aload 1 /* date */
            invokevirtual sun.security.x509.CertificateValidity.valid:(Ljava/util/Date;)V
         8: .line 630
            return
        end local 2 // sun.security.x509.CertificateValidity interval
        end local 1 // java.util.Date date
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lsun/security/x509/X509CertImpl;
            0    9     1      date  Ljava/util/Date;
            1    9     2  interval  Lsun/security/x509/CertificateValidity;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException
    MethodParameters:
      Name  Flags
      date  

  public java.lang.Object get(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.lang.String name
         0: .line 644
            new sun.security.x509.X509AttributeName
            dup
            aload 1 /* name */
            invokespecial sun.security.x509.X509AttributeName.<init>:(Ljava/lang/String;)V
            astore 2 /* attr */
        start local 2 // sun.security.x509.X509AttributeName attr
         1: .line 645
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         2: .line 646
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         3: .line 647
            new java.security.cert.CertificateParsingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid root of attribute name, expected [x509], received ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 649
            aload 3 /* id */
            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;
         5: .line 647
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 651
      StackMap locals: sun.security.x509.X509AttributeName java.lang.String
      StackMap stack:
            new sun.security.x509.X509AttributeName
            dup
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            invokespecial sun.security.x509.X509AttributeName.<init>:(Ljava/lang/String;)V
            astore 2 /* attr */
         7: .line 652
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
         8: .line 654
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
         9: .line 655
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 11
        10: .line 656
            aconst_null
            areturn
        11: .line 658
      StackMap locals:
      StackMap stack:
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 18
        12: .line 660
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
        13: areturn
        14: .line 661
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        15: .line 662
            new java.security.cert.CertificateParsingException
            dup
            aload 4 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.io.IOException e
        16: .line 663
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 4 /* e */
        start local 4 // java.security.cert.CertificateException e
        17: .line 664
            new java.security.cert.CertificateParsingException
            dup
            aload 4 /* e */
            invokevirtual java.security.cert.CertificateException.toString:()Ljava/lang/String;
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.security.cert.CertificateException e
        18: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            areturn
        19: .line 669
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "algorithm"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 21
        20: .line 670
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            areturn
        21: .line 671
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signature"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 25
        22: .line 672
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnull 24
        23: .line 673
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        24: .line 675
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        25: .line 676
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signed_cert"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 29
        26: .line 677
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnull 28
        27: .line 678
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        28: .line 680
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        29: .line 682
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateParsingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Attribute name not recognized or get() not allowed for the same: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 683
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 682
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String id
        end local 2 // sun.security.x509.X509AttributeName attr
        end local 1 // java.lang.String name
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   32     0  this  Lsun/security/x509/X509CertImpl;
            0   32     1  name  Ljava/lang/String;
            1   32     2  attr  Lsun/security/x509/X509AttributeName;
            2   32     3    id  Ljava/lang/String;
           15   16     4     e  Ljava/io/IOException;
           17   18     4     e  Ljava/security/cert/CertificateException;
      Exception table:
        from    to  target  type
          12    13      14  Class java.io.IOException
          12    13      16  Class java.security.cert.CertificateException
    Exceptions:
      throws java.security.cert.CertificateParsingException
    MethodParameters:
      Name  Flags
      name  

  public void set(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object obj
         0: .line 698
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 699
            new java.security.cert.CertificateException
            dup
            ldc "cannot over-write existing certificate"
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 702
      StackMap locals:
      StackMap stack:
            new sun.security.x509.X509AttributeName
            dup
            aload 1 /* name */
            invokespecial sun.security.x509.X509AttributeName.<init>:(Ljava/lang/String;)V
            astore 3 /* attr */
        start local 3 // sun.security.x509.X509AttributeName attr
         3: .line 703
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        start local 4 // java.lang.String id
         4: .line 704
            aload 4 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 705
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid root of attribute name, expected [x509], received "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 706
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 705
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 708
      StackMap locals: sun.security.x509.X509AttributeName java.lang.String
      StackMap stack:
            new sun.security.x509.X509AttributeName
            dup
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            invokespecial sun.security.x509.X509AttributeName.<init>:(Ljava/lang/String;)V
            astore 3 /* attr */
         9: .line 709
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        10: .line 711
            aload 4 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 20
        11: .line 712
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnonnull 17
        12: .line 713
            aload 2 /* obj */
            instanceof sun.security.x509.X509CertInfo
            ifne 14
        13: .line 714
            new java.security.cert.CertificateException
            dup
            ldc "Attribute value should be of type X509CertInfo."
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 717
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* obj */
            checkcast sun.security.x509.X509CertInfo
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        15: .line 718
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        16: .line 719
            goto 23
        17: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            aload 2 /* obj */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 721
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        19: .line 723
            goto 23
        20: .line 724
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Attribute name not recognized or set() not allowed for the same: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 725
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 724
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 727
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String id
        end local 3 // sun.security.x509.X509AttributeName attr
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.String name
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lsun/security/x509/X509CertImpl;
            0   24     1  name  Ljava/lang/String;
            0   24     2   obj  Ljava/lang/Object;
            3   24     3  attr  Lsun/security/x509/X509AttributeName;
            4   24     4    id  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertificateException, java.io.IOException
    MethodParameters:
      Name  Flags
      name  
      obj   

  public void delete(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.lang.String name
         0: .line 739
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 740
            new java.security.cert.CertificateException
            dup
            ldc "cannot over-write existing certificate"
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 743
      StackMap locals:
      StackMap stack:
            new sun.security.x509.X509AttributeName
            dup
            aload 1 /* name */
            invokespecial sun.security.x509.X509AttributeName.<init>:(Ljava/lang/String;)V
            astore 2 /* attr */
        start local 2 // sun.security.x509.X509AttributeName attr
         3: .line 744
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         4: .line 745
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 746
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid root of attribute name, expected [x509], received "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 748
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 746
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 750
      StackMap locals: sun.security.x509.X509AttributeName java.lang.String
      StackMap stack:
            new sun.security.x509.X509AttributeName
            dup
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            invokespecial sun.security.x509.X509AttributeName.<init>:(Ljava/lang/String;)V
            astore 2 /* attr */
         9: .line 751
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        10: .line 753
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        11: .line 754
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 14
        12: .line 755
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        13: .line 756
            goto 28
        14: .line 757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            invokevirtual sun.security.x509.X509CertInfo.delete:(Ljava/lang/String;)V
        15: .line 759
            goto 28
      StackMap locals:
      StackMap stack:
        16: aload 3 /* id */
            ldc "algorithm"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
        17: .line 760
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        18: .line 761
            goto 28
      StackMap locals:
      StackMap stack:
        19: aload 3 /* id */
            ldc "signature"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
        20: .line 762
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
        21: .line 763
            goto 28
      StackMap locals:
      StackMap stack:
        22: aload 3 /* id */
            ldc "signed_cert"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 25
        23: .line 764
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        24: .line 765
            goto 28
        25: .line 766
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Attribute name not recognized or delete() not allowed for the same: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 767
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 766
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 769
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String id
        end local 2 // sun.security.x509.X509AttributeName attr
        end local 1 // java.lang.String name
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   29     0  this  Lsun/security/x509/X509CertImpl;
            0   29     1  name  Ljava/lang/String;
            3   29     2  attr  Lsun/security/x509/X509AttributeName;
            4   29     3    id  Ljava/lang/String;
    Exceptions:
      throws java.security.cert.CertificateException, java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public java.util.Enumeration<java.lang.String> getElements();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 776
            new sun.security.x509.AttributeNameEnumeration
            dup
            invokespecial sun.security.x509.AttributeNameEnumeration.<init>:()V
            astore 1 /* elements */
        start local 1 // sun.security.x509.AttributeNameEnumeration elements
         1: .line 777
            aload 1 /* elements */
            ldc "x509.info"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         2: .line 778
            aload 1 /* elements */
            ldc "x509.algorithm"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         3: .line 779
            aload 1 /* elements */
            ldc "x509.signature"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         4: .line 780
            aload 1 /* elements */
            ldc "x509.signed_cert"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         5: .line 782
            aload 1 /* elements */
            invokevirtual sun.security.x509.AttributeNameEnumeration.elements:()Ljava/util/Enumeration;
            areturn
        end local 1 // sun.security.x509.AttributeNameEnumeration elements
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/security/x509/X509CertImpl;
            1    6     1  elements  Lsun/security/x509/AttributeNameEnumeration;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

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

  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.X509CertImpl this
         0: .line 799
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnull 1
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnull 1
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnonnull 2
         1: .line 800
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
         2: .line 802
      StackMap locals:
      StackMap stack:
            new sun.security.util.HexDumpEncoder
            dup
            invokespecial sun.security.util.HexDumpEncoder.<init>:()V
            astore 1 /* encoder */
        start local 1 // sun.security.util.HexDumpEncoder encoder
         3: .line 803
            new java.lang.StringBuilder
            dup
            ldc "[\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         4: .line 804
            ldc "  Algorithm: ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 805
            ldc "  Signature:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* encoder */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual sun.security.util.HexDumpEncoder.encodeBuffer:([B)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;
         6: .line 803
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // sun.security.util.HexDumpEncoder encoder
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lsun/security/x509/X509CertImpl;
            3    7     1  encoder  Lsun/security/util/HexDumpEncoder;

  public java.security.PublicKey getPublicKey();
    descriptor: ()Ljava/security/PublicKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 816
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 817
            aconst_null
            areturn
         2: .line 819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "key.value"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.security.PublicKey
            astore 1 /* key */
        start local 1 // java.security.PublicKey key
         3: .line 821
            aload 1 /* key */
         4: areturn
        end local 1 // java.security.PublicKey key
         5: .line 822
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 823
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/x509/X509CertImpl;
            3    5     1   key  Ljava/security/PublicKey;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception

  public int getVersion();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 833
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 834
            iconst_m1
            ireturn
         2: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "version.number"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
         3: .line 837
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 836
            istore 1 /* vers */
        start local 1 // int vers
         5: .line 838
            iload 1 /* vers */
            iconst_1
            iadd
         6: ireturn
        end local 1 // int vers
         7: .line 839
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 840
            iconst_m1
            ireturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/x509/X509CertImpl;
            5    7     1  vers  I
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception

  public java.math.BigInteger getSerialNumber();
    descriptor: ()Ljava/math/BigInteger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 850
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getSerialNumberObject:()Lsun/security/x509/SerialNumber;
            astore 1 /* ser */
        start local 1 // sun.security.x509.SerialNumber ser
         1: .line 852
            aload 1 /* ser */
            ifnull 2
            aload 1 /* ser */
            invokevirtual sun.security.x509.SerialNumber.getNumber:()Ljava/math/BigInteger;
            goto 3
      StackMap locals: sun.security.x509.SerialNumber
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.math.BigInteger
         3: areturn
        end local 1 // sun.security.x509.SerialNumber ser
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/x509/X509CertImpl;
            1    4     1   ser  Lsun/security/x509/SerialNumber;

  public sun.security.x509.SerialNumber getSerialNumberObject();
    descriptor: ()Lsun/security/x509/SerialNumber;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 862
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 863
            aconst_null
            areturn
         2: .line 865
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 866
            ldc "serialNumber.number"
         4: .line 865
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.SerialNumber
            astore 1 /* ser */
        start local 1 // sun.security.x509.SerialNumber ser
         5: .line 868
            aload 1 /* ser */
         6: areturn
        end local 1 // sun.security.x509.SerialNumber ser
         7: .line 869
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 870
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/x509/X509CertImpl;
            5    7     1   ser  Lsun/security/x509/SerialNumber;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception

  public java.security.Principal getSubjectDN();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 881
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 882
            aconst_null
            areturn
         2: .line 884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "subject.dname"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.security.Principal
            astore 1 /* subject */
        start local 1 // java.security.Principal subject
         3: .line 886
            aload 1 /* subject */
         4: areturn
        end local 1 // java.security.Principal subject
         5: .line 887
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 888
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lsun/security/x509/X509CertImpl;
            3    5     1  subject  Ljava/security/Principal;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception

  public javax.security.auth.x500.X500Principal getSubjectX500Principal();
    descriptor: ()Ljavax/security/auth/x500/X500Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 898
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 899
            aconst_null
            areturn
         2: .line 902
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 903
            ldc "subject.x500principal"
         4: .line 902
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast javax.security.auth.x500.X500Principal
            astore 1 /* subject */
        start local 1 // javax.security.auth.x500.X500Principal subject
         5: .line 905
            aload 1 /* subject */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal subject
         7: .line 906
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 907
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lsun/security/x509/X509CertImpl;
            5    7     1  subject  Ljavax/security/auth/x500/X500Principal;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception

  public java.security.Principal getIssuerDN();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 917
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 918
            aconst_null
            areturn
         2: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "issuer.dname"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.security.Principal
            astore 1 /* issuer */
        start local 1 // java.security.Principal issuer
         3: .line 922
            aload 1 /* issuer */
         4: areturn
        end local 1 // java.security.Principal issuer
         5: .line 923
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 924
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/x509/X509CertImpl;
            3    5     1  issuer  Ljava/security/Principal;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception

  public javax.security.auth.x500.X500Principal getIssuerX500Principal();
    descriptor: ()Ljavax/security/auth/x500/X500Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 934
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 935
            aconst_null
            areturn
         2: .line 938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 939
            ldc "issuer.x500principal"
         4: .line 938
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast javax.security.auth.x500.X500Principal
            astore 1 /* issuer */
        start local 1 // javax.security.auth.x500.X500Principal issuer
         5: .line 941
            aload 1 /* issuer */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal issuer
         7: .line 942
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 943
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lsun/security/x509/X509CertImpl;
            5    7     1  issuer  Ljavax/security/auth/x500/X500Principal;
      Exception table:
        from    to  target  type
           2     6       7  Class java.lang.Exception

  public java.util.Date getNotBefore();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 953
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 954
            aconst_null
            areturn
         2: .line 956
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "validity.notBefore"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.util.Date
            astore 1 /* d */
        start local 1 // java.util.Date d
         3: .line 958
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 959
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 960
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/x509/X509CertImpl;
            3    5     1     d  Ljava/util/Date;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception

  public java.util.Date getNotAfter();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 970
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 971
            aconst_null
            areturn
         2: .line 973
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "validity.notAfter"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.util.Date
            astore 1 /* d */
        start local 1 // java.util.Date d
         3: .line 975
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 976
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 977
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/x509/X509CertImpl;
            3    5     1     d  Ljava/util/Date;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception

  public byte[] getTBSCertificate();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 990
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnull 2
         1: .line 991
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual sun.security.x509.X509CertInfo.getEncodedInfo:()[B
            areturn
         2: .line 993
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/x509/X509CertImpl;
    Exceptions:
      throws java.security.cert.CertificateEncodingException

  public byte[] getSignature();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1002
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnonnull 2
         1: .line 1003
            aconst_null
            areturn
         2: .line 1004
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/x509/X509CertImpl;

  public java.lang.String getSigAlgName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1015
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1016
            aconst_null
            areturn
         2: .line 1017
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/x509/X509CertImpl;

  public java.lang.String getSigAlgOID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1027
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1028
            aconst_null
            areturn
         2: .line 1029
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getOID:()Lsun/security/util/ObjectIdentifier;
            astore 1 /* oid */
        start local 1 // sun.security.util.ObjectIdentifier oid
         3: .line 1030
            aload 1 /* oid */
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            areturn
        end local 1 // sun.security.util.ObjectIdentifier oid
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/x509/X509CertImpl;
            3    4     1   oid  Lsun/security/util/ObjectIdentifier;

  public byte[] getSigAlgParams();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1041
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1042
            aconst_null
            areturn
         2: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getEncodedParams:()[B
         3: areturn
         4: .line 1045
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1046
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/x509/X509CertImpl;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException

  public boolean[] getIssuerUniqueID();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1056
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1057
            aconst_null
            areturn
         2: .line 1059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1060
            ldc "issuerID"
         4: .line 1059
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.UniqueIdentity
            astore 1 /* id */
        start local 1 // sun.security.x509.UniqueIdentity id
         5: .line 1061
            aload 1 /* id */
            ifnonnull 7
         6: .line 1062
            aconst_null
            areturn
         7: .line 1064
      StackMap locals: sun.security.x509.UniqueIdentity
      StackMap stack:
            aload 1 /* id */
            invokevirtual sun.security.x509.UniqueIdentity.getId:()[Z
         8: areturn
        end local 1 // sun.security.x509.UniqueIdentity id
         9: .line 1065
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1066
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/x509/X509CertImpl;
            5    9     1    id  Lsun/security/x509/UniqueIdentity;
      Exception table:
        from    to  target  type
           2     6       9  Class java.lang.Exception
           7     8       9  Class java.lang.Exception

  public boolean[] getSubjectUniqueID();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1076
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1077
            aconst_null
            areturn
         2: .line 1079
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1080
            ldc "subjectID"
         4: .line 1079
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.UniqueIdentity
            astore 1 /* id */
        start local 1 // sun.security.x509.UniqueIdentity id
         5: .line 1081
            aload 1 /* id */
            ifnonnull 7
         6: .line 1082
            aconst_null
            areturn
         7: .line 1084
      StackMap locals: sun.security.x509.UniqueIdentity
      StackMap stack:
            aload 1 /* id */
            invokevirtual sun.security.x509.UniqueIdentity.getId:()[Z
         8: areturn
        end local 1 // sun.security.x509.UniqueIdentity id
         9: .line 1085
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1086
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/x509/X509CertImpl;
            5    9     1    id  Lsun/security/x509/UniqueIdentity;
      Exception table:
        from    to  target  type
           2     6       9  Class java.lang.Exception
           7     8       9  Class java.lang.Exception

  public sun.security.x509.KeyIdentifier getAuthKeyId();
    descriptor: ()Lsun/security/x509/KeyIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1092
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
         1: .line 1091
            astore 1 /* aki */
        start local 1 // sun.security.x509.AuthorityKeyIdentifierExtension aki
         2: .line 1093
            aload 1 /* aki */
            ifnull 8
         3: .line 1095
            aload 1 /* aki */
         4: .line 1096
            ldc "key_id"
         5: .line 1095
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.KeyIdentifier
         6: areturn
         7: .line 1097
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.AuthorityKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         8: .line 1099
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // sun.security.x509.AuthorityKeyIdentifierExtension aki
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/x509/X509CertImpl;
            2    9     1   aki  Lsun/security/x509/AuthorityKeyIdentifierExtension;
      Exception table:
        from    to  target  type
           3     6       7  Class java.io.IOException

  public sun.security.x509.KeyIdentifier getSubjectKeyId();
    descriptor: ()Lsun/security/x509/KeyIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1106
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getSubjectKeyIdentifierExtension:()Lsun/security/x509/SubjectKeyIdentifierExtension;
            astore 1 /* ski */
        start local 1 // sun.security.x509.SubjectKeyIdentifierExtension ski
         1: .line 1107
            aload 1 /* ski */
            ifnull 5
         2: .line 1109
            aload 1 /* ski */
            ldc "key_id"
            invokevirtual sun.security.x509.SubjectKeyIdentifierExtension.get:(Ljava/lang/String;)Lsun/security/x509/KeyIdentifier;
         3: areturn
         4: .line 1110
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.SubjectKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         5: .line 1112
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // sun.security.x509.SubjectKeyIdentifierExtension ski
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/x509/X509CertImpl;
            1    6     1   ski  Lsun/security/x509/SubjectKeyIdentifierExtension;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException

  public sun.security.x509.AuthorityKeyIdentifierExtension getAuthorityKeyIdentifierExtension();
    descriptor: ()Lsun/security/x509/AuthorityKeyIdentifierExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1123
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.AuthorityKey_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1122
            checkcast sun.security.x509.AuthorityKeyIdentifierExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.BasicConstraintsExtension getBasicConstraintsExtension();
    descriptor: ()Lsun/security/x509/BasicConstraintsExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1133
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.BasicConstraints_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1132
            checkcast sun.security.x509.BasicConstraintsExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.CertificatePoliciesExtension getCertificatePoliciesExtension();
    descriptor: ()Lsun/security/x509/CertificatePoliciesExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1143
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.CertificatePolicies_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1142
            checkcast sun.security.x509.CertificatePoliciesExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.ExtendedKeyUsageExtension getExtendedKeyUsageExtension();
    descriptor: ()Lsun/security/x509/ExtendedKeyUsageExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1153
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.ExtendedKeyUsage_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1152
            checkcast sun.security.x509.ExtendedKeyUsageExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.IssuerAlternativeNameExtension getIssuerAlternativeNameExtension();
    descriptor: ()Lsun/security/x509/IssuerAlternativeNameExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1163
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.IssuerAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1162
            checkcast sun.security.x509.IssuerAlternativeNameExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.NameConstraintsExtension getNameConstraintsExtension();
    descriptor: ()Lsun/security/x509/NameConstraintsExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1172
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.NameConstraints_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1171
            checkcast sun.security.x509.NameConstraintsExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.PolicyConstraintsExtension getPolicyConstraintsExtension();
    descriptor: ()Lsun/security/x509/PolicyConstraintsExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1182
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.PolicyConstraints_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1181
            checkcast sun.security.x509.PolicyConstraintsExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.PolicyMappingsExtension getPolicyMappingsExtension();
    descriptor: ()Lsun/security/x509/PolicyMappingsExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1192
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.PolicyMappings_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1191
            checkcast sun.security.x509.PolicyMappingsExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.PrivateKeyUsageExtension getPrivateKeyUsageExtension();
    descriptor: ()Lsun/security/x509/PrivateKeyUsageExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1201
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.PrivateKeyUsage_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1200
            checkcast sun.security.x509.PrivateKeyUsageExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.SubjectAlternativeNameExtension getSubjectAlternativeNameExtension();
    descriptor: ()Lsun/security/x509/SubjectAlternativeNameExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1212
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.SubjectAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1211
            checkcast sun.security.x509.SubjectAlternativeNameExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.SubjectKeyIdentifierExtension getSubjectKeyIdentifierExtension();
    descriptor: ()Lsun/security/x509/SubjectKeyIdentifierExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1222
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.SubjectKey_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1221
            checkcast sun.security.x509.SubjectKeyIdentifierExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public sun.security.x509.CRLDistributionPointsExtension getCRLDistributionPointsExtension();
    descriptor: ()Lsun/security/x509/CRLDistributionPointsExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1232
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.CRLDistributionPoints_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1231
            checkcast sun.security.x509.CRLDistributionPointsExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  public boolean hasUnsupportedCriticalExtension();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1240
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1241
            iconst_0
            ireturn
         2: .line 1243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1244
            ldc "extensions"
         4: .line 1243
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
            astore 1 /* exts */
        start local 1 // sun.security.x509.CertificateExtensions exts
         5: .line 1245
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1246
            iconst_0
            ireturn
         7: .line 1247
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 1 /* exts */
            invokevirtual sun.security.x509.CertificateExtensions.hasUnsupportedCriticalExtension:()Z
         8: ireturn
        end local 1 // sun.security.x509.CertificateExtensions exts
         9: .line 1248
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1249
            iconst_0
            ireturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lsun/security/x509/X509CertImpl;
            5    9     1  exts  Lsun/security/x509/CertificateExtensions;
      Exception table:
        from    to  target  type
           2     6       9  Class java.lang.Exception
           7     8       9  Class java.lang.Exception

  public java.util.Set<java.lang.String> getCriticalExtensionOIDs();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1262
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1263
            aconst_null
            areturn
         2: .line 1266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1267
            ldc "extensions"
         4: .line 1266
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
            astore 1 /* exts */
        start local 1 // sun.security.x509.CertificateExtensions exts
         5: .line 1268
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1269
            aconst_null
            areturn
         7: .line 1271
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 2 /* extSet */
        start local 2 // java.util.Set extSet
         8: .line 1272
            aload 1 /* exts */
            invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.CertificateExtensions java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            astore 3 /* ex */
        start local 3 // sun.security.x509.Extension ex
        10: .line 1273
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 12
        11: .line 1274
            aload 2 /* extSet */
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // sun.security.x509.Extension ex
        12: .line 1272
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1277
            aload 2 /* extSet */
        14: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        15: .line 1278
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1279
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lsun/security/x509/X509CertImpl;
            5   15     1    exts  Lsun/security/x509/CertificateExtensions;
            8   15     2  extSet  Ljava/util/Set<Ljava/lang/String;>;
           10   12     3      ex  Lsun/security/x509/Extension;
      Exception table:
        from    to  target  type
           2     6      15  Class java.lang.Exception
           7    14      15  Class java.lang.Exception
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.util.Set<java.lang.String> getNonCriticalExtensionOIDs();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1292
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1293
            aconst_null
            areturn
         2: .line 1296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1297
            ldc "extensions"
         4: .line 1296
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
            astore 1 /* exts */
        start local 1 // sun.security.x509.CertificateExtensions exts
         5: .line 1298
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1299
            aconst_null
            areturn
         7: .line 1301
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 2 /* extSet */
        start local 2 // java.util.Set extSet
         8: .line 1302
            aload 1 /* exts */
            invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.CertificateExtensions java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            astore 3 /* ex */
        start local 3 // sun.security.x509.Extension ex
        10: .line 1303
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifne 12
        11: .line 1304
            aload 2 /* extSet */
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // sun.security.x509.Extension ex
        12: .line 1302
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1307
            aload 2 /* extSet */
            aload 1 /* exts */
            invokevirtual sun.security.x509.CertificateExtensions.getUnparseableExtensions:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        14: .line 1308
            aload 2 /* extSet */
        15: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        16: .line 1309
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        17: .line 1310
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lsun/security/x509/X509CertImpl;
            5   16     1    exts  Lsun/security/x509/CertificateExtensions;
            8   16     2  extSet  Ljava/util/Set<Ljava/lang/String;>;
           10   12     3      ex  Lsun/security/x509/Extension;
      Exception table:
        from    to  target  type
           2     6      16  Class java.lang.Exception
           7    15      16  Class java.lang.Exception
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public sun.security.x509.Extension getExtension(sun.security.util.ObjectIdentifier);
    descriptor: (Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // sun.security.util.ObjectIdentifier oid
         0: .line 1322
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1323
            aconst_null
            areturn
         2: .line 1328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "extensions"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
            astore 2 /* extensions */
        start local 2 // sun.security.x509.CertificateExtensions extensions
         3: .line 1329
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1330
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1332
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1333
            aconst_null
            areturn
         8: .line 1335
      StackMap locals:
      StackMap stack:
            aload 2 /* extensions */
            aload 1 /* oid */
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokevirtual sun.security.x509.CertificateExtensions.getExtension:(Ljava/lang/String;)Lsun/security/x509/Extension;
            astore 3 /* ex */
        start local 3 // sun.security.x509.Extension ex
         9: .line 1336
            aload 3 /* ex */
            ifnull 12
        10: .line 1337
            aload 3 /* ex */
        11: areturn
        12: .line 1339
      StackMap locals: sun.security.x509.Extension
      StackMap stack:
            aload 2 /* extensions */
            invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier sun.security.x509.CertificateExtensions sun.security.x509.Extension top java.util.Iterator
      StackMap stack:
        13: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            astore 4 /* ex2 */
        start local 4 // sun.security.x509.Extension ex2
        14: .line 1340
            aload 4 /* ex2 */
            invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
            aload 1 /* oid */
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 1342
            aload 4 /* ex2 */
        16: areturn
        end local 4 // sun.security.x509.Extension ex2
        17: .line 1339
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 1346
            aconst_null
            areturn
        end local 3 // sun.security.x509.Extension ex
        end local 2 // sun.security.x509.CertificateExtensions extensions
        19: .line 1348
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        20: .line 1349
            aconst_null
            areturn
        end local 1 // sun.security.util.ObjectIdentifier oid
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lsun/security/x509/X509CertImpl;
            0   21     1         oid  Lsun/security/util/ObjectIdentifier;
            3    4     2  extensions  Lsun/security/x509/CertificateExtensions;
            6   19     2  extensions  Lsun/security/x509/CertificateExtensions;
            9   19     3          ex  Lsun/security/x509/Extension;
           14   17     4         ex2  Lsun/security/x509/Extension;
      Exception table:
        from    to  target  type
           2     3       4  Class java.security.cert.CertificateException
           2     5      19  Class java.io.IOException
           6     7      19  Class java.io.IOException
           8    11      19  Class java.io.IOException
          12    16      19  Class java.io.IOException
          17    18      19  Class java.io.IOException
    MethodParameters:
      Name  Flags
      oid   

  public sun.security.x509.Extension getUnparseableExtension(sun.security.util.ObjectIdentifier);
    descriptor: (Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // sun.security.util.ObjectIdentifier oid
         0: .line 1354
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1355
            aconst_null
            areturn
         2: .line 1360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "extensions"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
            astore 2 /* extensions */
        start local 2 // sun.security.x509.CertificateExtensions extensions
         3: .line 1361
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1362
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1364
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1365
            aconst_null
            areturn
         8: .line 1367
      StackMap locals:
      StackMap stack:
            aload 2 /* extensions */
            invokevirtual sun.security.x509.CertificateExtensions.getUnparseableExtensions:()Ljava/util/Map;
            aload 1 /* oid */
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.x509.Extension
         9: areturn
        end local 2 // sun.security.x509.CertificateExtensions extensions
        10: .line 1369
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        11: .line 1370
            aconst_null
            areturn
        end local 1 // sun.security.util.ObjectIdentifier oid
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lsun/security/x509/X509CertImpl;
            0   12     1         oid  Lsun/security/util/ObjectIdentifier;
            3    4     2  extensions  Lsun/security/x509/CertificateExtensions;
            6   10     2  extensions  Lsun/security/x509/CertificateExtensions;
      Exception table:
        from    to  target  type
           2     3       4  Class java.security.cert.CertificateException
           2     5      10  Class java.io.IOException
           6     7      10  Class java.io.IOException
           8     9      10  Class java.io.IOException
    MethodParameters:
      Name  Flags
      oid   

  public byte[] getExtensionValue(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.lang.String oid
         0: .line 1382
            new sun.security.util.ObjectIdentifier
            dup
            aload 1 /* oid */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 2 /* findOID */
        start local 2 // sun.security.util.ObjectIdentifier findOID
         1: .line 1383
            aload 2 /* findOID */
            invokestatic sun.security.x509.OIDMap.getName:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/String;
            astore 3 /* extAlias */
        start local 3 // java.lang.String extAlias
         2: .line 1384
            aconst_null
            astore 4 /* certExt */
        start local 4 // sun.security.x509.Extension certExt
         3: .line 1385
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 1386
            ldc "extensions"
         5: .line 1385
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
            astore 5 /* exts */
        start local 5 // sun.security.x509.CertificateExtensions exts
         6: .line 1388
            aload 3 /* extAlias */
            ifnonnull 17
         7: .line 1390
            aload 5 /* exts */
            ifnonnull 9
         8: .line 1391
            aconst_null
            areturn
         9: .line 1394
      StackMap locals: sun.security.x509.X509CertImpl java.lang.String sun.security.util.ObjectIdentifier java.lang.String sun.security.x509.Extension sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 5 /* exts */
            invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 15
      StackMap locals: sun.security.x509.X509CertImpl java.lang.String sun.security.util.ObjectIdentifier java.lang.String sun.security.x509.Extension sun.security.x509.CertificateExtensions top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            astore 6 /* ex */
        start local 6 // sun.security.x509.Extension ex
        11: .line 1395
            aload 6 /* ex */
            invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
            astore 8 /* inCertOID */
        start local 8 // sun.security.util.ObjectIdentifier inCertOID
        12: .line 1396
            aload 8 /* inCertOID */
            aload 2 /* findOID */
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 1397
            aload 6 /* ex */
            astore 4 /* certExt */
        14: .line 1398
            goto 20
        end local 8 // sun.security.util.ObjectIdentifier inCertOID
        end local 6 // sun.security.x509.Extension ex
        15: .line 1394
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        16: .line 1401
            goto 20
        17: .line 1403
      StackMap locals: sun.security.x509.X509CertImpl java.lang.String sun.security.util.ObjectIdentifier java.lang.String sun.security.x509.Extension sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 0 /* this */
            aload 3 /* extAlias */
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            astore 4 /* certExt */
        18: .line 1404
            goto 20
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        19: pop
        20: .line 1408
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        21: .line 1409
            aload 5 /* exts */
            ifnull 23
        22: .line 1410
            aload 5 /* exts */
            invokevirtual sun.security.x509.CertificateExtensions.getUnparseableExtensions:()Ljava/util/Map;
            aload 1 /* oid */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            astore 4 /* certExt */
        23: .line 1412
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        24: .line 1413
            aconst_null
            areturn
        25: .line 1416
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            astore 6 /* extData */
        start local 6 // byte[] extData
        26: .line 1417
            aload 6 /* extData */
            ifnonnull 28
        27: .line 1418
            aconst_null
            areturn
        28: .line 1420
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 7 /* out */
        start local 7 // sun.security.util.DerOutputStream out
        29: .line 1421
            aload 7 /* out */
            aload 6 /* extData */
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        30: .line 1422
            aload 7 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
        31: areturn
        end local 7 // sun.security.util.DerOutputStream out
        end local 6 // byte[] extData
        end local 5 // sun.security.x509.CertificateExtensions exts
        end local 4 // sun.security.x509.Extension certExt
        end local 3 // java.lang.String extAlias
        end local 2 // sun.security.util.ObjectIdentifier findOID
        32: .line 1423
      StackMap locals: sun.security.x509.X509CertImpl java.lang.String
      StackMap stack: java.lang.Exception
            pop
        33: .line 1424
            aconst_null
            areturn
        end local 1 // java.lang.String oid
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0       this  Lsun/security/x509/X509CertImpl;
            0   34     1        oid  Ljava/lang/String;
            1   32     2    findOID  Lsun/security/util/ObjectIdentifier;
            2   32     3   extAlias  Ljava/lang/String;
            3   32     4    certExt  Lsun/security/x509/Extension;
            6   32     5       exts  Lsun/security/x509/CertificateExtensions;
           11   15     6         ex  Lsun/security/x509/Extension;
           12   15     8  inCertOID  Lsun/security/util/ObjectIdentifier;
           26   32     6    extData  [B
           29   32     7        out  Lsun/security/util/DerOutputStream;
      Exception table:
        from    to  target  type
          17    18      19  Class java.security.cert.CertificateException
           0     8      32  Class java.lang.Exception
           9    24      32  Class java.lang.Exception
          25    27      32  Class java.lang.Exception
          28    31      32  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      oid   

  public boolean[] getKeyUsage();
    descriptor: ()[Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1435
            getstatic sun.security.x509.PKIXExtensions.KeyUsage_Id:Lsun/security/util/ObjectIdentifier;
            invokestatic sun.security.x509.OIDMap.getName:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/String;
            astore 1 /* extAlias */
        start local 1 // java.lang.String extAlias
         1: .line 1436
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1437
            aconst_null
            areturn
         3: .line 1439
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* extAlias */
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.KeyUsageExtension
            astore 2 /* certExt */
        start local 2 // sun.security.x509.KeyUsageExtension certExt
         4: .line 1440
            aload 2 /* certExt */
            ifnonnull 6
         5: .line 1441
            aconst_null
            areturn
         6: .line 1443
      StackMap locals: sun.security.x509.KeyUsageExtension
      StackMap stack:
            aload 2 /* certExt */
            invokevirtual sun.security.x509.KeyUsageExtension.getBits:()[Z
            astore 3 /* ret */
        start local 3 // boolean[] ret
         7: .line 1444
            aload 3 /* ret */
            arraylength
            bipush 9
            if_icmpge 11
         8: .line 1445
            bipush 9
            newarray 4
            astore 4 /* usageBits */
        start local 4 // boolean[] usageBits
         9: .line 1446
            aload 3 /* ret */
            iconst_0
            aload 4 /* usageBits */
            iconst_0
            aload 3 /* ret */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 1447
            aload 4 /* usageBits */
            astore 3 /* ret */
        end local 4 // boolean[] usageBits
        11: .line 1449
      StackMap locals: boolean[]
      StackMap stack:
            aload 3 /* ret */
        12: areturn
        end local 3 // boolean[] ret
        end local 2 // sun.security.x509.KeyUsageExtension certExt
        end local 1 // java.lang.String extAlias
        13: .line 1450
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        14: .line 1451
            aconst_null
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lsun/security/x509/X509CertImpl;
            1   13     1   extAlias  Ljava/lang/String;
            4   13     2    certExt  Lsun/security/x509/KeyUsageExtension;
            7   13     3        ret  [Z
            9   11     4  usageBits  [Z
      Exception table:
        from    to  target  type
           0     2      13  Class java.lang.Exception
           3     5      13  Class java.lang.Exception
           6    12      13  Class java.lang.Exception

  public synchronized java.util.List<java.lang.String> getExtendedKeyUsage();
    descriptor: ()Ljava/util/List;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1463
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
            ifnull 2
         1: .line 1464
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
            areturn
         2: .line 1466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getExtendedKeyUsageExtension:()Lsun/security/x509/ExtendedKeyUsageExtension;
            astore 1 /* ext */
        start local 1 // sun.security.x509.ExtendedKeyUsageExtension ext
         3: .line 1467
            aload 1 /* ext */
            ifnonnull 5
         4: .line 1468
            aconst_null
            areturn
         5: .line 1470
      StackMap locals: sun.security.x509.ExtendedKeyUsageExtension
      StackMap stack:
            aload 0 /* this */
         6: .line 1471
            aload 1 /* ext */
            invokevirtual sun.security.x509.ExtendedKeyUsageExtension.getExtendedKeyUsage:()Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
         7: .line 1470
            putfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
         8: .line 1472
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
            areturn
        end local 1 // sun.security.x509.ExtendedKeyUsageExtension ext
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/x509/X509CertImpl;
            3    9     1   ext  Lsun/security/x509/ExtendedKeyUsageExtension;
    Exceptions:
      throws java.security.cert.CertificateParsingException
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public static java.util.List<java.lang.String> getExtendedKeyUsage(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 1485
            aload 0 /* cert */
            ldc "2.5.29.37"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         1: .line 1486
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1487
            aconst_null
            areturn
         3: .line 1488
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 1 /* ext */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 2 /* val */
        start local 2 // sun.security.util.DerValue val
         4: .line 1489
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1492
            new sun.security.x509.ExtendedKeyUsageExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            aload 3 /* data */
            invokespecial sun.security.x509.ExtendedKeyUsageExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         6: .line 1491
            astore 4 /* ekuExt */
        start local 4 // sun.security.x509.ExtendedKeyUsageExtension ekuExt
         7: .line 1493
            aload 4 /* ekuExt */
            invokevirtual sun.security.x509.ExtendedKeyUsageExtension.getExtendedKeyUsage:()Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
         8: areturn
        end local 4 // sun.security.x509.ExtendedKeyUsageExtension ekuExt
        end local 3 // byte[] data
        end local 2 // sun.security.util.DerValue val
        end local 1 // byte[] ext
         9: .line 1494
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        10: .line 1495
            new java.security.cert.CertificateParsingException
            dup
            aload 1 /* ioe */
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    cert  Ljava/security/cert/X509Certificate;
            1    9     1     ext  [B
            4    9     2     val  Lsun/security/util/DerValue;
            5    9     3    data  [B
            7    9     4  ekuExt  Lsun/security/x509/ExtendedKeyUsageExtension;
           10   11     1     ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       9  Class java.io.IOException
           3     8       9  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateParsingException
    Signature: (Ljava/security/cert/X509Certificate;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      cert  

  public int getBasicConstraints();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1506
            getstatic sun.security.x509.PKIXExtensions.BasicConstraints_Id:Lsun/security/util/ObjectIdentifier;
            invokestatic sun.security.x509.OIDMap.getName:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/String;
            astore 1 /* extAlias */
        start local 1 // java.lang.String extAlias
         1: .line 1507
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1508
            iconst_m1
            ireturn
         3: .line 1510
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* extAlias */
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.BasicConstraintsExtension
         4: .line 1509
            astore 2 /* certExt */
        start local 2 // sun.security.x509.BasicConstraintsExtension certExt
         5: .line 1511
            aload 2 /* certExt */
            ifnonnull 7
         6: .line 1512
            iconst_m1
            ireturn
         7: .line 1514
      StackMap locals: sun.security.x509.BasicConstraintsExtension
      StackMap stack:
            aload 2 /* certExt */
            ldc "is_ca"
            invokevirtual sun.security.x509.BasicConstraintsExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Boolean
         8: .line 1515
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
         9: .line 1516
            aload 2 /* certExt */
        10: .line 1517
            ldc "path_len"
        11: .line 1516
            invokevirtual sun.security.x509.BasicConstraintsExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
        12: .line 1517
            invokevirtual java.lang.Integer.intValue:()I
        13: .line 1516
            ireturn
        14: .line 1519
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // sun.security.x509.BasicConstraintsExtension certExt
        end local 1 // java.lang.String extAlias
        15: .line 1520
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1521
            iconst_m1
            ireturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lsun/security/x509/X509CertImpl;
            1   15     1  extAlias  Ljava/lang/String;
            5   15     2   certExt  Lsun/security/x509/BasicConstraintsExtension;
      Exception table:
        from    to  target  type
           0     2      15  Class java.lang.Exception
           3     6      15  Class java.lang.Exception
           7    13      15  Class java.lang.Exception

  private static java.util.Collection<java.util.List<?>> makeAltNames(sun.security.x509.GeneralNames);
    descriptor: (Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // sun.security.x509.GeneralNames names
         0: .line 1535
            aload 0 /* names */
            invokevirtual sun.security.x509.GeneralNames.isEmpty:()Z
            ifeq 2
         1: .line 1536
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 1538
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* newNames */
        start local 1 // java.util.List newNames
         3: .line 1539
            aload 0 /* names */
            invokevirtual sun.security.x509.GeneralNames.names:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 32
      StackMap locals: sun.security.x509.GeneralNames java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralName
            astore 2 /* gname */
        start local 2 // sun.security.x509.GeneralName gname
         5: .line 1540
            aload 2 /* gname */
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            astore 4 /* name */
        start local 4 // sun.security.x509.GeneralNameInterface name
         6: .line 1541
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* nameEntry */
        start local 5 // java.util.List nameEntry
         7: .line 1542
            aload 5 /* nameEntry */
            aload 4 /* name */
            invokeinterface sun.security.x509.GeneralNameInterface.getType:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1543
            aload 4 /* name */
            invokeinterface sun.security.x509.GeneralNameInterface.getType:()I
            tableswitch { // 1 - 8
                    1: 9
                    2: 11
                    3: 25
                    4: 13
                    5: 25
                    6: 15
                    7: 17
                    8: 23
              default: 25
          }
         9: .line 1545
      StackMap locals: sun.security.x509.GeneralNames java.util.List sun.security.x509.GeneralName java.util.Iterator sun.security.x509.GeneralNameInterface java.util.List
      StackMap stack:
            aload 5 /* nameEntry */
            aload 4 /* name */
            checkcast sun.security.x509.RFC822Name
            invokevirtual sun.security.x509.RFC822Name.getName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1546
            goto 31
        11: .line 1548
      StackMap locals:
      StackMap stack:
            aload 5 /* nameEntry */
            aload 4 /* name */
            checkcast sun.security.x509.DNSName
            invokevirtual sun.security.x509.DNSName.getName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1549
            goto 31
        13: .line 1551
      StackMap locals:
      StackMap stack:
            aload 5 /* nameEntry */
            aload 4 /* name */
            checkcast sun.security.x509.X500Name
            invokevirtual sun.security.x509.X500Name.getRFC2253Name:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 1552
            goto 31
        15: .line 1554
      StackMap locals:
      StackMap stack:
            aload 5 /* nameEntry */
            aload 4 /* name */
            checkcast sun.security.x509.URIName
            invokevirtual sun.security.x509.URIName.getName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1555
            goto 31
        17: .line 1558
      StackMap locals:
      StackMap stack:
            aload 5 /* nameEntry */
            aload 4 /* name */
            checkcast sun.security.x509.IPAddressName
            invokevirtual sun.security.x509.IPAddressName.getName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 1559
            goto 31
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        20: .line 1561
            new java.lang.RuntimeException
            dup
            ldc "IPAddress cannot be parsed"
        21: .line 1562
            aload 6 /* ioe */
        22: .line 1561
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException ioe
        23: .line 1566
      StackMap locals:
      StackMap stack:
            aload 5 /* nameEntry */
            aload 4 /* name */
            checkcast sun.security.x509.OIDName
            invokevirtual sun.security.x509.OIDName.getOID:()Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 1567
            goto 31
        25: .line 1570
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 6 /* derOut */
        start local 6 // sun.security.util.DerOutputStream derOut
        26: .line 1572
            aload 4 /* name */
            aload 6 /* derOut */
            invokeinterface sun.security.x509.GeneralNameInterface.encode:(Lsun/security/util/DerOutputStream;)V
        27: .line 1573
            goto 30
      StackMap locals: sun.security.x509.GeneralNames java.util.List sun.security.x509.GeneralName java.util.Iterator sun.security.x509.GeneralNameInterface java.util.List sun.security.util.DerOutputStream
      StackMap stack: java.io.IOException
        28: astore 7 /* ioe */
        start local 7 // java.io.IOException ioe
        29: .line 1576
            new java.lang.RuntimeException
            dup
            ldc "name cannot be encoded"
            aload 7 /* ioe */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException ioe
        30: .line 1578
      StackMap locals:
      StackMap stack:
            aload 5 /* nameEntry */
            aload 6 /* derOut */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // sun.security.util.DerOutputStream derOut
        31: .line 1581
      StackMap locals:
      StackMap stack:
            aload 1 /* newNames */
            aload 5 /* nameEntry */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.util.List nameEntry
        end local 4 // sun.security.x509.GeneralNameInterface name
        end local 2 // sun.security.x509.GeneralName gname
        32: .line 1539
      StackMap locals: sun.security.x509.GeneralNames java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        33: .line 1583
            aload 1 /* newNames */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 1 // java.util.List newNames
        end local 0 // sun.security.x509.GeneralNames names
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0      names  Lsun/security/x509/GeneralNames;
            3   34     1   newNames  Ljava/util/List<Ljava/util/List<*>;>;
            5   32     2      gname  Lsun/security/x509/GeneralName;
            6   32     4       name  Lsun/security/x509/GeneralNameInterface;
            7   32     5  nameEntry  Ljava/util/List<Ljava/lang/Object;>;
           20   23     6        ioe  Ljava/io/IOException;
           26   31     6     derOut  Lsun/security/util/DerOutputStream;
           29   30     7        ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          17    18      19  Class java.io.IOException
          26    27      28  Class java.io.IOException
    Signature: (Lsun/security/x509/GeneralNames;)Ljava/util/Collection<Ljava/util/List<*>;>;
    MethodParameters:
       Name  Flags
      names  

  private static java.util.Collection<java.util.List<?>> cloneAltNames(java.util.Collection<java.util.List<?>>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // java.util.Collection altNames
         0: .line 1591
            iconst_0
            istore 1 /* mustClone */
        start local 1 // boolean mustClone
         1: .line 1592
            aload 0 /* altNames */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.util.Collection int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* nameEntry */
        start local 2 // java.util.List nameEntry
         3: .line 1593
            aload 2 /* nameEntry */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            instanceof byte[]
            ifeq 5
         4: .line 1595
            iconst_1
            istore 1 /* mustClone */
        end local 2 // java.util.List nameEntry
         5: .line 1592
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1598
            iload 1 /* mustClone */
            ifeq 20
         7: .line 1599
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* namesCopy */
        start local 2 // java.util.List namesCopy
         8: .line 1600
            aload 0 /* altNames */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: java.util.Collection int java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* nameEntry */
        start local 3 // java.util.List nameEntry
        10: .line 1601
            aload 3 /* nameEntry */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 5 /* nameObject */
        start local 5 // java.lang.Object nameObject
        11: .line 1602
            aload 5 /* nameObject */
            instanceof byte[]
            ifeq 17
        12: .line 1604
            new java.util.ArrayList
            dup
            aload 3 /* nameEntry */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        13: .line 1603
            astore 6 /* nameEntryCopy */
        start local 6 // java.util.List nameEntryCopy
        14: .line 1605
            aload 6 /* nameEntryCopy */
            iconst_1
            aload 5 /* nameObject */
            checkcast byte[]
            invokevirtual byte[].clone:()Ljava/lang/Object;
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1606
            aload 2 /* namesCopy */
            aload 6 /* nameEntryCopy */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.util.List nameEntryCopy
        16: .line 1607
            goto 18
        17: .line 1608
      StackMap locals: java.util.Collection int java.util.List java.util.List java.util.Iterator java.lang.Object
      StackMap stack:
            aload 2 /* namesCopy */
            aload 3 /* nameEntry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Object nameObject
        end local 3 // java.util.List nameEntry
        18: .line 1600
      StackMap locals: java.util.Collection int java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        19: .line 1611
            aload 2 /* namesCopy */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 2 // java.util.List namesCopy
        20: .line 1613
      StackMap locals: java.util.Collection int
      StackMap stack:
            aload 0 /* altNames */
            areturn
        end local 1 // boolean mustClone
        end local 0 // java.util.Collection altNames
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0       altNames  Ljava/util/Collection<Ljava/util/List<*>;>;
            1   21     1      mustClone  Z
            3    5     2      nameEntry  Ljava/util/List<*>;
            8   20     2      namesCopy  Ljava/util/List<Ljava/util/List<*>;>;
           10   18     3      nameEntry  Ljava/util/List<*>;
           11   18     5     nameObject  Ljava/lang/Object;
           14   16     6  nameEntryCopy  Ljava/util/List<Ljava/lang/Object;>;
    Signature: (Ljava/util/Collection<Ljava/util/List<*>;>;)Ljava/util/Collection<Ljava/util/List<*>;>;
    MethodParameters:
          Name  Flags
      altNames  

  public synchronized java.util.Collection<java.util.List<?>> getSubjectAlternativeNames();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1626
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.subjectAlternativeNames:Ljava/util/Collection;
            ifnull 2
         1: .line 1627
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.subjectAlternativeNames:Ljava/util/Collection;
            invokestatic sun.security.x509.X509CertImpl.cloneAltNames:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
         2: .line 1630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getSubjectAlternativeNameExtension:()Lsun/security/x509/SubjectAlternativeNameExtension;
         3: .line 1629
            astore 1 /* subjectAltNameExt */
        start local 1 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
         4: .line 1631
            aload 1 /* subjectAltNameExt */
            ifnonnull 6
         5: .line 1632
            aconst_null
            areturn
         6: .line 1636
      StackMap locals: sun.security.x509.SubjectAlternativeNameExtension
      StackMap stack:
            aload 1 /* subjectAltNameExt */
         7: .line 1637
            ldc "subject_name"
         8: .line 1636
            invokevirtual sun.security.x509.SubjectAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
            astore 2 /* names */
        start local 2 // sun.security.x509.GeneralNames names
         9: .line 1638
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1640
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1642
      StackMap locals: sun.security.x509.GeneralNames
      StackMap stack:
            aload 0 /* this */
            aload 2 /* names */
            invokestatic sun.security.x509.X509CertImpl.makeAltNames:(Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
            putfield sun.security.x509.X509CertImpl.subjectAlternativeNames:Ljava/util/Collection;
        13: .line 1643
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.subjectAlternativeNames:Ljava/util/Collection;
            areturn
        end local 2 // sun.security.x509.GeneralNames names
        end local 1 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lsun/security/x509/X509CertImpl;
            4   14     1  subjectAltNameExt  Lsun/security/x509/SubjectAlternativeNameExtension;
            9   10     2              names  Lsun/security/x509/GeneralNames;
           12   14     2              names  Lsun/security/x509/GeneralNames;
      Exception table:
        from    to  target  type
           6     9      10  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateParsingException
    Signature: ()Ljava/util/Collection<Ljava/util/List<*>;>;

  public static java.util.Collection<java.util.List<?>> getSubjectAlternativeNames(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 1655
            aload 0 /* cert */
            ldc "2.5.29.17"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         1: .line 1656
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1657
            aconst_null
            areturn
         3: .line 1659
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 1 /* ext */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 2 /* val */
        start local 2 // sun.security.util.DerValue val
         4: .line 1660
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1663
            new sun.security.x509.SubjectAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         6: .line 1664
            aload 3 /* data */
         7: .line 1663
            invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         8: .line 1662
            astore 4 /* subjectAltNameExt */
        start local 4 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
         9: .line 1668
            aload 4 /* subjectAltNameExt */
        10: .line 1669
            ldc "subject_name"
        11: .line 1668
            invokevirtual sun.security.x509.SubjectAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
            astore 5 /* names */
        start local 5 // sun.security.x509.GeneralNames names
        12: .line 1670
            goto 16
        end local 5 // sun.security.x509.GeneralNames names
      StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerValue byte[] sun.security.x509.SubjectAlternativeNameExtension
      StackMap stack: java.io.IOException
        13: pop
        14: .line 1672
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        15: areturn
        start local 5 // sun.security.x509.GeneralNames names
        16: .line 1674
      StackMap locals: sun.security.x509.GeneralNames
      StackMap stack:
            aload 5 /* names */
            invokestatic sun.security.x509.X509CertImpl.makeAltNames:(Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
        17: areturn
        end local 5 // sun.security.x509.GeneralNames names
        end local 4 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
        end local 3 // byte[] data
        end local 2 // sun.security.util.DerValue val
        end local 1 // byte[] ext
        18: .line 1675
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        19: .line 1676
            new java.security.cert.CertificateParsingException
            dup
            aload 1 /* ioe */
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               cert  Ljava/security/cert/X509Certificate;
            1   18     1                ext  [B
            4   18     2                val  Lsun/security/util/DerValue;
            5   18     3               data  [B
            9   18     4  subjectAltNameExt  Lsun/security/x509/SubjectAlternativeNameExtension;
           12   13     5              names  Lsun/security/x509/GeneralNames;
           16   18     5              names  Lsun/security/x509/GeneralNames;
           19   20     1                ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    12      13  Class java.io.IOException
           0     2      18  Class java.io.IOException
           3    15      18  Class java.io.IOException
          16    17      18  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateParsingException
    Signature: (Ljava/security/cert/X509Certificate;)Ljava/util/Collection<Ljava/util/List<*>;>;
    MethodParameters:
      Name  Flags
      cert  

  public synchronized java.util.Collection<java.util.List<?>> getIssuerAlternativeNames();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1689
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.issuerAlternativeNames:Ljava/util/Collection;
            ifnull 2
         1: .line 1690
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.issuerAlternativeNames:Ljava/util/Collection;
            invokestatic sun.security.x509.X509CertImpl.cloneAltNames:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
         2: .line 1693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerAlternativeNameExtension:()Lsun/security/x509/IssuerAlternativeNameExtension;
         3: .line 1692
            astore 1 /* issuerAltNameExt */
        start local 1 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
         4: .line 1694
            aload 1 /* issuerAltNameExt */
            ifnonnull 6
         5: .line 1695
            aconst_null
            areturn
         6: .line 1699
      StackMap locals: sun.security.x509.IssuerAlternativeNameExtension
      StackMap stack:
            aload 1 /* issuerAltNameExt */
         7: .line 1700
            ldc "issuer_name"
         8: .line 1699
            invokevirtual sun.security.x509.IssuerAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
            astore 2 /* names */
        start local 2 // sun.security.x509.GeneralNames names
         9: .line 1701
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1703
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1705
      StackMap locals: sun.security.x509.GeneralNames
      StackMap stack:
            aload 0 /* this */
            aload 2 /* names */
            invokestatic sun.security.x509.X509CertImpl.makeAltNames:(Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
            putfield sun.security.x509.X509CertImpl.issuerAlternativeNames:Ljava/util/Collection;
        13: .line 1706
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.issuerAlternativeNames:Ljava/util/Collection;
            areturn
        end local 2 // sun.security.x509.GeneralNames names
        end local 1 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lsun/security/x509/X509CertImpl;
            4   14     1  issuerAltNameExt  Lsun/security/x509/IssuerAlternativeNameExtension;
            9   10     2             names  Lsun/security/x509/GeneralNames;
           12   14     2             names  Lsun/security/x509/GeneralNames;
      Exception table:
        from    to  target  type
           6     9      10  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateParsingException
    Signature: ()Ljava/util/Collection<Ljava/util/List<*>;>;

  public static java.util.Collection<java.util.List<?>> getIssuerAlternativeNames(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 1718
            aload 0 /* cert */
            ldc "2.5.29.18"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         1: .line 1719
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1720
            aconst_null
            areturn
         3: .line 1723
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 1 /* ext */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 2 /* val */
        start local 2 // sun.security.util.DerValue val
         4: .line 1724
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1727
            new sun.security.x509.IssuerAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         6: .line 1728
            aload 3 /* data */
         7: .line 1727
            invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         8: .line 1726
            astore 4 /* issuerAltNameExt */
        start local 4 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
         9: .line 1731
            aload 4 /* issuerAltNameExt */
        10: .line 1732
            ldc "issuer_name"
        11: .line 1731
            invokevirtual sun.security.x509.IssuerAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
            astore 5 /* names */
        start local 5 // sun.security.x509.GeneralNames names
        12: .line 1733
            goto 16
        end local 5 // sun.security.x509.GeneralNames names
      StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerValue byte[] sun.security.x509.IssuerAlternativeNameExtension
      StackMap stack: java.io.IOException
        13: pop
        14: .line 1735
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        15: areturn
        start local 5 // sun.security.x509.GeneralNames names
        16: .line 1737
      StackMap locals: sun.security.x509.GeneralNames
      StackMap stack:
            aload 5 /* names */
            invokestatic sun.security.x509.X509CertImpl.makeAltNames:(Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
        17: areturn
        end local 5 // sun.security.x509.GeneralNames names
        end local 4 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
        end local 3 // byte[] data
        end local 2 // sun.security.util.DerValue val
        end local 1 // byte[] ext
        18: .line 1738
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        19: .line 1739
            new java.security.cert.CertificateParsingException
            dup
            aload 1 /* ioe */
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              cert  Ljava/security/cert/X509Certificate;
            1   18     1               ext  [B
            4   18     2               val  Lsun/security/util/DerValue;
            5   18     3              data  [B
            9   18     4  issuerAltNameExt  Lsun/security/x509/IssuerAlternativeNameExtension;
           12   13     5             names  Lsun/security/x509/GeneralNames;
           16   18     5             names  Lsun/security/x509/GeneralNames;
           19   20     1               ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    12      13  Class java.io.IOException
           0     2      18  Class java.io.IOException
           3    15      18  Class java.io.IOException
          16    17      18  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateParsingException
    Signature: (Ljava/security/cert/X509Certificate;)Ljava/util/Collection<Ljava/util/List<*>;>;
    MethodParameters:
      Name  Flags
      cert  

  public sun.security.x509.AuthorityInfoAccessExtension getAuthorityInfoAccessExtension();
    descriptor: ()Lsun/security/x509/AuthorityInfoAccessExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1745
            aload 0 /* this */
            getstatic sun.security.x509.PKIXExtensions.AuthInfoAccess_Id:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
         1: .line 1744
            checkcast sun.security.x509.AuthorityInfoAccessExtension
            areturn
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/x509/X509CertImpl;

  private void parse(sun.security.util.DerValue);
    descriptor: (Lsun/security/util/DerValue;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // sun.security.util.DerValue val
         0: .line 1763
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 1764
            new java.security.cert.CertificateParsingException
            dup
         2: .line 1765
            ldc "cannot over-write existing certificate"
         3: .line 1764
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1767
      StackMap locals:
      StackMap stack:
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            ifnull 5
            aload 1 /* val */
            getfield sun.security.util.DerValue.tag:B
            bipush 48
            if_icmpeq 8
         5: .line 1768
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateParsingException
            dup
         6: .line 1769
            ldc "invalid DER-encoded certificate data"
         7: .line 1768
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1771
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* val */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         9: .line 1772
            iconst_3
            anewarray sun.security.util.DerValue
            astore 2 /* seq */
        start local 2 // sun.security.util.DerValue[] seq
        10: .line 1774
            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
        11: .line 1775
            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
        12: .line 1776
            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
        13: .line 1778
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 17
        14: .line 1779
            new java.security.cert.CertificateParsingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "signed overrun, bytes = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 1780
            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;
        16: .line 1779
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 1782
      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 19
        18: .line 1783
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields invalid"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1786
      StackMap locals:
      StackMap stack:
            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.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        20: .line 1787
            aload 0 /* this */
            aload 2 /* seq */
            iconst_2
            aaload
            invokevirtual sun.security.util.DerValue.getBitString:()[B
            putfield sun.security.x509.X509CertImpl.signature:[B
        21: .line 1789
            aload 2 /* seq */
            iconst_1
            aaload
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 23
        22: .line 1790
            new java.security.cert.CertificateParsingException
            dup
            ldc "algid field overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1792
      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 25
        24: .line 1793
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.x509.X509CertInfo
            dup
            aload 2 /* seq */
            iconst_0
            aaload
            invokespecial sun.security.x509.X509CertInfo.<init>:(Lsun/security/util/DerValue;)V
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        26: .line 1799
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        27: .line 1800
            ldc "algorithmID.algorithm"
        28: .line 1799
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.AlgorithmId
            astore 3 /* infoSigAlg */
        start local 3 // sun.security.x509.AlgorithmId infoSigAlg
        29: .line 1803
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            aload 3 /* infoSigAlg */
            invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
            ifne 31
        30: .line 1804
            new java.security.cert.CertificateException
            dup
            ldc "Signature algorithm mismatch"
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 1805
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.x509.X509CertImpl.readOnly:Z
        32: .line 1806
            return
        end local 3 // sun.security.x509.AlgorithmId infoSigAlg
        end local 2 // sun.security.util.DerValue[] seq
        end local 1 // sun.security.util.DerValue val
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   33     0        this  Lsun/security/x509/X509CertImpl;
            0   33     1         val  Lsun/security/util/DerValue;
           10   33     2         seq  [Lsun/security/util/DerValue;
           29   33     3  infoSigAlg  Lsun/security/x509/AlgorithmId;
    Exceptions:
      throws java.security.cert.CertificateException, java.io.IOException
    MethodParameters:
      Name  Flags
      val   

  private static javax.security.auth.x500.X500Principal getX500Principal(java.security.cert.X509Certificate, boolean);
    descriptor: (Ljava/security/cert/X509Certificate;Z)Ljavax/security/auth/x500/X500Principal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.security.cert.X509Certificate cert
        start local 1 // boolean getIssuer
         0: .line 1815
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
         1: .line 1816
            new sun.security.util.DerInputStream
            dup
            aload 2 /* encoded */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 3 /* derIn */
        start local 3 // sun.security.util.DerInputStream derIn
         2: .line 1817
            aload 3 /* derIn */
            iconst_3
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            iconst_0
            aaload
            astore 4 /* tbsCert */
        start local 4 // sun.security.util.DerValue tbsCert
         3: .line 1818
            aload 4 /* tbsCert */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            astore 5 /* tbsIn */
        start local 5 // sun.security.util.DerInputStream tbsIn
         4: .line 1820
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        start local 6 // sun.security.util.DerValue tmp
         5: .line 1822
            aload 6 /* tmp */
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 7
         6: .line 1823
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         7: .line 1826
      StackMap locals: java.security.cert.X509Certificate int byte[] sun.security.util.DerInputStream sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue
      StackMap stack:
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         8: .line 1827
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         9: .line 1828
            iload 1 /* getIssuer */
            ifne 12
        10: .line 1829
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        11: .line 1830
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        12: .line 1832
      StackMap locals:
      StackMap stack:
            aload 6 /* tmp */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 7 /* principalBytes */
        start local 7 // byte[] principalBytes
        13: .line 1833
            new javax.security.auth.x500.X500Principal
            dup
            aload 7 /* principalBytes */
            invokespecial javax.security.auth.x500.X500Principal.<init>:([B)V
            areturn
        end local 7 // byte[] principalBytes
        end local 6 // sun.security.util.DerValue tmp
        end local 5 // sun.security.util.DerInputStream tbsIn
        end local 4 // sun.security.util.DerValue tbsCert
        end local 3 // sun.security.util.DerInputStream derIn
        end local 2 // byte[] encoded
        end local 1 // boolean getIssuer
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            cert  Ljava/security/cert/X509Certificate;
            0   14     1       getIssuer  Z
            1   14     2         encoded  [B
            2   14     3           derIn  Lsun/security/util/DerInputStream;
            3   14     4         tbsCert  Lsun/security/util/DerValue;
            4   14     5           tbsIn  Lsun/security/util/DerInputStream;
            5   14     6             tmp  Lsun/security/util/DerValue;
           13   14     7  principalBytes  [B
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      cert       
      getIssuer  

  public static javax.security.auth.x500.X500Principal getSubjectX500Principal(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljavax/security/auth/x500/X500Principal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 1842
            aload 0 /* cert */
            iconst_0
            invokestatic sun.security.x509.X509CertImpl.getX500Principal:(Ljava/security/cert/X509Certificate;Z)Ljavax/security/auth/x500/X500Principal;
         1: areturn
         2: .line 1843
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1844
            new java.lang.RuntimeException
            dup
            ldc "Could not parse subject"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  cert  Ljava/security/cert/X509Certificate;
            3    4     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      cert  

  public static javax.security.auth.x500.X500Principal getIssuerX500Principal(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljavax/security/auth/x500/X500Principal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 1854
            aload 0 /* cert */
            iconst_1
            invokestatic sun.security.x509.X509CertImpl.getX500Principal:(Ljava/security/cert/X509Certificate;Z)Ljavax/security/auth/x500/X500Principal;
         1: areturn
         2: .line 1855
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1856
            new java.lang.RuntimeException
            dup
            ldc "Could not parse issuer"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  cert  Ljava/security/cert/X509Certificate;
            3    4     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      cert  

  public static byte[] getEncodedInternal(java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.Certificate cert
         0: .line 1868
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1869
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            invokevirtual sun.security.x509.X509CertImpl.getEncodedInternal:()[B
            areturn
         2: .line 1871
      StackMap locals:
      StackMap stack:
            aload 0 /* cert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            areturn
        end local 0 // java.security.cert.Certificate cert
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  cert  Ljava/security/cert/Certificate;
    Exceptions:
      throws java.security.cert.CertificateEncodingException
    MethodParameters:
      Name  Flags
      cert  

  public static sun.security.x509.X509CertImpl toImpl(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 1882
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1883
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            areturn
         2: .line 1885
      StackMap locals:
      StackMap stack:
            aload 0 /* cert */
            invokestatic sun.security.provider.X509Factory.intern:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
            areturn
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  cert  Ljava/security/cert/X509Certificate;
    Exceptions:
      throws java.security.cert.CertificateException
    MethodParameters:
      Name  Flags
      cert  

  public static boolean isSelfIssued(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 1894
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 1 /* subject */
        start local 1 // javax.security.auth.x500.X500Principal subject
         1: .line 1895
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 2 /* issuer */
        start local 2 // javax.security.auth.x500.X500Principal issuer
         2: .line 1896
            aload 1 /* subject */
            aload 2 /* issuer */
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // javax.security.auth.x500.X500Principal issuer
        end local 1 // javax.security.auth.x500.X500Principal subject
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     cert  Ljava/security/cert/X509Certificate;
            1    3     1  subject  Ljavax/security/auth/x500/X500Principal;
            2    3     2   issuer  Ljavax/security/auth/x500/X500Principal;
    MethodParameters:
      Name  Flags
      cert  

  public static boolean isSelfSigned(java.security.cert.X509Certificate, java.lang.String);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.security.cert.X509Certificate cert
        start local 1 // java.lang.String sigProvider
         0: .line 1907
            aload 0 /* cert */
            invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifeq 7
         1: .line 1909
            aload 1 /* sigProvider */
            ifnonnull 4
         2: .line 1910
            aload 0 /* cert */
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
         3: .line 1911
            goto 5
         4: .line 1912
      StackMap locals:
      StackMap stack:
            aload 0 /* cert */
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            aload 1 /* sigProvider */
            invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
         5: .line 1914
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 1915
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 1919
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String sigProvider
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         cert  Ljava/security/cert/X509Certificate;
            0    8     1  sigProvider  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      cert         
      sigProvider  

  public java.lang.String getFingerprint(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.lang.String algorithm
         0: .line 1926
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* algorithm */
         1: .line 1927
            aload 0 /* this */
            invokedynamic apply(Lsun/security/x509/X509CertImpl;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  sun/security/x509/X509CertImpl.lambda$0(Ljava/lang/String;)Ljava/lang/String; (7)
                  (Ljava/lang/String;)Ljava/lang/String;
         2: .line 1926
            invokevirtual java.util.concurrent.ConcurrentHashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String algorithm
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/security/x509/X509CertImpl;
            0    3     1  algorithm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      algorithm  

  public static java.lang.String getFingerprint(java.lang.String, java.security.cert.X509Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.lang.String algorithm
        start local 1 // java.security.cert.X509Certificate cert
         0: .line 1937
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* encCertInfo */
        start local 2 // byte[] encCertInfo
         1: .line 1938
            aload 0 /* algorithm */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 3 /* md */
        start local 3 // java.security.MessageDigest md
         2: .line 1939
            aload 3 /* md */
            aload 2 /* encCertInfo */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 4 /* digest */
        start local 4 // byte[] digest
         3: .line 1940
            new java.lang.StringBuilder
            dup
            aload 4 /* digest */
            arraylength
            iconst_2
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 5 /* sb */
        start local 5 // java.lang.StringBuilder sb
         4: .line 1941
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1942
      StackMap locals: java.lang.String java.security.cert.X509Certificate byte[] java.security.MessageDigest byte[] java.lang.StringBuilder int
      StackMap stack:
            aload 4 /* digest */
            iload 6 /* i */
            baload
            aload 5 /* sb */
            invokestatic sun.security.x509.X509CertImpl.byte2hex:(BLjava/lang/StringBuilder;)V
         7: .line 1941
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            aload 4 /* digest */
            arraylength
            if_icmplt 6
        end local 6 // int i
         9: .line 1944
            aload 5 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: areturn
        end local 5 // java.lang.StringBuilder sb
        end local 4 // byte[] digest
        end local 3 // java.security.MessageDigest md
        end local 2 // byte[] encCertInfo
        11: .line 1945
      StackMap locals: java.lang.String java.security.cert.X509Certificate
      StackMap stack: java.security.GeneralSecurityException
            pop
        12: .line 1948
            ldc ""
            areturn
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // java.lang.String algorithm
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0    algorithm  Ljava/lang/String;
            0   13     1         cert  Ljava/security/cert/X509Certificate;
            1   11     2  encCertInfo  [B
            2   11     3           md  Ljava/security/MessageDigest;
            3   11     4       digest  [B
            4   11     5           sb  Ljava/lang/StringBuilder;
            5    9     6            i  I
      Exception table:
        from    to  target  type
           0    10      11  Class java.security.NoSuchAlgorithmException
           0    10      11  Class java.security.cert.CertificateEncodingException
    MethodParameters:
           Name  Flags
      algorithm  
      cert       

  private static void byte2hex(byte, java.lang.StringBuilder);
    descriptor: (BLjava/lang/StringBuilder;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // byte b
        start local 1 // java.lang.StringBuilder buf
         0: .line 1955
            bipush 16
            newarray 5
            dup
            iconst_0
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
            bipush 56
            castore
            dup
            bipush 9
         1: .line 1956
            bipush 57
            castore
            dup
            bipush 10
            bipush 65
            castore
            dup
            bipush 11
            bipush 66
            castore
            dup
            bipush 12
            bipush 67
            castore
            dup
            bipush 13
            bipush 68
            castore
            dup
            bipush 14
            bipush 69
            castore
            dup
            bipush 15
            bipush 70
            castore
         2: .line 1955
            astore 2 /* hexChars */
        start local 2 // char[] hexChars
         3: .line 1957
            iload 0 /* b */
            sipush 240
            iand
            iconst_4
            ishr
            istore 3 /* high */
        start local 3 // int high
         4: .line 1958
            iload 0 /* b */
            bipush 15
            iand
            istore 4 /* low */
        start local 4 // int low
         5: .line 1959
            aload 1 /* buf */
            aload 2 /* hexChars */
            iload 3 /* high */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         6: .line 1960
            aload 2 /* hexChars */
            iload 4 /* low */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 1961
            return
        end local 4 // int low
        end local 3 // int high
        end local 2 // char[] hexChars
        end local 1 // java.lang.StringBuilder buf
        end local 0 // byte b
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0         b  B
            0    8     1       buf  Ljava/lang/StringBuilder;
            3    8     2  hexChars  [C
            4    8     3      high  I
            5    8     4       low  I
    MethodParameters:
      Name  Flags
      b     
      buf   

  private java.lang.String lambda$0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.lang.String x
         0: .line 1927
            aload 1 /* x */
            aload 0 /* this */
            invokestatic sun.security.x509.X509CertImpl.getFingerprint:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String x
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/x509/X509CertImpl;
            0    1     1     x  Ljava/lang/String;
}
SourceFile: "X509CertImpl.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles