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 178
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 125
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1968
            aload 0 /* this */
         7: .line 1969
            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 178
            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 192
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 125
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1968
            aload 0 /* this */
         7: .line 1969
            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 194
            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 195
            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 196
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 197
            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 199
      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 212
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 125
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1968
            aload 0 /* this */
         7: .line 1969
            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 214
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         9: .line 216
            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 221
            aload 3 /* inBuffered */
            ldc 2147483647
            invokevirtual java.io.BufferedInputStream.mark:(I)V
        11: .line 222
            aload 0 /* this */
            aload 3 /* inBuffered */
            invokevirtual sun.security.x509.X509CertImpl.readRFC1421Cert:(Ljava/io/InputStream;)Lsun/security/util/DerValue;
            astore 2 /* der */
        12: .line 223
            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 226
            aload 3 /* inBuffered */
            invokevirtual java.io.BufferedInputStream.reset:()V
        15: .line 227
            new sun.security.util.DerValue
            dup
            aload 3 /* inBuffered */
            invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
            astore 2 /* der */
        16: .line 228
            goto 21
      StackMap locals:
      StackMap stack: java.io.IOException
        17: astore 4 /* ioe1 */
        start local 4 // java.io.IOException ioe1
        18: .line 229
            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 233
            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 229
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe1
        21: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* der */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
        22: .line 238
            goto 28
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
        24: .line 239
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        25: .line 240
            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 241
            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 240
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe
        28: .line 243
      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 254
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         1: .line 255
            aconst_null
            astore 3 /* line */
        start local 3 // java.lang.String line
         2: .line 257
            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 256
            astore 4 /* certBufferedReader */
        start local 4 // java.io.BufferedReader certBufferedReader
         4: .line 259
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 3 /* line */
         5: .line 260
            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 261
            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 262
            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 261
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.IOException ioe1
        10: .line 264
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "-----BEGIN CERTIFICATE-----"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        11: .line 266
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 5 /* decstream */
        start local 5 // java.io.ByteArrayOutputStream decstream
        12: .line 268
            goto 17
        13: .line 269
      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 270
            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 271
            goto 24
        16: .line 273
      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 268
      StackMap locals:
      StackMap stack:
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
            ifnonnull 13
        18: .line 276
            goto 24
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe2 */
        start local 6 // java.io.IOException ioe2
        20: .line 277
            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 278
            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 277
            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 281
      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 284
      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 294
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 125
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1968
            aload 0 /* this */
         7: .line 1969
            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 295
            aload 0 /* this */
            aload 1 /* certInfo */
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         9: .line 296
            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 306
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 125
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1968
            aload 0 /* this */
         7: .line 1969
            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 308
            aload 0 /* this */
            aload 1 /* derVal */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
         9: .line 309
            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 310
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 311
            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 313
      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 323
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 324
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 325
            ldc "Null certificate to encode"
         3: .line 324
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 327
      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 328
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 2 /* e */
        start local 2 // java.io.IOException e
         7: .line 329
            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 331
      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 342
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 343
            new java.io.IOException
            dup
            ldc "Null certificate to encode"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 344
      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 345
            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 356
            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 365
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 366
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 367
            ldc "Null certificate to encode"
         3: .line 366
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 369
      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 390
            aload 0 /* this */
            aload 1 /* key */
            ldc ""
            invokevirtual sun.security.x509.X509CertImpl.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
         1: .line 391
            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 412
            aload 2 /* sigProvider */
            ifnonnull 2
         1: .line 413
            ldc ""
            astore 2 /* sigProvider */
         2: .line 415
      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 418
            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 419
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifeq 6
         5: .line 420
            return
         6: .line 422
      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 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 9
         8: .line 427
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 430
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
        10: .line 431
            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 432
            aload 2 /* sigProvider */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 14
        12: .line 433
            aload 4 /* sigName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
        13: .line 434
            goto 15
        14: .line 435
      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 439
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
        16: .line 440
            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 439
            invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
        18: .line 441
            goto 23
      StackMap locals:
      StackMap stack: java.security.ProviderException
        19: astore 5 /* e */
        start local 5 // java.security.ProviderException e
        20: .line 442
            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 443
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 5 /* e */
        start local 5 // java.security.InvalidAlgorithmParameterException e
        22: .line 444
            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 447
      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 448
            aload 3 /* sigVerf */
            aload 5 /* rawCert */
            iconst_0
            aload 5 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        25: .line 451
            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 452
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        27: .line 453
            aload 0 /* this */
            aload 2 /* sigProvider */
            putfield sun.security.x509.X509CertImpl.verifiedProvider:Ljava/lang/String;
        28: .line 455
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 30
        29: .line 456
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 458
      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 480
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 481
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 484
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
         3: .line 485
            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 486
            aload 2 /* sigProvider */
            ifnonnull 7
         5: .line 487
            aload 4 /* sigName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
         6: .line 488
            goto 8
         7: .line 489
      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 493
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
         9: .line 494
            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 493
            invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
        11: .line 495
            goto 16
      StackMap locals:
      StackMap stack: java.security.ProviderException
        12: astore 5 /* e */
        start local 5 // java.security.ProviderException e
        13: .line 496
            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 497
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 5 /* e */
        start local 5 // java.security.InvalidAlgorithmParameterException e
        15: .line 498
            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 501
      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 502
            aload 3 /* sigVerf */
            aload 5 /* rawCert */
            iconst_0
            aload 5 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        18: .line 505
            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 506
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        20: .line 508
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 22
        21: .line 509
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 511
      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 532
            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 533
            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 556
            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 557
            goto 4
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
         2: astore 4 /* e */
        start local 4 // java.security.InvalidAlgorithmParameterException e
         3: .line 559
            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 561
      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 592
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 593
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 594
            ldc "cannot over-write existing certificate"
         3: .line 593
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 596
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* sigEngine */
        start local 5 // java.security.Signature sigEngine
         5: .line 597
            aload 4 /* provider */
            ifnull 6
            aload 4 /* provider */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 8
         6: .line 598
      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 599
            goto 9
         8: .line 600
      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 603
      StackMap locals:
      StackMap stack:
            aload 5 /* sigEngine */
            aload 1 /* key */
            aload 2 /* signingParams */
        10: .line 604
            aconst_null
        11: .line 603
            invokestatic sun.security.util.SignatureUtil.initSignWithParam:(Ljava/security/Signature;Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
        12: .line 606
            aload 2 /* signingParams */
            ifnull 15
        13: .line 607
            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 608
            goto 16
        15: .line 610
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sigEngine */
            invokevirtual java.security.Signature.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        16: .line 612
      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 613
            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 616
            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 617
            aload 7 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 8 /* rawCert */
        start local 8 // byte[] rawCert
        20: .line 620
            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 623
            aload 5 /* sigEngine */
            aload 8 /* rawCert */
            iconst_0
            aload 8 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        22: .line 624
            aload 0 /* this */
            aload 5 /* sigEngine */
            invokevirtual java.security.Signature.sign:()[B
            putfield sun.security.x509.X509CertImpl.signature:[B
        23: .line 625
            aload 7 /* tmp */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual sun.security.util.DerOutputStream.putBitString:([B)V
        24: .line 628
            aload 6 /* out */
            bipush 48
            aload 7 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        25: .line 629
            aload 0 /* this */
            aload 6 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        26: .line 630
            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 632
            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 633
            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 635
      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 647
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 1 /* date */
        start local 1 // java.util.Date date
         1: .line 648
            aload 0 /* this */
            aload 1 /* date */
            invokevirtual sun.security.x509.X509CertImpl.checkValidity:(Ljava/util/Date;)V
         2: .line 649
            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 667
            aconst_null
            astore 2 /* interval */
        start local 2 // sun.security.x509.CertificateValidity interval
         1: .line 669
            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 670
            goto 5
      StackMap locals: sun.security.x509.X509CertImpl java.util.Date sun.security.x509.CertificateValidity
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 671
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Incorrect validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 673
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            ifnonnull 7
         6: .line 674
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Null validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 675
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            aload 1 /* date */
            invokevirtual sun.security.x509.CertificateValidity.valid:(Ljava/util/Date;)V
         8: .line 676
            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 690
            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 691
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         2: .line 692
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         3: .line 693
            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 695
            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 693
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 697
      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 698
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
         8: .line 700
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
         9: .line 701
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 11
        10: .line 702
            aconst_null
            areturn
        11: .line 704
      StackMap locals:
      StackMap stack:
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 18
        12: .line 706
            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 707
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        15: .line 708
            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 709
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 4 /* e */
        start local 4 // java.security.cert.CertificateException e
        17: .line 710
            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 713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            areturn
        19: .line 715
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "algorithm"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 21
        20: .line 716
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            areturn
        21: .line 717
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signature"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 25
        22: .line 718
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnull 24
        23: .line 719
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        24: .line 721
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        25: .line 722
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signed_cert"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 29
        26: .line 723
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnull 28
        27: .line 724
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        28: .line 726
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        29: .line 728
      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 729
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 728
            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 744
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 745
            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 748
      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 749
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        start local 4 // java.lang.String id
         4: .line 750
            aload 4 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 751
            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 752
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 751
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 754
      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 755
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        10: .line 757
            aload 4 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 20
        11: .line 758
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnonnull 17
        12: .line 759
            aload 2 /* obj */
            instanceof sun.security.x509.X509CertInfo
            ifne 14
        13: .line 760
            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 763
      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 764
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        16: .line 765
            goto 23
        17: .line 766
      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 767
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        19: .line 769
            goto 23
        20: .line 770
      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 771
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 770
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 773
      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 785
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 786
            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 789
      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 790
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         4: .line 791
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 792
            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 794
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 792
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 796
      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 797
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        10: .line 799
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        11: .line 800
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 14
        12: .line 801
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        13: .line 802
            goto 28
        14: .line 803
      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 805
            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 806
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        18: .line 807
            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 808
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
        21: .line 809
            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 810
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        24: .line 811
            goto 28
        25: .line 812
      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 813
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 812
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 815
      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 822
            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 823
            aload 1 /* elements */
            ldc "x509.info"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         2: .line 824
            aload 1 /* elements */
            ldc "x509.algorithm"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         3: .line 825
            aload 1 /* elements */
            ldc "x509.signature"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         4: .line 826
            aload 1 /* elements */
            ldc "x509.signed_cert"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         5: .line 828
            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 835
            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 845
            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 846
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
         2: .line 848
      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 849
            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 850
            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 851
            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 849
            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 862
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 863
            aconst_null
            areturn
         2: .line 865
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            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 867
            aload 1 /* key */
         4: areturn
        end local 1 // java.security.PublicKey key
         5: .line 868
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 869
            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 879
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 880
            iconst_m1
            ireturn
         2: .line 882
      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 883
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 882
            istore 1 /* vers */
        start local 1 // int vers
         5: .line 884
            iload 1 /* vers */
            iconst_1
            iadd
         6: ireturn
        end local 1 // int vers
         7: .line 885
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 886
            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 896
            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 898
            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 908
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 909
            aconst_null
            areturn
         2: .line 911
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 912
            ldc "serialNumber.number"
         4: .line 911
            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 914
            aload 1 /* ser */
         6: areturn
        end local 1 // sun.security.x509.SerialNumber ser
         7: .line 915
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 916
            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 927
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 928
            aconst_null
            areturn
         2: .line 930
      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 932
            aload 1 /* subject */
         4: areturn
        end local 1 // java.security.Principal subject
         5: .line 933
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 934
            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 944
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 945
            aconst_null
            areturn
         2: .line 948
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 949
            ldc "subject.x500principal"
         4: .line 948
            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 951
            aload 1 /* subject */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal subject
         7: .line 952
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 953
            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 963
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 964
            aconst_null
            areturn
         2: .line 966
      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 968
            aload 1 /* issuer */
         4: areturn
        end local 1 // java.security.Principal issuer
         5: .line 969
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 970
            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 980
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 981
            aconst_null
            areturn
         2: .line 984
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 985
            ldc "issuer.x500principal"
         4: .line 984
            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 987
            aload 1 /* issuer */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal issuer
         7: .line 988
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 989
            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 999
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1000
            aconst_null
            areturn
         2: .line 1002
      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 1004
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 1005
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 1006
            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 1016
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1017
            aconst_null
            areturn
         2: .line 1019
      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 1021
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 1022
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 1023
            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 1036
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnull 2
         1: .line 1037
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual sun.security.x509.X509CertInfo.getEncodedInfo:()[B
            areturn
         2: .line 1039
      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 1048
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnonnull 2
         1: .line 1049
            aconst_null
            areturn
         2: .line 1050
      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 1061
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1062
            aconst_null
            areturn
         2: .line 1063
      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 1073
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1074
            aconst_null
            areturn
         2: .line 1075
      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 1076
            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 1087
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1088
            aconst_null
            areturn
         2: .line 1090
      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 1091
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1092
            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 1102
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1103
            aconst_null
            areturn
         2: .line 1105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1106
            ldc "issuerID"
         4: .line 1105
            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 1107
            aload 1 /* id */
            ifnonnull 7
         6: .line 1108
            aconst_null
            areturn
         7: .line 1110
      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 1111
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1112
            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 1122
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1123
            aconst_null
            areturn
         2: .line 1125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1126
            ldc "subjectID"
         4: .line 1125
            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 1127
            aload 1 /* id */
            ifnonnull 7
         6: .line 1128
            aconst_null
            areturn
         7: .line 1130
      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 1131
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1132
            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 1138
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
         1: .line 1137
            astore 1 /* aki */
        start local 1 // sun.security.x509.AuthorityKeyIdentifierExtension aki
         2: .line 1139
            aload 1 /* aki */
            ifnull 8
         3: .line 1141
            aload 1 /* aki */
         4: .line 1142
            ldc "key_id"
         5: .line 1141
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.KeyIdentifier
         6: areturn
         7: .line 1143
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.AuthorityKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         8: .line 1145
      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 1152
            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 1153
            aload 1 /* ski */
            ifnull 5
         2: .line 1155
            aload 1 /* ski */
            ldc "key_id"
            invokevirtual sun.security.x509.SubjectKeyIdentifierExtension.get:(Ljava/lang/String;)Lsun/security/x509/KeyIdentifier;
         3: areturn
         4: .line 1156
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.SubjectKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         5: .line 1158
      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 1169
            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 1168
            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 1179
            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 1178
            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 1189
            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 1188
            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 1199
            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 1198
            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 1209
            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 1208
            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 1218
            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 1217
            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 1228
            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 1227
            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 1238
            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 1237
            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 1247
            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 1246
            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 1258
            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 1257
            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 1268
            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 1267
            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 1278
            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 1277
            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 1286
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1287
            iconst_0
            ireturn
         2: .line 1289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1290
            ldc "extensions"
         4: .line 1289
            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 1291
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1292
            iconst_0
            ireturn
         7: .line 1293
      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 1294
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1295
            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 1308
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1309
            aconst_null
            areturn
         2: .line 1312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1313
            ldc "extensions"
         4: .line 1312
            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 1314
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1315
            aconst_null
            areturn
         7: .line 1317
      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 1318
            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 1319
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 12
        11: .line 1320
            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 1318
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1323
            aload 2 /* extSet */
        14: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        15: .line 1324
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1325
            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 1338
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1339
            aconst_null
            areturn
         2: .line 1342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1343
            ldc "extensions"
         4: .line 1342
            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 1344
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1345
            aconst_null
            areturn
         7: .line 1347
      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 1348
            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 1349
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifne 12
        11: .line 1350
            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 1348
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1353
            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 1354
            aload 2 /* extSet */
        15: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        16: .line 1355
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        17: .line 1356
            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 1368
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1369
            aconst_null
            areturn
         2: .line 1374
      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 1375
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1376
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1378
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1379
            aconst_null
            areturn
         8: .line 1381
      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 1382
            aload 3 /* ex */
            ifnull 12
        10: .line 1383
            aload 3 /* ex */
        11: areturn
        12: .line 1385
      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 1386
            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 1388
            aload 4 /* ex2 */
        16: areturn
        end local 4 // sun.security.x509.Extension ex2
        17: .line 1385
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 1392
            aconst_null
            areturn
        end local 3 // sun.security.x509.Extension ex
        end local 2 // sun.security.x509.CertificateExtensions extensions
        19: .line 1394
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        20: .line 1395
            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 1400
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1401
            aconst_null
            areturn
         2: .line 1406
      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 1407
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1408
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1410
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1411
            aconst_null
            areturn
         8: .line 1413
      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 1415
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        11: .line 1416
            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 1428
            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 1429
            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 1430
            aconst_null
            astore 4 /* certExt */
        start local 4 // sun.security.x509.Extension certExt
         3: .line 1431
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 1432
            ldc "extensions"
         5: .line 1431
            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 1434
            aload 3 /* extAlias */
            ifnonnull 17
         7: .line 1436
            aload 5 /* exts */
            ifnonnull 9
         8: .line 1437
            aconst_null
            areturn
         9: .line 1440
      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 1441
            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 1442
            aload 8 /* inCertOID */
            aload 2 /* findOID */
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 1443
            aload 6 /* ex */
            astore 4 /* certExt */
        14: .line 1444
            goto 20
        end local 8 // sun.security.util.ObjectIdentifier inCertOID
        end local 6 // sun.security.x509.Extension ex
        15: .line 1440
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        16: .line 1447
            goto 20
        17: .line 1449
      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 1450
            goto 20
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        19: pop
        20: .line 1454
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        21: .line 1455
            aload 5 /* exts */
            ifnull 23
        22: .line 1456
            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 1458
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        24: .line 1459
            aconst_null
            areturn
        25: .line 1462
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            astore 6 /* extData */
        start local 6 // byte[] extData
        26: .line 1463
            aload 6 /* extData */
            ifnonnull 28
        27: .line 1464
            aconst_null
            areturn
        28: .line 1466
      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 1467
            aload 7 /* out */
            aload 6 /* extData */
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        30: .line 1468
            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 1469
      StackMap locals: sun.security.x509.X509CertImpl java.lang.String
      StackMap stack: java.lang.Exception
            pop
        33: .line 1470
            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 1481
            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 1482
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1483
            aconst_null
            areturn
         3: .line 1485
      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 1486
            aload 2 /* certExt */
            ifnonnull 6
         5: .line 1487
            aconst_null
            areturn
         6: .line 1489
      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 1490
            aload 3 /* ret */
            arraylength
            bipush 9
            if_icmpge 11
         8: .line 1491
            bipush 9
            newarray 4
            astore 4 /* usageBits */
        start local 4 // boolean[] usageBits
         9: .line 1492
            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 1493
            aload 4 /* usageBits */
            astore 3 /* ret */
        end local 4 // boolean[] usageBits
        11: .line 1495
      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 1496
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        14: .line 1497
            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 1509
            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 1510
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
            areturn
         2: .line 1512
      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 1513
            aload 1 /* ext */
            ifnonnull 5
         4: .line 1514
            aconst_null
            areturn
         5: .line 1516
      StackMap locals: sun.security.x509.ExtendedKeyUsageExtension
      StackMap stack:
            aload 0 /* this */
         6: .line 1517
            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 1516
            putfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
         8: .line 1518
            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 1531
            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 1532
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1533
            aconst_null
            areturn
         3: .line 1534
      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 1535
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1538
            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 1537
            astore 4 /* ekuExt */
        start local 4 // sun.security.x509.ExtendedKeyUsageExtension ekuExt
         7: .line 1539
            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 1540
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        10: .line 1541
            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 1552
            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 1553
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1554
            iconst_m1
            ireturn
         3: .line 1556
      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 1555
            astore 2 /* certExt */
        start local 2 // sun.security.x509.BasicConstraintsExtension certExt
         5: .line 1557
            aload 2 /* certExt */
            ifnonnull 7
         6: .line 1558
            iconst_m1
            ireturn
         7: .line 1560
      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 1561
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
         9: .line 1562
            aload 2 /* certExt */
        10: .line 1563
            ldc "path_len"
        11: .line 1562
            invokevirtual sun.security.x509.BasicConstraintsExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
        12: .line 1563
            invokevirtual java.lang.Integer.intValue:()I
        13: .line 1562
            ireturn
        14: .line 1565
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // sun.security.x509.BasicConstraintsExtension certExt
        end local 1 // java.lang.String extAlias
        15: .line 1566
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1567
            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 1581
            aload 0 /* names */
            invokevirtual sun.security.x509.GeneralNames.isEmpty:()Z
            ifeq 2
         1: .line 1582
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 1584
      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 1585
            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 1586
            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 1587
            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 1588
            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 1589
            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 1591
      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 1592
            goto 31
        11: .line 1594
      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 1595
            goto 31
        13: .line 1597
      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 1598
            goto 31
        15: .line 1600
      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 1601
            goto 31
        17: .line 1604
      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 1605
            goto 31
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        20: .line 1607
            new java.lang.RuntimeException
            dup
            ldc "IPAddress cannot be parsed"
        21: .line 1608
            aload 6 /* ioe */
        22: .line 1607
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException ioe
        23: .line 1612
      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 1613
            goto 31
        25: .line 1616
      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 1618
            aload 4 /* name */
            aload 6 /* derOut */
            invokeinterface sun.security.x509.GeneralNameInterface.encode:(Lsun/security/util/DerOutputStream;)V
        27: .line 1619
            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 1622
            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 1624
      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 1627
      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 1585
      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 1629
            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 1637
            iconst_0
            istore 1 /* mustClone */
        start local 1 // boolean mustClone
         1: .line 1638
            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 1639
            aload 2 /* nameEntry */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            instanceof byte[]
            ifeq 5
         4: .line 1641
            iconst_1
            istore 1 /* mustClone */
        end local 2 // java.util.List nameEntry
         5: .line 1638
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1644
            iload 1 /* mustClone */
            ifeq 20
         7: .line 1645
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* namesCopy */
        start local 2 // java.util.List namesCopy
         8: .line 1646
            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 1647
            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 1648
            aload 5 /* nameObject */
            instanceof byte[]
            ifeq 17
        12: .line 1650
            new java.util.ArrayList
            dup
            aload 3 /* nameEntry */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        13: .line 1649
            astore 6 /* nameEntryCopy */
        start local 6 // java.util.List nameEntryCopy
        14: .line 1651
            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 1652
            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 1653
            goto 18
        17: .line 1654
      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 1646
      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 1657
            aload 2 /* namesCopy */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 2 // java.util.List namesCopy
        20: .line 1659
      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 1672
            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 1673
            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 1676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getSubjectAlternativeNameExtension:()Lsun/security/x509/SubjectAlternativeNameExtension;
         3: .line 1675
            astore 1 /* subjectAltNameExt */
        start local 1 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
         4: .line 1677
            aload 1 /* subjectAltNameExt */
            ifnonnull 6
         5: .line 1678
            aconst_null
            areturn
         6: .line 1682
      StackMap locals: sun.security.x509.SubjectAlternativeNameExtension
      StackMap stack:
            aload 1 /* subjectAltNameExt */
         7: .line 1683
            ldc "subject_name"
         8: .line 1682
            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 1684
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1686
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1688
      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 1689
            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 1701
            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 1702
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1703
            aconst_null
            areturn
         3: .line 1705
      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 1706
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1709
            new sun.security.x509.SubjectAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         6: .line 1710
            aload 3 /* data */
         7: .line 1709
            invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         8: .line 1708
            astore 4 /* subjectAltNameExt */
        start local 4 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
         9: .line 1714
            aload 4 /* subjectAltNameExt */
        10: .line 1715
            ldc "subject_name"
        11: .line 1714
            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 1716
            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 1718
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        15: areturn
        start local 5 // sun.security.x509.GeneralNames names
        16: .line 1720
      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 1721
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        19: .line 1722
            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 1735
            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 1736
            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 1739
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerAlternativeNameExtension:()Lsun/security/x509/IssuerAlternativeNameExtension;
         3: .line 1738
            astore 1 /* issuerAltNameExt */
        start local 1 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
         4: .line 1740
            aload 1 /* issuerAltNameExt */
            ifnonnull 6
         5: .line 1741
            aconst_null
            areturn
         6: .line 1745
      StackMap locals: sun.security.x509.IssuerAlternativeNameExtension
      StackMap stack:
            aload 1 /* issuerAltNameExt */
         7: .line 1746
            ldc "issuer_name"
         8: .line 1745
            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 1747
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1749
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1751
      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 1752
            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 1764
            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 1765
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1766
            aconst_null
            areturn
         3: .line 1769
      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 1770
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1773
            new sun.security.x509.IssuerAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         6: .line 1774
            aload 3 /* data */
         7: .line 1773
            invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         8: .line 1772
            astore 4 /* issuerAltNameExt */
        start local 4 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
         9: .line 1777
            aload 4 /* issuerAltNameExt */
        10: .line 1778
            ldc "issuer_name"
        11: .line 1777
            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 1779
            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 1781
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        15: areturn
        start local 5 // sun.security.x509.GeneralNames names
        16: .line 1783
      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 1784
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        19: .line 1785
            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 1791
            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 1790
            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 1809
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 1810
            new java.security.cert.CertificateParsingException
            dup
         2: .line 1811
            ldc "cannot over-write existing certificate"
         3: .line 1810
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1813
      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 1814
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateParsingException
            dup
         6: .line 1815
            ldc "invalid DER-encoded certificate data"
         7: .line 1814
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1817
      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 1818
            iconst_3
            anewarray sun.security.util.DerValue
            astore 2 /* seq */
        start local 2 // sun.security.util.DerValue[] seq
        10: .line 1820
            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 1821
            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 1822
            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 1824
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 17
        14: .line 1825
            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 1826
            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 1825
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 1828
      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 1829
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields invalid"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1832
      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 1833
            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 1835
            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 1836
            new java.security.cert.CertificateParsingException
            dup
            ldc "algid field overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1838
      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 1839
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1842
      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 1845
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        27: .line 1846
            ldc "algorithmID.algorithm"
        28: .line 1845
            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 1849
            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 1850
            new java.security.cert.CertificateException
            dup
            ldc "Signature algorithm mismatch"
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 1851
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.x509.X509CertImpl.readOnly:Z
        32: .line 1852
            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 1861
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
         1: .line 1862
            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 1863
            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 1864
            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 1866
            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 1868
            aload 6 /* tmp */
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 7
         6: .line 1869
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         7: .line 1872
      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 1873
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         9: .line 1874
            iload 1 /* getIssuer */
            ifne 12
        10: .line 1875
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        11: .line 1876
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        12: .line 1878
      StackMap locals:
      StackMap stack:
            aload 6 /* tmp */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 7 /* principalBytes */
        start local 7 // byte[] principalBytes
        13: .line 1879
            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 1888
            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 1889
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1890
            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 1900
            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 1901
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1902
            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 1914
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1915
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            invokevirtual sun.security.x509.X509CertImpl.getEncodedInternal:()[B
            areturn
         2: .line 1917
      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 1928
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1929
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            areturn
         2: .line 1931
      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 1940
            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 1941
            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 1942
            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 1953
            aload 0 /* cert */
            invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifeq 7
         1: .line 1955
            aload 1 /* sigProvider */
            ifnonnull 4
         2: .line 1956
            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 1957
            goto 5
         4: .line 1958
      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 1960
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 1961
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 1965
      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 1972
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* algorithm */
         1: .line 1973
            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 1972
            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 1983
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* encCertInfo */
        start local 2 // byte[] encCertInfo
         1: .line 1984
            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 1985
            aload 3 /* md */
            aload 2 /* encCertInfo */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 4 /* digest */
        start local 4 // byte[] digest
         3: .line 1986
            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 1987
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1988
      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 1987
            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 1990
            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 1991
      StackMap locals: java.lang.String java.security.cert.X509Certificate
      StackMap stack: java.security.GeneralSecurityException
            pop
        12: .line 1994
            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 2001
            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 2002
            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 2001
            astore 2 /* hexChars */
        start local 2 // char[] hexChars
         3: .line 2003
            iload 0 /* b */
            sipush 240
            iand
            iconst_4
            ishr
            istore 3 /* high */
        start local 3 // int high
         4: .line 2004
            iload 0 /* b */
            bipush 15
            iand
            istore 4 /* low */
        start local 4 // int low
         5: .line 2005
            aload 1 /* buf */
            aload 2 /* hexChars */
            iload 3 /* high */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         6: .line 2006
            aload 2 /* hexChars */
            iload 4 /* low */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 2007
            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 1973
            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