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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 172
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 119
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 122
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 123
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 124
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1962
            aload 0 /* this */
         7: .line 1963
            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 172
            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 186
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 119
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 122
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 123
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 124
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1962
            aload 0 /* this */
         7: .line 1963
            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 188
            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 189
            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 190
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 191
            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 193
      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 206
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 119
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 122
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 123
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 124
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1962
            aload 0 /* this */
         7: .line 1963
            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 208
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         9: .line 210
            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 215
            aload 3 /* inBuffered */
            ldc 2147483647
            invokevirtual java.io.BufferedInputStream.mark:(I)V
        11: .line 216
            aload 0 /* this */
            aload 3 /* inBuffered */
            invokevirtual sun.security.x509.X509CertImpl.readRFC1421Cert:(Ljava/io/InputStream;)Lsun/security/util/DerValue;
            astore 2 /* der */
        12: .line 217
            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 220
            aload 3 /* inBuffered */
            invokevirtual java.io.BufferedInputStream.reset:()V
        15: .line 221
            new sun.security.util.DerValue
            dup
            aload 3 /* inBuffered */
            invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
            astore 2 /* der */
        16: .line 222
            goto 21
      StackMap locals:
      StackMap stack: java.io.IOException
        17: astore 4 /* ioe1 */
        start local 4 // java.io.IOException ioe1
        18: .line 223
            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 227
            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 223
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe1
        21: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* der */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
        22: .line 232
            goto 28
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
        24: .line 233
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        25: .line 234
            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 235
            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 234
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe
        28: .line 237
      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 248
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         1: .line 249
            aconst_null
            astore 3 /* line */
        start local 3 // java.lang.String line
         2: .line 251
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 1 /* in */
            ldc "ASCII"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
         3: .line 250
            astore 4 /* certBufferedReader */
        start local 4 // java.io.BufferedReader certBufferedReader
         4: .line 253
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 3 /* line */
         5: .line 254
            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 255
            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 256
            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 255
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.IOException ioe1
        10: .line 258
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "-----BEGIN CERTIFICATE-----"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        11: .line 260
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 5 /* decstream */
        start local 5 // java.io.ByteArrayOutputStream decstream
        12: .line 262
            goto 17
        13: .line 263
      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 264
            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 265
            goto 24
        16: .line 267
      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 262
      StackMap locals:
      StackMap stack:
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
            ifnonnull 13
        18: .line 270
            goto 24
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe2 */
        start local 6 // java.io.IOException ioe2
        20: .line 271
            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 272
            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 271
            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 275
      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 278
      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 288
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 119
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 122
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 123
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 124
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1962
            aload 0 /* this */
         7: .line 1963
            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 289
            aload 0 /* this */
            aload 1 /* certInfo */
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         9: .line 290
            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 300
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 119
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 122
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 123
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 124
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1962
            aload 0 /* this */
         7: .line 1963
            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 302
            aload 0 /* this */
            aload 1 /* derVal */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
         9: .line 303
            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 304
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 305
            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 307
      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 317
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 318
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 319
            ldc "Null certificate to encode"
         3: .line 318
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 321
      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 322
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 2 /* e */
        start local 2 // java.io.IOException e
         7: .line 323
            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 325
      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 336
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 337
            new java.io.IOException
            dup
            ldc "Null certificate to encode"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 338
      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 339
            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 350
            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 359
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 360
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 361
            ldc "Null certificate to encode"
         3: .line 360
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 363
      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 384
            aload 0 /* this */
            aload 1 /* key */
            ldc ""
            invokevirtual sun.security.x509.X509CertImpl.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
         1: .line 385
            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 406
            aload 2 /* sigProvider */
            ifnonnull 2
         1: .line 407
            ldc ""
            astore 2 /* sigProvider */
         2: .line 409
      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 412
            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 413
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifeq 6
         5: .line 414
            return
         6: .line 416
      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 420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 9
         8: .line 421
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 424
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
        10: .line 425
            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 426
            aload 2 /* sigProvider */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 14
        12: .line 427
            aload 4 /* sigName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
        13: .line 428
            goto 15
        14: .line 429
      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 433
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
        16: .line 434
            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 433
            invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
        18: .line 435
            goto 23
      StackMap locals:
      StackMap stack: java.security.ProviderException
        19: astore 5 /* e */
        start local 5 // java.security.ProviderException e
        20: .line 436
            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 437
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 5 /* e */
        start local 5 // java.security.InvalidAlgorithmParameterException e
        22: .line 438
            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 441
      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 442
            aload 3 /* sigVerf */
            aload 5 /* rawCert */
            iconst_0
            aload 5 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        25: .line 445
            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 446
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        27: .line 447
            aload 0 /* this */
            aload 2 /* sigProvider */
            putfield sun.security.x509.X509CertImpl.verifiedProvider:Ljava/lang/String;
        28: .line 449
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 30
        29: .line 450
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 452
      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 474
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 475
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 478
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
         3: .line 479
            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 480
            aload 2 /* sigProvider */
            ifnonnull 7
         5: .line 481
            aload 4 /* sigName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
         6: .line 482
            goto 8
         7: .line 483
      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 487
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
         9: .line 488
            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 487
            invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
        11: .line 489
            goto 16
      StackMap locals:
      StackMap stack: java.security.ProviderException
        12: astore 5 /* e */
        start local 5 // java.security.ProviderException e
        13: .line 490
            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 491
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 5 /* e */
        start local 5 // java.security.InvalidAlgorithmParameterException e
        15: .line 492
            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 495
      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 496
            aload 3 /* sigVerf */
            aload 5 /* rawCert */
            iconst_0
            aload 5 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        18: .line 499
            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 500
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        20: .line 502
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 22
        21: .line 503
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 505
      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 526
            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 527
            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=5, 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 550
            aload 0 /* this */
            aload 1 /* key */
            aconst_null
            aload 2 /* algorithm */
            aload 3 /* provider */
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 551
            goto 4
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
         2: astore 4 /* e */
        start local 4 // java.security.InvalidAlgorithmParameterException e
         3: .line 553
            new java.security.SignatureException
            dup
            aload 4 /* e */
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.security.InvalidAlgorithmParameterException e
         4: .line 555
      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    5     0       this  Lsun/security/x509/X509CertImpl;
            0    5     1        key  Ljava/security/PrivateKey;
            0    5     2  algorithm  Ljava/lang/String;
            0    5     3   provider  Ljava/lang/String;
            3    4     4          e  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
           0     1       2  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        
      algorithm  
      provider   

  public void sign(java.security.PrivateKey, java.security.spec.AlgorithmParameterSpec, java.lang.String, java.lang.String);
    descriptor: (Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.security.PrivateKey key
        start local 2 // java.security.spec.AlgorithmParameterSpec signingParams
        start local 3 // java.lang.String algorithm
        start local 4 // java.lang.String provider
         0: .line 586
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 587
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 588
            ldc "cannot over-write existing certificate"
         3: .line 587
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 590
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* sigEngine */
        start local 5 // java.security.Signature sigEngine
         5: .line 591
            aload 4 /* provider */
            ifnull 6
            aload 4 /* provider */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 8
         6: .line 592
      StackMap locals: java.security.Signature
      StackMap stack:
            aload 3 /* algorithm */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 5 /* sigEngine */
         7: .line 593
            goto 9
         8: .line 594
      StackMap locals:
      StackMap stack:
            aload 3 /* algorithm */
            aload 4 /* provider */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
            astore 5 /* sigEngine */
         9: .line 597
      StackMap locals:
      StackMap stack:
            aload 5 /* sigEngine */
            aload 1 /* key */
            aload 2 /* signingParams */
        10: .line 598
            aconst_null
        11: .line 597
            invokestatic sun.security.util.SignatureUtil.initSignWithParam:(Ljava/security/Signature;Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
        12: .line 601
            aload 2 /* signingParams */
            ifnull 15
        13: .line 602
            aload 0 /* this */
            aload 5 /* sigEngine */
            invokevirtual java.security.Signature.getParameters:()Ljava/security/AlgorithmParameters;
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/security/AlgorithmParameters;)Lsun/security/x509/AlgorithmId;
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        14: .line 603
            goto 16
        15: .line 604
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* algorithm */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        16: .line 606
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 6 /* out */
        start local 6 // sun.security.util.DerOutputStream out
        17: .line 607
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 7 /* tmp */
        start local 7 // sun.security.util.DerOutputStream tmp
        18: .line 610
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            aload 7 /* tmp */
            invokevirtual sun.security.x509.X509CertInfo.encode:(Ljava/io/OutputStream;)V
        19: .line 611
            aload 7 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 8 /* rawCert */
        start local 8 // byte[] rawCert
        20: .line 614
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            aload 7 /* tmp */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
        21: .line 617
            aload 5 /* sigEngine */
            aload 8 /* rawCert */
            iconst_0
            aload 8 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        22: .line 618
            aload 0 /* this */
            aload 5 /* sigEngine */
            invokevirtual java.security.Signature.sign:()[B
            putfield sun.security.x509.X509CertImpl.signature:[B
        23: .line 619
            aload 7 /* tmp */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual sun.security.util.DerOutputStream.putBitString:([B)V
        24: .line 622
            aload 6 /* out */
            bipush 48
            aload 7 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        25: .line 623
            aload 0 /* this */
            aload 6 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        26: .line 624
            aload 0 /* this */
            iconst_1
            putfield sun.security.x509.X509CertImpl.readOnly:Z
        end local 8 // byte[] rawCert
        end local 7 // sun.security.util.DerOutputStream tmp
        end local 6 // sun.security.util.DerOutputStream out
        end local 5 // java.security.Signature sigEngine
        27: .line 626
            goto 30
      StackMap locals: sun.security.x509.X509CertImpl java.security.PrivateKey java.security.spec.AlgorithmParameterSpec java.lang.String java.lang.String
      StackMap stack: java.io.IOException
        28: astore 5 /* e */
        start local 5 // java.io.IOException e
        29: .line 627
            new java.security.cert.CertificateEncodingException
            dup
            aload 5 /* e */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.IOException e
        30: .line 629
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String provider
        end local 3 // java.lang.String algorithm
        end local 2 // java.security.spec.AlgorithmParameterSpec signingParams
        end local 1 // java.security.PrivateKey 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/PrivateKey;
            0   31     2  signingParams  Ljava/security/spec/AlgorithmParameterSpec;
            0   31     3      algorithm  Ljava/lang/String;
            0   31     4       provider  Ljava/lang/String;
            5   27     5      sigEngine  Ljava/security/Signature;
           17   27     6            out  Lsun/security/util/DerOutputStream;
           18   27     7            tmp  Lsun/security/util/DerOutputStream;
           20   27     8        rawCert  [B
           29   30     5              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    27      28  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException, java.security.NoSuchProviderException, java.security.SignatureException
    MethodParameters:
               Name  Flags
      key            
      signingParams  
      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 641
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 1 /* date */
        start local 1 // java.util.Date date
         1: .line 642
            aload 0 /* this */
            aload 1 /* date */
            invokevirtual sun.security.x509.X509CertImpl.checkValidity:(Ljava/util/Date;)V
         2: .line 643
            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 661
            aconst_null
            astore 2 /* interval */
        start local 2 // sun.security.x509.CertificateValidity interval
         1: .line 663
            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 664
            goto 5
      StackMap locals: sun.security.x509.X509CertImpl java.util.Date sun.security.x509.CertificateValidity
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 665
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Incorrect validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 667
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            ifnonnull 7
         6: .line 668
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Null validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 669
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            aload 1 /* date */
            invokevirtual sun.security.x509.CertificateValidity.valid:(Ljava/util/Date;)V
         8: .line 670
            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 684
            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 685
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         2: .line 686
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         3: .line 687
            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 689
            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 687
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 691
      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 692
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
         8: .line 694
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
         9: .line 695
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 11
        10: .line 696
            aconst_null
            areturn
        11: .line 698
      StackMap locals:
      StackMap stack:
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 18
        12: .line 700
            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 701
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        15: .line 702
            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 703
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 4 /* e */
        start local 4 // java.security.cert.CertificateException e
        17: .line 704
            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 707
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            areturn
        19: .line 709
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "algorithm"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 21
        20: .line 710
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            areturn
        21: .line 711
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signature"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 25
        22: .line 712
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnull 24
        23: .line 713
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        24: .line 715
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        25: .line 716
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signed_cert"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 29
        26: .line 717
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnull 28
        27: .line 718
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        28: .line 720
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        29: .line 722
      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 723
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 722
            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 738
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 739
            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 742
      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 743
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        start local 4 // java.lang.String id
         4: .line 744
            aload 4 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 745
            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 746
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 745
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 748
      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 749
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        10: .line 751
            aload 4 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 20
        11: .line 752
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnonnull 17
        12: .line 753
            aload 2 /* obj */
            instanceof sun.security.x509.X509CertInfo
            ifne 14
        13: .line 754
            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 757
      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 758
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        16: .line 759
            goto 23
        17: .line 760
      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 761
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        19: .line 763
            goto 23
        20: .line 764
      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 765
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 764
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 767
      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 779
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 780
            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 783
      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 784
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         4: .line 785
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 786
            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 788
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 786
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 790
      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 791
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        10: .line 793
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        11: .line 794
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 14
        12: .line 795
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        13: .line 796
            goto 28
        14: .line 797
      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 799
            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 800
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        18: .line 801
            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 802
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
        21: .line 803
            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 804
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        24: .line 805
            goto 28
        25: .line 806
      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 807
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 806
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 809
      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 816
            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 817
            aload 1 /* elements */
            ldc "x509.info"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         2: .line 818
            aload 1 /* elements */
            ldc "x509.algorithm"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         3: .line 819
            aload 1 /* elements */
            ldc "x509.signature"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         4: .line 820
            aload 1 /* elements */
            ldc "x509.signed_cert"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         5: .line 822
            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 829
            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 839
            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 840
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
         2: .line 842
      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 843
            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 844
            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 845
            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 843
            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 856
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 857
            aconst_null
            areturn
         2: .line 859
      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 861
            aload 1 /* key */
         4: areturn
        end local 1 // java.security.PublicKey key
         5: .line 862
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 863
            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 873
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 874
            iconst_m1
            ireturn
         2: .line 876
      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 877
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 876
            istore 1 /* vers */
        start local 1 // int vers
         5: .line 878
            iload 1 /* vers */
            iconst_1
            iadd
         6: ireturn
        end local 1 // int vers
         7: .line 879
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 880
            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 890
            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 892
            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 902
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 903
            aconst_null
            areturn
         2: .line 905
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 906
            ldc "serialNumber.number"
         4: .line 905
            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 908
            aload 1 /* ser */
         6: areturn
        end local 1 // sun.security.x509.SerialNumber ser
         7: .line 909
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 910
            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 921
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 922
            aconst_null
            areturn
         2: .line 924
      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 926
            aload 1 /* subject */
         4: areturn
        end local 1 // java.security.Principal subject
         5: .line 927
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 928
            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 938
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 939
            aconst_null
            areturn
         2: .line 942
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 943
            ldc "subject.x500principal"
         4: .line 942
            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 945
            aload 1 /* subject */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal subject
         7: .line 946
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 947
            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 957
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 958
            aconst_null
            areturn
         2: .line 960
      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 962
            aload 1 /* issuer */
         4: areturn
        end local 1 // java.security.Principal issuer
         5: .line 963
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 964
            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 974
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 975
            aconst_null
            areturn
         2: .line 978
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 979
            ldc "issuer.x500principal"
         4: .line 978
            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 981
            aload 1 /* issuer */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal issuer
         7: .line 982
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 983
            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 993
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 994
            aconst_null
            areturn
         2: .line 996
      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 998
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 999
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 1000
            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 1010
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1011
            aconst_null
            areturn
         2: .line 1013
      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 1015
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 1016
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 1017
            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 1030
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnull 2
         1: .line 1031
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual sun.security.x509.X509CertInfo.getEncodedInfo:()[B
            areturn
         2: .line 1033
      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 1042
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnonnull 2
         1: .line 1043
            aconst_null
            areturn
         2: .line 1044
      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 1055
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1056
            aconst_null
            areturn
         2: .line 1057
      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 1067
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1068
            aconst_null
            areturn
         2: .line 1069
      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 1070
            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 1081
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1082
            aconst_null
            areturn
         2: .line 1084
      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 1085
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1086
            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 1096
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1097
            aconst_null
            areturn
         2: .line 1099
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1100
            ldc "issuerID"
         4: .line 1099
            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 1101
            aload 1 /* id */
            ifnonnull 7
         6: .line 1102
            aconst_null
            areturn
         7: .line 1104
      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 1105
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1106
            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 1116
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1117
            aconst_null
            areturn
         2: .line 1119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1120
            ldc "subjectID"
         4: .line 1119
            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 1121
            aload 1 /* id */
            ifnonnull 7
         6: .line 1122
            aconst_null
            areturn
         7: .line 1124
      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 1125
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1126
            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 1132
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
         1: .line 1131
            astore 1 /* aki */
        start local 1 // sun.security.x509.AuthorityKeyIdentifierExtension aki
         2: .line 1133
            aload 1 /* aki */
            ifnull 8
         3: .line 1135
            aload 1 /* aki */
         4: .line 1136
            ldc "key_id"
         5: .line 1135
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.KeyIdentifier
         6: areturn
         7: .line 1137
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.AuthorityKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         8: .line 1139
      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 1146
            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 1147
            aload 1 /* ski */
            ifnull 5
         2: .line 1149
            aload 1 /* ski */
            ldc "key_id"
            invokevirtual sun.security.x509.SubjectKeyIdentifierExtension.get:(Ljava/lang/String;)Lsun/security/x509/KeyIdentifier;
         3: areturn
         4: .line 1150
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.SubjectKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         5: .line 1152
      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 1163
            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 1162
            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 1173
            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 1172
            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 1183
            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 1182
            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 1193
            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 1192
            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 1203
            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 1202
            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 1212
            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 1211
            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 1222
            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 1221
            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 1232
            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 1231
            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 1241
            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 1240
            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 1252
            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 1251
            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 1262
            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 1261
            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 1272
            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 1271
            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 1280
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1281
            iconst_0
            ireturn
         2: .line 1283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1284
            ldc "extensions"
         4: .line 1283
            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 1285
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1286
            iconst_0
            ireturn
         7: .line 1287
      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 1288
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1289
            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 1302
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1303
            aconst_null
            areturn
         2: .line 1306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1307
            ldc "extensions"
         4: .line 1306
            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 1308
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1309
            aconst_null
            areturn
         7: .line 1311
      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 1312
            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 1313
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 12
        11: .line 1314
            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 1312
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1317
            aload 2 /* extSet */
        14: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        15: .line 1318
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1319
            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 1332
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1333
            aconst_null
            areturn
         2: .line 1336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1337
            ldc "extensions"
         4: .line 1336
            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 1338
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1339
            aconst_null
            areturn
         7: .line 1341
      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 1342
            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 1343
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifne 12
        11: .line 1344
            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 1342
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1347
            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 1348
            aload 2 /* extSet */
        15: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        16: .line 1349
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        17: .line 1350
            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 1362
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1363
            aconst_null
            areturn
         2: .line 1368
      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 1369
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1370
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1372
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1373
            aconst_null
            areturn
         8: .line 1375
      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 1376
            aload 3 /* ex */
            ifnull 12
        10: .line 1377
            aload 3 /* ex */
        11: areturn
        12: .line 1379
      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 1380
            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 1382
            aload 4 /* ex2 */
        16: areturn
        end local 4 // sun.security.x509.Extension ex2
        17: .line 1379
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 1386
            aconst_null
            areturn
        end local 3 // sun.security.x509.Extension ex
        end local 2 // sun.security.x509.CertificateExtensions extensions
        19: .line 1388
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        20: .line 1389
            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 1394
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1395
            aconst_null
            areturn
         2: .line 1400
      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 1401
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1402
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1404
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1405
            aconst_null
            areturn
         8: .line 1407
      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 1409
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        11: .line 1410
            aconst_null
            areturn
        end local 1 // sun.security.util.ObjectIdentifier oid
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lsun/security/x509/X509CertImpl;
            0   12     1         oid  Lsun/security/util/ObjectIdentifier;
            3    4     2  extensions  Lsun/security/x509/CertificateExtensions;
            6   10     2  extensions  Lsun/security/x509/CertificateExtensions;
      Exception table:
        from    to  target  type
           2     3       4  Class java.security.cert.CertificateException
           2     5      10  Class java.io.IOException
           6     7      10  Class java.io.IOException
           8     9      10  Class java.io.IOException
    MethodParameters:
      Name  Flags
      oid   

  public byte[] getExtensionValue(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.lang.String oid
         0: .line 1422
            new sun.security.util.ObjectIdentifier
            dup
            aload 1 /* oid */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 2 /* findOID */
        start local 2 // sun.security.util.ObjectIdentifier findOID
         1: .line 1423
            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 1424
            aconst_null
            astore 4 /* certExt */
        start local 4 // sun.security.x509.Extension certExt
         3: .line 1425
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 1426
            ldc "extensions"
         5: .line 1425
            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 1428
            aload 3 /* extAlias */
            ifnonnull 17
         7: .line 1430
            aload 5 /* exts */
            ifnonnull 9
         8: .line 1431
            aconst_null
            areturn
         9: .line 1434
      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 1435
            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 1436
            aload 8 /* inCertOID */
            aload 2 /* findOID */
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 1437
            aload 6 /* ex */
            astore 4 /* certExt */
        14: .line 1438
            goto 20
        end local 8 // sun.security.util.ObjectIdentifier inCertOID
        end local 6 // sun.security.x509.Extension ex
        15: .line 1434
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        16: .line 1441
            goto 20
        17: .line 1443
      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 1444
            goto 20
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        19: pop
        20: .line 1448
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        21: .line 1449
            aload 5 /* exts */
            ifnull 23
        22: .line 1450
            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 1452
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        24: .line 1453
            aconst_null
            areturn
        25: .line 1456
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            astore 6 /* extData */
        start local 6 // byte[] extData
        26: .line 1457
            aload 6 /* extData */
            ifnonnull 28
        27: .line 1458
            aconst_null
            areturn
        28: .line 1460
      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 1461
            aload 7 /* out */
            aload 6 /* extData */
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        30: .line 1462
            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 1463
      StackMap locals: sun.security.x509.X509CertImpl java.lang.String
      StackMap stack: java.lang.Exception
            pop
        33: .line 1464
            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 1475
            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 1476
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1477
            aconst_null
            areturn
         3: .line 1479
      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 1480
            aload 2 /* certExt */
            ifnonnull 6
         5: .line 1481
            aconst_null
            areturn
         6: .line 1483
      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 1484
            aload 3 /* ret */
            arraylength
            bipush 9
            if_icmpge 11
         8: .line 1485
            bipush 9
            newarray 4
            astore 4 /* usageBits */
        start local 4 // boolean[] usageBits
         9: .line 1486
            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 1487
            aload 4 /* usageBits */
            astore 3 /* ret */
        end local 4 // boolean[] usageBits
        11: .line 1489
      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 1490
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        14: .line 1491
            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 1503
            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 1504
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
            areturn
         2: .line 1506
      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 1507
            aload 1 /* ext */
            ifnonnull 5
         4: .line 1508
            aconst_null
            areturn
         5: .line 1510
      StackMap locals: sun.security.x509.ExtendedKeyUsageExtension
      StackMap stack:
            aload 0 /* this */
         6: .line 1511
            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 1510
            putfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
         8: .line 1512
            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 1525
            aload 0 /* cert */
            ldc "2.5.29.37"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         1: .line 1526
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1527
            aconst_null
            areturn
         3: .line 1528
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 1 /* ext */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 2 /* val */
        start local 2 // sun.security.util.DerValue val
         4: .line 1529
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1532
            new sun.security.x509.ExtendedKeyUsageExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            aload 3 /* data */
            invokespecial sun.security.x509.ExtendedKeyUsageExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         6: .line 1531
            astore 4 /* ekuExt */
        start local 4 // sun.security.x509.ExtendedKeyUsageExtension ekuExt
         7: .line 1533
            aload 4 /* ekuExt */
            invokevirtual sun.security.x509.ExtendedKeyUsageExtension.getExtendedKeyUsage:()Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
         8: areturn
        end local 4 // sun.security.x509.ExtendedKeyUsageExtension ekuExt
        end local 3 // byte[] data
        end local 2 // sun.security.util.DerValue val
        end local 1 // byte[] ext
         9: .line 1534
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        10: .line 1535
            new java.security.cert.CertificateParsingException
            dup
            aload 1 /* ioe */
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    cert  Ljava/security/cert/X509Certificate;
            1    9     1     ext  [B
            4    9     2     val  Lsun/security/util/DerValue;
            5    9     3    data  [B
            7    9     4  ekuExt  Lsun/security/x509/ExtendedKeyUsageExtension;
           10   11     1     ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     2       9  Class java.io.IOException
           3     8       9  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateParsingException
    Signature: (Ljava/security/cert/X509Certificate;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      cert  

  public int getBasicConstraints();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1546
            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 1547
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1548
            iconst_m1
            ireturn
         3: .line 1550
      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 1549
            astore 2 /* certExt */
        start local 2 // sun.security.x509.BasicConstraintsExtension certExt
         5: .line 1551
            aload 2 /* certExt */
            ifnonnull 7
         6: .line 1552
            iconst_m1
            ireturn
         7: .line 1554
      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 1555
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
         9: .line 1556
            aload 2 /* certExt */
        10: .line 1557
            ldc "path_len"
        11: .line 1556
            invokevirtual sun.security.x509.BasicConstraintsExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
        12: .line 1557
            invokevirtual java.lang.Integer.intValue:()I
        13: .line 1556
            ireturn
        14: .line 1559
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // sun.security.x509.BasicConstraintsExtension certExt
        end local 1 // java.lang.String extAlias
        15: .line 1560
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1561
            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 1575
            aload 0 /* names */
            invokevirtual sun.security.x509.GeneralNames.isEmpty:()Z
            ifeq 2
         1: .line 1576
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 1578
      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 1579
            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 1580
            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 1581
            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 1582
            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 1583
            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 1585
      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 1586
            goto 31
        11: .line 1588
      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 1589
            goto 31
        13: .line 1591
      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 1592
            goto 31
        15: .line 1594
      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 1595
            goto 31
        17: .line 1598
      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 1599
            goto 31
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        20: .line 1601
            new java.lang.RuntimeException
            dup
            ldc "IPAddress cannot be parsed"
        21: .line 1602
            aload 6 /* ioe */
        22: .line 1601
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException ioe
        23: .line 1606
      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 1607
            goto 31
        25: .line 1610
      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 1612
            aload 4 /* name */
            aload 6 /* derOut */
            invokeinterface sun.security.x509.GeneralNameInterface.encode:(Lsun/security/util/DerOutputStream;)V
        27: .line 1613
            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 1616
            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 1618
      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 1621
      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 1579
      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 1623
            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 1631
            iconst_0
            istore 1 /* mustClone */
        start local 1 // boolean mustClone
         1: .line 1632
            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 1633
            aload 2 /* nameEntry */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            instanceof byte[]
            ifeq 5
         4: .line 1635
            iconst_1
            istore 1 /* mustClone */
        end local 2 // java.util.List nameEntry
         5: .line 1632
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1638
            iload 1 /* mustClone */
            ifeq 20
         7: .line 1639
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* namesCopy */
        start local 2 // java.util.List namesCopy
         8: .line 1640
            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 1641
            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 1642
            aload 5 /* nameObject */
            instanceof byte[]
            ifeq 17
        12: .line 1644
            new java.util.ArrayList
            dup
            aload 3 /* nameEntry */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        13: .line 1643
            astore 6 /* nameEntryCopy */
        start local 6 // java.util.List nameEntryCopy
        14: .line 1645
            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 1646
            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 1647
            goto 18
        17: .line 1648
      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 1640
      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 1651
            aload 2 /* namesCopy */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 2 // java.util.List namesCopy
        20: .line 1653
      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 1666
            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 1667
            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 1670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getSubjectAlternativeNameExtension:()Lsun/security/x509/SubjectAlternativeNameExtension;
         3: .line 1669
            astore 1 /* subjectAltNameExt */
        start local 1 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
         4: .line 1671
            aload 1 /* subjectAltNameExt */
            ifnonnull 6
         5: .line 1672
            aconst_null
            areturn
         6: .line 1676
      StackMap locals: sun.security.x509.SubjectAlternativeNameExtension
      StackMap stack:
            aload 1 /* subjectAltNameExt */
         7: .line 1677
            ldc "subject_name"
         8: .line 1676
            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 1678
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1680
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1682
      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 1683
            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 1695
            aload 0 /* cert */
            ldc "2.5.29.17"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         1: .line 1696
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1697
            aconst_null
            areturn
         3: .line 1699
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 1 /* ext */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 2 /* val */
        start local 2 // sun.security.util.DerValue val
         4: .line 1700
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1703
            new sun.security.x509.SubjectAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         6: .line 1704
            aload 3 /* data */
         7: .line 1703
            invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         8: .line 1702
            astore 4 /* subjectAltNameExt */
        start local 4 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
         9: .line 1708
            aload 4 /* subjectAltNameExt */
        10: .line 1709
            ldc "subject_name"
        11: .line 1708
            invokevirtual sun.security.x509.SubjectAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
            astore 5 /* names */
        start local 5 // sun.security.x509.GeneralNames names
        12: .line 1710
            goto 16
        end local 5 // sun.security.x509.GeneralNames names
      StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerValue byte[] sun.security.x509.SubjectAlternativeNameExtension
      StackMap stack: java.io.IOException
        13: pop
        14: .line 1712
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        15: areturn
        start local 5 // sun.security.x509.GeneralNames names
        16: .line 1714
      StackMap locals: sun.security.x509.GeneralNames
      StackMap stack:
            aload 5 /* names */
            invokestatic sun.security.x509.X509CertImpl.makeAltNames:(Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
        17: areturn
        end local 5 // sun.security.x509.GeneralNames names
        end local 4 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
        end local 3 // byte[] data
        end local 2 // sun.security.util.DerValue val
        end local 1 // byte[] ext
        18: .line 1715
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        19: .line 1716
            new java.security.cert.CertificateParsingException
            dup
            aload 1 /* ioe */
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               cert  Ljava/security/cert/X509Certificate;
            1   18     1                ext  [B
            4   18     2                val  Lsun/security/util/DerValue;
            5   18     3               data  [B
            9   18     4  subjectAltNameExt  Lsun/security/x509/SubjectAlternativeNameExtension;
           12   13     5              names  Lsun/security/x509/GeneralNames;
           16   18     5              names  Lsun/security/x509/GeneralNames;
           19   20     1                ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    12      13  Class java.io.IOException
           0     2      18  Class java.io.IOException
           3    15      18  Class java.io.IOException
          16    17      18  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateParsingException
    Signature: (Ljava/security/cert/X509Certificate;)Ljava/util/Collection<Ljava/util/List<*>;>;
    MethodParameters:
      Name  Flags
      cert  

  public synchronized java.util.Collection<java.util.List<?>> getIssuerAlternativeNames();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1729
            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 1730
            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 1733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerAlternativeNameExtension:()Lsun/security/x509/IssuerAlternativeNameExtension;
         3: .line 1732
            astore 1 /* issuerAltNameExt */
        start local 1 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
         4: .line 1734
            aload 1 /* issuerAltNameExt */
            ifnonnull 6
         5: .line 1735
            aconst_null
            areturn
         6: .line 1739
      StackMap locals: sun.security.x509.IssuerAlternativeNameExtension
      StackMap stack:
            aload 1 /* issuerAltNameExt */
         7: .line 1740
            ldc "issuer_name"
         8: .line 1739
            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 1741
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1743
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1745
      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 1746
            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 1758
            aload 0 /* cert */
            ldc "2.5.29.18"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 1 /* ext */
        start local 1 // byte[] ext
         1: .line 1759
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1760
            aconst_null
            areturn
         3: .line 1763
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.util.DerValue
            dup
            aload 1 /* ext */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 2 /* val */
        start local 2 // sun.security.util.DerValue val
         4: .line 1764
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1767
            new sun.security.x509.IssuerAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         6: .line 1768
            aload 3 /* data */
         7: .line 1767
            invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         8: .line 1766
            astore 4 /* issuerAltNameExt */
        start local 4 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
         9: .line 1771
            aload 4 /* issuerAltNameExt */
        10: .line 1772
            ldc "issuer_name"
        11: .line 1771
            invokevirtual sun.security.x509.IssuerAlternativeNameExtension.get:(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
            astore 5 /* names */
        start local 5 // sun.security.x509.GeneralNames names
        12: .line 1773
            goto 16
        end local 5 // sun.security.x509.GeneralNames names
      StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerValue byte[] sun.security.x509.IssuerAlternativeNameExtension
      StackMap stack: java.io.IOException
        13: pop
        14: .line 1775
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        15: areturn
        start local 5 // sun.security.x509.GeneralNames names
        16: .line 1777
      StackMap locals: sun.security.x509.GeneralNames
      StackMap stack:
            aload 5 /* names */
            invokestatic sun.security.x509.X509CertImpl.makeAltNames:(Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
        17: areturn
        end local 5 // sun.security.x509.GeneralNames names
        end local 4 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
        end local 3 // byte[] data
        end local 2 // sun.security.util.DerValue val
        end local 1 // byte[] ext
        18: .line 1778
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        19: .line 1779
            new java.security.cert.CertificateParsingException
            dup
            aload 1 /* ioe */
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              cert  Ljava/security/cert/X509Certificate;
            1   18     1               ext  [B
            4   18     2               val  Lsun/security/util/DerValue;
            5   18     3              data  [B
            9   18     4  issuerAltNameExt  Lsun/security/x509/IssuerAlternativeNameExtension;
           12   13     5             names  Lsun/security/x509/GeneralNames;
           16   18     5             names  Lsun/security/x509/GeneralNames;
           19   20     1               ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    12      13  Class java.io.IOException
           0     2      18  Class java.io.IOException
           3    15      18  Class java.io.IOException
          16    17      18  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateParsingException
    Signature: (Ljava/security/cert/X509Certificate;)Ljava/util/Collection<Ljava/util/List<*>;>;
    MethodParameters:
      Name  Flags
      cert  

  public sun.security.x509.AuthorityInfoAccessExtension getAuthorityInfoAccessExtension();
    descriptor: ()Lsun/security/x509/AuthorityInfoAccessExtension;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.x509.X509CertImpl this
         0: .line 1785
            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 1784
            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 1803
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 1804
            new java.security.cert.CertificateParsingException
            dup
         2: .line 1805
            ldc "cannot over-write existing certificate"
         3: .line 1804
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1807
      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 1808
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateParsingException
            dup
         6: .line 1809
            ldc "invalid DER-encoded certificate data"
         7: .line 1808
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1811
      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 1812
            iconst_3
            anewarray sun.security.util.DerValue
            astore 2 /* seq */
        start local 2 // sun.security.util.DerValue[] seq
        10: .line 1814
            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 1815
            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 1816
            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 1818
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 17
        14: .line 1819
            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 1820
            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 1819
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 1822
      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 1823
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields invalid"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1826
      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 1827
            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 1829
            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 1830
            new java.security.cert.CertificateParsingException
            dup
            ldc "algid field overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1832
      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 1833
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1836
      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 1839
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        27: .line 1840
            ldc "algorithmID.algorithm"
        28: .line 1839
            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 1843
            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 1844
            new java.security.cert.CertificateException
            dup
            ldc "Signature algorithm mismatch"
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 1845
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.x509.X509CertImpl.readOnly:Z
        32: .line 1846
            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 1855
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
         1: .line 1856
            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 1857
            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 1858
            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 1860
            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 1862
            aload 6 /* tmp */
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 7
         6: .line 1863
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         7: .line 1866
      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 1867
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         9: .line 1868
            iload 1 /* getIssuer */
            ifne 12
        10: .line 1869
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        11: .line 1870
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        12: .line 1872
      StackMap locals:
      StackMap stack:
            aload 6 /* tmp */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 7 /* principalBytes */
        start local 7 // byte[] principalBytes
        13: .line 1873
            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 1882
            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 1883
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1884
            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 1894
            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 1895
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1896
            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 1908
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1909
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            invokevirtual sun.security.x509.X509CertImpl.getEncodedInternal:()[B
            areturn
         2: .line 1911
      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 1922
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1923
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            areturn
         2: .line 1925
      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 1934
            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 1935
            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 1936
            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 1947
            aload 0 /* cert */
            invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifeq 7
         1: .line 1949
            aload 1 /* sigProvider */
            ifnonnull 4
         2: .line 1950
            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 1951
            goto 5
         4: .line 1952
      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 1954
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 1955
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 1959
      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 1966
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* algorithm */
         1: .line 1967
            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 1966
            invokevirtual java.util.concurrent.ConcurrentHashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String algorithm
        end local 0 // sun.security.x509.X509CertImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/security/x509/X509CertImpl;
            0    3     1  algorithm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      algorithm  

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

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

  private java.lang.String lambda$0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.x509.X509CertImpl this
        start local 1 // java.lang.String x
         0: .line 1967
            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