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 176
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 123
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1966
            aload 0 /* this */
         7: .line 1967
            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 176
            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 190
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 123
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1966
            aload 0 /* this */
         7: .line 1967
            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 192
            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 193
            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 194
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 195
            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 197
      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 210
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 123
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1966
            aload 0 /* this */
         7: .line 1967
            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 212
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         9: .line 214
            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 219
            aload 3 /* inBuffered */
            ldc 2147483647
            invokevirtual java.io.BufferedInputStream.mark:(I)V
        11: .line 220
            aload 0 /* this */
            aload 3 /* inBuffered */
            invokevirtual sun.security.x509.X509CertImpl.readRFC1421Cert:(Ljava/io/InputStream;)Lsun/security/util/DerValue;
            astore 2 /* der */
        12: .line 221
            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 224
            aload 3 /* inBuffered */
            invokevirtual java.io.BufferedInputStream.reset:()V
        15: .line 225
            new sun.security.util.DerValue
            dup
            aload 3 /* inBuffered */
            invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
            astore 2 /* der */
        16: .line 226
            goto 21
      StackMap locals:
      StackMap stack: java.io.IOException
        17: astore 4 /* ioe1 */
        start local 4 // java.io.IOException ioe1
        18: .line 227
            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 231
            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 227
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe1
        21: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* der */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
        22: .line 236
            goto 28
      StackMap locals:
      StackMap stack: java.io.IOException
        23: astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
        24: .line 237
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        25: .line 238
            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 239
            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 238
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe
        28: .line 241
      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 252
            aconst_null
            astore 2 /* der */
        start local 2 // sun.security.util.DerValue der
         1: .line 253
            aconst_null
            astore 3 /* line */
        start local 3 // java.lang.String line
         2: .line 255
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 1 /* in */
            getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
         3: .line 254
            astore 4 /* certBufferedReader */
        start local 4 // java.io.BufferedReader certBufferedReader
         4: .line 257
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 3 /* line */
         5: .line 258
            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 259
            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 260
            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 259
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.IOException ioe1
        10: .line 262
      StackMap locals:
      StackMap stack:
            aload 3 /* line */
            ldc "-----BEGIN CERTIFICATE-----"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        11: .line 264
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 5 /* decstream */
        start local 5 // java.io.ByteArrayOutputStream decstream
        12: .line 266
            goto 17
        13: .line 267
      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 268
            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 269
            goto 24
        16: .line 271
      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 266
      StackMap locals:
      StackMap stack:
            aload 4 /* certBufferedReader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
            ifnonnull 13
        18: .line 274
            goto 24
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe2 */
        start local 6 // java.io.IOException ioe2
        20: .line 275
            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 276
            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 275
            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 279
      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 282
      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 292
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 123
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1966
            aload 0 /* this */
         7: .line 1967
            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 293
            aload 0 /* this */
            aload 1 /* certInfo */
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         9: .line 294
            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 304
            aload 0 /* this */
            invokespecial java.security.cert.X509Certificate.<init>:()V
         1: .line 123
            aload 0 /* this */
            iconst_0
            putfield sun.security.x509.X509CertImpl.readOnly:Z
         2: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
         3: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
         5: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
         6: .line 1966
            aload 0 /* this */
         7: .line 1967
            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 306
            aload 0 /* this */
            aload 1 /* derVal */
            invokevirtual sun.security.x509.X509CertImpl.parse:(Lsun/security/util/DerValue;)V
         9: .line 307
            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 308
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        12: .line 309
            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 311
      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 321
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 322
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 323
            ldc "Null certificate to encode"
         3: .line 322
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 325
      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 326
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 2 /* e */
        start local 2 // java.io.IOException e
         7: .line 327
            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 329
      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 340
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 341
            new java.io.IOException
            dup
            ldc "Null certificate to encode"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 342
      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 343
            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 354
            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 363
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 4
         1: .line 364
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 365
            ldc "Null certificate to encode"
         3: .line 364
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 367
      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 388
            aload 0 /* this */
            aload 1 /* key */
            ldc ""
            invokevirtual sun.security.x509.X509CertImpl.verify:(Ljava/security/PublicKey;Ljava/lang/String;)V
         1: .line 389
            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 410
            aload 2 /* sigProvider */
            ifnonnull 2
         1: .line 411
            ldc ""
            astore 2 /* sigProvider */
         2: .line 413
      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 416
            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 417
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifeq 6
         5: .line 418
            return
         6: .line 420
      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 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 9
         8: .line 425
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 428
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
        10: .line 429
            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 430
            aload 2 /* sigProvider */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 14
        12: .line 431
            aload 4 /* sigName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
        13: .line 432
            goto 15
        14: .line 433
      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 437
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
        16: .line 438
            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 437
            invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
        18: .line 439
            goto 23
      StackMap locals:
      StackMap stack: java.security.ProviderException
        19: astore 5 /* e */
        start local 5 // java.security.ProviderException e
        20: .line 440
            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 441
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 5 /* e */
        start local 5 // java.security.InvalidAlgorithmParameterException e
        22: .line 442
            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 445
      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 446
            aload 3 /* sigVerf */
            aload 5 /* rawCert */
            iconst_0
            aload 5 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        25: .line 449
            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 450
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        27: .line 451
            aload 0 /* this */
            aload 2 /* sigProvider */
            putfield sun.security.x509.X509CertImpl.verifiedProvider:Ljava/lang/String;
        28: .line 453
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 30
        29: .line 454
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 456
      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 478
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnonnull 2
         1: .line 479
            new java.security.cert.CertificateEncodingException
            dup
            ldc "Uninitialized certificate"
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 482
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sigVerf */
        start local 3 // java.security.Signature sigVerf
         3: .line 483
            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 484
            aload 2 /* sigProvider */
            ifnonnull 7
         5: .line 485
            aload 4 /* sigName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 3 /* sigVerf */
         6: .line 486
            goto 8
         7: .line 487
      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 491
      StackMap locals:
      StackMap stack:
            aload 3 /* sigVerf */
            aload 1 /* key */
         9: .line 492
            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 491
            invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
        11: .line 493
            goto 16
      StackMap locals:
      StackMap stack: java.security.ProviderException
        12: astore 5 /* e */
        start local 5 // java.security.ProviderException e
        13: .line 494
            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 495
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
            astore 5 /* e */
        start local 5 // java.security.InvalidAlgorithmParameterException e
        15: .line 496
            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 499
      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 500
            aload 3 /* sigVerf */
            aload 5 /* rawCert */
            iconst_0
            aload 5 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        18: .line 503
            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 504
            aload 0 /* this */
            aload 1 /* key */
            putfield sun.security.x509.X509CertImpl.verifiedPublicKey:Ljava/security/PublicKey;
        20: .line 506
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.verificationResult:Z
            ifne 22
        21: .line 507
            new java.security.SignatureException
            dup
            ldc "Signature does not match."
            invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 509
      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 530
            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 531
            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 554
            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 555
            goto 4
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
         2: astore 4 /* e */
        start local 4 // java.security.InvalidAlgorithmParameterException e
         3: .line 557
            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 559
      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 590
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 591
            new java.security.cert.CertificateEncodingException
            dup
         2: .line 592
            ldc "cannot over-write existing certificate"
         3: .line 591
            invokespecial java.security.cert.CertificateEncodingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 594
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* sigEngine */
        start local 5 // java.security.Signature sigEngine
         5: .line 595
            aload 4 /* provider */
            ifnull 6
            aload 4 /* provider */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 8
         6: .line 596
      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 597
            goto 9
         8: .line 598
      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 601
      StackMap locals:
      StackMap stack:
            aload 5 /* sigEngine */
            aload 1 /* key */
            aload 2 /* signingParams */
        10: .line 602
            aconst_null
        11: .line 601
            invokestatic sun.security.util.SignatureUtil.initSignWithParam:(Ljava/security/Signature;Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
        12: .line 605
            aload 2 /* signingParams */
            ifnull 15
        13: .line 606
            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 607
            goto 16
        15: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* algorithm */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        16: .line 610
      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 611
            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 614
            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 615
            aload 7 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 8 /* rawCert */
        start local 8 // byte[] rawCert
        20: .line 618
            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 621
            aload 5 /* sigEngine */
            aload 8 /* rawCert */
            iconst_0
            aload 8 /* rawCert */
            arraylength
            invokevirtual java.security.Signature.update:([BII)V
        22: .line 622
            aload 0 /* this */
            aload 5 /* sigEngine */
            invokevirtual java.security.Signature.sign:()[B
            putfield sun.security.x509.X509CertImpl.signature:[B
        23: .line 623
            aload 7 /* tmp */
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual sun.security.util.DerOutputStream.putBitString:([B)V
        24: .line 626
            aload 6 /* out */
            bipush 48
            aload 7 /* tmp */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        25: .line 627
            aload 0 /* this */
            aload 6 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        26: .line 628
            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 630
            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 631
            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 633
      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 645
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 1 /* date */
        start local 1 // java.util.Date date
         1: .line 646
            aload 0 /* this */
            aload 1 /* date */
            invokevirtual sun.security.x509.X509CertImpl.checkValidity:(Ljava/util/Date;)V
         2: .line 647
            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 665
            aconst_null
            astore 2 /* interval */
        start local 2 // sun.security.x509.CertificateValidity interval
         1: .line 667
            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 668
            goto 5
      StackMap locals: sun.security.x509.X509CertImpl java.util.Date sun.security.x509.CertificateValidity
      StackMap stack: java.lang.Exception
         3: pop
         4: .line 669
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Incorrect validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 671
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            ifnonnull 7
         6: .line 672
            new java.security.cert.CertificateNotYetValidException
            dup
            ldc "Null validity period"
            invokespecial java.security.cert.CertificateNotYetValidException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 673
      StackMap locals:
      StackMap stack:
            aload 2 /* interval */
            aload 1 /* date */
            invokevirtual sun.security.x509.CertificateValidity.valid:(Ljava/util/Date;)V
         8: .line 674
            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 688
            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 689
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         2: .line 690
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         3: .line 691
            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 693
            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 691
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 695
      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 696
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
         8: .line 698
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
         9: .line 699
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 11
        10: .line 700
            aconst_null
            areturn
        11: .line 702
      StackMap locals:
      StackMap stack:
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 18
        12: .line 704
            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 705
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        15: .line 706
            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 707
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 4 /* e */
        start local 4 // java.security.cert.CertificateException e
        17: .line 708
            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 711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            areturn
        19: .line 713
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "algorithm"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 21
        20: .line 714
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            areturn
        21: .line 715
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signature"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 25
        22: .line 716
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnull 24
        23: .line 717
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        24: .line 719
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        25: .line 720
      StackMap locals:
      StackMap stack:
            aload 3 /* id */
            ldc "signed_cert"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 29
        26: .line 721
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            ifnull 28
        27: .line 722
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signedCert:[B
            invokevirtual byte[].clone:()Ljava/lang/Object;
            areturn
        28: .line 724
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        29: .line 726
      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 727
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        31: .line 726
            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 742
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 743
            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 746
      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 747
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        start local 4 // java.lang.String id
         4: .line 748
            aload 4 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 749
            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 750
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 749
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 752
      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 753
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 4 /* id */
        10: .line 755
            aload 4 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 20
        11: .line 756
            aload 3 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnonnull 17
        12: .line 757
            aload 2 /* obj */
            instanceof sun.security.x509.X509CertInfo
            ifne 14
        13: .line 758
            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 761
      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 762
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        16: .line 763
            goto 23
        17: .line 764
      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 765
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        19: .line 767
            goto 23
        20: .line 768
      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 769
            aload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 768
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 771
      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 783
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 2
         1: .line 784
            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 787
      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 788
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        start local 3 // java.lang.String id
         4: .line 789
            aload 3 /* id */
            ldc "x509"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         5: .line 790
            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 792
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 790
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 794
      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 795
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getPrefix:()Ljava/lang/String;
            astore 3 /* id */
        10: .line 797
            aload 3 /* id */
            ldc "info"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        11: .line 798
            aload 2 /* attr */
            invokevirtual sun.security.x509.X509AttributeName.getSuffix:()Ljava/lang/String;
            ifnull 14
        12: .line 799
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        13: .line 800
            goto 28
        14: .line 801
      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 803
            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 804
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
        18: .line 805
            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 806
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signature:[B
        21: .line 807
            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 808
            aload 0 /* this */
            aconst_null
            putfield sun.security.x509.X509CertImpl.signedCert:[B
        24: .line 809
            goto 28
        25: .line 810
      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 811
            aload 3 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 810
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 813
      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 820
            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 821
            aload 1 /* elements */
            ldc "x509.info"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         2: .line 822
            aload 1 /* elements */
            ldc "x509.algorithm"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         3: .line 823
            aload 1 /* elements */
            ldc "x509.signature"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         4: .line 824
            aload 1 /* elements */
            ldc "x509.signed_cert"
            invokevirtual sun.security.x509.AttributeNameEnumeration.addElement:(Ljava/lang/Object;)V
         5: .line 826
            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 833
            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 843
            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 844
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
         2: .line 846
      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 847
            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 848
            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 849
            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 847
            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 860
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 861
            aconst_null
            areturn
         2: .line 863
      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 865
            aload 1 /* key */
         4: areturn
        end local 1 // java.security.PublicKey key
         5: .line 866
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 867
            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 877
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 878
            iconst_m1
            ireturn
         2: .line 880
      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 881
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 880
            istore 1 /* vers */
        start local 1 // int vers
         5: .line 882
            iload 1 /* vers */
            iconst_1
            iadd
         6: ireturn
        end local 1 // int vers
         7: .line 883
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 884
            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 894
            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 896
            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 906
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 907
            aconst_null
            areturn
         2: .line 909
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 910
            ldc "serialNumber.number"
         4: .line 909
            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 912
            aload 1 /* ser */
         6: areturn
        end local 1 // sun.security.x509.SerialNumber ser
         7: .line 913
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 914
            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 925
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 926
            aconst_null
            areturn
         2: .line 928
      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 930
            aload 1 /* subject */
         4: areturn
        end local 1 // java.security.Principal subject
         5: .line 931
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 932
            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 942
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 943
            aconst_null
            areturn
         2: .line 946
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 947
            ldc "subject.x500principal"
         4: .line 946
            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 949
            aload 1 /* subject */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal subject
         7: .line 950
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 951
            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 961
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 962
            aconst_null
            areturn
         2: .line 964
      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 966
            aload 1 /* issuer */
         4: areturn
        end local 1 // java.security.Principal issuer
         5: .line 967
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 968
            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 978
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 979
            aconst_null
            areturn
         2: .line 982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 983
            ldc "issuer.x500principal"
         4: .line 982
            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 985
            aload 1 /* issuer */
         6: areturn
        end local 1 // javax.security.auth.x500.X500Principal issuer
         7: .line 986
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 987
            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 997
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 998
            aconst_null
            areturn
         2: .line 1000
      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 1002
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 1003
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 1004
            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 1014
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1015
            aconst_null
            areturn
         2: .line 1017
      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 1019
            aload 1 /* d */
         4: areturn
        end local 1 // java.util.Date d
         5: .line 1020
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         6: .line 1021
            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 1034
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnull 2
         1: .line 1035
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            invokevirtual sun.security.x509.X509CertInfo.getEncodedInfo:()[B
            areturn
         2: .line 1037
      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 1046
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.signature:[B
            ifnonnull 2
         1: .line 1047
            aconst_null
            areturn
         2: .line 1048
      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 1059
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1060
            aconst_null
            areturn
         2: .line 1061
      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 1071
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1072
            aconst_null
            areturn
         2: .line 1073
      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 1074
            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 1085
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.algId:Lsun/security/x509/AlgorithmId;
            ifnonnull 2
         1: .line 1086
            aconst_null
            areturn
         2: .line 1088
      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 1089
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1090
            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 1100
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1101
            aconst_null
            areturn
         2: .line 1103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1104
            ldc "issuerID"
         4: .line 1103
            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 1105
            aload 1 /* id */
            ifnonnull 7
         6: .line 1106
            aconst_null
            areturn
         7: .line 1108
      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 1109
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1110
            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 1120
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1121
            aconst_null
            areturn
         2: .line 1123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1124
            ldc "subjectID"
         4: .line 1123
            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 1125
            aload 1 /* id */
            ifnonnull 7
         6: .line 1126
            aconst_null
            areturn
         7: .line 1128
      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 1129
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1130
            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 1136
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getAuthorityKeyIdentifierExtension:()Lsun/security/x509/AuthorityKeyIdentifierExtension;
         1: .line 1135
            astore 1 /* aki */
        start local 1 // sun.security.x509.AuthorityKeyIdentifierExtension aki
         2: .line 1137
            aload 1 /* aki */
            ifnull 8
         3: .line 1139
            aload 1 /* aki */
         4: .line 1140
            ldc "key_id"
         5: .line 1139
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.KeyIdentifier
         6: areturn
         7: .line 1141
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.AuthorityKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         8: .line 1143
      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 1150
            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 1151
            aload 1 /* ski */
            ifnull 5
         2: .line 1153
            aload 1 /* ski */
            ldc "key_id"
            invokevirtual sun.security.x509.SubjectKeyIdentifierExtension.get:(Ljava/lang/String;)Lsun/security/x509/KeyIdentifier;
         3: areturn
         4: .line 1154
      StackMap locals: sun.security.x509.X509CertImpl sun.security.x509.SubjectKeyIdentifierExtension
      StackMap stack: java.io.IOException
            pop
         5: .line 1156
      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 1167
            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 1166
            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 1177
            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 1176
            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 1187
            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 1186
            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 1197
            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 1196
            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 1207
            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 1206
            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 1216
            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 1215
            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 1226
            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 1225
            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 1236
            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 1235
            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 1245
            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 1244
            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 1256
            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 1255
            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 1266
            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 1265
            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 1276
            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 1275
            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 1284
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1285
            iconst_0
            ireturn
         2: .line 1287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1288
            ldc "extensions"
         4: .line 1287
            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 1289
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1290
            iconst_0
            ireturn
         7: .line 1291
      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 1292
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        10: .line 1293
            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 1306
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1307
            aconst_null
            areturn
         2: .line 1310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1311
            ldc "extensions"
         4: .line 1310
            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 1312
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1313
            aconst_null
            areturn
         7: .line 1315
      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 1316
            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 1317
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 12
        11: .line 1318
            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 1316
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1321
            aload 2 /* extSet */
        14: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        15: .line 1322
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1323
            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 1336
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1337
            aconst_null
            areturn
         2: .line 1340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         3: .line 1341
            ldc "extensions"
         4: .line 1340
            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 1342
            aload 1 /* exts */
            ifnonnull 7
         6: .line 1343
            aconst_null
            areturn
         7: .line 1345
      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 1346
            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 1347
            aload 3 /* ex */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifne 12
        11: .line 1348
            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 1346
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1351
            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 1352
            aload 2 /* extSet */
        15: areturn
        end local 2 // java.util.Set extSet
        end local 1 // sun.security.x509.CertificateExtensions exts
        16: .line 1353
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        17: .line 1354
            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 1366
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1367
            aconst_null
            areturn
         2: .line 1372
      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 1373
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1374
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1376
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1377
            aconst_null
            areturn
         8: .line 1379
      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 1380
            aload 3 /* ex */
            ifnull 12
        10: .line 1381
            aload 3 /* ex */
        11: areturn
        12: .line 1383
      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 1384
            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 1386
            aload 4 /* ex2 */
        16: areturn
        end local 4 // sun.security.x509.Extension ex2
        17: .line 1383
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 1390
            aconst_null
            areturn
        end local 3 // sun.security.x509.Extension ex
        end local 2 // sun.security.x509.CertificateExtensions extensions
        19: .line 1392
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        20: .line 1393
            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 1398
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
            ifnonnull 2
         1: .line 1399
            aconst_null
            areturn
         2: .line 1404
      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 1405
            goto 6
        end local 2 // sun.security.x509.CertificateExtensions extensions
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
         4: pop
         5: .line 1406
            aconst_null
            areturn
        start local 2 // sun.security.x509.CertificateExtensions extensions
         6: .line 1408
      StackMap locals: sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* extensions */
            ifnonnull 8
         7: .line 1409
            aconst_null
            areturn
         8: .line 1411
      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 1413
      StackMap locals: sun.security.x509.X509CertImpl sun.security.util.ObjectIdentifier
      StackMap stack: java.io.IOException
            pop
        11: .line 1414
            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 1426
            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 1427
            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 1428
            aconst_null
            astore 4 /* certExt */
        start local 4 // sun.security.x509.Extension certExt
         3: .line 1429
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
         4: .line 1430
            ldc "extensions"
         5: .line 1429
            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 1432
            aload 3 /* extAlias */
            ifnonnull 17
         7: .line 1434
            aload 5 /* exts */
            ifnonnull 9
         8: .line 1435
            aconst_null
            areturn
         9: .line 1438
      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 1439
            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 1440
            aload 8 /* inCertOID */
            aload 2 /* findOID */
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 1441
            aload 6 /* ex */
            astore 4 /* certExt */
        14: .line 1442
            goto 20
        end local 8 // sun.security.util.ObjectIdentifier inCertOID
        end local 6 // sun.security.x509.Extension ex
        15: .line 1438
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        16: .line 1445
            goto 20
        17: .line 1447
      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 1448
            goto 20
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        19: pop
        20: .line 1452
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        21: .line 1453
            aload 5 /* exts */
            ifnull 23
        22: .line 1454
            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 1456
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            ifnonnull 25
        24: .line 1457
            aconst_null
            areturn
        25: .line 1460
      StackMap locals:
      StackMap stack:
            aload 4 /* certExt */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            astore 6 /* extData */
        start local 6 // byte[] extData
        26: .line 1461
            aload 6 /* extData */
            ifnonnull 28
        27: .line 1462
            aconst_null
            areturn
        28: .line 1464
      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 1465
            aload 7 /* out */
            aload 6 /* extData */
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        30: .line 1466
            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 1467
      StackMap locals: sun.security.x509.X509CertImpl java.lang.String
      StackMap stack: java.lang.Exception
            pop
        33: .line 1468
            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 1479
            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 1480
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1481
            aconst_null
            areturn
         3: .line 1483
      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 1484
            aload 2 /* certExt */
            ifnonnull 6
         5: .line 1485
            aconst_null
            areturn
         6: .line 1487
      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 1488
            aload 3 /* ret */
            arraylength
            bipush 9
            if_icmpge 11
         8: .line 1489
            bipush 9
            newarray 4
            astore 4 /* usageBits */
        start local 4 // boolean[] usageBits
         9: .line 1490
            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 1491
            aload 4 /* usageBits */
            astore 3 /* ret */
        end local 4 // boolean[] usageBits
        11: .line 1493
      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 1494
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        14: .line 1495
            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 1507
            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 1508
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
            areturn
         2: .line 1510
      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 1511
            aload 1 /* ext */
            ifnonnull 5
         4: .line 1512
            aconst_null
            areturn
         5: .line 1514
      StackMap locals: sun.security.x509.ExtendedKeyUsageExtension
      StackMap stack:
            aload 0 /* this */
         6: .line 1515
            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 1514
            putfield sun.security.x509.X509CertImpl.extKeyUsage:Ljava/util/List;
         8: .line 1516
            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 1529
            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 1530
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1531
            aconst_null
            areturn
         3: .line 1532
      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 1533
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1536
            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 1535
            astore 4 /* ekuExt */
        start local 4 // sun.security.x509.ExtendedKeyUsageExtension ekuExt
         7: .line 1537
            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 1538
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        10: .line 1539
            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 1550
            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 1551
            aload 1 /* extAlias */
            ifnonnull 3
         2: .line 1552
            iconst_m1
            ireturn
         3: .line 1554
      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 1553
            astore 2 /* certExt */
        start local 2 // sun.security.x509.BasicConstraintsExtension certExt
         5: .line 1555
            aload 2 /* certExt */
            ifnonnull 7
         6: .line 1556
            iconst_m1
            ireturn
         7: .line 1558
      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 1559
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
         9: .line 1560
            aload 2 /* certExt */
        10: .line 1561
            ldc "path_len"
        11: .line 1560
            invokevirtual sun.security.x509.BasicConstraintsExtension.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Integer
        12: .line 1561
            invokevirtual java.lang.Integer.intValue:()I
        13: .line 1560
            ireturn
        14: .line 1563
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // sun.security.x509.BasicConstraintsExtension certExt
        end local 1 // java.lang.String extAlias
        15: .line 1564
      StackMap locals: sun.security.x509.X509CertImpl
      StackMap stack: java.lang.Exception
            pop
        16: .line 1565
            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 1579
            aload 0 /* names */
            invokevirtual sun.security.x509.GeneralNames.isEmpty:()Z
            ifeq 2
         1: .line 1580
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 1582
      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 1583
            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 1584
            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 1585
            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 1586
            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 1587
            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 1589
      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 1590
            goto 31
        11: .line 1592
      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 1593
            goto 31
        13: .line 1595
      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 1596
            goto 31
        15: .line 1598
      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 1599
            goto 31
        17: .line 1602
      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 1603
            goto 31
      StackMap locals:
      StackMap stack: java.io.IOException
        19: astore 6 /* ioe */
        start local 6 // java.io.IOException ioe
        20: .line 1605
            new java.lang.RuntimeException
            dup
            ldc "IPAddress cannot be parsed"
        21: .line 1606
            aload 6 /* ioe */
        22: .line 1605
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException ioe
        23: .line 1610
      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 1611
            goto 31
        25: .line 1614
      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 1616
            aload 4 /* name */
            aload 6 /* derOut */
            invokeinterface sun.security.x509.GeneralNameInterface.encode:(Lsun/security/util/DerOutputStream;)V
        27: .line 1617
            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 1620
            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 1622
      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 1625
      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 1583
      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 1627
            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 1635
            iconst_0
            istore 1 /* mustClone */
        start local 1 // boolean mustClone
         1: .line 1636
            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 1637
            aload 2 /* nameEntry */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            instanceof byte[]
            ifeq 5
         4: .line 1639
            iconst_1
            istore 1 /* mustClone */
        end local 2 // java.util.List nameEntry
         5: .line 1636
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 1642
            iload 1 /* mustClone */
            ifeq 20
         7: .line 1643
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* namesCopy */
        start local 2 // java.util.List namesCopy
         8: .line 1644
            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 1645
            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 1646
            aload 5 /* nameObject */
            instanceof byte[]
            ifeq 17
        12: .line 1648
            new java.util.ArrayList
            dup
            aload 3 /* nameEntry */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        13: .line 1647
            astore 6 /* nameEntryCopy */
        start local 6 // java.util.List nameEntryCopy
        14: .line 1649
            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 1650
            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 1651
            goto 18
        17: .line 1652
      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 1644
      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 1655
            aload 2 /* namesCopy */
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 2 // java.util.List namesCopy
        20: .line 1657
      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 1670
            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 1671
            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 1674
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getSubjectAlternativeNameExtension:()Lsun/security/x509/SubjectAlternativeNameExtension;
         3: .line 1673
            astore 1 /* subjectAltNameExt */
        start local 1 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
         4: .line 1675
            aload 1 /* subjectAltNameExt */
            ifnonnull 6
         5: .line 1676
            aconst_null
            areturn
         6: .line 1680
      StackMap locals: sun.security.x509.SubjectAlternativeNameExtension
      StackMap stack:
            aload 1 /* subjectAltNameExt */
         7: .line 1681
            ldc "subject_name"
         8: .line 1680
            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 1682
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1684
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1686
      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 1687
            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 1699
            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 1700
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1701
            aconst_null
            areturn
         3: .line 1703
      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 1704
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1707
            new sun.security.x509.SubjectAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         6: .line 1708
            aload 3 /* data */
         7: .line 1707
            invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         8: .line 1706
            astore 4 /* subjectAltNameExt */
        start local 4 // sun.security.x509.SubjectAlternativeNameExtension subjectAltNameExt
         9: .line 1712
            aload 4 /* subjectAltNameExt */
        10: .line 1713
            ldc "subject_name"
        11: .line 1712
            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 1714
            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 1716
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        15: areturn
        start local 5 // sun.security.x509.GeneralNames names
        16: .line 1718
      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 1719
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        19: .line 1720
            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 1733
            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 1734
            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 1737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.x509.X509CertImpl.getIssuerAlternativeNameExtension:()Lsun/security/x509/IssuerAlternativeNameExtension;
         3: .line 1736
            astore 1 /* issuerAltNameExt */
        start local 1 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
         4: .line 1738
            aload 1 /* issuerAltNameExt */
            ifnonnull 6
         5: .line 1739
            aconst_null
            areturn
         6: .line 1743
      StackMap locals: sun.security.x509.IssuerAlternativeNameExtension
      StackMap stack:
            aload 1 /* issuerAltNameExt */
         7: .line 1744
            ldc "issuer_name"
         8: .line 1743
            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 1745
            goto 12
        end local 2 // sun.security.x509.GeneralNames names
      StackMap locals:
      StackMap stack: java.io.IOException
        10: pop
        11: .line 1747
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        start local 2 // sun.security.x509.GeneralNames names
        12: .line 1749
      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 1750
            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 1762
            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 1763
            aload 1 /* ext */
            ifnonnull 3
         2: .line 1764
            aconst_null
            areturn
         3: .line 1767
      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 1768
            aload 2 /* val */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         5: .line 1771
            new sun.security.x509.IssuerAlternativeNameExtension
            dup
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
         6: .line 1772
            aload 3 /* data */
         7: .line 1771
            invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         8: .line 1770
            astore 4 /* issuerAltNameExt */
        start local 4 // sun.security.x509.IssuerAlternativeNameExtension issuerAltNameExt
         9: .line 1775
            aload 4 /* issuerAltNameExt */
        10: .line 1776
            ldc "issuer_name"
        11: .line 1775
            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 1777
            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 1779
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
        15: areturn
        start local 5 // sun.security.x509.GeneralNames names
        16: .line 1781
      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 1782
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        19: .line 1783
            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 1789
            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 1788
            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 1807
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.readOnly:Z
            ifeq 4
         1: .line 1808
            new java.security.cert.CertificateParsingException
            dup
         2: .line 1809
            ldc "cannot over-write existing certificate"
         3: .line 1808
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1811
      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 1812
      StackMap locals:
      StackMap stack:
            new java.security.cert.CertificateParsingException
            dup
         6: .line 1813
            ldc "invalid DER-encoded certificate data"
         7: .line 1812
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1815
      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 1816
            iconst_3
            anewarray sun.security.util.DerValue
            astore 2 /* seq */
        start local 2 // sun.security.util.DerValue[] seq
        10: .line 1818
            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 1819
            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 1820
            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 1822
            aload 1 /* val */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifeq 17
        14: .line 1823
            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 1824
            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 1823
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 1826
      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 1827
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields invalid"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1830
      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 1831
            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 1833
            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 1834
            new java.security.cert.CertificateParsingException
            dup
            ldc "algid field overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1836
      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 1837
            new java.security.cert.CertificateParsingException
            dup
            ldc "signed fields overrun"
            invokespecial java.security.cert.CertificateParsingException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1840
      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 1843
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.info:Lsun/security/x509/X509CertInfo;
        27: .line 1844
            ldc "algorithmID.algorithm"
        28: .line 1843
            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 1847
            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 1848
            new java.security.cert.CertificateException
            dup
            ldc "Signature algorithm mismatch"
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 1849
      StackMap locals: sun.security.x509.AlgorithmId
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.x509.X509CertImpl.readOnly:Z
        32: .line 1850
            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 1859
            aload 0 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
         1: .line 1860
            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 1861
            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 1862
            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 1864
            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 1866
            aload 6 /* tmp */
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifeq 7
         6: .line 1867
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         7: .line 1870
      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 1871
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
         9: .line 1872
            iload 1 /* getIssuer */
            ifne 12
        10: .line 1873
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        11: .line 1874
            aload 5 /* tbsIn */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 6 /* tmp */
        12: .line 1876
      StackMap locals:
      StackMap stack:
            aload 6 /* tmp */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 7 /* principalBytes */
        start local 7 // byte[] principalBytes
        13: .line 1877
            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 1886
            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 1887
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1888
            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 1898
            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 1899
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 1900
            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 1912
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1913
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            invokevirtual sun.security.x509.X509CertImpl.getEncodedInternal:()[B
            areturn
         2: .line 1915
      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 1926
            aload 0 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 2
         1: .line 1927
            aload 0 /* cert */
            checkcast sun.security.x509.X509CertImpl
            areturn
         2: .line 1929
      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 1938
            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 1939
            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 1940
            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 1951
            aload 0 /* cert */
            invokestatic sun.security.x509.X509CertImpl.isSelfIssued:(Ljava/security/cert/X509Certificate;)Z
            ifeq 7
         1: .line 1953
            aload 1 /* sigProvider */
            ifnonnull 4
         2: .line 1954
            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 1955
            goto 5
         4: .line 1956
      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 1958
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 1959
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         7: .line 1963
      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 1970
            aload 0 /* this */
            getfield sun.security.x509.X509CertImpl.fingerprints:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* algorithm */
         1: .line 1971
            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 1970
            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 1981
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 2 /* encCertInfo */
        start local 2 // byte[] encCertInfo
         1: .line 1982
            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 1983
            aload 3 /* md */
            aload 2 /* encCertInfo */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 4 /* digest */
        start local 4 // byte[] digest
         3: .line 1984
            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 1985
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 1986
      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 1985
            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 1988
            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 1989
      StackMap locals: java.lang.String java.security.cert.X509Certificate
      StackMap stack: java.security.GeneralSecurityException
            pop
        12: .line 1992
            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 1999
            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 2000
            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 1999
            astore 2 /* hexChars */
        start local 2 // char[] hexChars
         3: .line 2001
            iload 0 /* b */
            sipush 240
            iand
            iconst_4
            ishr
            istore 3 /* high */
        start local 3 // int high
         4: .line 2002
            iload 0 /* b */
            bipush 15
            iand
            istore 4 /* low */
        start local 4 // int low
         5: .line 2003
            aload 1 /* buf */
            aload 2 /* hexChars */
            iload 3 /* high */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         6: .line 2004
            aload 2 /* hexChars */
            iload 4 /* low */
            caload
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 2005
            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 1971
            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