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 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 167
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 122
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1917
            aload 0 /* this */
         7: .line 1918
            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 167
            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 181
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 122
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1917
            aload 0 /* this */
         7: .line 1918
            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 183
            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 184
            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 185
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 186
            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 188
      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 201
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 122
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1917
            aload 0 /* this */
         7: .line 1918
            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 203
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         9: .line 205
            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 210
            aload 3 /* inBuffered */
            ldc 2147483647
            invokevirtual java.io.BufferedInputStream.mark:(I)V
        11: .line 211
            aload 0 /* this */
            aload 3 /* inBuffered */
            invokevirtual sun.security.x509.X509CertImpl.readRFC1421Cert:(Ljava/io/InputStream;)Lsun/security/util/DerValue;
            astore 2 /* der */
        12: .line 212
            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 215
            aload 3 /* inBuffered */
            invokevirtual java.io.BufferedInputStream.reset:()V
        15: .line 216
            new sun.security.util.DerValue
            dup
            aload 3 /* inBuffered */
            invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
            astore 2 /* der */
        16: .line 217
            goto 21
      StackMap locals:
      StackMap stack: java.io.IOException
        17: astore 4 /* ioe1 */
        start local 4 // java.io.IOException ioe1
        18: .line 218
            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 222
            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 218
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe1
        21: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* der */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
        22: .line 227
            goto 28
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
        24: .line 228
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        25: .line 229
            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 230
            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 229
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe
        28: .line 232
      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 243
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         1: .line 244
            aconst_null
            astore 3 /* line */
        start local 3 // java.lang.String line
         2: .line 246
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 1 /* in */
            getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
         3: .line 245
            astore 4 /* certBufferedReader */
        start local 4 // java.io.BufferedReader certBufferedReader
         4: .line 248
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 3 /* line */
         5: .line 249
            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 250
            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 251
            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 250
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.IOException ioe1
        10: .line 253
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "-----BEGIN CERTIFICATE-----"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        11: .line 255
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 5 /* decstream */
        start local 5 // java.io.ByteArrayOutputStream decstream
        12: .line 257
            goto 17
        13: .line 258
      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 259
            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 260
            goto 24
        16: .line 262
      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 257
      StackMap locals:
      StackMap stack:
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
            ifnonnull 13
        18: .line 265
            goto 24
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe2 */
        start local 6 // java.io.IOException ioe2
        20: .line 266
            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 267
            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 266
            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 270
      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 273
      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 286
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 122
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1917
            aload 0 /* this */
         7: .line 1918
            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 287
            aload 0 /* this */
            aload 1 /* certInfo */
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         9: .line 288
            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 298
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 122
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1917
            aload 0 /* this */
         7: .line 1918
            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 300
            aload 0 /* this */
            aload 1 /* derVal */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
         9: .line 301
            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 302
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 303
            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 305
      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 315
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 316
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 317
            ldc "Null certificate to encode"
         3: .line 316
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 319
      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 320
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 2 /* e */
        start local 2 // java.io.IOException e
         7: .line 321
            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 323
      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 334
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 335
            new java.io.IOException
            dup
            ldc "Null certificate to encode"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 336
      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 337
            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 348
            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 357
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 358
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 359
            ldc "Null certificate to encode"
         3: .line 358
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 361
      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 382
            aload 0 /* this */
            aload 1 /* key */
            ldc ""
            invokevirtual sun.security.x509.X509CertImpl.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
         1: .line 383
            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=6, 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 404
            aload 2 /* sigProvider */
            ifnonnull 2
         1: .line 405
            ldc ""
            astore 2 /* sigProvider */
         2: .line 407
      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 410
            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 411
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifeq 6
         5: .line 412
            return
         6: .line 414
      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 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 9
         8: .line 419
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 422
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
        10: .line 423
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            astore 4 /* sigName */
        start local 4 // java.lang.String sigName
        11: .line 424
            aload 2 /* sigProvider */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 14
        12: .line 425
            aload 4 /* sigName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
        13: .line 426
            goto 15
        14: .line 427
      StackMap locals: java.security.Signature java.lang.String
      StackMap stack:
            aload 4 /* sigName */
            aload 2 /* sigProvider */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
        15: .line 431
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
        16: .line 432
            aload 4 /* sigName */
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getSigAlgParams:()[B
            invokestatic sun.security.util.SignatureUtil.getParamSpec:(Ljava/lang/String;[B)Ljava/security/spec/AlgorithmParameterSpec;
        17: .line 431
            invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
        18: .line 433
            goto 23
      StackMap locals:
      StackMap stack: java.security.ProviderException
        19: astore 5 /* e */
        start local 5 // java.security.ProviderException e
        20: .line 434
            new java.security.cert.CertificateException
            dup
            aload 5 /* e */
            invokevirtual java.security.ProviderException.getMessage:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual java.security.ProviderException.getCause:()Ljava/lang/Throwable;
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.ProviderException e
        21: .line 435
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 5 /* e */
        start local 5 // java.security.InvalidAlgorithmParameterException e
        22: .line 436
            new java.security.cert.CertificateException
            dup
            aload 5 /* e */
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.InvalidAlgorithmParameterException e
        23: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual sun.security.x509.X509CertInfo.getEncodedInfo:()[B
            astore 5 /* rawCert */
        start local 5 // byte[] rawCert
        24: .line 440
            aload 3 /* sigVerf */
            aload 5 /* rawCert */
            iconst_0
            aload 5 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        25: .line 443
            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
        26: .line 444
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        27: .line 445
            aload 0 /* this */
            aload 2 /* sigProvider */
            putfield sun.security.x509.X509CertImpl.verifiedProvider:Ljava/lang/String;
        28: .line 447
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 30
        29: .line 448
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 450
      StackMap locals: byte[]
      StackMap stack:
            return
        end local 5 // byte[] rawCert
        end local 4 // java.lang.String sigName
        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   31     0         this  Lsun/security/x509/X509CertImpl;
            0   31     1          key  Ljava/security/PublicKey;
            0   31     2  sigProvider  Ljava/lang/String;
           10   31     3      sigVerf  Ljava/security/Signature;
           11   31     4      sigName  Ljava/lang/String;
           20   21     5            e  Ljava/security/ProviderException;
           22   23     5            e  Ljava/security/InvalidAlgorithmParameterException;
           24   31     5      rawCert  [B
      Exception table:
        from    to  target  type
          15    18      19  Class java.security.ProviderException
          15    18      21  Class java.security.InvalidAlgorithmParameterException
    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=6, 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 472
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 473
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 476
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
         3: .line 477
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            astore 4 /* sigName */
        start local 4 // java.lang.String sigName
         4: .line 478
            aload 2 /* sigProvider */
            ifnonnull 7
         5: .line 479
            aload 4 /* sigName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
         6: .line 480
            goto 8
         7: .line 481
      StackMap locals: java.security.Signature java.lang.String
      StackMap stack:
            aload 4 /* sigName */
            aload 2 /* sigProvider */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;
            astore 3 /* sigVerf */
         8: .line 485
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
         9: .line 486
            aload 4 /* sigName */
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getSigAlgParams:()[B
            invokestatic sun.security.util.SignatureUtil.getParamSpec:(Ljava/lang/String;[B)Ljava/security/spec/AlgorithmParameterSpec;
        10: .line 485
            invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
        11: .line 487
            goto 16
      StackMap locals:
      StackMap stack: java.security.ProviderException
        12: astore 5 /* e */
        start local 5 // java.security.ProviderException e
        13: .line 488
            new java.security.cert.CertificateException
            dup
            aload 5 /* e */
            invokevirtual java.security.ProviderException.getMessage:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual java.security.ProviderException.getCause:()Ljava/lang/Throwable;
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.ProviderException e
        14: .line 489
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 5 /* e */
        start local 5 // java.security.InvalidAlgorithmParameterException e
        15: .line 490
            new java.security.cert.CertificateException
            dup
            aload 5 /* e */
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.InvalidAlgorithmParameterException e
        16: .line 493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual sun.security.x509.X509CertInfo.getEncodedInfo:()[B
            astore 5 /* rawCert */
        start local 5 // byte[] rawCert
        17: .line 494
            aload 3 /* sigVerf */
            aload 5 /* rawCert */
            iconst_0
            aload 5 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        18: .line 497
            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
        19: .line 498
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        20: .line 500
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 22
        21: .line 501
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 503
      StackMap locals: byte[]
      StackMap stack:
            return
        end local 5 // byte[] rawCert
        end local 4 // java.lang.String sigName
        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   23     0         this  Lsun/security/x509/X509CertImpl;
            0   23     1          key  Ljava/security/PublicKey;
            0   23     2  sigProvider  Ljava/security/Provider;
            3   23     3      sigVerf  Ljava/security/Signature;
            4   23     4      sigName  Ljava/lang/String;
           13   14     5            e  Ljava/security/ProviderException;
           15   16     5            e  Ljava/security/InvalidAlgorithmParameterException;
           17   23     5      rawCert  [B
      Exception table:
        from    to  target  type
           8    11      12  Class java.security.ProviderException
           8    11      14  Class java.security.InvalidAlgorithmParameterException
    Exceptions:
      throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.SignatureException
    MethodParameters:
             Name  Flags
      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 523
            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 524
            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=5, 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 546
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 547
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 548
            ldc "cannot over-write existing certificate"
         3: .line 547
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 551
      StackMap locals:
      StackMap stack:
            aload 2 /* algorithm */
            aload 1 /* key */
            aload 3 /* provider */
         5: .line 550
            invokestatic sun.security.util.SignatureUtil.fromKey:(Ljava/lang/String;Ljava/security/Key;Ljava/lang/String;)Ljava/security/Signature;
            astore 4 /* sigEngine */
        start local 4 // java.security.Signature sigEngine
         6: .line 552
            aload 0 /* this */
            aload 4 /* sigEngine */
            aload 1 /* key */
            invokestatic sun.security.util.SignatureUtil.fromSignature:(Ljava/security/Signature;Ljava/security/PrivateKey;)Lsun/security/x509/AlgorithmId;
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         7: .line 554
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 5 /* out */
        start local 5 // sun.security.util.DerOutputStream out
         8: .line 555
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 6 /* tmp */
        start local 6 // sun.security.util.DerOutputStream tmp
         9: .line 558
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ldc "algorithmID"
        10: .line 559
            new sun.security.x509.CertificateAlgorithmId
            dup
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            invokespecial sun.security.x509.CertificateAlgorithmId.<init>:(Lsun/security/x509/AlgorithmId;)V
        11: .line 558
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 560
            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 561
            aload 6 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 7 /* rawCert */
        start local 7 // byte[] rawCert
        14: .line 564
            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 567
            aload 4 /* sigEngine */
            aload 7 /* rawCert */
            iconst_0
            aload 7 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        16: .line 568
            aload 0 /* this */
            aload 4 /* sigEngine */
            invokevirtual java.security.Signature.sign:()[B
            putfield sun.security.x509.X509CertImpl.signature:[B
        17: .line 569
            aload 6 /* tmp */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual sun.security.util.DerOutputStream.putBitString:([B)V
        18: .line 572
            aload 5 /* out */
            bipush 48
            aload 6 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        19: .line 573
            aload 0 /* this */
            aload 5 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        20: .line 574
            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 576
            goto 24
      StackMap locals:
      StackMap stack: java.io.IOException
        22: astore 4 /* e */
        start local 4 // java.io.IOException e
        23: .line 577
            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 579
      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;
            6   21     4  sigEngine  Ljava/security/Signature;
            8   21     5        out  Lsun/security/util/DerOutputStream;
            9   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 591
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 1 /* date */
        start local 1 // java.util.Date date
         1: .line 592
            aload 0 /* this */
            aload 1 /* date */
            invokevirtual sun.security.x509.X509CertImpl.checkValidity:(Ljava/util/Date;)V
         2: .line 593
            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 611
            aconst_null
            astore 2 /* interval */
        start local 2 // sun.security.x509.CertificateValidity interval
         1: .line 613
            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 614
            goto 5
      StackMap locals: sun.security.x509.X509CertImpl java.util.Date sun.security.x509.CertificateValidity
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 615
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Incorrect validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 617
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            ifnonnull 7
         6: .line 618
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Null validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 619
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            aload 1 /* date */
            invokevirtual sun.security.x509.CertificateValidity.valid:(Ljava/util/Date;)V
         8: .line 620
            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 634
            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 635
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         2: .line 636
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         3: .line 637
            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 639
            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 637
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 641
      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 642
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
         8: .line 644
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
         9: .line 645
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 11
        10: .line 646
            aconst_null
            areturn
        11: .line 648
      StackMap locals:
      StackMap stack:
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 18
        12: .line 650
            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 651
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        15: .line 652
            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 653
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 4 /* e */
        start local 4 // java.security.cert.CertificateException e
        17: .line 654
            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 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            areturn
        19: .line 659
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "algorithm"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 21
        20: .line 660
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            areturn
        21: .line 661
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signature"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 25
        22: .line 662
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnull 24
        23: .line 663
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        24: .line 665
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        25: .line 666
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signed_cert"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 29
        26: .line 667
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnull 28
        27: .line 668
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        28: .line 670
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        29: .line 672
      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 673
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 672
            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 688
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 689
            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 692
      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 693
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        start local 4 // java.lang.String id
         4: .line 694
            aload 4 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 695
            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 696
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 695
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 698
      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 699
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        10: .line 701
            aload 4 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 20
        11: .line 702
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnonnull 17
        12: .line 703
            aload 2 /* obj */
            instanceof sun.security.x509.X509CertInfo
            ifne 14
        13: .line 704
            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 707
      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 708
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        16: .line 709
            goto 23
        17: .line 710
      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 711
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        19: .line 713
            goto 23
        20: .line 714
      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 715
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 714
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 717
      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 729
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 730
            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 733
      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 734
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         4: .line 735
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 736
            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 738
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 736
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 740
      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 741
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        10: .line 743
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        11: .line 744
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 14
        12: .line 745
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        13: .line 746
            goto 28
        14: .line 747
      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 749
            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 750
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        18: .line 751
            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 752
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
        21: .line 753
            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 754
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        24: .line 755
            goto 28
        25: .line 756
      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 757
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 756
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 759
      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 766
            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 767
            aload 1 /* elements */
            ldc "x509.info"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         2: .line 768
            aload 1 /* elements */
            ldc "x509.algorithm"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         3: .line 769
            aload 1 /* elements */
            ldc "x509.signature"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         4: .line 770
            aload 1 /* elements */
            ldc "x509.signed_cert"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         5: .line 772
            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 779
            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 789
            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 790
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
         2: .line 792
      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 793
            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 794
            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 795
            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 793
            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 806
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 807
            aconst_null
            areturn
         2: .line 809
      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 811
            aload 1 /* key */
         4: areturn
        end local 1 // java.security.PublicKey key
         5: .line 812
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 813
            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 823
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 824
            iconst_m1
            ireturn
         2: .line 826
      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 827
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 826
            istore 1 /* vers */
        start local 1 // int vers
         5: .line 828
            iload 1 /* vers */
            iconst_1
            iadd
         6: ireturn
        end local 1 // int vers
         7: .line 829
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 830
            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 840
            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 842
            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 852
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 853
            aconst_null
            areturn
         2: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 856
            ldc "serialNumber.number"
         4: .line 855
            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 858
            aload 1 /* ser */
         6: areturn
        end local 1 // sun.security.x509.SerialNumber ser
         7: .line 859
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 860
            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 872
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 873
            aconst_null
            areturn
         2: .line 875
      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 877
            aload 1 /* subject */
         4: areturn
        end local 1 // java.security.Principal subject
         5: .line 878
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 879
            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 889
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 890
            aconst_null
            areturn
         2: .line 893
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 894
            ldc "subject.x500principal"
         4: .line 893
            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 896
            aload 1 /* subject */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal subject
         7: .line 897
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 898
            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 909
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 910
            aconst_null
            areturn
         2: .line 912
      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 914
            aload 1 /* issuer */
         4: areturn
        end local 1 // java.security.Principal issuer
         5: .line 915
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 916
            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 926
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 927
            aconst_null
            areturn
         2: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 931
            ldc "issuer.x500principal"
         4: .line 930
            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 933
            aload 1 /* issuer */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal issuer
         7: .line 934
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 935
            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 945
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 946
            aconst_null
            areturn
         2: .line 948
      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 950
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 951
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 952
            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 962
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 963
            aconst_null
            areturn
         2: .line 965
      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 967
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 968
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 969
            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 982
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnull 2
         1: .line 983
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual sun.security.x509.X509CertInfo.getEncodedInfo:()[B
            areturn
         2: .line 985
      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 994
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnonnull 2
         1: .line 995
            aconst_null
            areturn
         2: .line 996
      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 1007
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1008
            aconst_null
            areturn
         2: .line 1009
      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 1019
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1020
            aconst_null
            areturn
         2: .line 1021
      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 1022
            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 1033
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1034
            aconst_null
            areturn
         2: .line 1036
      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 1037
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1038
            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 1048
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1049
            aconst_null
            areturn
         2: .line 1051
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1052
            ldc "issuerID"
         4: .line 1051
            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 1053
            aload 1 /* id */
            ifnonnull 7
         6: .line 1054
            aconst_null
            areturn
         7: .line 1056
      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 1057
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1058
            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 1068
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1069
            aconst_null
            areturn
         2: .line 1071
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1072
            ldc "subjectID"
         4: .line 1071
            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 1073
            aload 1 /* id */
            ifnonnull 7
         6: .line 1074
            aconst_null
            areturn
         7: .line 1076
      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 1077
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1078
            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 1084
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
         1: .line 1083
            astore 1 /* aki */
        start local 1 // sun.security.x509.AuthorityKeyIdentifierExtension aki
         2: .line 1085
            aload 1 /* aki */
            ifnull 8
         3: .line 1087
            aload 1 /* aki */
         4: .line 1088
            ldc "key_id"
         5: .line 1087
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.KeyIdentifier
         6: areturn
         7: .line 1089
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.AuthorityKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         8: .line 1091
      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 1098
            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 1099
            aload 1 /* ski */
            ifnull 5
         2: .line 1101
            aload 1 /* ski */
            ldc "key_id"
            invokevirtual sun.security.x509.SubjectKeyIdentifierExtension.get:(Ljava/lang/String;)Lsun/security/x509/KeyIdentifier;
         3: areturn
         4: .line 1102
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.SubjectKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         5: .line 1104
      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 1115
            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 1114
            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 1125
            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 1124
            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 1135
            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 1134
            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 1145
            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 1144
            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 1155
            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 1154
            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 1164
            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 1163
            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 1174
            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 1173
            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 1184
            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 1183
            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 1193
            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 1192
            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 1204
            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 1203
            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 1214
            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 1213
            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 1224
            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 1223
            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 1232
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1233
            iconst_0
            ireturn
         2: .line 1235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1236
            ldc "extensions"
         4: .line 1235
            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 1237
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1238
            iconst_0
            ireturn
         7: .line 1239
      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 1240
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1241
            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 1254
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1255
            aconst_null
            areturn
         2: .line 1258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1259
            ldc "extensions"
         4: .line 1258
            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 1260
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1261
            aconst_null
            areturn
         7: .line 1263
      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 1264
            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 1265
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 12
        11: .line 1266
            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 1264
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1269
            aload 2 /* extSet */
        14: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        15: .line 1270
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1271
            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 1284
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1285
            aconst_null
            areturn
         2: .line 1288
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1289
            ldc "extensions"
         4: .line 1288
            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 1290
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1291
            aconst_null
            areturn
         7: .line 1293
      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 1294
            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 1295
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifne 12
        11: .line 1296
            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 1294
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1299
            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 1300
            aload 2 /* extSet */
        15: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        16: .line 1301
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        17: .line 1302
            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 1314
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1315
            aconst_null
            areturn
         2: .line 1320
      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 1321
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1322
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1324
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1325
            aconst_null
            areturn
         8: .line 1327
      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 1328
            aload 3 /* ex */
            ifnull 12
        10: .line 1329
            aload 3 /* ex */
        11: areturn
        12: .line 1331
      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 1332
            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 1334
            aload 4 /* ex2 */
        16: areturn
        end local 4 // sun.security.x509.Extension ex2
        17: .line 1331
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 1338
            aconst_null
            areturn
        end local 3 // sun.security.x509.Extension ex
        end local 2 // sun.security.x509.CertificateExtensions extensions
        19: .line 1340
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        20: .line 1341
            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 1346
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1347
            aconst_null
            areturn
         2: .line 1352
      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 1353
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1354
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1356
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1357
            aconst_null
            areturn
         8: .line 1359
      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 1361
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        11: .line 1362
            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=2, locals=9, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.lang.String oid
         0: .line 1374
            aload 1 /* oid */
            invokestatic sun.security.util.ObjectIdentifier.of:(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
            astore 2 /* findOID */
        start local 2 // sun.security.util.ObjectIdentifier findOID
         1: .line 1375
            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 1376
            aconst_null
            astore 4 /* certExt */
        start local 4 // sun.security.x509.Extension certExt
         3: .line 1377
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 1378
            ldc "extensions"
         5: .line 1377
            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 1380
            aload 3 /* extAlias */
            ifnonnull 17
         7: .line 1382
            aload 5 /* exts */
            ifnonnull 9
         8: .line 1383
            aconst_null
            areturn
         9: .line 1386
      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 1387
            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 1388
            aload 8 /* inCertOID */
            aload 2 /* findOID */
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 1389
            aload 6 /* ex */
            astore 4 /* certExt */
        14: .line 1390
            goto 20
        end local 8 // sun.security.util.ObjectIdentifier inCertOID
        end local 6 // sun.security.x509.Extension ex
        15: .line 1386
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        16: .line 1393
            goto 20
        17: .line 1395
      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 1396
            goto 20
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        19: pop
        20: .line 1400
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        21: .line 1401
            aload 5 /* exts */
            ifnull 23
        22: .line 1402
            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 1404
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        24: .line 1405
            aconst_null
            areturn
        25: .line 1408
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            astore 6 /* extData */
        start local 6 // byte[] extData
        26: .line 1409
            aload 6 /* extData */
            ifnonnull 28
        27: .line 1410
            aconst_null
            areturn
        28: .line 1412
      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 1413
            aload 7 /* out */
            aload 6 /* extData */
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        30: .line 1414
            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 1415
      StackMap locals: sun.security.x509.X509CertImpl java.lang.String
      StackMap stack: java.lang.Exception
            pop
        33: .line 1416
            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 1427
            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 1428
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1429
            aconst_null
            areturn
         3: .line 1431
      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 1432
            aload 2 /* certExt */
            ifnonnull 6
         5: .line 1433
            aconst_null
            areturn
         6: .line 1435
      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 1436
            aload 3 /* ret */
            arraylength
            bipush 9
            if_icmpge 11
         8: .line 1437
            bipush 9
            newarray 4
            astore 4 /* usageBits */
        start local 4 // boolean[] usageBits
         9: .line 1438
            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 1439
            aload 4 /* usageBits */
            astore 3 /* ret */
        end local 4 // boolean[] usageBits
        11: .line 1441
      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 1442
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        14: .line 1443
            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 1455
            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 1456
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
            areturn
         2: .line 1458
      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 1459
            aload 1 /* ext */
            ifnonnull 5
         4: .line 1460
            aconst_null
            areturn
         5: .line 1462
      StackMap locals: sun.security.x509.ExtendedKeyUsageExtension
      StackMap stack:
            aload 0 /* this */
         6: .line 1463
            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 1462
            putfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
         8: .line 1464
            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 1477
            aload 0 /* cert */
         1: .line 1478
            getstatic sun.security.util.KnownOIDs.extendedKeyUsage:Lsun/security/util/KnownOIDs;
            invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
         2: .line 1477
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         3: .line 1479
            aload 1 /* ext */
            ifnonnull 5
         4: .line 1480
            aconst_null
            areturn
         5: .line 1481
      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
         6: .line 1482
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         7: .line 1485
            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
         8: .line 1484
            astore 4 /* ekuExt */
        start local 4 // sun.security.x509.ExtendedKeyUsageExtension ekuExt
         9: .line 1486
            aload 4 /* ekuExt */
            invokevirtual sun.security.x509.ExtendedKeyUsageExtension.getExtendedKeyUsage:()Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
        10: 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
        11: .line 1487
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        12: .line 1488
            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   13     0    cert  Ljava/security/cert/X509Certificate;
            3   11     1     ext  [B
            6   11     2     val  Lsun/security/util/DerValue;
            7   11     3    data  [B
            9   11     4  ekuExt  Lsun/security/x509/ExtendedKeyUsageExtension;
           12   13     1     ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     4      11  Class java.io.IOException
           5    10      11  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 1499
            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 1500
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1501
            iconst_m1
            ireturn
         3: .line 1503
      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 1502
            astore 2 /* certExt */
        start local 2 // sun.security.x509.BasicConstraintsExtension certExt
         5: .line 1504
            aload 2 /* certExt */
            ifnonnull 7
         6: .line 1505
            iconst_m1
            ireturn
         7: .line 1507
      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 1508
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
         9: .line 1509
            aload 2 /* certExt */
        10: .line 1510
            ldc "path_len"
        11: .line 1509
            invokevirtual sun.security.x509.BasicConstraintsExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
        12: .line 1510
            invokevirtual java.lang.Integer.intValue:()I
        13: .line 1509
            ireturn
        14: .line 1512
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // sun.security.x509.BasicConstraintsExtension certExt
        end local 1 // java.lang.String extAlias
        15: .line 1513
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1514
            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 1528
            aload 0 /* names */
            invokevirtual sun.security.x509.GeneralNames.isEmpty:()Z
            ifeq 2
         1: .line 1529
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 1531
      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 1532
            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 1533
            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 1534
            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 1535
            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 1536
            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 1538
      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 1539
            goto 31
        11: .line 1541
      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 1542
            goto 31
        13: .line 1544
      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 1545
            goto 31
        15: .line 1547
      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 1548
            goto 31
        17: .line 1551
      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 1552
            goto 31
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        20: .line 1554
            new java.lang.RuntimeException
            dup
            ldc "IPAddress cannot be parsed"
        21: .line 1555
            aload 6 /* ioe */
        22: .line 1554
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException ioe
        23: .line 1559
      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 1560
            goto 31
        25: .line 1563
      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 1565
            aload 4 /* name */
            aload 6 /* derOut */
            invokeinterface sun.security.x509.GeneralNameInterface.encode:(Lsun/security/util/DerOutputStream;)V
        27: .line 1566
            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 1569
            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 1571
      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 1574
      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 1532
      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 1576
            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 1584
            iconst_0
            istore 1 /* mustClone */
        start local 1 // boolean mustClone
         1: .line 1585
            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 1586
            aload 2 /* nameEntry */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            instanceof byte[]
            ifeq 5
         4: .line 1588
            iconst_1
            istore 1 /* mustClone */
        end local 2 // java.util.List nameEntry
         5: .line 1585
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1591
            iload 1 /* mustClone */
            ifeq 20
         7: .line 1592
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* namesCopy */
        start local 2 // java.util.List namesCopy
         8: .line 1593
            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 1594
            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 1595
            aload 5 /* nameObject */
            instanceof byte[]
            ifeq 17
        12: .line 1597
            new java.util.ArrayList
            dup
            aload 3 /* nameEntry */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        13: .line 1596
            astore 6 /* nameEntryCopy */
        start local 6 // java.util.List nameEntryCopy
        14: .line 1598
            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 1599
            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 1600
            goto 18
        17: .line 1601
      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 1593
      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 1604
            aload 2 /* namesCopy */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 2 // java.util.List namesCopy
        20: .line 1606
      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 1619
            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 1620
            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 1623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getSubjectAlternativeNameExtension:()Lsun/security/x509/SubjectAlternativeNameExtension;
         3: .line 1622
            astore 1 /* subjectAltNameExt */
        start local 1 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
         4: .line 1624
            aload 1 /* subjectAltNameExt */
            ifnonnull 6
         5: .line 1625
            aconst_null
            areturn
         6: .line 1629
      StackMap locals: sun.security.x509.SubjectAlternativeNameExtension
      StackMap stack:
            aload 1 /* subjectAltNameExt */
         7: .line 1630
            ldc "subject_name"
         8: .line 1629
            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 1631
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1633
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1635
      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 1636
            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 1648
            aload 0 /* cert */
         1: .line 1649
            getstatic sun.security.util.KnownOIDs.SubjectAlternativeName:Lsun/security/util/KnownOIDs;
            invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
         2: .line 1648
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         3: .line 1650
            aload 1 /* ext */
            ifnonnull 5
         4: .line 1651
            aconst_null
            areturn
         5: .line 1653
      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
         6: .line 1654
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         7: .line 1657
            new sun.security.x509.SubjectAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         8: .line 1658
            aload 3 /* data */
         9: .line 1657
            invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
        10: .line 1656
            astore 4 /* subjectAltNameExt */
        start local 4 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
        11: .line 1662
            aload 4 /* subjectAltNameExt */
        12: .line 1663
            ldc "subject_name"
        13: .line 1662
            invokevirtual sun.security.x509.SubjectAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
            astore 5 /* names */
        start local 5 // sun.security.x509.GeneralNames names
        14: .line 1664
            goto 18
        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
        15: pop
        16: .line 1666
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        17: areturn
        start local 5 // sun.security.x509.GeneralNames names
        18: .line 1668
      StackMap locals: sun.security.x509.GeneralNames
      StackMap stack:
            aload 5 /* names */
            invokestatic sun.security.x509.X509CertImpl.makeAltNames:(Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
        19: 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
        20: .line 1669
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        21: .line 1670
            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   22     0               cert  Ljava/security/cert/X509Certificate;
            3   20     1                ext  [B
            6   20     2                val  Lsun/security/util/DerValue;
            7   20     3               data  [B
           11   20     4  subjectAltNameExt  Lsun/security/x509/SubjectAlternativeNameExtension;
           14   15     5              names  Lsun/security/x509/GeneralNames;
           18   20     5              names  Lsun/security/x509/GeneralNames;
           21   22     1                ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          11    14      15  Class java.io.IOException
           0     4      20  Class java.io.IOException
           5    17      20  Class java.io.IOException
          18    19      20  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 1683
            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 1684
            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 1687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerAlternativeNameExtension:()Lsun/security/x509/IssuerAlternativeNameExtension;
         3: .line 1686
            astore 1 /* issuerAltNameExt */
        start local 1 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
         4: .line 1688
            aload 1 /* issuerAltNameExt */
            ifnonnull 6
         5: .line 1689
            aconst_null
            areturn
         6: .line 1693
      StackMap locals: sun.security.x509.IssuerAlternativeNameExtension
      StackMap stack:
            aload 1 /* issuerAltNameExt */
         7: .line 1694
            ldc "issuer_name"
         8: .line 1693
            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 1695
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1697
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1699
      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 1700
            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 1712
            aload 0 /* cert */
         1: .line 1713
            getstatic sun.security.util.KnownOIDs.IssuerAlternativeName:Lsun/security/util/KnownOIDs;
            invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
         2: .line 1712
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         3: .line 1714
            aload 1 /* ext */
            ifnonnull 5
         4: .line 1715
            aconst_null
            areturn
         5: .line 1718
      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
         6: .line 1719
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         7: .line 1722
            new sun.security.x509.IssuerAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         8: .line 1723
            aload 3 /* data */
         9: .line 1722
            invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
        10: .line 1721
            astore 4 /* issuerAltNameExt */
        start local 4 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
        11: .line 1726
            aload 4 /* issuerAltNameExt */
        12: .line 1727
            ldc "issuer_name"
        13: .line 1726
            invokevirtual sun.security.x509.IssuerAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
            astore 5 /* names */
        start local 5 // sun.security.x509.GeneralNames names
        14: .line 1728
            goto 18
        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
        15: pop
        16: .line 1730
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        17: areturn
        start local 5 // sun.security.x509.GeneralNames names
        18: .line 1732
      StackMap locals: sun.security.x509.GeneralNames
      StackMap stack:
            aload 5 /* names */
            invokestatic sun.security.x509.X509CertImpl.makeAltNames:(Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
        19: 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
        20: .line 1733
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        21: .line 1734
            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   22     0              cert  Ljava/security/cert/X509Certificate;
            3   20     1               ext  [B
            6   20     2               val  Lsun/security/util/DerValue;
            7   20     3              data  [B
           11   20     4  issuerAltNameExt  Lsun/security/x509/IssuerAlternativeNameExtension;
           14   15     5             names  Lsun/security/x509/GeneralNames;
           18   20     5             names  Lsun/security/x509/GeneralNames;
           21   22     1               ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          11    14      15  Class java.io.IOException
           0     4      20  Class java.io.IOException
           5    17      20  Class java.io.IOException
          18    19      20  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 1740
            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 1739
            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 1758
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 1759
            new java.security.cert.CertificateParsingException
            dup
         2: .line 1760
            ldc "cannot over-write existing certificate"
         3: .line 1759
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1762
      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 1763
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateParsingException
            dup
         6: .line 1764
            ldc "invalid DER-encoded certificate data"
         7: .line 1763
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1766
      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 1767
            iconst_3
            anewarray sun.security.util.DerValue
            astore 2 /* seq */
        start local 2 // sun.security.util.DerValue[] seq
        10: .line 1769
            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 1770
            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 1771
            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 1773
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 17
        14: .line 1774
            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 1775
            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 1774
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 1777
      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 1778
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields invalid"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1781
      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 1782
            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 1784
            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 1785
            new java.security.cert.CertificateParsingException
            dup
            ldc "algid field overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1787
      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 1788
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1791
      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 1794
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        27: .line 1795
            ldc "algorithmID.algorithm"
        28: .line 1794
            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 1798
            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 1799
            new java.security.cert.CertificateException
            dup
            ldc "Signature algorithm mismatch"
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 1800
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.x509.X509CertImpl.readOnly:Z
        32: .line 1801
            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 1810
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
         1: .line 1811
            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 1812
            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 1813
            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 1815
            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 1817
            aload 6 /* tmp */
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 7
         6: .line 1818
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         7: .line 1821
      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 1822
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         9: .line 1823
            iload 1 /* getIssuer */
            ifne 12
        10: .line 1824
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        11: .line 1825
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        12: .line 1827
      StackMap locals:
      StackMap stack:
            aload 6 /* tmp */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 7 /* principalBytes */
        start local 7 // byte[] principalBytes
        13: .line 1828
            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 1837
            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 1838
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1839
            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 1849
            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 1850
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1851
            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 1863
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1864
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            invokevirtual sun.security.x509.X509CertImpl.getEncodedInternal:()[B
            areturn
         2: .line 1866
      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 1877
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1878
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            areturn
         2: .line 1880
      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 1889
            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 1890
            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 1891
            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 1902
            aload 0 /* cert */
            invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifeq 7
         1: .line 1904
            aload 1 /* sigProvider */
            ifnonnull 4
         2: .line 1905
            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 1906
            goto 5
         4: .line 1907
      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 1909
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 1910
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 1914
      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 1921
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* algorithm */
         1: .line 1922
            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 1921
            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=2, locals=5, args_size=2
        start local 0 // java.lang.String algorithm
        start local 1 // java.security.cert.X509Certificate cert
         0: .line 1932
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* encCertInfo */
        start local 2 // byte[] encCertInfo
         1: .line 1933
            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 1934
            aload 3 /* md */
            aload 2 /* encCertInfo */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 4 /* digest */
        start local 4 // byte[] digest
         3: .line 1935
            invokestatic java.util.HexFormat.of:()Ljava/util/HexFormat;
            invokevirtual java.util.HexFormat.withUpperCase:()Ljava/util/HexFormat;
            aload 4 /* digest */
            invokevirtual java.util.HexFormat.formatHex:([B)Ljava/lang/String;
         4: areturn
        end local 4 // byte[] digest
        end local 3 // java.security.MessageDigest md
        end local 2 // byte[] encCertInfo
         5: .line 1936
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            pop
         6: .line 1939
            ldc ""
            areturn
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // java.lang.String algorithm
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0    algorithm  Ljava/lang/String;
            0    7     1         cert  Ljava/security/cert/X509Certificate;
            1    5     2  encCertInfo  [B
            2    5     3           md  Ljava/security/MessageDigest;
            3    5     4       digest  [B
      Exception table:
        from    to  target  type
           0     4       5  Class java.security.NoSuchAlgorithmException
           0     4       5  Class java.security.cert.CertificateEncodingException
    MethodParameters:
           Name  Flags
      algorithm  
      cert       

  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 1922
            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