public final class sun.security.tools.keytool.Main
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.tools.keytool.Main
  super_class: java.lang.Object
{
  private boolean debug;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private sun.security.tools.keytool.Main$Command command;
    descriptor: Lsun/security/tools/keytool/Main$Command;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  private int keysize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  private long validity;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private java.util.Set<sun.security.tools.keytool.Pair<java.lang.String, java.lang.String>> providers;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;>;

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

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

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

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

  private char[] storePass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private char[] storePassNew;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private char[] keyPass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private char[] keyPassNew;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private char[] oldPass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private char[] newPass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private char[] destKeyPass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private char[] srckeyPass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

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

  private java.io.File ksfile;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private java.io.InputStream ksStream;
    descriptor: Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.security.KeyStore keyStore;
    descriptor: Ljava/security/KeyStore;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

  private java.security.cert.CertificateFactory cf;
    descriptor: Ljava/security/cert/CertificateFactory;
    flags: (0x0002) ACC_PRIVATE

  private java.security.KeyStore caks;
    descriptor: Ljava/security/KeyStore;
    flags: (0x0002) ACC_PRIVATE

  private char[] srcstorePass;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.Set<char[]> passwords;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<[C>;

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

  private static final java.lang.Class[] PARAM_STRING;
    descriptor: [Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

  private final java.lang.String keyAlias;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    ConstantValue: "mykey"

  private static final java.util.ResourceBundle rb;
    descriptor: Ljava/util/ResourceBundle;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.text.Collator collator;
    descriptor: Ljava/text/Collator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 285
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            putstatic sun.security.tools.keytool.Main.PARAM_STRING:[Ljava/lang/Class;
         1: .line 295
            ldc "sun.security.tools.keytool.Resources"
         2: .line 294
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
         3: .line 293
            putstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 296
            invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
            putstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
         5: .line 299
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            iconst_0
            invokevirtual java.text.Collator.setStrength:(I)V
         6: .line 300
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 302
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 105
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.debug:Z
         2: .line 106
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
         3: .line 107
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
         4: .line 108
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
         5: .line 109
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.verbose:Z
         6: .line 110
            aload 0 /* this */
            iconst_m1
            putfield sun.security.tools.keytool.Main.keysize:I
         7: .line 111
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.rfc:Z
         8: .line 112
            aload 0 /* this */
            ldc 90
            putfield sun.security.tools.keytool.Main.validity:J
         9: .line 113
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
        10: .line 114
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
        11: .line 115
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
        12: .line 116
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
        13: .line 117
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
        14: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
        15: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
        16: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
        17: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
        18: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
        19: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
        20: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePassNew:[C
        21: .line 132
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyPass:[C
        22: .line 133
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
        23: .line 134
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.oldPass:[C
        24: .line 135
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.newPass:[C
        25: .line 136
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.destKeyPass:[C
        26: .line 137
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        27: .line 138
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        28: .line 139
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
        29: .line 140
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
        30: .line 141
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
        31: .line 142
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.token:Z
        32: .line 143
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.nullStream:Z
        33: .line 144
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.kssave:Z
        34: .line 145
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.noprompt:Z
        35: .line 146
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
        36: .line 147
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.protectedPath:Z
        37: .line 148
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
        38: .line 149
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
        39: .line 150
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
        40: .line 151
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcstorePass:[C
        41: .line 152
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
        42: .line 153
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
        43: .line 154
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
        44: .line 290
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.keyAlias:Ljava/lang/String;
        45: .line 302
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   46     0  this  Lsun/security/tools/keytool/Main;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 305
            new sun.security.tools.keytool.Main
            dup
            invokespecial sun.security.tools.keytool.Main.<init>:()V
            astore 1 /* kt */
        start local 1 // sun.security.tools.keytool.Main kt
         1: .line 306
            aload 1 /* kt */
            aload 0 /* args */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.tools.keytool.Main.run:([Ljava/lang/String;Ljava/io/PrintStream;)V
         2: .line 307
            return
        end local 1 // sun.security.tools.keytool.Main kt
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  args  [Ljava/lang/String;
            1    3     1    kt  Lsun/security/tools/keytool/Main;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  private void run(java.lang.String[], java.io.PrintStream);
    descriptor: ([Ljava/lang/String;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String[] args
        start local 2 // java.io.PrintStream out
         0: .line 311
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual sun.security.tools.keytool.Main.parseArgs:([Ljava/lang/String;)V
         1: .line 312
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnull 30
         2: .line 313
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.doCommands:(Ljava/io/PrintStream;)V
         3: .line 315
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 3 /* e */
        start local 3 // java.lang.Exception e
         5: .line 316
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "keytool.error."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 317
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 8
         7: .line 318
            aload 3 /* e */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
         8: .line 320
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifne 11
         9: .line 321
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        10: .line 322
            goto 12
        11: .line 323
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // java.lang.Exception e
        12: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 17
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top top top java.util.Iterator
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast char[]
            astore 5 /* pass */
        start local 5 // char[] pass
        14: .line 327
            aload 5 /* pass */
            ifnull 17
        15: .line 328
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        16: .line 329
            aconst_null
            astore 5
        end local 5 // char[] pass
        17: .line 326
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        18: .line 333
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 38
        19: .line 334
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
            goto 38
        20: .line 325
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
      StackMap stack: java.lang.Throwable
            astore 4
        21: .line 326
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 26
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable top java.util.Iterator
      StackMap stack:
        22: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast char[]
            astore 5 /* pass */
        start local 5 // char[] pass
        23: .line 327
            aload 5 /* pass */
            ifnull 26
        24: .line 328
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        25: .line 329
            aconst_null
            astore 5
        end local 5 // char[] pass
        26: .line 326
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        27: .line 333
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 29
        28: .line 334
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        29: .line 336
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        30: .line 326
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 35
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top top top java.util.Iterator
      StackMap stack:
        31: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast char[]
            astore 5 /* pass */
        start local 5 // char[] pass
        32: .line 327
            aload 5 /* pass */
            ifnull 35
        33: .line 328
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        34: .line 329
            aconst_null
            astore 5
        end local 5 // char[] pass
        35: .line 326
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        36: .line 333
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 38
        37: .line 334
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        38: .line 337
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
      StackMap stack:
            return
        end local 2 // java.io.PrintStream out
        end local 1 // java.lang.String[] args
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   39     0  this  Lsun/security/tools/keytool/Main;
            0   39     1  args  [Ljava/lang/String;
            0   39     2   out  Ljava/io/PrintStream;
            5   12     3     e  Ljava/lang/Exception;
           14   17     5  pass  [C
           23   26     5  pass  [C
           32   35     5  pass  [C
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
           0    12      20  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      args  
      out   

  void parseArgs(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String[] args
         0: .line 344
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 345
            aload 1 /* args */
            arraylength
            ifne 2
            iconst_1
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* help */
        start local 3 // boolean help
         4: .line 347
            iconst_0
            istore 2 /* i */
            goto 155
         5: .line 349
      StackMap locals: int
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            aaload
            astore 4 /* flags */
        start local 4 // java.lang.String flags
         6: .line 352
            iload 2 /* i */
            aload 1 /* args */
            arraylength
            iconst_1
            isub
            if_icmpne 14
         7: .line 353
            invokestatic sun.security.tools.keytool.Main$Option.values:()[Lsun/security/tools/keytool/Main$Option;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 13
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String top int int sun.security.tools.keytool.Main$Option[]
      StackMap stack:
         8: aload 8
            iload 6
            aaload
            astore 5 /* option */
        start local 5 // sun.security.tools.keytool.Main$Option option
         9: .line 355
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            aload 5 /* option */
            invokevirtual sun.security.tools.keytool.Main$Option.toString:()Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 12
        10: .line 356
            aload 5 /* option */
            getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
            ifnull 14
            aload 0 /* this */
            aload 4 /* flags */
            invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
        11: .line 357
            goto 14
        end local 5 // sun.security.tools.keytool.Main$Option option
        12: .line 353
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        13: iload 6
            iload 7
            if_icmplt 8
        14: .line 365
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String
      StackMap stack:
            iconst_0
            istore 5 /* isCommand */
        start local 5 // boolean isCommand
        15: .line 366
            invokestatic sun.security.tools.keytool.Main$Command.values:()[Lsun/security/tools/keytool/Main$Command;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 22
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String int top int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
        16: aload 9
            iload 7
            aaload
            astore 6 /* c */
        start local 6 // sun.security.tools.keytool.Main$Command c
        17: .line 367
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            aload 6 /* c */
            invokevirtual sun.security.tools.keytool.Main$Command.toString:()Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 21
        18: .line 368
            aload 0 /* this */
            aload 6 /* c */
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        19: .line 369
            iconst_1
            istore 5 /* isCommand */
        20: .line 370
            goto 23
        end local 6 // sun.security.tools.keytool.Main$Command c
        21: .line 366
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        22: iload 7
            iload 8
            if_icmplt 16
        23: .line 374
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String int
      StackMap stack:
            iload 5 /* isCommand */
            ifne 154
        24: .line 376
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-export"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 27
        25: .line 377
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main$Command.EXPORTCERT:Lsun/security/tools/keytool/Main$Command;
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        26: .line 378
            goto 154
      StackMap locals:
      StackMap stack:
        27: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-genkey"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 30
        28: .line 379
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        29: .line 380
            goto 154
      StackMap locals:
      StackMap stack:
        30: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-import"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 33
        31: .line 381
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        32: .line 382
            goto 154
        33: .line 386
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-help"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 36
        34: .line 387
            iconst_1
            istore 3 /* help */
        35: .line 388
            goto 154
        36: .line 393
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-keystore"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 38
        37: .line 394
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destkeystore"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 40
        38: .line 395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        39: .line 396
            goto 154
      StackMap locals:
      StackMap stack:
        40: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-storepass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 42
        41: .line 397
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-deststorepass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 45
        42: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.security.tools.keytool.Main.storePass:[C
        43: .line 399
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        44: .line 400
            goto 154
      StackMap locals:
      StackMap stack:
        45: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-storetype"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 47
        46: .line 401
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-deststoretype"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 49
        47: .line 402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
        48: .line 403
            goto 154
      StackMap locals:
      StackMap stack:
        49: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcstorepass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 53
        50: .line 404
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.security.tools.keytool.Main.srcstorePass:[C
        51: .line 405
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        52: .line 406
            goto 154
      StackMap locals:
      StackMap stack:
        53: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcstoretype"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 56
        54: .line 407
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
        55: .line 408
            goto 154
      StackMap locals:
      StackMap stack:
        56: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srckeypass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 60
        57: .line 409
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        58: .line 410
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        59: .line 411
            goto 154
      StackMap locals:
      StackMap stack:
        60: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcprovidername"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 63
        61: .line 412
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
        62: .line 413
            goto 154
      StackMap locals:
      StackMap stack:
        63: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-providername"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 65
        64: .line 414
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destprovidername"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 67
        65: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
        66: .line 416
            goto 154
      StackMap locals:
      StackMap stack:
        67: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-providerpath"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 70
        68: .line 417
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
        69: .line 418
            goto 154
      StackMap locals:
      StackMap stack:
        70: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-keypass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 74
        71: .line 419
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.security.tools.keytool.Main.keyPass:[C
        72: .line 420
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        73: .line 421
            goto 154
      StackMap locals:
      StackMap stack:
        74: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-new"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 78
        75: .line 422
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.security.tools.keytool.Main.newPass:[C
        76: .line 423
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        77: .line 424
            goto 154
      StackMap locals:
      StackMap stack:
        78: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destkeypass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 82
        79: .line 425
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual java.lang.String.toCharArray:()[C
            putfield sun.security.tools.keytool.Main.destKeyPass:[C
        80: .line 426
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        81: .line 427
            goto 154
      StackMap locals:
      StackMap stack:
        82: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-alias"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 84
        83: .line 428
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcalias"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 86
        84: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
        85: .line 430
            goto 154
      StackMap locals:
      StackMap stack:
        86: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-dest"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 88
        87: .line 431
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destalias"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 90
        88: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
        89: .line 433
            goto 154
      StackMap locals:
      StackMap stack:
        90: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-dname"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 93
        91: .line 434
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
        92: .line 435
            goto 154
      StackMap locals:
      StackMap stack:
        93: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-keysize"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 96
        94: .line 436
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield sun.security.tools.keytool.Main.keysize:I
        95: .line 437
            goto 154
      StackMap locals:
      StackMap stack:
        96: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-keyalg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 99
        97: .line 438
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
        98: .line 439
            goto 154
      StackMap locals:
      StackMap stack:
        99: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-sigalg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 102
       100: .line 440
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
       101: .line 441
            goto 154
      StackMap locals:
      StackMap stack:
       102: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-startdate"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 105
       103: .line 442
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
       104: .line 443
            goto 154
      StackMap locals:
      StackMap stack:
       105: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-validity"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 108
       106: .line 444
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            putfield sun.security.tools.keytool.Main.validity:J
       107: .line 445
            goto 154
      StackMap locals:
      StackMap stack:
       108: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-file"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 111
       109: .line 446
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
       110: .line 447
            goto 154
      StackMap locals:
      StackMap stack:
       111: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srckeystore"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 114
       112: .line 448
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
       113: .line 449
            goto 154
      StackMap locals:
      StackMap stack:
       114: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-provider"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 116
       115: .line 450
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-providerclass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 130
       116: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            ifnonnull 118
       117: .line 452
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_3
            invokespecial java.util.HashSet.<init>:(I)V
            putfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
       118: .line 454
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            astore 6 /* providerClass */
        start local 6 // java.lang.String providerClass
       119: .line 455
            aconst_null
            astore 7 /* providerArg */
        start local 7 // java.lang.String providerArg
       120: .line 457
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_1
            iadd
            if_icmple 126
       121: .line 458
            aload 1 /* args */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            astore 4 /* flags */
       122: .line 459
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-providerarg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 126
       123: .line 460
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_2
            iadd
            if_icmpne 124
            aload 0 /* this */
            aload 4 /* flags */
            invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
       124: .line 461
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            iconst_2
            iadd
            aaload
            astore 7 /* providerArg */
       125: .line 462
            iinc 2 /* i */ 2
       126: .line 465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
       127: .line 466
            new sun.security.tools.keytool.Pair
            dup
            aload 6 /* providerClass */
            aload 7 /* providerArg */
            invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
       128: .line 465
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String providerArg
        end local 6 // java.lang.String providerClass
       129: .line 467
            goto 154
       130: .line 472
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-v"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 133
       131: .line 473
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.verbose:Z
       132: .line 474
            goto 154
      StackMap locals:
      StackMap stack:
       133: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-debug"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 136
       134: .line 475
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.debug:Z
       135: .line 476
            goto 154
      StackMap locals:
      StackMap stack:
       136: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-rfc"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 139
       137: .line 477
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.rfc:Z
       138: .line 478
            goto 154
      StackMap locals:
      StackMap stack:
       139: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-noprompt"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 142
       140: .line 479
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.noprompt:Z
       141: .line 480
            goto 154
      StackMap locals:
      StackMap stack:
       142: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-trustcacerts"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 145
       143: .line 481
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
       144: .line 482
            goto 154
      StackMap locals:
      StackMap stack:
       145: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-protected"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 147
       146: .line 483
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destprotected"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 149
       147: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.protectedPath:Z
       148: .line 485
            goto 154
      StackMap locals:
      StackMap stack:
       149: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcprotected"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 152
       150: .line 486
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
       151: .line 487
            goto 154
       152: .line 488
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Illegal.option."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* flags */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       153: .line 489
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        end local 5 // boolean isCommand
        end local 4 // java.lang.String flags
       154: .line 347
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
       155: iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmpge 156
            aload 1 /* args */
            iload 2 /* i */
            aaload
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
       156: .line 493
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmpge 159
       157: .line 494
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Illegal.option."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* args */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       158: .line 495
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       159: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnonnull 166
       160: .line 499
            iload 3 /* help */
            ifeq 163
       161: .line 500
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
       162: .line 501
            goto 169
       163: .line 502
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Usage.error.no.command.provided"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       164: .line 503
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       165: .line 505
            goto 169
      StackMap locals:
      StackMap stack:
       166: iload 3 /* help */
            ifeq 169
       167: .line 506
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
       168: .line 507
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
       169: .line 509
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean help
        end local 2 // int i
        end local 1 // java.lang.String[] args
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  170     0           this  Lsun/security/tools/keytool/Main;
            0  170     1           args  [Ljava/lang/String;
            1  170     2              i  I
            4  170     3           help  Z
            6  154     4          flags  Ljava/lang/String;
            9   12     5         option  Lsun/security/tools/keytool/Main$Option;
           15  154     5      isCommand  Z
           17   21     6              c  Lsun/security/tools/keytool/Main$Command;
          119  129     6  providerClass  Ljava/lang/String;
          120  129     7    providerArg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  void doCommands(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=11, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.PrintStream out
         0: .line 516
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            ifnonnull 2
         1: .line 517
            aload 0 /* this */
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
         2: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.niceStoreTypeName:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
         3: .line 521
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            ifnonnull 5
         4: .line 522
            aload 0 /* this */
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
         5: .line 524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.niceStoreTypeName:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
         6: .line 526
            ldc "PKCS11"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         7: .line 527
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 11
         8: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.token:Z
         9: .line 529
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnonnull 11
        10: .line 530
            aload 0 /* this */
            ldc "NONE"
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        11: .line 533
      StackMap locals:
      StackMap stack:
            ldc "NONE"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 534
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.nullStream:Z
        13: .line 537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 21
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 21
        14: .line 538
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 539
            ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
        16: .line 538
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 539
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        18: .line 538
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        19: .line 540
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        20: .line 541
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        21: .line 544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 28
        22: .line 545
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 23
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.STOREPASSWD:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 28
        23: .line 546
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        24: .line 547
            ldc ".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}"
        25: .line 546
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 547
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        27: .line 546
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 550
      StackMap locals:
      StackMap stack:
            ldc "PKCS12"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 32
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 32
        29: .line 551
            new java.lang.UnsupportedOperationException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        30: .line 552
            ldc ".keypasswd.commands.not.supported.if.storetype.is.PKCS12"
        31: .line 551
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 38
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 33
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnonnull 33
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 38
        33: .line 556
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        34: .line 557
            ldc ".keypass.and.new.can.not.be.specified.if.storetype.is.{0}"
        35: .line 556
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        36: .line 557
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        37: .line 556
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifeq 44
        39: .line 561
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 41
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 41
        40: .line 562
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnonnull 41
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 44
        41: .line 563
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        42: .line 564
            ldc "if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified"
        43: .line 563
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
            ifeq 49
        45: .line 569
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 46
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 49
        46: .line 570
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        47: .line 571
            ldc "if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified"
        48: .line 570
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 55
        50: .line 576
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 52
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 52
        51: .line 577
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnonnull 52
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 55
        52: .line 578
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        53: .line 579
            ldc "if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified"
        54: .line 578
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        55: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 60
        56: .line 584
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 57
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 60
        57: .line 585
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        58: .line 586
            ldc "if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified"
        59: .line 585
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            lconst_0
            lcmp
            ifgt 64
        61: .line 591
            new java.lang.Exception
            dup
        62: .line 592
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Validity.must.be.greater.than.zero"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        63: .line 591
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        64: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            ifnull 98
        65: .line 597
            aconst_null
            astore 2 /* cl */
        start local 2 // java.lang.ClassLoader cl
        66: .line 598
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
            ifnull 76
        67: .line 599
            aconst_null
            astore 3 /* path */
        start local 3 // java.lang.String path
        68: .line 601
            aload 3 /* path */
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        69: .line 600
            invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        70: .line 603
            aload 3 /* path */
            ldc "env.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        71: .line 602
            invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        72: .line 604
            aload 3 /* path */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
            invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        73: .line 606
            aload 3 /* path */
            invokestatic sun.security.tools.PathList.pathToURLs:(Ljava/lang/String;)[Ljava/net/URL;
            astore 4 /* urls */
        start local 4 // java.net.URL[] urls
        74: .line 607
            new java.net.URLClassLoader
            dup
            aload 4 /* urls */
            invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
            astore 2 /* cl */
        end local 4 // java.net.URL[] urls
        end local 3 // java.lang.String path
        75: .line 608
            goto 77
        76: .line 609
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* cl */
        77: .line 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 97
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
      StackMap stack:
        78: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.tools.keytool.Pair
            astore 3 /* provider */
        start local 3 // sun.security.tools.keytool.Pair provider
        79: .line 613
            aload 3 /* provider */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* provName */
        start local 5 // java.lang.String provName
        80: .line 615
            aload 2 /* cl */
            ifnull 83
        81: .line 616
            aload 2 /* cl */
            aload 5 /* provName */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* provClass */
        start local 6 // java.lang.Class provClass
        82: .line 617
            goto 84
        end local 6 // java.lang.Class provClass
        83: .line 618
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader sun.security.tools.keytool.Pair java.util.Iterator java.lang.String
      StackMap stack:
            aload 5 /* provName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* provClass */
        start local 6 // java.lang.Class provClass
        84: .line 621
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* provider */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* provArg */
        start local 7 // java.lang.String provArg
        85: .line 623
            aload 7 /* provArg */
            ifnonnull 88
        86: .line 624
            aload 6 /* provClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 8 /* obj */
        start local 8 // java.lang.Object obj
        87: .line 625
            goto 90
        end local 8 // java.lang.Object obj
        88: .line 626
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* provClass */
            getstatic sun.security.tools.keytool.Main.PARAM_STRING:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 9 /* c */
        start local 9 // java.lang.reflect.Constructor c
        89: .line 627
            aload 9 /* c */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* provArg */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* obj */
        end local 9 // java.lang.reflect.Constructor c
        start local 8 // java.lang.Object obj
        90: .line 629
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* obj */
            instanceof java.security.Provider
            ifne 96
        91: .line 630
            new java.text.MessageFormat
            dup
        92: .line 631
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "provName.not.a.provider"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        93: .line 630
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        94: .line 632
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* provName */
            aastore
            astore 10 /* source */
        start local 10 // java.lang.Object[] source
        95: .line 633
            new java.lang.Exception
            dup
            aload 9 /* form */
            aload 10 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.Object[] source
        end local 9 // java.text.MessageFormat form
        96: .line 635
      StackMap locals:
      StackMap stack:
            aload 8 /* obj */
            checkcast java.security.Provider
            invokestatic java.security.Security.addProvider:(Ljava/security/Provider;)I
            pop
        end local 8 // java.lang.Object obj
        end local 7 // java.lang.String provArg
        end local 6 // java.lang.Class provClass
        end local 5 // java.lang.String provName
        end local 3 // sun.security.tools.keytool.Pair provider
        97: .line 612
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 78
        end local 2 // java.lang.ClassLoader cl
        98: .line 639
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.LIST:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 103
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 103
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 103
        99: .line 640
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       100: .line 641
            ldc "Must.not.specify.both.v.and.rfc.with.list.command"
       101: .line 640
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       102: .line 642
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       103: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 107
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 107
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            arraylength
            bipush 6
            if_icmpge 107
       104: .line 647
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       105: .line 648
            ldc "Key.password.must.be.at.least.6.characters"
       106: .line 647
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       107: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnull 111
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            arraylength
            bipush 6
            if_icmpge 111
       108: .line 651
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       109: .line 652
            ldc "New.password.must.be.at.least.6.characters"
       110: .line 651
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       111: .line 654
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 115
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            arraylength
            bipush 6
            if_icmpge 115
       112: .line 655
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       113: .line 656
            ldc "New.password.must.be.at.least.6.characters"
       114: .line 655
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       115: .line 664
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 141
       116: .line 665
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnonnull 120
       117: .line 666
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "user.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       118: .line 667
            ldc ".keystore"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       119: .line 666
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
       120: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 141
       121: .line 672
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            putfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
       122: .line 674
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 128
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual java.io.File.length:()J
            lconst_0
            lcmp
            ifne 128
       123: .line 675
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       124: .line 676
            ldc "Keystore.file.exists.but.is.empty."
       125: .line 675
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       126: .line 676
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       127: .line 675
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       128: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
       129: .line 679
            goto 141
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
       130: pop
       131: .line 680
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 141
       132: .line 681
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENSECKEY:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 141
       133: .line 682
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 141
       134: .line 683
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 141
       135: .line 684
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 141
       136: .line 685
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       137: .line 686
            ldc "Keystore.file.does.not.exist."
       138: .line 685
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       139: .line 686
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       140: .line 685
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       141: .line 692
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 142
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.CHANGEALIAS:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 148
       142: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            ifnonnull 148
       143: .line 694
            aload 0 /* this */
            aload 0 /* this */
            ldc "destination"
            invokevirtual sun.security.tools.keytool.Main.getAlias:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
       144: .line 695
            ldc ""
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 148
       145: .line 696
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       146: .line 697
            ldc "Must.specify.destination.alias"
       147: .line 696
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       148: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.DELETE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 152
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 152
       149: .line 702
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.tools.keytool.Main.getAlias:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       150: .line 703
            ldc ""
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 152
       151: .line 704
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Must.specify.alias"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       152: .line 709
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            ifnonnull 155
       153: .line 710
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       154: .line 711
            goto 156
       155: .line 712
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       156: .line 735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 160
       157: .line 736
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
       158: .line 737
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 160
       159: .line 738
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
       160: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 163
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 163
       161: .line 746
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aconst_null
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
       162: .line 747
            goto 230
      StackMap locals:
      StackMap stack:
       163: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 168
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 168
       164: .line 750
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnonnull 230
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            arraylength
            bipush 6
            if_icmpge 230
       165: .line 751
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       166: .line 752
            ldc "Keystore.password.must.be.at.least.6.characters"
       167: .line 751
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       168: .line 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 230
       169: .line 758
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 216
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 216
       170: .line 759
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.CERTREQ:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       171: .line 760
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.DELETE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       172: .line 761
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       173: .line 762
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENSECKEY:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       174: .line 763
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       175: .line 764
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       176: .line 765
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       177: .line 766
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.CHANGEALIAS:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       178: .line 767
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.SELFCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       179: .line 768
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.STOREPASSWD:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       180: .line 769
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 182
       181: .line 770
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 216
       182: .line 771
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* count */
        start local 2 // int count
       183: .line 773
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 188
       184: .line 774
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       185: .line 775
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Enter.destination.keystore.password."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       186: .line 774
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       187: .line 776
            goto 191
       188: .line 777
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       189: .line 778
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Enter.keystore.password."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       190: .line 777
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       191: .line 780
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
       192: .line 781
            aload 0 /* this */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            putfield sun.security.tools.keytool.Main.storePass:[C
       193: .line 782
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       194: .line 786
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 199
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 195
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            arraylength
            bipush 6
            if_icmpge 199
       195: .line 787
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       196: .line 788
            ldc "Keystore.password.is.too.short.must.be.at.least.6.characters"
       197: .line 787
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       198: .line 789
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
       199: .line 794
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 208
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 208
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnonnull 208
       200: .line 795
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Re.enter.new.password."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       201: .line 796
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 3 /* storePassAgain */
        start local 3 // char[] storePassAgain
       202: .line 797
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 3 /* storePassAgain */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       203: .line 798
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 3 /* storePassAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 208
       204: .line 799
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       205: .line 800
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "They.don.t.match.Try.again"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       206: .line 799
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       207: .line 801
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
        end local 3 // char[] storePassAgain
       208: .line 805
      StackMap locals:
      StackMap stack:
            iinc 2 /* count */ 1
       209: .line 806
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 211
            iload 2 /* count */
            iconst_3
       210: .line 772
            if_icmplt 183
       211: .line 809
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 223
       212: .line 810
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       213: .line 811
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Too.many.failures.try.later"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       214: .line 810
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       215: .line 812
            return
        end local 2 // int count
       216: .line 814
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 223
       217: .line 815
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 223
       218: .line 816
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 223
       219: .line 818
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Enter.keystore.password."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       220: .line 819
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
       221: .line 820
            aload 0 /* this */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            putfield sun.security.tools.keytool.Main.storePass:[C
       222: .line 821
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       223: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 226
       224: .line 827
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aconst_null
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
       225: .line 828
            goto 230
      StackMap locals:
      StackMap stack:
       226: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 230
       227: .line 829
            aload 0 /* this */
            new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
       228: .line 830
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
       229: .line 831
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
       230: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 246
            ldc "PKCS12"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 246
       231: .line 836
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       232: .line 837
            ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
       233: .line 836
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
       234: .line 838
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 238
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 238
       235: .line 839
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-keypass"
            aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
       236: .line 840
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* form */
            aload 3 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       237: .line 841
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            putfield sun.security.tools.keytool.Main.keyPass:[C
        end local 3 // java.lang.Object[] source
       238: .line 843
      StackMap locals: java.text.MessageFormat
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnull 242
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 242
       239: .line 844
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-new"
            aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
       240: .line 845
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* form */
            aload 3 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       241: .line 846
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            putfield sun.security.tools.keytool.Main.newPass:[C
        end local 3 // java.lang.Object[] source
       242: .line 848
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 246
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 246
       243: .line 849
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-destkeypass"
            aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
       244: .line 850
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* form */
            aload 3 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       245: .line 851
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            putfield sun.security.tools.keytool.Main.destKeyPass:[C
        end local 3 // java.lang.Object[] source
        end local 2 // java.text.MessageFormat form
       246: .line 856
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 248
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 248
       247: .line 857
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 249
       248: .line 858
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "X509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            putfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
       249: .line 861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 251
       250: .line 862
            aload 0 /* this */
            invokestatic sun.security.tools.KeyStoreUtil.getCacertsKeyStore:()Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
       251: .line 866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.CERTREQ:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 274
       252: .line 867
            aconst_null
            astore 2 /* ps */
        start local 2 // java.io.PrintStream ps
       253: .line 868
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 258
       254: .line 869
            new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
       255: .line 870
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
       256: .line 869
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 2 /* ps */
       257: .line 871
            aload 2 /* ps */
            astore 1 /* out */
       258: .line 874
      StackMap locals: java.io.PrintStream
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doCertReq:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
       259: .line 875
            goto 264
      StackMap locals:
      StackMap stack: java.lang.Throwable
       260: astore 3
       261: .line 876
            aload 2 /* ps */
            ifnull 263
       262: .line 877
            aload 2 /* ps */
            invokevirtual java.io.PrintStream.close:()V
       263: .line 879
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
       264: .line 876
      StackMap locals:
      StackMap stack:
            aload 2 /* ps */
            ifnull 266
       265: .line 877
            aload 2 /* ps */
            invokevirtual java.io.PrintStream.close:()V
       266: .line 880
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 429
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 429
       267: .line 881
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       268: .line 882
            ldc "Certification.request.stored.in.file.filename."
       269: .line 881
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
       270: .line 883
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       271: .line 884
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       272: .line 885
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Submit.this.to.your.CA"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        end local 2 // java.io.PrintStream ps
       273: .line 887
            goto 429
      StackMap locals:
      StackMap stack:
       274: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.DELETE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 278
       275: .line 888
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.doDeleteEntry:(Ljava/lang/String;)V
       276: .line 889
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       277: .line 890
            goto 429
      StackMap locals:
      StackMap stack:
       278: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.EXPORTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 300
       279: .line 891
            aconst_null
            astore 2 /* ps */
        start local 2 // java.io.PrintStream ps
       280: .line 892
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 285
       281: .line 893
            new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
       282: .line 894
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
       283: .line 893
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 2 /* ps */
       284: .line 895
            aload 2 /* ps */
            astore 1 /* out */
       285: .line 898
      StackMap locals: java.io.PrintStream
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doExportCert:(Ljava/lang/String;Ljava/io/PrintStream;)V
       286: .line 899
            goto 291
      StackMap locals:
      StackMap stack: java.lang.Throwable
       287: astore 3
       288: .line 900
            aload 2 /* ps */
            ifnull 290
       289: .line 901
            aload 2 /* ps */
            invokevirtual java.io.PrintStream.close:()V
       290: .line 903
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
       291: .line 900
      StackMap locals:
      StackMap stack:
            aload 2 /* ps */
            ifnull 293
       292: .line 901
            aload 2 /* ps */
            invokevirtual java.io.PrintStream.close:()V
       293: .line 904
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 429
       294: .line 905
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       295: .line 906
            ldc "Certificate.stored.in.file.filename."
       296: .line 905
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
       297: .line 907
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       298: .line 908
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        end local 2 // java.io.PrintStream ps
       299: .line 910
            goto 429
      StackMap locals:
      StackMap stack:
       300: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 306
       301: .line 911
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 303
       302: .line 912
            aload 0 /* this */
            ldc "DSA"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       303: .line 914
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keysize:I
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.doGenKeyPair:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
       304: .line 915
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       305: .line 916
            goto 429
      StackMap locals:
      StackMap stack:
       306: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENSECKEY:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 312
       307: .line 917
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 309
       308: .line 918
            aload 0 /* this */
            ldc "DES"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       309: .line 920
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keysize:I
            invokevirtual sun.security.tools.keytool.Main.doGenSecretKey:(Ljava/lang/String;Ljava/lang/String;I)V
       310: .line 921
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       311: .line 922
            goto 429
      StackMap locals:
      StackMap stack:
       312: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 325
       313: .line 923
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 2 /* inStream */
        start local 2 // java.io.InputStream inStream
       314: .line 924
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 316
       315: .line 925
            new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 2 /* inStream */
       316: .line 928
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inStream */
            invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
       317: .line 929
            goto 322
      StackMap locals:
      StackMap stack: java.lang.Throwable
       318: astore 3
       319: .line 930
            aload 2 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 321
       320: .line 931
            aload 2 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       321: .line 933
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
       322: .line 930
      StackMap locals:
      StackMap stack:
            aload 2 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 429
       323: .line 931
            aload 2 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 2 // java.io.InputStream inStream
       324: .line 934
            goto 429
      StackMap locals:
      StackMap stack:
       325: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 365
       326: .line 935
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 2 /* inStream */
        start local 2 // java.io.InputStream inStream
       327: .line 936
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 329
       328: .line 937
            new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 2 /* inStream */
       329: .line 940
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 330
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            goto 331
      StackMap locals:
      StackMap stack:
       330: ldc "mykey"
      StackMap locals:
      StackMap stack: java.lang.String
       331: astore 3 /* importAlias */
        start local 3 // java.lang.String importAlias
       332: .line 941
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 3 /* importAlias */
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifeq 343
       333: .line 942
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* importAlias */
            aload 2 /* inStream */
            invokevirtual sun.security.tools.keytool.Main.installReply:(Ljava/lang/String;Ljava/io/InputStream;)Z
            putfield sun.security.tools.keytool.Main.kssave:Z
       334: .line 943
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 339
       335: .line 944
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       336: .line 945
            ldc "Certificate.reply.was.installed.in.keystore"
       337: .line 944
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       338: .line 946
            goto 362
       339: .line 947
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       340: .line 948
            ldc "Certificate.reply.was.not.installed.in.keystore"
       341: .line 947
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       342: .line 950
            goto 362
      StackMap locals:
      StackMap stack:
       343: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 3 /* importAlias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifeq 348
       344: .line 951
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 3 /* importAlias */
       345: .line 952
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
       346: .line 951
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       347: .line 952
            ifeq 362
       348: .line 953
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* importAlias */
            aload 2 /* inStream */
            invokevirtual sun.security.tools.keytool.Main.addTrustedCert:(Ljava/lang/String;Ljava/io/InputStream;)Z
            putfield sun.security.tools.keytool.Main.kssave:Z
       349: .line 954
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 354
       350: .line 955
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       351: .line 956
            ldc "Certificate.was.added.to.keystore"
       352: .line 955
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       353: .line 957
            goto 362
       354: .line 958
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       355: .line 959
            ldc "Certificate.was.not.added.to.keystore"
       356: .line 958
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // java.lang.String importAlias
       357: .line 962
            goto 362
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.InputStream
      StackMap stack: java.lang.Throwable
       358: astore 4
       359: .line 963
            aload 2 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 361
       360: .line 964
            aload 2 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       361: .line 966
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.InputStream top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
       362: .line 963
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.InputStream
      StackMap stack:
            aload 2 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 429
       363: .line 964
            aload 2 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 2 // java.io.InputStream inStream
       364: .line 967
            goto 429
      StackMap locals:
      StackMap stack:
       365: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 369
       366: .line 968
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStore:()V
       367: .line 969
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       368: .line 970
            goto 429
      StackMap locals:
      StackMap stack:
       369: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 388
       370: .line 971
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
       371: .line 974
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 373
       372: .line 975
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       373: .line 977
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 379
       374: .line 978
            new java.text.MessageFormat
            dup
       375: .line 979
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.does.not.exist"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       376: .line 978
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
       377: .line 980
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
       378: .line 981
            new java.lang.Exception
            dup
            aload 2 /* form */
            aload 3 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Object[] source
        end local 2 // java.text.MessageFormat form
       379: .line 983
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifne 385
       380: .line 984
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       381: .line 985
            ldc "Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key"
       382: .line 984
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
       383: .line 986
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
       384: .line 987
            new java.lang.Exception
            dup
            aload 2 /* form */
            aload 3 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Object[] source
        end local 2 // java.text.MessageFormat form
       385: .line 990
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.doCloneEntry:(Ljava/lang/String;Ljava/lang/String;Z)V
       386: .line 991
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       387: .line 992
            goto 429
      StackMap locals:
      StackMap stack:
       388: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.CHANGEALIAS:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 396
       389: .line 993
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 391
       390: .line 994
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       391: .line 996
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            iconst_0
            invokevirtual sun.security.tools.keytool.Main.doCloneEntry:(Ljava/lang/String;Ljava/lang/String;Z)V
       392: .line 998
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifeq 394
       393: .line 999
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.doDeleteEntry:(Ljava/lang/String;)V
       394: .line 1001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       395: .line 1002
            goto 429
      StackMap locals:
      StackMap stack:
       396: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 401
       397: .line 1003
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
       398: .line 1004
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.doChangeKeyPasswd:(Ljava/lang/String;)V
       399: .line 1005
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       400: .line 1006
            goto 429
      StackMap locals:
      StackMap stack:
       401: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.LIST:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 407
       402: .line 1007
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 405
       403: .line 1008
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 1 /* out */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/io/PrintStream;Z)V
       404: .line 1009
            goto 429
       405: .line 1010
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintEntries:(Ljava/io/PrintStream;)V
       406: .line 1012
            goto 429
      StackMap locals:
      StackMap stack:
       407: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 420
       408: .line 1013
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 2 /* inStream */
        start local 2 // java.io.InputStream inStream
       409: .line 1014
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 411
       410: .line 1015
            new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 2 /* inStream */
       411: .line 1018
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            aload 2 /* inStream */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintCert:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
       412: .line 1019
            goto 417
      StackMap locals:
      StackMap stack: java.lang.Throwable
       413: astore 3
       414: .line 1020
            aload 2 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 416
       415: .line 1021
            aload 2 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       416: .line 1023
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
       417: .line 1020
      StackMap locals:
      StackMap stack:
            aload 2 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 429
       418: .line 1021
            aload 2 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 2 // java.io.InputStream inStream
       419: .line 1024
            goto 429
      StackMap locals:
      StackMap stack:
       420: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.SELFCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 424
       421: .line 1025
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.doSelfCert:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       422: .line 1026
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       423: .line 1027
            goto 429
      StackMap locals:
      StackMap stack:
       424: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.STOREPASSWD:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 429
       425: .line 1028
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.storePassNew:[C
       426: .line 1029
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            ifnonnull 428
       427: .line 1030
            aload 0 /* this */
            aload 0 /* this */
            ldc "keystore password"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokevirtual sun.security.tools.keytool.Main.getNewPasswd:(Ljava/lang/String;[C)[C
            putfield sun.security.tools.keytool.Main.storePassNew:[C
       428: .line 1032
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       429: .line 1036
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 458
       430: .line 1037
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 438
       431: .line 1038
            new java.text.MessageFormat
            dup
       432: .line 1039
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".Storing.ksfname."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       433: .line 1038
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
       434: .line 1040
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 435
            ldc "keystore"
            goto 436
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.text.MessageFormat
      StackMap stack: java.lang.Object[] java.lang.Object[] int
       435: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.text.MessageFormat
      StackMap stack: java.lang.Object[] java.lang.Object[] int java.lang.String
       436: aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
       437: .line 1041
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* form */
            aload 3 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // java.lang.Object[] source
        end local 2 // java.text.MessageFormat form
       438: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 441
       439: .line 1045
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aconst_null
            aconst_null
            invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
       440: .line 1046
            goto 458
       441: .line 1047
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* fout */
        start local 2 // java.io.FileOutputStream fout
       442: .line 1049
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 444
       443: .line 1050
            aconst_null
            goto 445
       444: .line 1051
      StackMap locals: java.io.FileOutputStream
      StackMap stack:
            new java.io.FileOutputStream
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
       445: .line 1049
      StackMap locals:
      StackMap stack: java.io.FileOutputStream
            astore 2 /* fout */
       446: .line 1052
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       447: .line 1053
            aload 2 /* fout */
       448: .line 1054
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            ifnull 449
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            goto 450
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.FileOutputStream
      StackMap stack: java.security.KeyStore java.io.FileOutputStream
       449: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
       450: .line 1052
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.FileOutputStream
      StackMap stack: java.security.KeyStore java.io.FileOutputStream char[]
            invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
       451: .line 1055
            goto 456
      StackMap locals:
      StackMap stack: java.lang.Throwable
       452: astore 3
       453: .line 1056
            aload 2 /* fout */
            ifnull 455
       454: .line 1057
            aload 2 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
       455: .line 1059
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
       456: .line 1056
      StackMap locals:
      StackMap stack:
            aload 2 /* fout */
            ifnull 458
       457: .line 1057
            aload 2 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 2 // java.io.FileOutputStream fout
       458: .line 1062
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.PrintStream out
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  459     0            this  Lsun/security/tools/keytool/Main;
            0  459     1             out  Ljava/io/PrintStream;
           66   98     2              cl  Ljava/lang/ClassLoader;
           68   75     3            path  Ljava/lang/String;
           74   75     4            urls  [Ljava/net/URL;
           79   97     3        provider  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;
           80   97     5        provName  Ljava/lang/String;
           82   83     6       provClass  Ljava/lang/Class<*>;
           84   97     6       provClass  Ljava/lang/Class<*>;
           85   97     7         provArg  Ljava/lang/String;
           87   88     8             obj  Ljava/lang/Object;
           90   97     8             obj  Ljava/lang/Object;
           89   90     9               c  Ljava/lang/reflect/Constructor<*>;
           94   96     9            form  Ljava/text/MessageFormat;
           95   96    10          source  [Ljava/lang/Object;
          183  216     2           count  I
          202  208     3  storePassAgain  [C
          234  246     2            form  Ljava/text/MessageFormat;
          236  238     3          source  [Ljava/lang/Object;
          240  242     3          source  [Ljava/lang/Object;
          244  246     3          source  [Ljava/lang/Object;
          253  273     2              ps  Ljava/io/PrintStream;
          270  273     3            form  Ljava/text/MessageFormat;
          271  273     4          source  [Ljava/lang/Object;
          280  299     2              ps  Ljava/io/PrintStream;
          297  299     3            form  Ljava/text/MessageFormat;
          298  299     4          source  [Ljava/lang/Object;
          314  324     2        inStream  Ljava/io/InputStream;
          327  364     2        inStream  Ljava/io/InputStream;
          332  357     3     importAlias  Ljava/lang/String;
          377  379     2            form  Ljava/text/MessageFormat;
          378  379     3          source  [Ljava/lang/Object;
          383  385     2            form  Ljava/text/MessageFormat;
          384  385     3          source  [Ljava/lang/Object;
          409  419     2        inStream  Ljava/io/InputStream;
          434  438     2            form  Ljava/text/MessageFormat;
          437  438     3          source  [Ljava/lang/Object;
          442  458     2            fout  Ljava/io/FileOutputStream;
      Exception table:
        from    to  target  type
         121   129     130  Class java.io.FileNotFoundException
         258   260     260  any
         285   287     287  any
         316   318     318  any
         329   358     358  any
         411   413     413  any
         442   452     452  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      out   

  private void doCertReq(java.lang.String, java.lang.String, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String sigAlgName
        start local 3 // java.io.PrintStream out
         0: .line 1071
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1072
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1075
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            invokevirtual sun.security.tools.keytool.Main.recoverKey:(Ljava/lang/String;[C[C)[Ljava/lang/Object;
            astore 4 /* objs */
        start local 4 // java.lang.Object[] objs
         3: .line 1076
            aload 4 /* objs */
            iconst_0
            aaload
            checkcast java.security.PrivateKey
            astore 5 /* privKey */
        start local 5 // java.security.PrivateKey privKey
         4: .line 1077
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 1078
            aload 0 /* this */
            aload 4 /* objs */
            iconst_1
            aaload
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
         6: .line 1081
      StackMap locals: java.lang.Object[] java.security.PrivateKey
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 6 /* cert */
        start local 6 // java.security.cert.Certificate cert
         7: .line 1082
            aload 6 /* cert */
            ifnonnull 13
         8: .line 1083
            new java.text.MessageFormat
            dup
         9: .line 1084
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "alias.has.no.public.key.certificate."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        10: .line 1083
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        11: .line 1085
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        12: .line 1086
            new java.lang.Exception
            dup
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        13: .line 1088
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            new sun.security.pkcs10.PKCS10
            dup
            aload 6 /* cert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokespecial sun.security.pkcs10.PKCS10.<init>:(Ljava/security/PublicKey;)V
            astore 7 /* request */
        start local 7 // sun.security.pkcs10.PKCS10 request
        14: .line 1091
            aload 2 /* sigAlgName */
            ifnonnull 28
        15: .line 1094
            aload 5 /* privKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            astore 8 /* keyAlgName */
        start local 8 // java.lang.String keyAlgName
        16: .line 1095
            ldc "DSA"
            aload 8 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
        17: .line 1096
            ldc "SHA256WithDSA"
            astore 2 /* sigAlgName */
        18: .line 1097
            goto 28
      StackMap locals: sun.security.pkcs10.PKCS10 java.lang.String
      StackMap stack:
        19: ldc "DSS"
            aload 8 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
        20: .line 1098
            ldc "SHA1WithDSA"
            astore 2 /* sigAlgName */
        21: .line 1099
            goto 28
      StackMap locals:
      StackMap stack:
        22: ldc "RSA"
            aload 8 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 25
        23: .line 1100
            ldc "SHA1WithRSA"
            astore 2 /* sigAlgName */
        24: .line 1101
            goto 28
        25: .line 1102
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        26: .line 1103
            ldc "Cannot.derive.signature.algorithm"
        27: .line 1102
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.String keyAlgName
        28: .line 1107
      StackMap locals:
      StackMap stack:
            aload 2 /* sigAlgName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 8 /* signature */
        start local 8 // java.security.Signature signature
        29: .line 1108
            aload 8 /* signature */
            aload 5 /* privKey */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
        30: .line 1110
            new sun.security.x509.X500Name
            dup
            aload 6 /* cert */
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            invokeinterface java.security.Principal.toString:()Ljava/lang/String;
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
        31: .line 1109
            astore 9 /* subject */
        start local 9 // sun.security.x509.X500Name subject
        32: .line 1111
            new sun.security.x509.X500Signer
            dup
            aload 8 /* signature */
            aload 9 /* subject */
            invokespecial sun.security.x509.X500Signer.<init>:(Ljava/security/Signature;Lsun/security/x509/X500Name;)V
            astore 10 /* signer */
        start local 10 // sun.security.x509.X500Signer signer
        33: .line 1114
            aload 7 /* request */
            aload 10 /* signer */
            invokevirtual sun.security.pkcs10.PKCS10.encodeAndSign:(Lsun/security/x509/X500Signer;)V
        34: .line 1115
            aload 7 /* request */
            aload 3 /* out */
            invokevirtual sun.security.pkcs10.PKCS10.print:(Ljava/io/PrintStream;)V
        35: .line 1116
            return
        end local 10 // sun.security.x509.X500Signer signer
        end local 9 // sun.security.x509.X500Name subject
        end local 8 // java.security.Signature signature
        end local 7 // sun.security.pkcs10.PKCS10 request
        end local 6 // java.security.cert.Certificate cert
        end local 5 // java.security.PrivateKey privKey
        end local 4 // java.lang.Object[] objs
        end local 3 // java.io.PrintStream out
        end local 2 // java.lang.String sigAlgName
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0        this  Lsun/security/tools/keytool/Main;
            0   36     1       alias  Ljava/lang/String;
            0   36     2  sigAlgName  Ljava/lang/String;
            0   36     3         out  Ljava/io/PrintStream;
            3   36     4        objs  [Ljava/lang/Object;
            4   36     5     privKey  Ljava/security/PrivateKey;
            7   36     6        cert  Ljava/security/cert/Certificate;
           11   13     7        form  Ljava/text/MessageFormat;
           12   13     8      source  [Ljava/lang/Object;
           14   36     7     request  Lsun/security/pkcs10/PKCS10;
           16   28     8  keyAlgName  Ljava/lang/String;
           29   36     8   signature  Ljava/security/Signature;
           32   36     9     subject  Lsun/security/x509/X500Name;
           33   36    10      signer  Lsun/security/x509/X500Signer;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      sigAlgName  
      out         

  private void doDeleteEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
         0: .line 1122
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 6
         1: .line 1123
            new java.text.MessageFormat
            dup
         2: .line 1124
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.does.not.exist"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 1123
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         4: .line 1125
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
         5: .line 1126
            new java.lang.Exception
            dup
            aload 2 /* form */
            aload 3 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Object[] source
        end local 2 // java.text.MessageFormat form
         6: .line 1128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.deleteEntry:(Ljava/lang/String;)V
         7: .line 1129
            return
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lsun/security/tools/keytool/Main;
            0    8     1   alias  Ljava/lang/String;
            4    6     2    form  Ljava/text/MessageFormat;
            5    6     3  source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      alias  

  private void doExportCert(java.lang.String, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.io.PrintStream out
         0: .line 1137
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 3
         1: .line 1138
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 3
         2: .line 1139
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.printWarning:()V
         3: .line 1141
      StackMap locals:
      StackMap stack:
            aload 1 /* alias */
            ifnonnull 5
         4: .line 1142
            ldc "mykey"
            astore 1 /* alias */
         5: .line 1144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 11
         6: .line 1145
            new java.text.MessageFormat
            dup
         7: .line 1146
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.does.not.exist"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 1145
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         9: .line 1147
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        10: .line 1148
            new java.lang.Exception
            dup
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        11: .line 1151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
        12: .line 1152
            aload 3 /* cert */
            ifnonnull 18
        13: .line 1153
            new java.text.MessageFormat
            dup
        14: .line 1154
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.has.no.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        15: .line 1153
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        16: .line 1155
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        17: .line 1156
            new java.lang.Exception
            dup
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        18: .line 1158
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            aload 3 /* cert */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        19: .line 1159
            return
        end local 3 // java.security.cert.X509Certificate cert
        end local 2 // java.io.PrintStream out
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lsun/security/tools/keytool/Main;
            0   20     1   alias  Ljava/lang/String;
            0   20     2     out  Ljava/io/PrintStream;
            9   11     3    form  Ljava/text/MessageFormat;
           10   11     4  source  [Ljava/lang/Object;
           12   20     3    cert  Ljava/security/cert/X509Certificate;
           16   18     4    form  Ljava/text/MessageFormat;
           17   18     5  source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      alias  
      out    

  private char[] promptForKeyPass(java.lang.String, java.lang.String, char[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[C)[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String orig
        start local 3 // char[] origPass
         0: .line 1168
            ldc "PKCS12"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1169
            aload 3 /* origPass */
            areturn
         2: .line 1170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 48
         3: .line 1173
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         4: goto 39
         5: .line 1174
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         6: .line 1175
            ldc "Enter.key.password.for.alias."
         7: .line 1174
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         8: .line 1176
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
         9: .line 1177
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 1178
            aload 2 /* orig */
            ifnonnull 15
        11: .line 1179
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        12: .line 1180
            ldc ".RETURN.if.same.as.keystore.password."
        13: .line 1179
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        14: .line 1181
            goto 20
        15: .line 1182
      StackMap locals: java.text.MessageFormat java.lang.Object[]
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        16: .line 1183
            ldc ".RETURN.if.same.as.for.otherAlias."
        17: .line 1182
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        18: .line 1184
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* orig */
            aastore
            astore 7 /* src */
        start local 7 // java.lang.Object[] src
        19: .line 1185
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 5 /* form */
            aload 7 /* src */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        end local 7 // java.lang.Object[] src
        20: .line 1187
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        21: .line 1188
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 7 /* entered */
        start local 7 // char[] entered
        22: .line 1189
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 7 /* entered */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        23: .line 1190
            aload 7 /* entered */
            ifnonnull 25
        24: .line 1191
            aload 3 /* origPass */
            areturn
        25: .line 1192
      StackMap locals: char[]
      StackMap stack:
            aload 7 /* entered */
            arraylength
            bipush 6
            if_icmplt 35
        26: .line 1193
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Re.enter.new.password."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        27: .line 1194
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 8 /* passAgain */
        start local 8 // char[] passAgain
        28: .line 1195
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 8 /* passAgain */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        29: .line 1196
            aload 7 /* entered */
            aload 8 /* passAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 34
        30: .line 1197
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        31: .line 1198
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "They.don.t.match.Try.again"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        32: .line 1197
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 1199
            goto 38
        34: .line 1201
      StackMap locals: char[]
      StackMap stack:
            aload 7 /* entered */
            areturn
        end local 8 // char[] passAgain
        35: .line 1203
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        36: .line 1204
            ldc "Key.password.is.too.short.must.be.at.least.6.characters"
        37: .line 1203
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // char[] entered
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        38: .line 1173
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
      StackMap locals:
      StackMap stack:
        39: iload 4 /* count */
            iconst_3
            if_icmplt 5
        40: .line 1207
            iload 4 /* count */
            iconst_3
            if_icmpne 48
        41: .line 1208
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 45
        42: .line 1209
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        43: .line 1210
            ldc "Too.many.failures.Key.entry.not.cloned"
        44: .line 1209
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 1212
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        46: .line 1213
            ldc "Too.many.failures.key.not.added.to.keystore"
        47: .line 1212
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // int count
        48: .line 1217
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // char[] origPass
        end local 2 // java.lang.String orig
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   49     0       this  Lsun/security/tools/keytool/Main;
            0   49     1      alias  Ljava/lang/String;
            0   49     2       orig  Ljava/lang/String;
            0   49     3   origPass  [C
            4   48     4      count  I
            8   38     5       form  Ljava/text/MessageFormat;
            9   38     6     source  [Ljava/lang/Object;
           19   20     7        src  [Ljava/lang/Object;
           22   38     7    entered  [C
           28   35     8  passAgain  [C
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      alias     
      orig      
      origPass  

  private void doGenSecretKey(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String keyAlgName
        start local 3 // int keysize
         0: .line 1226
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1227
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifeq 8
         3: .line 1230
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 1231
            ldc "Secret.key.not.generated.alias.alias.already.exists"
         5: .line 1230
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         6: .line 1232
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
         7: .line 1233
            new java.lang.Exception
            dup
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
         8: .line 1236
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* secKey */
        start local 4 // javax.crypto.SecretKey secKey
         9: .line 1237
            aload 2 /* keyAlgName */
            invokestatic javax.crypto.KeyGenerator.getInstance:(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
            astore 5 /* keygen */
        start local 5 // javax.crypto.KeyGenerator keygen
        10: .line 1238
            iload 3 /* keysize */
            iconst_m1
            if_icmpeq 13
        11: .line 1239
            aload 5 /* keygen */
            iload 3 /* keysize */
            invokevirtual javax.crypto.KeyGenerator.init:(I)V
        12: .line 1240
            goto 22
      StackMap locals: javax.crypto.SecretKey javax.crypto.KeyGenerator
      StackMap stack:
        13: ldc "DES"
            aload 2 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        14: .line 1241
            aload 5 /* keygen */
            bipush 56
            invokevirtual javax.crypto.KeyGenerator.init:(I)V
        15: .line 1242
            goto 22
      StackMap locals:
      StackMap stack:
        16: ldc "DESede"
            aload 2 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
        17: .line 1243
            aload 5 /* keygen */
            sipush 168
            invokevirtual javax.crypto.KeyGenerator.init:(I)V
        18: .line 1244
            goto 22
        19: .line 1245
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        20: .line 1246
            ldc "Please.provide.keysize.for.secret.key.generation"
        21: .line 1245
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1249
      StackMap locals:
      StackMap stack:
            aload 5 /* keygen */
            invokevirtual javax.crypto.KeyGenerator.generateKey:()Ljavax/crypto/SecretKey;
            astore 4 /* secKey */
        23: .line 1250
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 25
        24: .line 1251
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* alias */
            aconst_null
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokevirtual sun.security.tools.keytool.Main.promptForKeyPass:(Ljava/lang/String;Ljava/lang/String;[C)[C
            putfield sun.security.tools.keytool.Main.keyPass:[C
        25: .line 1253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 4 /* secKey */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            aconst_null
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        26: .line 1254
            return
        end local 5 // javax.crypto.KeyGenerator keygen
        end local 4 // javax.crypto.SecretKey secKey
        end local 3 // int keysize
        end local 2 // java.lang.String keyAlgName
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Lsun/security/tools/keytool/Main;
            0   27     1       alias  Ljava/lang/String;
            0   27     2  keyAlgName  Ljava/lang/String;
            0   27     3     keysize  I
            6    8     4        form  Ljava/text/MessageFormat;
            7    8     5      source  [Ljava/lang/Object;
            9   27     4      secKey  Ljavax/crypto/SecretKey;
           10   27     5      keygen  Ljavax/crypto/KeyGenerator;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      keyAlgName  
      keysize     

  private void doGenKeyPair(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=12, args_size=6
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String dname
        start local 3 // java.lang.String keyAlgName
        start local 4 // int keysize
        start local 5 // java.lang.String sigAlgName
         0: .line 1263
            iload 4 /* keysize */
            iconst_m1
            if_icmpne 9
         1: .line 1264
            ldc "EC"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 1265
            getstatic sun.security.util.SecurityProviderConstants.DEF_EC_KEY_SIZE:I
            istore 4 /* keysize */
         3: .line 1266
            goto 9
      StackMap locals:
      StackMap stack:
         4: ldc "RSA"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         5: .line 1267
            getstatic sun.security.util.SecurityProviderConstants.DEF_RSA_KEY_SIZE:I
            istore 4 /* keysize */
         6: .line 1268
            goto 9
      StackMap locals:
      StackMap stack:
         7: ldc "DSA"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 1269
            getstatic sun.security.util.SecurityProviderConstants.DEF_DSA_KEY_SIZE:I
            istore 4 /* keysize */
         9: .line 1273
      StackMap locals:
      StackMap stack:
            aload 1 /* alias */
            ifnonnull 11
        10: .line 1274
            ldc "mykey"
            astore 1 /* alias */
        11: .line 1277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifeq 17
        12: .line 1278
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        13: .line 1279
            ldc "Key.pair.not.generated.alias.alias.already.exists"
        14: .line 1278
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        15: .line 1280
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        16: .line 1281
            new java.lang.Exception
            dup
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        17: .line 1284
      StackMap locals:
      StackMap stack:
            aload 5 /* sigAlgName */
            ifnonnull 30
        18: .line 1285
            ldc "DSA"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 21
        19: .line 1286
            ldc "SHA1WithDSA"
            astore 5 /* sigAlgName */
        20: .line 1287
            goto 30
      StackMap locals:
      StackMap stack:
        21: ldc "RSA"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 24
        22: .line 1288
            ldc "SHA256WithRSA"
            astore 5 /* sigAlgName */
        23: .line 1289
            goto 30
      StackMap locals:
      StackMap stack:
        24: ldc "EC"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 27
        25: .line 1290
            ldc "SHA256withECDSA"
            astore 5 /* sigAlgName */
        26: .line 1291
            goto 30
        27: .line 1292
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        28: .line 1293
            ldc "Cannot.derive.signature.algorithm"
        29: .line 1292
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 1297
      StackMap locals:
      StackMap stack:
            new sun.security.tools.keytool.CertAndKeyGen
            dup
            aload 3 /* keyAlgName */
            aload 5 /* sigAlgName */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            invokespecial sun.security.tools.keytool.CertAndKeyGen.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        31: .line 1296
            astore 6 /* keypair */
        start local 6 // sun.security.tools.keytool.CertAndKeyGen keypair
        32: .line 1302
            aload 2 /* dname */
            ifnonnull 35
        33: .line 1303
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.getX500Name:()Lsun/security/x509/X500Name;
            astore 7 /* x500Name */
        start local 7 // sun.security.x509.X500Name x500Name
        34: .line 1304
            goto 36
        end local 7 // sun.security.x509.X500Name x500Name
        35: .line 1305
      StackMap locals: sun.security.tools.keytool.CertAndKeyGen
      StackMap stack:
            new sun.security.x509.X500Name
            dup
            aload 2 /* dname */
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
            astore 7 /* x500Name */
        start local 7 // sun.security.x509.X500Name x500Name
        36: .line 1308
      StackMap locals: sun.security.x509.X500Name
      StackMap stack:
            aload 6 /* keypair */
            iload 4 /* keysize */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(I)V
        37: .line 1309
            aload 6 /* keypair */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPrivateKey:()Ljava/security/PrivateKey;
            astore 8 /* privKey */
        start local 8 // java.security.PrivateKey privKey
        38: .line 1311
            iconst_1
            anewarray java.security.cert.X509Certificate
            astore 9 /* chain */
        start local 9 // java.security.cert.X509Certificate[] chain
        39: .line 1312
            aload 9 /* chain */
            iconst_0
            aload 6 /* keypair */
        40: .line 1313
            aload 7 /* x500Name */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getStartDate:(Ljava/lang/String;)Ljava/util/Date;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            ldc 24
            lmul
            ldc 60
            lmul
            ldc 60
            lmul
        41: .line 1312
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getSelfCertificate:(Lsun/security/x509/X500Name;Ljava/util/Date;J)Ljava/security/cert/X509Certificate;
            aastore
        42: .line 1315
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 53
        43: .line 1316
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        44: .line 1317
            ldc "Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for"
        45: .line 1316
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
        46: .line 1318
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            iload 4 /* keysize */
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
        47: .line 1319
            aload 8 /* privKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        48: .line 1320
            aload 9 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
        49: .line 1321
            new java.lang.Long
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            invokespecial java.lang.Long.<init>:(J)V
            aastore
            dup
            iconst_4
        50: .line 1322
            aload 7 /* x500Name */
            aastore
        51: .line 1318
            astore 11 /* source */
        start local 11 // java.lang.Object[] source
        52: .line 1323
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 10 /* form */
            aload 11 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 11 // java.lang.Object[] source
        end local 10 // java.text.MessageFormat form
        53: .line 1326
      StackMap locals: java.security.PrivateKey java.security.cert.X509Certificate[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 55
        54: .line 1327
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* alias */
            aconst_null
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokevirtual sun.security.tools.keytool.Main.promptForKeyPass:(Ljava/lang/String;Ljava/lang/String;[C)[C
            putfield sun.security.tools.keytool.Main.keyPass:[C
        55: .line 1329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 8 /* privKey */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            aload 9 /* chain */
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        56: .line 1330
            return
        end local 9 // java.security.cert.X509Certificate[] chain
        end local 8 // java.security.PrivateKey privKey
        end local 7 // sun.security.x509.X500Name x500Name
        end local 6 // sun.security.tools.keytool.CertAndKeyGen keypair
        end local 5 // java.lang.String sigAlgName
        end local 4 // int keysize
        end local 3 // java.lang.String keyAlgName
        end local 2 // java.lang.String dname
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   57     0        this  Lsun/security/tools/keytool/Main;
            0   57     1       alias  Ljava/lang/String;
            0   57     2       dname  Ljava/lang/String;
            0   57     3  keyAlgName  Ljava/lang/String;
            0   57     4     keysize  I
            0   57     5  sigAlgName  Ljava/lang/String;
           15   17     6        form  Ljava/text/MessageFormat;
           16   17     7      source  [Ljava/lang/Object;
           32   57     6     keypair  Lsun/security/tools/keytool/CertAndKeyGen;
           34   35     7    x500Name  Lsun/security/x509/X500Name;
           36   57     7    x500Name  Lsun/security/x509/X500Name;
           38   57     8     privKey  Ljava/security/PrivateKey;
           39   57     9       chain  [Ljava/security/cert/X509Certificate;
           46   53    10        form  Ljava/text/MessageFormat;
           52   53    11      source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      dname       
      keyAlgName  
      keysize     
      sigAlgName  

  private void doCloneEntry(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String orig
        start local 2 // java.lang.String dest
        start local 3 // boolean changePassword
         0: .line 1341
            aload 1 /* orig */
            ifnonnull 2
         1: .line 1342
            ldc "mykey"
            astore 1 /* orig */
         2: .line 1345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* dest */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifeq 8
         3: .line 1346
            new java.text.MessageFormat
            dup
         4: .line 1347
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Destination.alias.dest.already.exists"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         5: .line 1346
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         6: .line 1348
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* dest */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
         7: .line 1349
            new java.lang.Exception
            dup
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
         8: .line 1352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* orig */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            invokevirtual sun.security.tools.keytool.Main.recoverEntry:(Ljava/security/KeyStore;Ljava/lang/String;[C[C)[Ljava/lang/Object;
            astore 4 /* objs */
        start local 4 // java.lang.Object[] objs
         9: .line 1353
            aload 4 /* objs */
            iconst_0
            aaload
            checkcast java.security.KeyStore$Entry
            astore 5 /* entry */
        start local 5 // java.security.KeyStore$Entry entry
        10: .line 1354
            aload 0 /* this */
            aload 4 /* objs */
            iconst_1
            aaload
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
        11: .line 1356
            aconst_null
            astore 6 /* pp */
        start local 6 // java.security.KeyStore$PasswordProtection pp
        12: .line 1358
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 19
        13: .line 1359
            iload 3 /* changePassword */
            ifeq 14
            ldc "PKCS12"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        14: .line 1360
      StackMap locals: java.lang.Object[] java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
        15: .line 1361
            goto 18
        16: .line 1362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPassNew:[C
            ifnonnull 18
        17: .line 1363
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* dest */
            aload 1 /* orig */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            invokevirtual sun.security.tools.keytool.Main.promptForKeyPass:(Ljava/lang/String;Ljava/lang/String;[C)[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
        18: .line 1366
      StackMap locals:
      StackMap stack:
            new java.security.KeyStore$PasswordProtection
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPassNew:[C
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 6 /* pp */
        19: .line 1368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* dest */
            aload 5 /* entry */
            aload 6 /* pp */
            invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
        20: .line 1369
            return
        end local 6 // java.security.KeyStore$PasswordProtection pp
        end local 5 // java.security.KeyStore$Entry entry
        end local 4 // java.lang.Object[] objs
        end local 3 // boolean changePassword
        end local 2 // java.lang.String dest
        end local 1 // java.lang.String orig
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lsun/security/tools/keytool/Main;
            0   21     1            orig  Ljava/lang/String;
            0   21     2            dest  Ljava/lang/String;
            0   21     3  changePassword  Z
            6    8     4            form  Ljava/text/MessageFormat;
            7    8     5          source  [Ljava/lang/Object;
            9   21     4            objs  [Ljava/lang/Object;
           10   21     5           entry  Ljava/security/KeyStore$Entry;
           12   21     6              pp  Ljava/security/KeyStore$PasswordProtection;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                Name  Flags
      orig            
      dest            
      changePassword  

  private void doChangeKeyPasswd(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
         0: .line 1377
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1378
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            invokevirtual sun.security.tools.keytool.Main.recoverKey:(Ljava/lang/String;[C[C)[Ljava/lang/Object;
            astore 2 /* objs */
        start local 2 // java.lang.Object[] objs
         3: .line 1381
            aload 2 /* objs */
            iconst_0
            aaload
            checkcast java.security.Key
            astore 3 /* privKey */
        start local 3 // java.security.Key privKey
         4: .line 1382
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 1383
            aload 0 /* this */
            aload 2 /* objs */
            iconst_1
            aaload
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
         6: .line 1386
      StackMap locals: java.lang.Object[] java.security.Key
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPassNew:[C
            ifnonnull 12
         7: .line 1387
            new java.text.MessageFormat
            dup
         8: .line 1388
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "key.password.for.alias."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         9: .line 1387
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        10: .line 1389
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        11: .line 1390
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            invokevirtual sun.security.tools.keytool.Main.getNewPasswd:(Ljava/lang/String;[C)[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        12: .line 1392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 3 /* privKey */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPassNew:[C
        13: .line 1393
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
        14: .line 1392
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        15: .line 1394
            return
        end local 3 // java.security.Key privKey
        end local 2 // java.lang.Object[] objs
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lsun/security/tools/keytool/Main;
            0   16     1    alias  Ljava/lang/String;
            3   16     2     objs  [Ljava/lang/Object;
            4   16     3  privKey  Ljava/security/Key;
           10   12     4     form  Ljava/text/MessageFormat;
           11   12     5   source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      alias  

  private void doImportIdentityDatabase(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.InputStream in
         0: .line 1407
            aconst_null
            astore 5 /* chain */
        start local 5 // java.security.cert.Certificate[] chain
         1: .line 1411
            aload 1 /* in */
            invokestatic sun.security.provider.IdentityDatabase.fromStream:(Ljava/io/InputStream;)Lsun/security/provider/IdentityDatabase;
            astore 7 /* idb */
        start local 7 // sun.security.provider.IdentityDatabase idb
         2: .line 1412
            aload 7 /* idb */
            invokevirtual sun.security.provider.IdentityDatabase.identities:()Ljava/util/Enumeration;
            astore 8 /* enum_ */
        start local 8 // java.util.Enumeration enum_
         3: .line 1413
            goto 46
         4: .line 1414
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream top top top java.security.cert.Certificate[] top sun.security.provider.IdentityDatabase java.util.Enumeration
      StackMap stack:
            aload 8 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.Identity
            astore 9 /* id */
        start local 9 // java.security.Identity id
         5: .line 1415
            aconst_null
            astore 4 /* newCert */
        start local 4 // java.security.cert.X509Certificate newCert
         6: .line 1417
            aload 9 /* id */
            instanceof sun.security.provider.SystemSigner
            ifeq 7
            aload 9 /* id */
            checkcast sun.security.provider.SystemSigner
            invokevirtual sun.security.provider.SystemSigner.isTrusted:()Z
            ifne 9
         7: .line 1418
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream top top java.security.cert.X509Certificate java.security.cert.Certificate[] top sun.security.provider.IdentityDatabase java.util.Enumeration java.security.Identity
      StackMap stack:
            aload 9 /* id */
            instanceof sun.security.provider.SystemIdentity
            ifeq 46
         8: .line 1419
            aload 9 /* id */
            checkcast sun.security.provider.SystemIdentity
            invokevirtual sun.security.provider.SystemIdentity.isTrusted:()Z
            ifeq 46
         9: .line 1421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 9 /* id */
            invokevirtual java.security.Identity.getName:()Ljava/lang/String;
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifeq 16
        10: .line 1422
            new java.text.MessageFormat
            dup
        11: .line 1423
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Keystore.entry.for.id.getName.already.exists"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        12: .line 1422
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
        13: .line 1424
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* id */
            invokevirtual java.security.Identity.getName:()Ljava/lang/String;
            aastore
            astore 11 /* source */
        start local 11 // java.lang.Object[] source
        14: .line 1425
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 10 /* form */
            aload 11 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 1426
            goto 46
        end local 11 // java.lang.Object[] source
        end local 10 // java.text.MessageFormat form
        16: .line 1428
      StackMap locals:
      StackMap stack:
            aload 9 /* id */
            invokevirtual java.security.Identity.certificates:()[Ljava/security/Certificate;
            astore 10 /* certs */
        start local 10 // java.security.Certificate[] certs
        17: .line 1429
            aload 10 /* certs */
            ifnull 46
            aload 10 /* certs */
            arraylength
            ifle 46
        18: .line 1432
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 11 /* dos */
        start local 11 // sun.security.util.DerOutputStream dos
        19: .line 1433
            aload 10 /* certs */
            iconst_0
            aaload
            aload 11 /* dos */
            invokeinterface java.security.Certificate.encode:(Ljava/io/OutputStream;)V
        20: .line 1434
            aload 11 /* dos */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
        21: .line 1435
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 3 /* bais */
        start local 3 // java.io.ByteArrayInputStream bais
        22: .line 1436
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
            aload 3 /* bais */
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            astore 4 /* newCert */
        23: .line 1437
            aload 3 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        24: .line 1440
            aload 0 /* this */
            aload 4 /* newCert */
            invokevirtual sun.security.tools.keytool.Main.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifeq 30
        25: .line 1441
            aload 4 /* newCert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 12 /* pubKey */
        start local 12 // java.security.PublicKey pubKey
        26: .line 1443
            aload 4 /* newCert */
            aload 12 /* pubKey */
            invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
        27: .line 1444
            goto 30
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[] java.io.ByteArrayInputStream java.security.cert.X509Certificate java.security.cert.Certificate[] top sun.security.provider.IdentityDatabase java.util.Enumeration java.security.Identity java.security.Certificate[] sun.security.util.DerOutputStream java.security.PublicKey
      StackMap stack: java.lang.Exception
        28: pop
        29: .line 1446
            goto 46
        end local 12 // java.security.PublicKey pubKey
        30: .line 1450
      StackMap locals:
      StackMap stack:
            aload 9 /* id */
            instanceof sun.security.provider.SystemSigner
            ifeq 44
        31: .line 1451
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        32: .line 1452
            ldc "Creating.keystore.entry.for.id.getName."
        33: .line 1451
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
        34: .line 1453
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* id */
            invokevirtual java.security.Identity.getName:()Ljava/lang/String;
            aastore
            astore 13 /* source */
        start local 13 // java.lang.Object[] source
        35: .line 1454
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 12 /* form */
            aload 13 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 1455
            aload 5 /* chain */
            ifnonnull 38
        37: .line 1456
            iconst_1
            anewarray java.security.cert.Certificate
            astore 5 /* chain */
        38: .line 1458
      StackMap locals: java.text.MessageFormat java.lang.Object[]
      StackMap stack:
            aload 5 /* chain */
            iconst_0
            aload 4 /* newCert */
            aastore
        39: .line 1459
            aload 9 /* id */
            checkcast sun.security.provider.SystemSigner
            invokevirtual sun.security.provider.SystemSigner.getPrivateKey:()Ljava/security/PrivateKey;
            astore 6 /* privKey */
        start local 6 // java.security.PrivateKey privKey
        40: .line 1460
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 9 /* id */
            invokevirtual java.security.Identity.getName:()Ljava/lang/String;
            aload 6 /* privKey */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
        41: .line 1461
            aload 5 /* chain */
        42: .line 1460
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        end local 13 // java.lang.Object[] source
        end local 12 // java.text.MessageFormat form
        43: .line 1462
            goto 45
        end local 6 // java.security.PrivateKey privKey
        44: .line 1463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 9 /* id */
            invokevirtual java.security.Identity.getName:()Ljava/lang/String;
            aload 4 /* newCert */
            invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        45: .line 1465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
        end local 11 // sun.security.util.DerOutputStream dos
        end local 10 // java.security.Certificate[] certs
        end local 9 // java.security.Identity id
        end local 4 // java.security.cert.X509Certificate newCert
        end local 3 // java.io.ByteArrayInputStream bais
        end local 2 // byte[] encoded
        46: .line 1413
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream top top top java.security.cert.Certificate[] top sun.security.provider.IdentityDatabase java.util.Enumeration
      StackMap stack:
            aload 8 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 8 // java.util.Enumeration enum_
        47: .line 1469
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifne 51
        48: .line 1470
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        49: .line 1471
            ldc "No.entries.from.identity.database.added"
        50: .line 1470
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        51: .line 1473
      StackMap locals:
      StackMap stack:
            return
        end local 7 // sun.security.provider.IdentityDatabase idb
        end local 5 // java.security.cert.Certificate[] chain
        end local 1 // java.io.InputStream in
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   52     0     this  Lsun/security/tools/keytool/Main;
            0   52     1       in  Ljava/io/InputStream;
           21   46     2  encoded  [B
           22   46     3     bais  Ljava/io/ByteArrayInputStream;
            6   46     4  newCert  Ljava/security/cert/X509Certificate;
            1   52     5    chain  [Ljava/security/cert/Certificate;
           40   44     6  privKey  Ljava/security/PrivateKey;
            2   52     7      idb  Lsun/security/provider/IdentityDatabase;
            3   47     8    enum_  Ljava/util/Enumeration<Ljava/security/Identity;>;
            5   46     9       id  Ljava/security/Identity;
           13   16    10     form  Ljava/text/MessageFormat;
           14   16    11   source  [Ljava/lang/Object;
           17   46    10    certs  [Ljava/security/Certificate;
           19   46    11      dos  Lsun/security/util/DerOutputStream;
           26   30    12   pubKey  Ljava/security/PublicKey;
           34   43    12     form  Ljava/text/MessageFormat;
           35   43    13   source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          26    27      28  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      in    

  private void doPrintEntry(java.lang.String, java.io.PrintStream, boolean);
    descriptor: (Ljava/lang/String;Ljava/io/PrintStream;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.io.PrintStream out
        start local 3 // boolean printWarning
         0: .line 1482
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 3
            iload 3 /* printWarning */
            ifeq 3
         1: .line 1483
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 3
         2: .line 1484
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.printWarning:()V
         3: .line 1487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 9
         4: .line 1488
            new java.text.MessageFormat
            dup
         5: .line 1489
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.does.not.exist"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         6: .line 1488
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         7: .line 1490
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
         8: .line 1491
            new java.lang.Exception
            dup
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
         9: .line 1494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 10
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifne 10
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 22
        10: .line 1495
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        11: .line 1496
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.name.alias"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        12: .line 1495
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        13: .line 1497
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        14: .line 1498
            aload 2 /* out */
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 1500
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 34
        16: .line 1501
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        17: .line 1502
            ldc "Creation.date.keyStore.getCreationDate.alias."
        18: .line 1501
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        19: .line 1503
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCreationDate:(Ljava/lang/String;)Ljava/util/Date;
            aastore
            astore 6 /* src */
        start local 6 // java.lang.Object[] src
        20: .line 1504
            aload 2 /* out */
            aload 4 /* form */
            aload 6 /* src */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // java.lang.Object[] src
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        21: .line 1506
            goto 34
        22: .line 1507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 29
        23: .line 1508
            new java.text.MessageFormat
            dup
        24: .line 1509
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "alias.keyStore.getCreationDate.alias."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        25: .line 1508
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        26: .line 1510
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCreationDate:(Ljava/lang/String;)Ljava/util/Date;
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        27: .line 1511
            aload 2 /* out */
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        28: .line 1512
            goto 34
        29: .line 1513
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        30: .line 1514
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "alias."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        31: .line 1513
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        32: .line 1515
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        33: .line 1516
            aload 2 /* out */
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        34: .line 1520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            ldc Ljava/security/KeyStore$SecretKeyEntry;
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifeq 43
        35: .line 1521
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 36
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifne 36
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 41
        36: .line 1522
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "SecretKeyEntry"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        37: .line 1523
            aload 2 /* out */
            new java.text.MessageFormat
            dup
        38: .line 1524
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Entry.type.type."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        39: .line 1523
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        40: .line 1525
            goto 110
        41: .line 1526
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            ldc "SecretKeyEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        42: .line 1528
            goto 110
      StackMap locals:
      StackMap stack:
        43: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifeq 82
        44: .line 1529
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 45
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifne 45
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 50
        45: .line 1530
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "PrivateKeyEntry"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        46: .line 1531
            aload 2 /* out */
            new java.text.MessageFormat
            dup
        47: .line 1532
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Entry.type.type."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        48: .line 1531
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        49: .line 1533
            goto 51
        50: .line 1534
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            ldc "PrivateKeyEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        51: .line 1538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
            astore 4 /* chain */
        start local 4 // java.security.cert.Certificate[] chain
        52: .line 1539
            aload 4 /* chain */
            ifnull 110
        53: .line 1540
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 54
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifne 54
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 76
        54: .line 1541
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 2 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        55: .line 1542
            ldc "Certificate.chain.length."
        56: .line 1541
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        57: .line 1542
            aload 4 /* chain */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        58: .line 1541
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        59: .line 1543
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        60: goto 74
        61: .line 1544
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
        62: .line 1545
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.i.1."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        63: .line 1544
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        64: .line 1546
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            iload 5 /* i */
            iconst_1
            iadd
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        65: .line 1547
            aload 2 /* out */
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        66: .line 1548
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 69
            aload 4 /* chain */
            iload 5 /* i */
            aaload
            instanceof java.security.cert.X509Certificate
            ifeq 69
        67: .line 1549
            aload 0 /* this */
            aload 4 /* chain */
            iload 5 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        68: .line 1550
            goto 73
      StackMap locals: java.text.MessageFormat java.lang.Object[]
      StackMap stack:
        69: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 72
        70: .line 1551
            aload 2 /* out */
            aload 4 /* chain */
            iload 5 /* i */
            aaload
            invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        71: .line 1552
            goto 73
        72: .line 1553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* chain */
            iload 5 /* i */
            aaload
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        73: .line 1543
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        74: iload 5 /* i */
            aload 4 /* chain */
            arraylength
            if_icmplt 61
        end local 5 // int i
        75: .line 1556
            goto 110
        76: .line 1558
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
        77: .line 1559
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.fingerprint.SHA1."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        78: .line 1560
            aload 0 /* this */
            ldc "SHA1"
            aload 4 /* chain */
            iconst_0
            aaload
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        79: .line 1559
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        80: .line 1558
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.security.cert.Certificate[] chain
        81: .line 1563
            goto 110
      StackMap locals:
      StackMap stack:
        82: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
        83: .line 1564
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
        84: .line 1563
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
        85: .line 1564
            ifeq 109
        86: .line 1566
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 4 /* cert */
        start local 4 // java.security.cert.Certificate cert
        87: .line 1567
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "trustedCertEntry"
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        88: .line 1568
            new java.lang.StringBuilder
            dup
            new java.text.MessageFormat
            dup
        89: .line 1569
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Entry.type.type."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        90: .line 1568
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        91: .line 1569
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        92: .line 1568
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* mf */
        start local 6 // java.lang.String mf
        93: .line 1570
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 97
            aload 4 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 97
        94: .line 1571
            aload 2 /* out */
            aload 6 /* mf */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        95: .line 1572
            aload 0 /* this */
            aload 4 /* cert */
            checkcast java.security.cert.X509Certificate
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        96: .line 1573
            goto 110
      StackMap locals: java.security.cert.Certificate java.lang.Object[] java.lang.String
      StackMap stack:
        97: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 101
        98: .line 1574
            aload 2 /* out */
            aload 6 /* mf */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        99: .line 1575
            aload 0 /* this */
            aload 4 /* cert */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
       100: .line 1576
            goto 110
      StackMap locals:
      StackMap stack:
       101: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 104
       102: .line 1577
            aload 2 /* out */
            aload 4 /* cert */
            invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       103: .line 1578
            goto 110
       104: .line 1579
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            ldc "trustedCertEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       105: .line 1580
            aload 2 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.fingerprint.SHA1."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       106: .line 1581
            aload 0 /* this */
            ldc "SHA1"
            aload 4 /* cert */
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       107: .line 1580
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // java.lang.String mf
        end local 5 // java.lang.Object[] source
        end local 4 // java.security.cert.Certificate cert
       108: .line 1583
            goto 110
       109: .line 1584
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Unknown.Entry.Type"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       110: .line 1586
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean printWarning
        end local 2 // java.io.PrintStream out
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  111     0          this  Lsun/security/tools/keytool/Main;
            0  111     1         alias  Ljava/lang/String;
            0  111     2           out  Ljava/io/PrintStream;
            0  111     3  printWarning  Z
            7    9     4          form  Ljava/text/MessageFormat;
            8    9     5        source  [Ljava/lang/Object;
           13   21     4          form  Ljava/text/MessageFormat;
           14   21     5        source  [Ljava/lang/Object;
           20   21     6           src  [Ljava/lang/Object;
           26   28     4          form  Ljava/text/MessageFormat;
           27   28     5        source  [Ljava/lang/Object;
           32   34     4          form  Ljava/text/MessageFormat;
           33   34     5        source  [Ljava/lang/Object;
           37   40     4        source  [Ljava/lang/Object;
           46   49     4        source  [Ljava/lang/Object;
           52   81     4         chain  [Ljava/security/cert/Certificate;
           60   75     5             i  I
           64   73     6          form  Ljava/text/MessageFormat;
           65   73     7        source  [Ljava/lang/Object;
           87  108     4          cert  Ljava/security/cert/Certificate;
           88  108     5        source  [Ljava/lang/Object;
           93  108     6            mf  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
              Name  Flags
      alias         
      out           
      printWarning  

  java.security.KeyStore loadSourceKeyStore();
    descriptor: ()Ljava/security/KeyStore;
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 1595
            aconst_null
            astore 1 /* is */
        start local 1 // java.io.InputStream is
         1: .line 1597
            ldc "PKCS11"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 3
         2: .line 1598
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 12
         3: .line 1599
      StackMap locals: java.io.InputStream
      StackMap stack:
            ldc "NONE"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
         4: .line 1600
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 1601
            ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
         6: .line 1600
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 1601
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            aastore
         8: .line 1600
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 1602
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        10: .line 1603
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        11: .line 1606
            goto 25
        12: .line 1607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            ifnull 22
        13: .line 1608
            new java.io.File
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* srcksfile */
        start local 2 // java.io.File srcksfile
        14: .line 1609
            aload 2 /* srcksfile */
            invokevirtual java.io.File.exists:()Z
            ifeq 20
            aload 2 /* srcksfile */
            invokevirtual java.io.File.length:()J
            lconst_0
            lcmp
            ifne 20
        15: .line 1610
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        16: .line 1611
            ldc "Source.keystore.file.exists.but.is.empty."
        17: .line 1610
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 1612
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 1610
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 1614
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.FileInputStream
            dup
            aload 2 /* srcksfile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 1 /* is */
        end local 2 // java.io.File srcksfile
        21: .line 1615
            goto 25
        22: .line 1616
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        23: .line 1617
            ldc "Please.specify.srckeystore"
        24: .line 1616
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
            ifnonnull 28
        26: .line 1624
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
            astore 2 /* store */
        start local 2 // java.security.KeyStore store
        27: .line 1625
            goto 29
        end local 2 // java.security.KeyStore store
        28: .line 1626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
            astore 2 /* store */
        start local 2 // java.security.KeyStore store
        29: .line 1629
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 36
        30: .line 1630
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
            ifne 36
        31: .line 1631
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 36
        32: .line 1632
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Enter.source.keystore.password."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        33: .line 1633
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        34: .line 1634
            aload 0 /* this */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            putfield sun.security.tools.keytool.Main.srcstorePass:[C
        35: .line 1635
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        36: .line 1639
      StackMap locals:
      StackMap stack:
            ldc "PKCS12"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 45
        37: .line 1640
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 45
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnull 45
        38: .line 1641
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 45
        39: .line 1642
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        40: .line 1643
            ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
        41: .line 1642
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        42: .line 1644
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-srckeypass"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        43: .line 1645
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        44: .line 1646
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        45: .line 1650
      StackMap locals:
      StackMap stack:
            aload 2 /* store */
            aload 1 /* is */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
        46: .line 1651
            goto 51
        end local 2 // java.security.KeyStore store
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream
      StackMap stack: java.lang.Throwable
        47: astore 5
        48: .line 1652
            aload 1 /* is */
            ifnull 50
        49: .line 1653
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        50: .line 1655
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream top top top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        start local 2 // java.security.KeyStore store
        51: .line 1652
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.security.KeyStore
      StackMap stack:
            aload 1 /* is */
            ifnull 53
        52: .line 1653
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        53: .line 1657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 66
        54: .line 1658
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 66
        55: .line 1661
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        56: .line 1662
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        57: .line 1663
            ldc ".WARNING.WARNING.WARNING."
        58: .line 1662
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        59: .line 1664
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        60: .line 1665
            ldc ".The.integrity.of.the.information.stored.in.the.srckeystore."
        61: .line 1664
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        62: .line 1666
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        63: .line 1667
            ldc ".WARNING.WARNING.WARNING."
        64: .line 1666
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        65: .line 1668
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        66: .line 1671
      StackMap locals:
      StackMap stack:
            aload 2 /* store */
            areturn
        end local 2 // java.security.KeyStore store
        end local 1 // java.io.InputStream is
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   67     0       this  Lsun/security/tools/keytool/Main;
            1   67     1         is  Ljava/io/InputStream;
           14   21     2  srcksfile  Ljava/io/File;
           27   28     2      store  Ljava/security/KeyStore;
           29   47     2      store  Ljava/security/KeyStore;
           51   67     2      store  Ljava/security/KeyStore;
           42   45     3       form  Ljava/text/MessageFormat;
           43   45     4     source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          25    47      47  any
    Exceptions:
      throws java.lang.Exception

  private void doImportKeyStore();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 1681
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 3
         1: .line 1682
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStoreSingle:(Ljava/security/KeyStore;Ljava/lang/String;)I
            pop
         2: .line 1683
            goto 8
         3: .line 1684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            ifnonnull 4
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnonnull 4
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 7
         4: .line 1685
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 1686
            ldc "if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified"
         6: .line 1685
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStoreAll:(Ljava/security/KeyStore;)V
         8: .line 1697
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/tools/keytool/Main;
    Exceptions:
      throws java.lang.Exception

  private int doImportKeyStoreSingle(java.security.KeyStore, java.lang.String);
    descriptor: (Ljava/security/KeyStore;Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.KeyStore srckeystore
        start local 2 // java.lang.String alias
         0: .line 1708
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            ifnonnull 1
            aload 2 /* alias */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 3 /* newAlias */
        start local 3 // java.lang.String newAlias
         3: .line 1710
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 3 /* newAlias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifeq 29
         4: .line 1711
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* alias */
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
         5: .line 1712
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 12
         6: .line 1713
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         7: .line 1714
            ldc "Warning.Overwriting.existing.alias.alias.in.destination.keystore"
         8: .line 1713
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
         9: .line 1714
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        10: .line 1713
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 1715
            goto 29
        12: .line 1716
      StackMap locals: java.lang.String java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        13: .line 1717
            ldc "Existing.entry.alias.alias.exists.overwrite.no."
        14: .line 1716
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        15: .line 1717
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        16: .line 1716
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        start local 5 // java.lang.String reply
        17: .line 1718
            ldc "NO"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        18: .line 1719
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        19: .line 1720
            ldc "Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry."
        20: .line 1719
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.inputStringFromStdin:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* newAlias */
        21: .line 1721
            ldc ""
            aload 3 /* newAlias */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        22: .line 1722
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        23: .line 1723
            ldc "Entry.for.alias.alias.not.imported."
        24: .line 1722
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        25: .line 1724
            aload 4 /* source */
        26: .line 1723
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        27: .line 1722
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        28: .line 1725
            iconst_0
            ireturn
        end local 5 // java.lang.String reply
        end local 4 // java.lang.Object[] source
        29: .line 1731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* srckeystore */
            aload 2 /* alias */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            invokevirtual sun.security.tools.keytool.Main.recoverEntry:(Ljava/security/KeyStore;Ljava/lang/String;[C[C)[Ljava/lang/Object;
            astore 4 /* objs */
        start local 4 // java.lang.Object[] objs
        30: .line 1732
            aload 4 /* objs */
            iconst_0
            aaload
            checkcast java.security.KeyStore$Entry
            astore 5 /* entry */
        start local 5 // java.security.KeyStore$Entry entry
        31: .line 1734
            aconst_null
            astore 6 /* pp */
        start local 6 // java.security.KeyStore$PasswordProtection pp
        32: .line 1740
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 35
        33: .line 1741
            new java.security.KeyStore$PasswordProtection
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 6 /* pp */
        34: .line 1742
            goto 37
      StackMap locals: java.lang.Object[] java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection
      StackMap stack:
        35: aload 4 /* objs */
            iconst_1
            aaload
            ifnull 37
        36: .line 1743
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* objs */
            iconst_1
            aaload
            checkcast char[]
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 6 /* pp */
        37: .line 1747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 3 /* newAlias */
            aload 5 /* entry */
            aload 6 /* pp */
            invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
        38: .line 1748
            iconst_1
            ireturn
        39: .line 1749
      StackMap locals:
      StackMap stack: java.security.KeyStoreException
            astore 7 /* kse */
        start local 7 // java.security.KeyStoreException kse
        40: .line 1750
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* alias */
            aastore
            dup
            iconst_1
            aload 7 /* kse */
            invokevirtual java.security.KeyStoreException.toString:()Ljava/lang/String;
            aastore
            astore 8 /* source2 */
        start local 8 // java.lang.Object[] source2
        41: .line 1751
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        42: .line 1752
            ldc "Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported."
        43: .line 1751
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        44: .line 1753
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 9 /* form */
            aload 8 /* source2 */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        45: .line 1754
            iconst_2
            ireturn
        end local 9 // java.text.MessageFormat form
        end local 8 // java.lang.Object[] source2
        end local 7 // java.security.KeyStoreException kse
        end local 6 // java.security.KeyStore$PasswordProtection pp
        end local 5 // java.security.KeyStore$Entry entry
        end local 4 // java.lang.Object[] objs
        end local 3 // java.lang.String newAlias
        end local 2 // java.lang.String alias
        end local 1 // java.security.KeyStore srckeystore
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   46     0         this  Lsun/security/tools/keytool/Main;
            0   46     1  srckeystore  Ljava/security/KeyStore;
            0   46     2        alias  Ljava/lang/String;
            3   46     3     newAlias  Ljava/lang/String;
            5   29     4       source  [Ljava/lang/Object;
           17   29     5        reply  Ljava/lang/String;
           30   46     4         objs  [Ljava/lang/Object;
           31   46     5        entry  Ljava/security/KeyStore$Entry;
           32   46     6           pp  Ljava/security/KeyStore$PasswordProtection;
           40   46     7          kse  Ljava/security/KeyStoreException;
           41   46     8      source2  [Ljava/lang/Object;
           44   46     9         form  Ljava/text/MessageFormat;
      Exception table:
        from    to  target  type
          37    38      39  Class java.security.KeyStoreException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      srckeystore  
      alias        

  private void doImportKeyStoreAll(java.security.KeyStore);
    descriptor: (Ljava/security/KeyStore;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.KeyStore srckeystore
         0: .line 1760
            iconst_0
            istore 2 /* ok */
        start local 2 // int ok
         1: .line 1761
            aload 1 /* srckeystore */
            invokevirtual java.security.KeyStore.size:()I
            istore 3 /* count */
        start local 3 // int count
         2: .line 1762
            aload 1 /* srckeystore */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
         3: .line 1763
            goto 17
         4: .line 1764
      StackMap locals: int int java.util.Enumeration
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* alias */
        start local 5 // java.lang.String alias
         5: .line 1765
            aload 0 /* this */
            aload 1 /* srckeystore */
            aload 5 /* alias */
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStoreSingle:(Ljava/security/KeyStore;Ljava/lang/String;)I
            istore 6 /* result */
        start local 6 // int result
         6: .line 1766
            iload 6 /* result */
            iconst_1
            if_icmpne 12
         7: .line 1767
            iinc 2 /* ok */ 1
         8: .line 1768
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* alias */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
         9: .line 1769
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Entry.for.alias.alias.successfully.imported."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 8 /* form */
        start local 8 // java.text.MessageFormat form
        10: .line 1770
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 8 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 8 // java.text.MessageFormat form
        end local 7 // java.lang.Object[] source
        11: .line 1771
            goto 17
      StackMap locals: java.lang.String int
      StackMap stack:
        12: iload 6 /* result */
            iconst_2
            if_icmpne 17
        13: .line 1772
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifne 17
        14: .line 1773
            aload 0 /* this */
            ldc "Do you want to quit the import process? [no]:  "
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* reply */
        start local 7 // java.lang.String reply
        15: .line 1774
            ldc "YES"
            aload 7 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 1775
            goto 18
        end local 7 // java.lang.String reply
        end local 6 // int result
        end local 5 // java.lang.String alias
        17: .line 1763
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 4 // java.util.Enumeration e
        18: .line 1780
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* ok */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 3 /* count */
            iload 2 /* ok */
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        19: .line 1781
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        20: .line 1782
            ldc "Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled"
        21: .line 1781
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        22: .line 1783
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 5 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        23: .line 1784
            return
        end local 5 // java.text.MessageFormat form
        end local 4 // java.lang.Object[] source
        end local 3 // int count
        end local 2 // int ok
        end local 1 // java.security.KeyStore srckeystore
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lsun/security/tools/keytool/Main;
            0   24     1  srckeystore  Ljava/security/KeyStore;
            1   24     2           ok  I
            2   24     3        count  I
            3   18     4            e  Ljava/util/Enumeration<Ljava/lang/String;>;
            5   17     5        alias  Ljava/lang/String;
            6   17     6       result  I
            9   11     7       source  [Ljava/lang/Object;
           10   11     8         form  Ljava/text/MessageFormat;
           15   17     7        reply  Ljava/lang/String;
           19   24     4       source  [Ljava/lang/Object;
           22   24     5         form  Ljava/text/MessageFormat;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      srckeystore  

  private void doPrintEntries(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.PrintStream out
         0: .line 1792
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 4
         1: .line 1793
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 4
         2: .line 1794
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.printWarning:()V
         3: .line 1795
            goto 5
         4: .line 1796
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
         5: .line 1799
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Keystore.type."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 1800
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Keystore.provider."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 1801
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.getProvider:()Ljava/security/Provider;
            invokevirtual java.security.Provider.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1800
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 1802
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        10: .line 1805
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            iconst_1
            if_icmpne 15
        11: .line 1806
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        12: .line 1807
            ldc "Your.keystore.contains.keyStore.size.entry"
        13: .line 1806
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        14: .line 1807
            goto 18
        15: .line 1808
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        16: .line 1809
            ldc "Your.keystore.contains.keyStore.size.entries"
        17: .line 1808
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        18: .line 1805
      StackMap locals:
      StackMap stack: java.text.MessageFormat
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
        19: .line 1810
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
        20: .line 1811
            aload 1 /* out */
            aload 2 /* form */
            aload 3 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 1812
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        22: .line 1814
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
        23: .line 1815
            goto 34
        24: .line 1816
      StackMap locals: java.text.MessageFormat java.lang.Object[] java.util.Enumeration
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* alias */
        start local 5 // java.lang.String alias
        25: .line 1817
            aload 0 /* this */
            aload 5 /* alias */
            aload 1 /* out */
            iconst_0
            invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/io/PrintStream;Z)V
        26: .line 1818
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 27
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 34
        27: .line 1819
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "NEWLINE"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        28: .line 1820
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        29: .line 1821
            ldc "STAR"
        30: .line 1820
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        31: .line 1822
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        32: .line 1823
            ldc "STARNN"
        33: .line 1822
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // java.lang.String alias
        34: .line 1815
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 24
        end local 4 // java.util.Enumeration e
        35: .line 1826
            return
        end local 3 // java.lang.Object[] source
        end local 2 // java.text.MessageFormat form
        end local 1 // java.io.PrintStream out
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   36     0    this  Lsun/security/tools/keytool/Main;
            0   36     1     out  Ljava/io/PrintStream;
           19   36     2    form  Ljava/text/MessageFormat;
           20   36     3  source  [Ljava/lang/Object;
           23   35     4       e  Ljava/util/Enumeration<Ljava/lang/String;>;
           25   34     5   alias  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      out   

  private void doPrintCert(java.io.InputStream, java.io.PrintStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.InputStream in
        start local 2 // java.io.PrintStream out
         0: .line 1835
            aconst_null
            astore 3 /* c */
        start local 3 // java.util.Collection c
         1: .line 1837
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
            aload 1 /* in */
            invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
            astore 3 /* c */
         2: .line 1838
            goto 5
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.util.Collection
      StackMap stack: java.security.cert.CertificateException
         3: astore 4 /* ce */
        start local 4 // java.security.cert.CertificateException ce
         4: .line 1839
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Failed.to.parse.input"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 4 /* ce */
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.security.cert.CertificateException ce
         5: .line 1841
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 7
         6: .line 1842
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Empty.input"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1844
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            aload 3 /* c */
            invokeinterface java.util.Collection.size:()I
            anewarray java.security.cert.Certificate
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            astore 4 /* certs */
        start local 4 // java.security.cert.Certificate[] certs
         8: .line 1845
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 25
        10: .line 1846
      StackMap locals: java.security.cert.Certificate[] int
      StackMap stack:
            aconst_null
            astore 6 /* x509Cert */
        start local 6 // java.security.cert.X509Certificate x509Cert
        11: .line 1848
            aload 4 /* certs */
            iload 5 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            astore 6 /* x509Cert */
        12: .line 1849
            goto 15
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.util.Collection java.security.cert.Certificate[] int java.security.cert.X509Certificate
      StackMap stack: java.lang.ClassCastException
        13: pop
        14: .line 1850
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Not.X.509.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 1852
      StackMap locals:
      StackMap stack:
            aload 4 /* certs */
            arraylength
            iconst_1
            if_icmple 21
        16: .line 1853
            new java.text.MessageFormat
            dup
        17: .line 1854
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.i.1."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        18: .line 1853
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        19: .line 1855
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            iload 5 /* i */
            iconst_1
            iadd
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        20: .line 1856
            aload 2 /* out */
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        21: .line 1858
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* x509Cert */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        22: .line 1859
            iload 5 /* i */
            aload 4 /* certs */
            arraylength
            iconst_1
            isub
            if_icmpge 24
        23: .line 1860
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        end local 6 // java.security.cert.X509Certificate x509Cert
        24: .line 1845
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 5 /* i */
            aload 4 /* certs */
            arraylength
            if_icmplt 10
        end local 5 // int i
        26: .line 1863
            return
        end local 4 // java.security.cert.Certificate[] certs
        end local 3 // java.util.Collection c
        end local 2 // java.io.PrintStream out
        end local 1 // java.io.InputStream in
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lsun/security/tools/keytool/Main;
            0   27     1        in  Ljava/io/InputStream;
            0   27     2       out  Ljava/io/PrintStream;
            1   27     3         c  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
            4    5     4        ce  Ljava/security/cert/CertificateException;
            8   27     4     certs  [Ljava/security/cert/Certificate;
            9   26     5         i  I
           11   24     6  x509Cert  Ljava/security/cert/X509Certificate;
           19   21     7      form  Ljava/text/MessageFormat;
           20   21     8    source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     2       3  Class java.security.cert.CertificateException
          11    12      13  Class java.lang.ClassCastException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      in    
      out   

  private void doSelfCert(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=16, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String dname
        start local 3 // java.lang.String sigAlgName
         0: .line 1872
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1873
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            invokevirtual sun.security.tools.keytool.Main.recoverKey:(Ljava/lang/String;[C[C)[Ljava/lang/Object;
            astore 4 /* objs */
        start local 4 // java.lang.Object[] objs
         3: .line 1877
            aload 4 /* objs */
            iconst_0
            aaload
            checkcast java.security.PrivateKey
            astore 5 /* privKey */
        start local 5 // java.security.PrivateKey privKey
         4: .line 1878
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 1879
            aload 0 /* this */
            aload 4 /* objs */
            iconst_1
            aaload
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
         6: .line 1882
      StackMap locals: java.lang.Object[] java.security.PrivateKey
      StackMap stack:
            aload 3 /* sigAlgName */
            ifnonnull 21
         7: .line 1885
            aload 5 /* privKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            astore 6 /* keyAlgName */
        start local 6 // java.lang.String keyAlgName
         8: .line 1886
            ldc "DSA"
            aload 6 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 10
         9: .line 1887
            ldc "DSS"
            aload 6 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 12
        10: .line 1888
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "SHA1WithDSA"
            astore 3 /* sigAlgName */
        11: .line 1889
            goto 21
      StackMap locals:
      StackMap stack:
        12: ldc "RSA"
            aload 6 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 15
        13: .line 1890
            ldc "SHA1WithRSA"
            astore 3 /* sigAlgName */
        14: .line 1891
            goto 21
      StackMap locals:
      StackMap stack:
        15: ldc "EC"
            aload 6 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 18
        16: .line 1892
            ldc "SHA1withECDSA"
            astore 3 /* sigAlgName */
        17: .line 1893
            goto 21
        18: .line 1894
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
        19: .line 1895
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Cannot.derive.signature.algorithm"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        20: .line 1894
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String keyAlgName
        21: .line 1900
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 6 /* oldCert */
        start local 6 // java.security.cert.Certificate oldCert
        22: .line 1901
            aload 6 /* oldCert */
            ifnonnull 28
        23: .line 1902
            new java.text.MessageFormat
            dup
        24: .line 1903
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "alias.has.no.public.key"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        25: .line 1902
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        26: .line 1904
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        27: .line 1905
            new java.lang.Exception
            dup
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        28: .line 1907
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 6 /* oldCert */
            instanceof java.security.cert.X509Certificate
            ifne 34
        29: .line 1908
            new java.text.MessageFormat
            dup
        30: .line 1909
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "alias.has.no.X.509.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        31: .line 1908
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        32: .line 1910
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        33: .line 1911
            new java.lang.Exception
            dup
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        34: .line 1916
      StackMap locals:
      StackMap stack:
            aload 6 /* oldCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 7 /* encoded */
        start local 7 // byte[] encoded
        35: .line 1917
            new sun.security.x509.X509CertImpl
            dup
            aload 7 /* encoded */
            invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
            astore 8 /* certImpl */
        start local 8 // sun.security.x509.X509CertImpl certImpl
        36: .line 1918
            aload 8 /* certImpl */
            ldc "x509.info"
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.X509CertInfo
            astore 9 /* certInfo */
        start local 9 // sun.security.x509.X509CertInfo certInfo
        37: .line 1923
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getStartDate:(Ljava/lang/String;)Ljava/util/Date;
            astore 10 /* firstDate */
        start local 10 // java.util.Date firstDate
        38: .line 1924
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 11 /* lastDate */
        start local 11 // java.util.Date lastDate
        39: .line 1925
            aload 11 /* lastDate */
            aload 10 /* firstDate */
            invokevirtual java.util.Date.getTime:()J
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            ldc 1000
            lmul
            ldc 24
            lmul
            ldc 60
            lmul
            ldc 60
            lmul
            ladd
            invokevirtual java.util.Date.setTime:(J)V
        40: .line 1926
            new sun.security.x509.CertificateValidity
            dup
            aload 10 /* firstDate */
        41: .line 1927
            aload 11 /* lastDate */
        42: .line 1926
            invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
            astore 12 /* interval */
        start local 12 // sun.security.x509.CertificateValidity interval
        43: .line 1928
            aload 9 /* certInfo */
            ldc "validity"
            aload 12 /* interval */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        44: .line 1931
            aload 9 /* certInfo */
            ldc "serialNumber"
            new sun.security.x509.CertificateSerialNumber
            dup
        45: .line 1932
            aload 10 /* firstDate */
            invokevirtual java.util.Date.getTime:()J
            ldc 1000
            ldiv
            l2i
            invokespecial sun.security.x509.CertificateSerialNumber.<init>:(I)V
        46: .line 1931
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        47: .line 1936
            aload 2 /* dname */
            ifnonnull 50
        48: .line 1938
            aload 9 /* certInfo */
            ldc "subject.dname"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.X500Name
            astore 13 /* owner */
        start local 13 // sun.security.x509.X500Name owner
        49: .line 1940
            goto 54
        end local 13 // sun.security.x509.X500Name owner
        50: .line 1942
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity
      StackMap stack:
            new sun.security.x509.X500Name
            dup
            aload 2 /* dname */
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
            astore 13 /* owner */
        start local 13 // sun.security.x509.X500Name owner
        51: .line 1943
            aload 9 /* certInfo */
            ldc "subject.dname"
        52: .line 1944
            aload 13 /* owner */
        53: .line 1943
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        54: .line 1947
      StackMap locals: sun.security.x509.X500Name
      StackMap stack:
            aload 9 /* certInfo */
            ldc "issuer.dname"
        55: .line 1948
            aload 13 /* owner */
        56: .line 1947
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        57: .line 1954
            new sun.security.x509.X509CertImpl
            dup
            aload 9 /* certInfo */
            invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
            astore 14 /* newCert */
        start local 14 // sun.security.x509.X509CertImpl newCert
        58: .line 1955
            aload 14 /* newCert */
            aload 5 /* privKey */
            aload 3 /* sigAlgName */
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
        59: .line 1956
            aload 14 /* newCert */
            ldc "x509.algorithm"
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.AlgorithmId
            astore 15 /* sigAlgid */
        start local 15 // sun.security.x509.AlgorithmId sigAlgid
        60: .line 1957
            aload 9 /* certInfo */
            ldc "algorithmID.algorithm"
        61: .line 1958
            aload 15 /* sigAlgid */
        62: .line 1957
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        63: .line 1962
            aload 9 /* certInfo */
            ldc "version"
        64: .line 1963
            new sun.security.x509.CertificateVersion
            dup
            iconst_2
            invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
        65: .line 1962
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        66: .line 1966
            new sun.security.x509.X509CertImpl
            dup
            aload 9 /* certInfo */
            invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
            astore 14 /* newCert */
        67: .line 1967
            aload 14 /* newCert */
            aload 5 /* privKey */
            aload 3 /* sigAlgName */
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
        68: .line 1970
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 5 /* privKey */
        69: .line 1971
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 70
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            goto 71
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity sun.security.x509.X500Name sun.security.x509.X509CertImpl sun.security.x509.AlgorithmId
      StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey
        70: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
        71: .line 1972
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity sun.security.x509.X500Name sun.security.x509.X509CertImpl sun.security.x509.AlgorithmId
      StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey char[]
            iconst_1
            anewarray java.security.cert.Certificate
            dup
            iconst_0
            aload 14 /* newCert */
            aastore
        72: .line 1970
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        73: .line 1974
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 77
        74: .line 1975
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "New.certificate.self.signed."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        75: .line 1976
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 14 /* newCert */
            invokevirtual sun.security.x509.X509CertImpl.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        76: .line 1977
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        77: .line 1979
      StackMap locals:
      StackMap stack:
            return
        end local 15 // sun.security.x509.AlgorithmId sigAlgid
        end local 14 // sun.security.x509.X509CertImpl newCert
        end local 13 // sun.security.x509.X500Name owner
        end local 12 // sun.security.x509.CertificateValidity interval
        end local 11 // java.util.Date lastDate
        end local 10 // java.util.Date firstDate
        end local 9 // sun.security.x509.X509CertInfo certInfo
        end local 8 // sun.security.x509.X509CertImpl certImpl
        end local 7 // byte[] encoded
        end local 6 // java.security.cert.Certificate oldCert
        end local 5 // java.security.PrivateKey privKey
        end local 4 // java.lang.Object[] objs
        end local 3 // java.lang.String sigAlgName
        end local 2 // java.lang.String dname
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   78     0        this  Lsun/security/tools/keytool/Main;
            0   78     1       alias  Ljava/lang/String;
            0   78     2       dname  Ljava/lang/String;
            0   78     3  sigAlgName  Ljava/lang/String;
            3   78     4        objs  [Ljava/lang/Object;
            4   78     5     privKey  Ljava/security/PrivateKey;
            8   21     6  keyAlgName  Ljava/lang/String;
           22   78     6     oldCert  Ljava/security/cert/Certificate;
           26   28     7        form  Ljava/text/MessageFormat;
           27   28     8      source  [Ljava/lang/Object;
           32   34     7        form  Ljava/text/MessageFormat;
           33   34     8      source  [Ljava/lang/Object;
           35   78     7     encoded  [B
           36   78     8    certImpl  Lsun/security/x509/X509CertImpl;
           37   78     9    certInfo  Lsun/security/x509/X509CertInfo;
           38   78    10   firstDate  Ljava/util/Date;
           39   78    11    lastDate  Ljava/util/Date;
           43   78    12    interval  Lsun/security/x509/CertificateValidity;
           49   50    13       owner  Lsun/security/x509/X500Name;
           51   78    13       owner  Lsun/security/x509/X500Name;
           58   78    14     newCert  Lsun/security/x509/X509CertImpl;
           60   78    15    sigAlgid  Lsun/security/x509/AlgorithmId;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      dname       
      sigAlgName  

  private boolean installReply(java.lang.String, java.io.InputStream);
    descriptor: (Ljava/lang/String;Ljava/io/InputStream;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.io.InputStream in
         0: .line 1998
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1999
            ldc "mykey"
            astore 1 /* alias */
         2: .line 2002
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            invokevirtual sun.security.tools.keytool.Main.recoverKey:(Ljava/lang/String;[C[C)[Ljava/lang/Object;
            astore 3 /* objs */
        start local 3 // java.lang.Object[] objs
         3: .line 2003
            aload 3 /* objs */
            iconst_0
            aaload
            checkcast java.security.PrivateKey
            astore 4 /* privKey */
        start local 4 // java.security.PrivateKey privKey
         4: .line 2004
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 2005
            aload 0 /* this */
            aload 3 /* objs */
            iconst_1
            aaload
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
         6: .line 2008
      StackMap locals: java.lang.Object[] java.security.PrivateKey
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 5 /* userCert */
        start local 5 // java.security.cert.Certificate userCert
         7: .line 2009
            aload 5 /* userCert */
            ifnonnull 13
         8: .line 2010
            new java.text.MessageFormat
            dup
         9: .line 2011
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "alias.has.no.public.key.certificate."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        10: .line 2010
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        11: .line 2012
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        12: .line 2013
            new java.lang.Exception
            dup
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        13: .line 2017
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
            aload 2 /* in */
            invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
            astore 6 /* c */
        start local 6 // java.util.Collection c
        14: .line 2018
            aload 6 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 16
        15: .line 2019
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Reply.has.no.certificates"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 2021
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 6 /* c */
            aload 6 /* c */
            invokeinterface java.util.Collection.size:()I
            anewarray java.security.cert.Certificate
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            astore 7 /* replyCerts */
        start local 7 // java.security.cert.Certificate[] replyCerts
        17: .line 2023
            aload 7 /* replyCerts */
            arraylength
            iconst_1
            if_icmpne 20
        18: .line 2025
            aload 0 /* this */
            aload 5 /* userCert */
            aload 7 /* replyCerts */
            iconst_0
            aaload
            invokevirtual sun.security.tools.keytool.Main.establishCertChain:(Ljava/security/cert/Certificate;Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
            astore 8 /* newChain */
        start local 8 // java.security.cert.Certificate[] newChain
        19: .line 2026
            goto 21
        end local 8 // java.security.cert.Certificate[] newChain
        20: .line 2028
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 5 /* userCert */
            aload 7 /* replyCerts */
            invokevirtual sun.security.tools.keytool.Main.validateReply:(Ljava/lang/String;Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
            astore 8 /* newChain */
        start local 8 // java.security.cert.Certificate[] newChain
        21: .line 2033
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 8 /* newChain */
            ifnull 28
        22: .line 2034
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 4 /* privKey */
        23: .line 2035
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 24
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            goto 25
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate java.util.Collection java.security.cert.Certificate[] java.security.cert.Certificate[]
      StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey
        24: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
        25: .line 2036
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate java.util.Collection java.security.cert.Certificate[] java.security.cert.Certificate[]
      StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey char[]
            aload 8 /* newChain */
        26: .line 2034
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        27: .line 2037
            iconst_1
            ireturn
        28: .line 2039
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 8 // java.security.cert.Certificate[] newChain
        end local 7 // java.security.cert.Certificate[] replyCerts
        end local 6 // java.util.Collection c
        end local 5 // java.security.cert.Certificate userCert
        end local 4 // java.security.PrivateKey privKey
        end local 3 // java.lang.Object[] objs
        end local 2 // java.io.InputStream in
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lsun/security/tools/keytool/Main;
            0   29     1       alias  Ljava/lang/String;
            0   29     2          in  Ljava/io/InputStream;
            3   29     3        objs  [Ljava/lang/Object;
            4   29     4     privKey  Ljava/security/PrivateKey;
            7   29     5    userCert  Ljava/security/cert/Certificate;
           11   13     6        form  Ljava/text/MessageFormat;
           12   13     7      source  [Ljava/lang/Object;
           14   29     6           c  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
           17   29     7  replyCerts  [Ljava/security/cert/Certificate;
           19   20     8    newChain  [Ljava/security/cert/Certificate;
           21   29     8    newChain  [Ljava/security/cert/Certificate;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      alias  
      in     

  private boolean addTrustedCert(java.lang.String, java.io.InputStream);
    descriptor: (Ljava/lang/String;Ljava/io/InputStream;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.io.InputStream in
         0: .line 2051
            aload 1 /* alias */
            ifnonnull 2
         1: .line 2052
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Must.specify.alias"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2054
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifeq 8
         3: .line 2055
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 2056
            ldc "Certificate.not.imported.alias.alias.already.exists"
         5: .line 2055
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         6: .line 2057
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
         7: .line 2058
            new java.lang.Exception
            dup
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
         8: .line 2062
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
         9: .line 2064
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
            aload 2 /* in */
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            astore 3 /* cert */
        10: .line 2065
            goto 15
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream java.security.cert.X509Certificate
      StackMap stack: java.lang.ClassCastException
        11: pop
        12: .line 2066
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Input.not.an.X.509.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 2067
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            pop
        14: .line 2068
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Input.not.an.X.509.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 2072
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* selfSigned */
        start local 4 // boolean selfSigned
        16: .line 2073
            aload 0 /* this */
            aload 3 /* cert */
            invokevirtual sun.security.tools.keytool.Main.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifeq 19
        17: .line 2074
            aload 3 /* cert */
            aload 3 /* cert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
        18: .line 2075
            iconst_1
            istore 4 /* selfSigned */
        19: .line 2078
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 22
        20: .line 2079
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 3 /* cert */
            invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        21: .line 2080
            iconst_1
            ireturn
        22: .line 2084
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* reply */
        start local 5 // java.lang.String reply
        23: .line 2085
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 3 /* cert */
            invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
            astore 6 /* trustalias */
        start local 6 // java.lang.String trustalias
        24: .line 2086
            aload 6 /* trustalias */
            ifnull 34
        25: .line 2087
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        26: .line 2088
            ldc "Certificate.already.exists.in.keystore.under.alias.trustalias."
        27: .line 2087
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        28: .line 2089
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* trustalias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        29: .line 2090
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        30: .line 2091
            aload 0 /* this */
        31: .line 2092
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Do.you.still.want.to.add.it.no."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        32: .line 2091
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        33: .line 2093
            goto 50
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        34: iload 4 /* selfSigned */
            ifeq 50
        35: .line 2094
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 45
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 45
        36: .line 2095
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            aload 3 /* cert */
            invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
            dup
            astore 6 /* trustalias */
            ifnull 45
        37: .line 2096
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        38: .line 2097
            ldc "Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias."
        39: .line 2096
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        40: .line 2098
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* trustalias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        41: .line 2099
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        42: .line 2100
            aload 0 /* this */
        43: .line 2101
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Do.you.still.want.to.add.it.to.your.own.keystore.no."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        44: .line 2100
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        45: .line 2103
      StackMap locals:
      StackMap stack:
            aload 6 /* trustalias */
            ifnonnull 50
        46: .line 2106
            aload 0 /* this */
            aload 3 /* cert */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        47: .line 2107
            aload 0 /* this */
        48: .line 2108
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Trust.this.certificate.no."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        49: .line 2107
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        50: .line 2111
      StackMap locals:
      StackMap stack:
            aload 5 /* reply */
            ifnull 55
        51: .line 2112
            ldc "YES"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 54
        52: .line 2113
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 3 /* cert */
            invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        53: .line 2114
            iconst_1
            ireturn
        54: .line 2116
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        55: .line 2122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 3 /* cert */
            invokevirtual sun.security.tools.keytool.Main.establishCertChain:(Ljava/security/cert/Certificate;Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
            astore 7 /* chain */
        start local 7 // java.security.cert.Certificate[] chain
        56: .line 2123
            aload 7 /* chain */
            ifnull 68
        57: .line 2124
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 3 /* cert */
            invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        58: .line 2125
            iconst_1
            ireturn
        end local 7 // java.security.cert.Certificate[] chain
        59: .line 2127
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        60: .line 2130
            aload 0 /* this */
            aload 3 /* cert */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        61: .line 2131
            aload 0 /* this */
        62: .line 2132
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Trust.this.certificate.no."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        63: .line 2131
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        64: .line 2133
            ldc "YES"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 67
        65: .line 2134
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 3 /* cert */
            invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        66: .line 2135
            iconst_1
            ireturn
        67: .line 2137
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        68: .line 2141
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // java.lang.String trustalias
        end local 5 // java.lang.String reply
        end local 4 // boolean selfSigned
        end local 3 // java.security.cert.X509Certificate cert
        end local 2 // java.io.InputStream in
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   69     0        this  Lsun/security/tools/keytool/Main;
            0   69     1       alias  Ljava/lang/String;
            0   69     2          in  Ljava/io/InputStream;
            6    8     3        form  Ljava/text/MessageFormat;
            7    8     4      source  [Ljava/lang/Object;
            9   69     3        cert  Ljava/security/cert/X509Certificate;
           16   69     4  selfSigned  Z
           23   69     5       reply  Ljava/lang/String;
           24   69     6  trustalias  Ljava/lang/String;
           28   33     7        form  Ljava/text/MessageFormat;
           29   33     8      source  [Ljava/lang/Object;
           40   45     7        form  Ljava/text/MessageFormat;
           41   45     8      source  [Ljava/lang/Object;
           56   59     7       chain  [Ljava/security/cert/Certificate;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.ClassCastException
           9    10      13  Class java.security.cert.CertificateException
          55    58      59  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      alias  
      in     

  private char[] getNewPasswd(java.lang.String, char[]);
    descriptor: (Ljava/lang/String;[C)[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String prompt
        start local 2 // char[] oldPasswd
         0: .line 2154
            aconst_null
            astore 3 /* entered */
        start local 3 // char[] entered
         1: .line 2155
            aconst_null
            astore 4 /* reentered */
        start local 4 // char[] reentered
         2: .line 2157
            iconst_0
            istore 5 /* count */
        start local 5 // int count
         3: goto 40
         4: .line 2158
      StackMap locals: char[] char[] int
      StackMap stack:
            new java.text.MessageFormat
            dup
         5: .line 2159
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "New.prompt."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         6: .line 2158
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
         7: .line 2160
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* prompt */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
         8: .line 2161
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         9: .line 2162
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 3 /* entered */
        10: .line 2163
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 3 /* entered */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 2164
            aload 3 /* entered */
            ifnull 12
            aload 3 /* entered */
            arraylength
            bipush 6
            if_icmpge 16
        12: .line 2165
      StackMap locals: java.text.MessageFormat java.lang.Object[]
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        13: .line 2166
            ldc "Password.is.too.short.must.be.at.least.6.characters"
        14: .line 2165
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 2167
            goto 33
      StackMap locals:
      StackMap stack:
        16: aload 3 /* entered */
            aload 2 /* oldPasswd */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifeq 19
        17: .line 2168
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Passwords.must.differ"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        18: .line 2169
            goto 33
        19: .line 2170
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        20: .line 2171
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Re.enter.new.prompt."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        21: .line 2170
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        22: .line 2172
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* prompt */
            aastore
            astore 8 /* src */
        start local 8 // java.lang.Object[] src
        23: .line 2173
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 6 /* form */
            aload 8 /* src */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        24: .line 2174
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 4 /* reentered */
        25: .line 2175
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 4 /* reentered */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        26: .line 2176
            aload 3 /* entered */
            aload 4 /* reentered */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 31
        27: .line 2177
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        28: .line 2178
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "They.don.t.match.Try.again"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        29: .line 2177
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        30: .line 2179
            goto 33
        31: .line 2180
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 4 /* reentered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        32: .line 2181
            aload 3 /* entered */
            areturn
        end local 8 // java.lang.Object[] src
        33: .line 2184
      StackMap locals:
      StackMap stack:
            aload 3 /* entered */
            ifnull 36
        34: .line 2185
            aload 3 /* entered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        35: .line 2186
            aconst_null
            astore 3 /* entered */
        36: .line 2188
      StackMap locals:
      StackMap stack:
            aload 4 /* reentered */
            ifnull 39
        37: .line 2189
            aload 4 /* reentered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        38: .line 2190
            aconst_null
            astore 4 /* reentered */
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        39: .line 2157
      StackMap locals:
      StackMap stack:
            iinc 5 /* count */ 1
      StackMap locals:
      StackMap stack:
        40: iload 5 /* count */
            iconst_3
            if_icmplt 4
        end local 5 // int count
        41: .line 2193
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Too.many.failures.try.later"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // char[] reentered
        end local 3 // char[] entered
        end local 2 // char[] oldPasswd
        end local 1 // java.lang.String prompt
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   42     0       this  Lsun/security/tools/keytool/Main;
            0   42     1     prompt  Ljava/lang/String;
            0   42     2  oldPasswd  [C
            1   42     3    entered  [C
            2   42     4  reentered  [C
            3   41     5      count  I
            7   39     6       form  Ljava/text/MessageFormat;
            8   39     7     source  [Ljava/lang/Object;
           23   33     8        src  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      prompt     
      oldPasswd  

  private java.lang.String getAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String prompt
         0: .line 2202
            aload 1 /* prompt */
            ifnull 7
         1: .line 2203
            new java.text.MessageFormat
            dup
         2: .line 2204
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Enter.prompt.alias.name."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 2203
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         4: .line 2205
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* prompt */
            aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
         5: .line 2206
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* form */
            aload 3 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        end local 3 // java.lang.Object[] source
        end local 2 // java.text.MessageFormat form
         6: .line 2207
            goto 8
         7: .line 2208
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Enter.alias.name."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         8: .line 2210
      StackMap locals:
      StackMap stack:
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         9: .line 2211
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
        10: .line 2210
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        11: .line 2211
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
        12: .line 2210
            areturn
        end local 1 // java.lang.String prompt
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lsun/security/tools/keytool/Main;
            0   13     1  prompt  Ljava/lang/String;
            4    6     2    form  Ljava/text/MessageFormat;
            5    6     3  source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      prompt  

  private java.lang.String inputStringFromStdin(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String prompt
         0: .line 2220
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* prompt */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 2221
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         2: .line 2222
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
         3: .line 2221
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
         4: .line 2222
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
         5: .line 2221
            areturn
        end local 1 // java.lang.String prompt
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/security/tools/keytool/Main;
            0    6     1  prompt  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      prompt  

  private char[] getKeyPasswd(java.lang.String, java.lang.String, char[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[C)[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String otherAlias
        start local 3 // char[] otherKeyPass
         0: .line 2233
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         1: .line 2234
            aconst_null
            astore 5 /* keyPass */
        start local 5 // char[] keyPass
         2: .line 2237
      StackMap locals: int char[]
      StackMap stack:
            aload 3 /* otherKeyPass */
            ifnull 14
         3: .line 2238
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 2239
            ldc "Enter.key.password.for.alias."
         5: .line 2238
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
         6: .line 2240
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
         7: .line 2241
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 2243
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 2244
            ldc ".RETURN.if.same.as.for.otherAlias."
        10: .line 2243
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        11: .line 2245
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* otherAlias */
            aastore
            astore 8 /* src */
        start local 8 // java.lang.Object[] src
        12: .line 2246
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 6 /* form */
            aload 8 /* src */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        end local 8 // java.lang.Object[] src
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        13: .line 2247
            goto 19
        14: .line 2248
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 2249
            ldc "Enter.key.password.for.alias."
        16: .line 2248
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        17: .line 2250
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        18: .line 2251
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        19: .line 2253
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        20: .line 2254
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 5 /* keyPass */
        21: .line 2255
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 5 /* keyPass */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        22: .line 2256
            aload 5 /* keyPass */
            ifnonnull 24
        23: .line 2257
            aload 3 /* otherKeyPass */
            astore 5 /* keyPass */
        24: .line 2259
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
        25: .line 2260
            aload 5 /* keyPass */
            ifnonnull 27
            iload 4 /* count */
            iconst_3
        26: .line 2236
            if_icmplt 2
        27: .line 2262
      StackMap locals:
      StackMap stack:
            aload 5 /* keyPass */
            ifnonnull 29
        28: .line 2263
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Too.many.failures.try.later"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 2266
      StackMap locals:
      StackMap stack:
            aload 5 /* keyPass */
            areturn
        end local 5 // char[] keyPass
        end local 4 // int count
        end local 3 // char[] otherKeyPass
        end local 2 // java.lang.String otherAlias
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lsun/security/tools/keytool/Main;
            0   30     1         alias  Ljava/lang/String;
            0   30     2    otherAlias  Ljava/lang/String;
            0   30     3  otherKeyPass  [C
            1   30     4         count  I
            2   30     5       keyPass  [C
            6   13     6          form  Ljava/text/MessageFormat;
            7   13     7        source  [Ljava/lang/Object;
           12   13     8           src  [Ljava/lang/Object;
           17   19     6          form  Ljava/text/MessageFormat;
           18   19     7        source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
              Name  Flags
      alias         
      otherAlias    
      otherKeyPass  

  private void printX509Cert(java.security.cert.X509Certificate, java.io.PrintStream);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.X509Certificate cert
        start local 2 // java.io.PrintStream out
         0: .line 2293
            new java.text.MessageFormat
            dup
         1: .line 2294
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".PATTERN.printX509Cert"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 2293
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         3: .line 2295
            bipush 10
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            invokeinterface java.security.Principal.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         4: .line 2296
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            invokeinterface java.security.Principal.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_2
         5: .line 2297
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            bipush 16
            invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
            aastore
            dup
            iconst_3
         6: .line 2298
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getNotBefore:()Ljava/util/Date;
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_4
         7: .line 2299
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getNotAfter:()Ljava/util/Date;
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_5
         8: .line 2300
            aload 0 /* this */
            ldc "MD5"
            aload 1 /* cert */
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            aastore
            dup
            bipush 6
         9: .line 2301
            aload 0 /* this */
            ldc "SHA1"
            aload 1 /* cert */
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            aastore
            dup
            bipush 7
        10: .line 2302
            aload 0 /* this */
            ldc "SHA-256"
            aload 1 /* cert */
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            aastore
            dup
            bipush 8
        11: .line 2303
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
            aastore
            dup
            bipush 9
        12: .line 2304
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getVersion:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        13: .line 2295
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        14: .line 2306
            aload 2 /* out */
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 2308
            iconst_0
            istore 5 /* extnum */
        start local 5 // int extnum
        16: .line 2309
            aload 1 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 44
        17: .line 2310
            aload 1 /* cert */
            checkcast sun.security.x509.X509CertImpl
            astore 6 /* impl */
        start local 6 // sun.security.x509.X509CertImpl impl
        18: .line 2311
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
            ifnull 29
        19: .line 2312
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 28
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl top java.util.Iterator
      StackMap stack:
        20: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* extOID */
        start local 7 // java.lang.String extOID
        21: .line 2313
            iload 5 /* extnum */
            ifne 25
        22: .line 2314
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        23: .line 2315
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Extensions."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        24: .line 2316
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        25: .line 2318
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl java.lang.String java.util.Iterator
      StackMap stack:
            aload 2 /* out */
            new java.lang.StringBuilder
            dup
            ldc "#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iinc 5 /* extnum */ 1
            iload 5 /* extnum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 2319
            aload 6 /* impl */
            new sun.security.util.ObjectIdentifier
            dup
            aload 7 /* extOID */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 2318
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // java.lang.String extOID
        28: .line 2312
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        29: .line 2322
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl
      StackMap stack:
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getNonCriticalExtensionOIDs:()Ljava/util/Set;
            ifnull 44
        30: .line 2323
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getNonCriticalExtensionOIDs:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 43
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl top java.util.Iterator
      StackMap stack:
        31: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* extOID */
        start local 7 // java.lang.String extOID
        32: .line 2324
            iload 5 /* extnum */
            ifne 36
        33: .line 2325
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        34: .line 2326
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Extensions."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        35: .line 2327
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        36: .line 2329
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl java.lang.String java.util.Iterator
      StackMap stack:
            aload 6 /* impl */
            new sun.security.util.ObjectIdentifier
            dup
            aload 7 /* extOID */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
            astore 9 /* ext */
        start local 9 // sun.security.x509.Extension ext
        37: .line 2330
            aload 9 /* ext */
            ifnull 40
        38: .line 2331
            aload 2 /* out */
            new java.lang.StringBuilder
            dup
            ldc "#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iinc 5 /* extnum */ 1
            iload 5 /* extnum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* ext */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 2332
            goto 43
        40: .line 2333
      StackMap locals: sun.security.x509.Extension
      StackMap stack:
            aload 2 /* out */
            new java.lang.StringBuilder
            dup
            ldc "#"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iinc 5 /* extnum */ 1
            iload 5 /* extnum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 2334
            aload 6 /* impl */
            new sun.security.util.ObjectIdentifier
            dup
            aload 7 /* extOID */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.x509.X509CertImpl.getUnparseableExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        42: .line 2333
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 9 // sun.security.x509.Extension ext
        end local 7 // java.lang.String extOID
        43: .line 2323
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        end local 6 // sun.security.x509.X509CertImpl impl
        44: .line 2339
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int
      StackMap stack:
            return
        end local 5 // int extnum
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        end local 2 // java.io.PrintStream out
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   45     0    this  Lsun/security/tools/keytool/Main;
            0   45     1    cert  Ljava/security/cert/X509Certificate;
            0   45     2     out  Ljava/io/PrintStream;
            3   45     3    form  Ljava/text/MessageFormat;
           14   45     4  source  [Ljava/lang/Object;
           16   45     5  extnum  I
           18   44     6    impl  Lsun/security/x509/X509CertImpl;
           21   28     7  extOID  Ljava/lang/String;
           32   43     7  extOID  Ljava/lang/String;
           37   43     9     ext  Lsun/security/x509/Extension;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      cert  
      out   

  private boolean isSelfSigned(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.X509Certificate cert
         0: .line 2345
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/tools/keytool/Main;
            0    1     1  cert  Ljava/security/cert/X509Certificate;
    MethodParameters:
      Name  Flags
      cert  

  private boolean isTrusted(java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.Certificate cert
         0: .line 2354
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* cert */
            invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
            ifnull 2
         1: .line 2355
            iconst_1
            ireturn
         2: .line 2357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 5
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 5
         3: .line 2358
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            aload 1 /* cert */
            invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
            ifnull 5
         4: .line 2359
            iconst_1
            ireturn
         5: .line 2361
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/tools/keytool/Main;
            0    6     1  cert  Ljava/security/cert/Certificate;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      cert  

  private sun.security.x509.X500Name getX500Name();
    descriptor: ()Lsun/security/x509/X500Name;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=13, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 2369
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 1 /* in */
        start local 1 // java.io.BufferedReader in
         1: .line 2370
            ldc "Unknown"
            astore 2 /* commonName */
        start local 2 // java.lang.String commonName
         2: .line 2371
            ldc "Unknown"
            astore 3 /* organizationalUnit */
        start local 3 // java.lang.String organizationalUnit
         3: .line 2372
            ldc "Unknown"
            astore 4 /* organization */
        start local 4 // java.lang.String organization
         4: .line 2373
            ldc "Unknown"
            astore 5 /* city */
        start local 5 // java.lang.String city
         5: .line 2374
            ldc "Unknown"
            astore 6 /* state */
        start local 6 // java.lang.String state
         6: .line 2375
            ldc "Unknown"
            astore 7 /* country */
        start local 7 // java.lang.String country
         7: .line 2377
            aconst_null
            astore 9 /* userInput */
        start local 9 // java.lang.String userInput
         8: .line 2379
            bipush 20
            istore 10 /* maxRetry */
        start local 10 // int maxRetry
         9: .line 2381
      StackMap locals: sun.security.tools.keytool.Main java.io.BufferedReader java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String top java.lang.String int
      StackMap stack:
            iload 10 /* maxRetry */
            iinc 10 /* maxRetry */ -1
            ifge 13
        10: .line 2382
            new java.lang.RuntimeException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        11: .line 2383
            ldc "Too.many.retries.program.terminated"
        12: .line 2382
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 2385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
        14: .line 2386
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "What.is.your.first.and.last.name."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        15: .line 2387
            aload 2 /* commonName */
        16: .line 2385
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* commonName */
        17: .line 2388
            aload 0 /* this */
            aload 1 /* in */
        18: .line 2389
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        19: .line 2390
            ldc "What.is.the.name.of.your.organizational.unit."
        20: .line 2389
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        21: .line 2391
            aload 3 /* organizationalUnit */
        22: .line 2388
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* organizationalUnit */
        23: .line 2392
            aload 0 /* this */
            aload 1 /* in */
        24: .line 2393
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "What.is.the.name.of.your.organization."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        25: .line 2394
            aload 4 /* organization */
        26: .line 2392
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* organization */
        27: .line 2395
            aload 0 /* this */
            aload 1 /* in */
        28: .line 2396
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "What.is.the.name.of.your.City.or.Locality."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        29: .line 2397
            aload 5 /* city */
        30: .line 2395
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* city */
        31: .line 2398
            aload 0 /* this */
            aload 1 /* in */
        32: .line 2399
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "What.is.the.name.of.your.State.or.Province."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        33: .line 2400
            aload 6 /* state */
        34: .line 2398
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* state */
        35: .line 2401
            aload 0 /* this */
            aload 1 /* in */
        36: .line 2402
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 2403
            ldc "What.is.the.two.letter.country.code.for.this.unit."
        38: .line 2402
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        39: .line 2404
            aload 7 /* country */
        40: .line 2401
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* country */
        41: .line 2405
            new sun.security.x509.X500Name
            dup
            aload 2 /* commonName */
            aload 3 /* organizationalUnit */
            aload 4 /* organization */
        42: .line 2406
            aload 5 /* city */
            aload 6 /* state */
            aload 7 /* country */
        43: .line 2405
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 8 /* name */
        start local 8 // sun.security.x509.X500Name name
        44: .line 2407
            new java.text.MessageFormat
            dup
        45: .line 2408
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Is.name.correct."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        46: .line 2407
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        47: .line 2409
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* name */
            aastore
            astore 12 /* source */
        start local 12 // java.lang.Object[] source
        48: .line 2410
            aload 0 /* this */
        49: .line 2411
            aload 1 /* in */
            aload 11 /* form */
            aload 12 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "no"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        50: .line 2410
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* userInput */
        end local 12 // java.lang.Object[] source
        end local 11 // java.text.MessageFormat form
        51: .line 2412
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 9 /* userInput */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "yes"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 53
        52: .line 2413
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 9 /* userInput */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "y"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 9
        53: .line 2415
      StackMap locals: sun.security.tools.keytool.Main java.io.BufferedReader java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String sun.security.x509.X500Name java.lang.String int
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        54: .line 2416
            aload 8 /* name */
            areturn
        end local 10 // int maxRetry
        end local 9 // java.lang.String userInput
        end local 8 // sun.security.x509.X500Name name
        end local 7 // java.lang.String country
        end local 6 // java.lang.String state
        end local 5 // java.lang.String city
        end local 4 // java.lang.String organization
        end local 3 // java.lang.String organizationalUnit
        end local 2 // java.lang.String commonName
        end local 1 // java.io.BufferedReader in
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   55     0                this  Lsun/security/tools/keytool/Main;
            1   55     1                  in  Ljava/io/BufferedReader;
            2   55     2          commonName  Ljava/lang/String;
            3   55     3  organizationalUnit  Ljava/lang/String;
            4   55     4        organization  Ljava/lang/String;
            5   55     5                city  Ljava/lang/String;
            6   55     6               state  Ljava/lang/String;
            7   55     7             country  Ljava/lang/String;
           44   55     8                name  Lsun/security/x509/X500Name;
            8   55     9           userInput  Ljava/lang/String;
            9   55    10            maxRetry  I
           47   51    11                form  Ljava/text/MessageFormat;
           48   51    12              source  [Ljava/lang/Object;
    Exceptions:
      throws java.io.IOException

  private java.lang.String inputString(java.io.BufferedReader, java.lang.String, java.lang.String);
    descriptor: (Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.BufferedReader in
        start local 2 // java.lang.String prompt
        start local 3 // java.lang.String defaultValue
         0: .line 2423
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* prompt */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 2424
            new java.text.MessageFormat
            dup
         2: .line 2425
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".defaultValue."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 2424
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         4: .line 2426
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* defaultValue */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
         5: .line 2427
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         6: .line 2428
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         7: .line 2430
            aload 1 /* in */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
         8: .line 2431
            aload 6 /* value */
            ifnull 9
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* value */
            ldc ""
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 10
         9: .line 2432
      StackMap locals: java.text.MessageFormat java.lang.Object[] java.lang.String
      StackMap stack:
            aload 3 /* defaultValue */
            astore 6 /* value */
        10: .line 2434
      StackMap locals:
      StackMap stack:
            aload 6 /* value */
            areturn
        end local 6 // java.lang.String value
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        end local 3 // java.lang.String defaultValue
        end local 2 // java.lang.String prompt
        end local 1 // java.io.BufferedReader in
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lsun/security/tools/keytool/Main;
            0   11     1            in  Ljava/io/BufferedReader;
            0   11     2        prompt  Ljava/lang/String;
            0   11     3  defaultValue  Ljava/lang/String;
            4   11     4          form  Ljava/text/MessageFormat;
            5   11     5        source  [Ljava/lang/Object;
            8   11     6         value  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      in            
      prompt        
      defaultValue  

  private void dumpCert(java.security.cert.Certificate, java.io.PrintStream);
    descriptor: (Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.Certificate cert
        start local 2 // java.io.PrintStream out
         0: .line 2444
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 6
         1: .line 2445
            new sun.misc.BASE64Encoder
            dup
            invokespecial sun.misc.BASE64Encoder.<init>:()V
            astore 3 /* encoder */
        start local 3 // sun.misc.BASE64Encoder encoder
         2: .line 2446
            aload 2 /* out */
            ldc "-----BEGIN CERTIFICATE-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 2447
            aload 3 /* encoder */
            aload 1 /* cert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            aload 2 /* out */
            invokevirtual sun.misc.BASE64Encoder.encodeBuffer:([BLjava/io/OutputStream;)V
         4: .line 2448
            aload 2 /* out */
            ldc "-----END CERTIFICATE-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // sun.misc.BASE64Encoder encoder
         5: .line 2449
            goto 7
         6: .line 2450
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            aload 1 /* cert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            invokevirtual java.io.PrintStream.write:([B)V
         7: .line 2452
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.PrintStream out
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lsun/security/tools/keytool/Main;
            0    8     1     cert  Ljava/security/cert/Certificate;
            0    8     2      out  Ljava/io/PrintStream;
            2    5     3  encoder  Lsun/misc/BASE64Encoder;
    Exceptions:
      throws java.io.IOException, java.security.cert.CertificateException
    MethodParameters:
      Name  Flags
      cert  
      out   

  private void byte2hex(byte, java.lang.StringBuffer);
    descriptor: (BLjava/lang/StringBuffer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // byte b
        start local 2 // java.lang.StringBuffer buf
         0: .line 2458
            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 2459
            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 2458
            astore 3 /* hexChars */
        start local 3 // char[] hexChars
         3: .line 2460
            iload 1 /* b */
            sipush 240
            iand
            iconst_4
            ishr
            istore 4 /* high */
        start local 4 // int high
         4: .line 2461
            iload 1 /* b */
            bipush 15
            iand
            istore 5 /* low */
        start local 5 // int low
         5: .line 2462
            aload 2 /* buf */
            aload 3 /* hexChars */
            iload 4 /* high */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 2463
            aload 2 /* buf */
            aload 3 /* hexChars */
            iload 5 /* low */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 2464
            return
        end local 5 // int low
        end local 4 // int high
        end local 3 // char[] hexChars
        end local 2 // java.lang.StringBuffer buf
        end local 1 // byte b
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lsun/security/tools/keytool/Main;
            0    8     1         b  B
            0    8     2       buf  Ljava/lang/StringBuffer;
            3    8     3  hexChars  [C
            4    8     4      high  I
            5    8     5       low  I
    MethodParameters:
      Name  Flags
      b     
      buf   

  private java.lang.String toHexString(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // byte[] block
         0: .line 2470
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         1: .line 2471
            aload 1 /* block */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: .line 2472
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 2473
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* block */
            iload 4 /* i */
            baload
            aload 2 /* buf */
            invokevirtual sun.security.tools.keytool.Main.byte2hex:(BLjava/lang/StringBuffer;)V
         5: .line 2474
            iload 4 /* i */
            iload 3 /* len */
            iconst_1
            isub
            if_icmpge 7
         6: .line 2475
            aload 2 /* buf */
            ldc ":"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 2472
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 4
        end local 4 // int i
         9: .line 2478
            aload 2 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // int len
        end local 2 // java.lang.StringBuffer buf
        end local 1 // byte[] block
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lsun/security/tools/keytool/Main;
            0   10     1  block  [B
            1   10     2    buf  Ljava/lang/StringBuffer;
            2   10     3    len  I
            3    9     4      i  I
    MethodParameters:
       Name  Flags
      block  

  private java.lang.Object[] recoverKey(java.lang.String, char[], char[]);
    descriptor: (Ljava/lang/String;[C[C)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // char[] storePass
        start local 3 // char[] keyPass
         0: .line 2492
            aconst_null
            astore 4 /* key */
        start local 4 // java.security.Key key
         1: .line 2494
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 7
         2: .line 2495
            new java.text.MessageFormat
            dup
         3: .line 2496
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.does.not.exist"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         4: .line 2495
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         5: .line 2497
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
         6: .line 2498
            new java.lang.Exception
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
         7: .line 2500
      StackMap locals: java.security.Key
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifne 14
         8: .line 2501
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            ldc Ljava/security/KeyStore$SecretKeyEntry;
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifne 14
         9: .line 2502
            new java.text.MessageFormat
            dup
        10: .line 2503
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.has.no.key"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        11: .line 2502
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        12: .line 2504
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        13: .line 2505
            new java.lang.Exception
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        14: .line 2508
      StackMap locals:
      StackMap stack:
            aload 3 /* keyPass */
            ifnonnull 25
        15: .line 2511
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 2 /* storePass */
            invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
            astore 4 /* key */
        16: .line 2513
            aload 2 /* storePass */
            astore 3 /* keyPass */
        17: .line 2514
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 3 /* keyPass */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        18: .line 2515
            goto 26
      StackMap locals:
      StackMap stack: java.security.UnrecoverableKeyException
        19: astore 5 /* e */
        start local 5 // java.security.UnrecoverableKeyException e
        20: .line 2517
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 24
        21: .line 2518
            aload 0 /* this */
            aload 1 /* alias */
            aconst_null
            aconst_null
            invokevirtual sun.security.tools.keytool.Main.getKeyPasswd:(Ljava/lang/String;Ljava/lang/String;[C)[C
            astore 3 /* keyPass */
        22: .line 2519
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 3 /* keyPass */
            invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
            astore 4 /* key */
        23: .line 2520
            goto 26
        24: .line 2521
      StackMap locals: java.security.UnrecoverableKeyException
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // java.security.UnrecoverableKeyException e
        25: .line 2525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 3 /* keyPass */
            invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
            astore 4 /* key */
        26: .line 2528
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* key */
            aastore
            dup
            iconst_1
            aload 3 /* keyPass */
            aastore
            areturn
        end local 4 // java.security.Key key
        end local 3 // char[] keyPass
        end local 2 // char[] storePass
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lsun/security/tools/keytool/Main;
            0   27     1      alias  Ljava/lang/String;
            0   27     2  storePass  [C
            0   27     3    keyPass  [C
            1   27     4        key  Ljava/security/Key;
            5    7     5       form  Ljava/text/MessageFormat;
            6    7     6     source  [Ljava/lang/Object;
           12   14     5       form  Ljava/text/MessageFormat;
           13   14     6     source  [Ljava/lang/Object;
           20   25     5          e  Ljava/security/UnrecoverableKeyException;
      Exception table:
        from    to  target  type
          15    18      19  Class java.security.UnrecoverableKeyException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      alias      
      storePass  
      keyPass    

  private java.lang.Object[] recoverEntry(java.security.KeyStore, java.lang.String, char[], char[]);
    descriptor: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.KeyStore ks
        start local 2 // java.lang.String alias
        start local 3 // char[] pstore
        start local 4 // char[] pkey
         0: .line 2543
            aload 1 /* ks */
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 6
         1: .line 2544
            new java.text.MessageFormat
            dup
         2: .line 2545
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.does.not.exist"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 2544
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         4: .line 2546
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* alias */
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
         5: .line 2547
            new java.lang.Exception
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
         6: .line 2550
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* pp */
        start local 5 // java.security.KeyStore$PasswordProtection pp
         7: .line 2557
            aload 1 /* ks */
            aload 2 /* alias */
            aload 5 /* pp */
            invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
            astore 6 /* entry */
        start local 6 // java.security.KeyStore$Entry entry
         8: .line 2558
            aconst_null
            astore 4 /* pkey */
         9: .line 2559
            goto 28
        end local 6 // java.security.KeyStore$Entry entry
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String char[] char[] java.security.KeyStore$PasswordProtection
      StackMap stack: java.security.UnrecoverableEntryException
        10: astore 7 /* une */
        start local 7 // java.security.UnrecoverableEntryException une
        11: .line 2561
            ldc "PKCS11"
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 13
        12: .line 2562
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 2564
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String char[] char[] java.security.KeyStore$PasswordProtection top java.security.UnrecoverableEntryException
      StackMap stack:
            aload 7 /* une */
            athrow
        14: .line 2569
      StackMap locals:
      StackMap stack:
            aload 4 /* pkey */
            ifnull 18
        15: .line 2573
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* pkey */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        16: .line 2574
            aload 1 /* ks */
            aload 2 /* alias */
            aload 5 /* pp */
            invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
            astore 6 /* entry */
        start local 6 // java.security.KeyStore$Entry entry
        17: .line 2576
            goto 28
        end local 6 // java.security.KeyStore$Entry entry
        18: .line 2581
      StackMap locals:
      StackMap stack:
            new java.security.KeyStore$PasswordProtection
            dup
            aload 3 /* pstore */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        19: .line 2582
            aload 1 /* ks */
            aload 2 /* alias */
            aload 5 /* pp */
            invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
            astore 6 /* entry */
        start local 6 // java.security.KeyStore$Entry entry
        20: .line 2583
            aload 3 /* pstore */
            astore 4 /* pkey */
        21: .line 2584
            goto 28
        end local 6 // java.security.KeyStore$Entry entry
      StackMap locals:
      StackMap stack: java.security.UnrecoverableEntryException
        22: astore 8 /* une2 */
        start local 8 // java.security.UnrecoverableEntryException une2
        23: .line 2585
            ldc "PKCS12"
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 25
        24: .line 2590
            aload 8 /* une2 */
            athrow
        25: .line 2595
      StackMap locals: java.security.UnrecoverableEntryException
      StackMap stack:
            aload 0 /* this */
            aload 2 /* alias */
            aconst_null
            aconst_null
            invokevirtual sun.security.tools.keytool.Main.getKeyPasswd:(Ljava/lang/String;Ljava/lang/String;[C)[C
            astore 4 /* pkey */
        26: .line 2596
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* pkey */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        27: .line 2597
            aload 1 /* ks */
            aload 2 /* alias */
            aload 5 /* pp */
            invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
            astore 6 /* entry */
        end local 8 // java.security.UnrecoverableEntryException une2
        end local 7 // java.security.UnrecoverableEntryException une
        start local 6 // java.security.KeyStore$Entry entry
        28: .line 2603
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String char[] char[] java.security.KeyStore$PasswordProtection java.security.KeyStore$Entry
      StackMap stack:
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* entry */
            aastore
            dup
            iconst_1
            aload 4 /* pkey */
            aastore
            areturn
        end local 6 // java.security.KeyStore$Entry entry
        end local 5 // java.security.KeyStore$PasswordProtection pp
        end local 4 // char[] pkey
        end local 3 // char[] pstore
        end local 2 // java.lang.String alias
        end local 1 // java.security.KeyStore ks
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0    this  Lsun/security/tools/keytool/Main;
            0   29     1      ks  Ljava/security/KeyStore;
            0   29     2   alias  Ljava/lang/String;
            0   29     3  pstore  [C
            0   29     4    pkey  [C
            4    6     5    form  Ljava/text/MessageFormat;
            5    6     6  source  [Ljava/lang/Object;
            7   29     5      pp  Ljava/security/KeyStore$PasswordProtection;
            8   10     6   entry  Ljava/security/KeyStore$Entry;
           17   18     6   entry  Ljava/security/KeyStore$Entry;
           20   22     6   entry  Ljava/security/KeyStore$Entry;
           28   29     6   entry  Ljava/security/KeyStore$Entry;
           11   28     7     une  Ljava/security/UnrecoverableEntryException;
           23   28     8    une2  Ljava/security/UnrecoverableEntryException;
      Exception table:
        from    to  target  type
           7     9      10  Class java.security.UnrecoverableEntryException
          18    21      22  Class java.security.UnrecoverableEntryException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      ks      
      alias   
      pstore  
      pkey    

  private java.lang.String getCertFingerPrint(java.lang.String, java.security.cert.Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String mdAlg
        start local 2 // java.security.cert.Certificate cert
         0: .line 2611
            aload 2 /* cert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 3 /* encCertInfo */
        start local 3 // byte[] encCertInfo
         1: .line 2612
            aload 1 /* mdAlg */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 4 /* md */
        start local 4 // java.security.MessageDigest md
         2: .line 2613
            aload 4 /* md */
            aload 3 /* encCertInfo */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 5 /* digest */
        start local 5 // byte[] digest
         3: .line 2614
            aload 0 /* this */
            aload 5 /* digest */
            invokevirtual sun.security.tools.keytool.Main.toHexString:([B)Ljava/lang/String;
            areturn
        end local 5 // byte[] digest
        end local 4 // java.security.MessageDigest md
        end local 3 // byte[] encCertInfo
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String mdAlg
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lsun/security/tools/keytool/Main;
            0    4     1        mdAlg  Ljava/lang/String;
            0    4     2         cert  Ljava/security/cert/Certificate;
            1    4     3  encCertInfo  [B
            2    4     4           md  Ljava/security/MessageDigest;
            3    4     5       digest  [B
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      mdAlg  
      cert   

  private void printWarning();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 2621
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         1: .line 2622
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         2: .line 2623
            ldc ".WARNING.WARNING.WARNING."
         3: .line 2622
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2624
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 2625
            ldc ".The.integrity.of.the.information.stored.in.your.keystore."
         6: .line 2624
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 2626
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         8: .line 2627
            ldc ".WARNING.WARNING.WARNING."
         9: .line 2626
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 2628
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        11: .line 2629
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/security/tools/keytool/Main;

  private java.security.cert.Certificate[] validateReply(java.lang.String, java.security.cert.Certificate, java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.Certificate userCert
        start local 3 // java.security.cert.Certificate[] replyCerts
         0: .line 2649
            aload 2 /* userCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 5 /* userPubKey */
        start local 5 // java.security.PublicKey userPubKey
         1: .line 2650
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 6
         3: .line 2651
      StackMap locals: int java.security.PublicKey
      StackMap stack:
            aload 5 /* userPubKey */
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 2652
            goto 7
         5: .line 2650
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            if_icmplt 3
         7: .line 2655
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            if_icmpne 13
         8: .line 2656
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 2657
            ldc "Certificate.reply.does.not.contain.public.key.for.alias."
        10: .line 2656
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        11: .line 2658
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        12: .line 2659
            new java.lang.Exception
            dup
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        13: .line 2662
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            iconst_0
            aaload
            astore 6 /* tmpCert */
        start local 6 // java.security.cert.Certificate tmpCert
        14: .line 2663
            aload 3 /* replyCerts */
            iconst_0
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            aastore
        15: .line 2664
            aload 3 /* replyCerts */
            iload 4 /* i */
            aload 6 /* tmpCert */
            aastore
        16: .line 2665
            aload 3 /* replyCerts */
            iconst_0
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            astore 7 /* issuer */
        start local 7 // java.security.Principal issuer
        17: .line 2667
            iconst_1
            istore 4 /* i */
            goto 34
        18: .line 2671
      StackMap locals: java.security.cert.Certificate java.security.Principal
      StackMap stack:
            iload 4 /* i */
            istore 8 /* j */
        start local 8 // int j
        19: goto 28
        20: .line 2673
      StackMap locals: int
      StackMap stack:
            aload 3 /* replyCerts */
            iload 8 /* j */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            astore 9 /* subject */
        start local 9 // java.security.Principal subject
        21: .line 2674
            aload 9 /* subject */
            aload 7 /* issuer */
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
            ifeq 27
        22: .line 2675
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            astore 6 /* tmpCert */
        23: .line 2676
            aload 3 /* replyCerts */
            iload 4 /* i */
            aload 3 /* replyCerts */
            iload 8 /* j */
            aaload
            aastore
        24: .line 2677
            aload 3 /* replyCerts */
            iload 8 /* j */
            aload 6 /* tmpCert */
            aastore
        25: .line 2678
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            astore 7 /* issuer */
        26: .line 2679
            goto 29
        end local 9 // java.security.Principal subject
        27: .line 2671
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* j */
            aload 3 /* replyCerts */
            arraylength
            if_icmplt 20
        29: .line 2682
      StackMap locals:
      StackMap stack:
            iload 8 /* j */
            aload 3 /* replyCerts */
            arraylength
            if_icmpne 33
        30: .line 2683
            new java.lang.Exception
            dup
        31: .line 2684
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Incomplete.certificate.chain.in.reply"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        32: .line 2683
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // int j
        33: .line 2667
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            isub
            if_icmplt 18
        35: .line 2689
            iconst_0
            istore 4 /* i */
            goto 46
        36: .line 2690
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            iload 4 /* i */
            iconst_1
            iadd
            aaload
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 8 /* pubKey */
        start local 8 // java.security.PublicKey pubKey
        37: .line 2692
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            aload 8 /* pubKey */
            invokevirtual java.security.cert.Certificate.verify:(Ljava/security/PublicKey;)V
        38: .line 2693
            goto 45
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.Principal java.security.PublicKey
      StackMap stack: java.lang.Exception
        39: astore 9 /* e */
        start local 9 // java.lang.Exception e
        40: .line 2694
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        41: .line 2695
            ldc "Certificate.chain.in.reply.does.not.verify."
        42: .line 2694
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        43: .line 2696
            aload 9 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 2694
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.Exception e
        end local 8 // java.security.PublicKey pubKey
        45: .line 2689
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            isub
            if_icmplt 36
        47: .line 2700
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 49
        48: .line 2701
            aload 3 /* replyCerts */
            areturn
        49: .line 2705
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            isub
            aaload
            astore 8 /* topCert */
        start local 8 // java.security.cert.Certificate topCert
        50: .line 2706
            aload 0 /* this */
            aload 8 /* topCert */
            invokevirtual sun.security.tools.keytool.Main.isTrusted:(Ljava/security/cert/Certificate;)Z
            ifne 85
        51: .line 2707
            iconst_0
            istore 9 /* verified */
        start local 9 // boolean verified
        52: .line 2708
            aconst_null
            astore 10 /* rootCert */
        start local 10 // java.security.cert.Certificate rootCert
        53: .line 2709
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 64
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 64
        54: .line 2710
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 11 /* aliases */
        start local 11 // java.util.Enumeration aliases
        55: .line 2711
            goto 63
        56: .line 2712
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.Principal java.security.cert.Certificate int java.security.cert.Certificate java.util.Enumeration
      StackMap stack:
            aload 11 /* aliases */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* name */
        start local 12 // java.lang.String name
        57: .line 2713
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            aload 12 /* name */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 10 /* rootCert */
        58: .line 2714
            aload 10 /* rootCert */
            ifnull 63
        59: .line 2716
            aload 8 /* topCert */
            aload 10 /* rootCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual java.security.cert.Certificate.verify:(Ljava/security/PublicKey;)V
        60: .line 2717
            iconst_1
            istore 9 /* verified */
        61: .line 2718
            goto 64
        62: .line 2719
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.Principal java.security.cert.Certificate int java.security.cert.Certificate java.util.Enumeration java.lang.String
      StackMap stack: java.lang.Exception
            pop
        end local 12 // java.lang.String name
        63: .line 2711
      StackMap locals:
      StackMap stack:
            aload 11 /* aliases */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 56
        end local 11 // java.util.Enumeration aliases
        64: .line 2724
      StackMap locals:
      StackMap stack:
            iload 9 /* verified */
            ifne 77
        65: .line 2725
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        66: .line 2726
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        67: .line 2727
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Top.level.certificate.in.reply."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        68: .line 2726
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        69: .line 2728
            aload 0 /* this */
            aload 8 /* topCert */
            checkcast java.security.cert.X509Certificate
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        70: .line 2729
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        71: .line 2730
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".is.not.trusted."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        72: .line 2731
            aload 0 /* this */
        73: .line 2732
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Install.reply.anyway.no."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        74: .line 2731
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* reply */
        start local 11 // java.lang.String reply
        75: .line 2733
            ldc "NO"
            aload 11 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 85
        76: .line 2734
            aconst_null
            areturn
        end local 11 // java.lang.String reply
        77: .line 2737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* topCert */
            checkcast java.security.cert.X509Certificate
            invokevirtual sun.security.tools.keytool.Main.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifne 85
        78: .line 2740
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            iadd
            anewarray java.security.cert.Certificate
        79: .line 2739
            astore 11 /* tmpCerts */
        start local 11 // java.security.cert.Certificate[] tmpCerts
        80: .line 2741
            aload 3 /* replyCerts */
            iconst_0
            aload 11 /* tmpCerts */
            iconst_0
        81: .line 2742
            aload 3 /* replyCerts */
            arraylength
        82: .line 2741
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        83: .line 2743
            aload 11 /* tmpCerts */
            aload 11 /* tmpCerts */
            arraylength
            iconst_1
            isub
            aload 10 /* rootCert */
            aastore
        84: .line 2744
            aload 11 /* tmpCerts */
            astore 3 /* replyCerts */
        end local 11 // java.security.cert.Certificate[] tmpCerts
        end local 10 // java.security.cert.Certificate rootCert
        end local 9 // boolean verified
        85: .line 2749
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            areturn
        end local 8 // java.security.cert.Certificate topCert
        end local 7 // java.security.Principal issuer
        end local 6 // java.security.cert.Certificate tmpCert
        end local 5 // java.security.PublicKey userPubKey
        end local 4 // int i
        end local 3 // java.security.cert.Certificate[] replyCerts
        end local 2 // java.security.cert.Certificate userCert
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   86     0        this  Lsun/security/tools/keytool/Main;
            0   86     1       alias  Ljava/lang/String;
            0   86     2    userCert  Ljava/security/cert/Certificate;
            0   86     3  replyCerts  [Ljava/security/cert/Certificate;
            2   86     4           i  I
            1   86     5  userPubKey  Ljava/security/PublicKey;
           11   13     6        form  Ljava/text/MessageFormat;
           12   13     7      source  [Ljava/lang/Object;
           14   86     6     tmpCert  Ljava/security/cert/Certificate;
           17   86     7      issuer  Ljava/security/Principal;
           19   33     8           j  I
           21   27     9     subject  Ljava/security/Principal;
           37   45     8      pubKey  Ljava/security/PublicKey;
           40   45     9           e  Ljava/lang/Exception;
           50   86     8     topCert  Ljava/security/cert/Certificate;
           52   85     9    verified  Z
           53   85    10    rootCert  Ljava/security/cert/Certificate;
           55   64    11     aliases  Ljava/util/Enumeration<Ljava/lang/String;>;
           57   63    12        name  Ljava/lang/String;
           75   77    11       reply  Ljava/lang/String;
           80   85    11    tmpCerts  [Ljava/security/cert/Certificate;
      Exception table:
        from    to  target  type
          37    38      39  Class java.lang.Exception
          59    61      62  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      userCert    
      replyCerts  

  private java.security.cert.Certificate[] establishCertChain(java.security.cert.Certificate, java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.Certificate userCert
        start local 2 // java.security.cert.Certificate certToVerify
         0: .line 2764
            aload 1 /* userCert */
            ifnull 11
         1: .line 2767
            aload 1 /* userCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 3 /* origPubKey */
        start local 3 // java.security.PublicKey origPubKey
         2: .line 2768
            aload 2 /* certToVerify */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 4 /* replyPubKey */
        start local 4 // java.security.PublicKey replyPubKey
         3: .line 2769
            aload 3 /* origPubKey */
            aload 4 /* replyPubKey */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
         4: .line 2770
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 2771
            ldc "Public.keys.in.reply.and.keystore.don.t.match"
         6: .line 2770
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2776
      StackMap locals: java.security.PublicKey java.security.PublicKey
      StackMap stack:
            aload 2 /* certToVerify */
            aload 1 /* userCert */
            invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 11
         8: .line 2777
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 2778
            ldc "Certificate.reply.and.certificate.in.keystore.are.identical"
        10: .line 2777
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.security.PublicKey replyPubKey
        end local 3 // java.security.PublicKey origPubKey
        11: .line 2786
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* certs */
        start local 3 // java.util.Hashtable certs
        12: .line 2787
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            ifle 15
        13: .line 2788
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 3 /* certs */
        14: .line 2789
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 3 /* certs */
            invokevirtual sun.security.tools.keytool.Main.keystorecerts2Hashtable:(Ljava/security/KeyStore;Ljava/util/Hashtable;)V
        15: .line 2791
      StackMap locals: java.util.Hashtable
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 20
        16: .line 2792
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 20
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            ifle 20
        17: .line 2793
            aload 3 /* certs */
            ifnonnull 19
        18: .line 2794
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 3 /* certs */
        19: .line 2796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            aload 3 /* certs */
            invokevirtual sun.security.tools.keytool.Main.keystorecerts2Hashtable:(Ljava/security/KeyStore;Ljava/util/Hashtable;)V
        20: .line 2801
      StackMap locals:
      StackMap stack:
            new java.util.Vector
            dup
            iconst_2
            invokespecial java.util.Vector.<init>:(I)V
            astore 4 /* chain */
        start local 4 // java.util.Vector chain
        21: .line 2802
            aload 0 /* this */
            aload 2 /* certToVerify */
            checkcast java.security.cert.X509Certificate
            aload 4 /* chain */
            aload 3 /* certs */
            invokevirtual sun.security.tools.keytool.Main.buildChain:(Ljava/security/cert/X509Certificate;Ljava/util/Vector;Ljava/util/Hashtable;)Z
            ifeq 31
        22: .line 2803
            aload 4 /* chain */
            invokevirtual java.util.Vector.size:()I
            anewarray java.security.cert.Certificate
            astore 5 /* newChain */
        start local 5 // java.security.cert.Certificate[] newChain
        23: .line 2807
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        24: .line 2808
            aload 4 /* chain */
            invokevirtual java.util.Vector.size:()I
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
        25: goto 29
        26: .line 2809
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.Certificate java.security.cert.Certificate java.util.Hashtable java.util.Vector java.security.cert.Certificate[] int int
      StackMap stack:
            aload 5 /* newChain */
            iload 6 /* j */
            aload 4 /* chain */
            iload 7 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            aastore
        27: .line 2810
            iinc 6 /* j */ 1
        28: .line 2808
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        29: iload 7 /* i */
            ifge 26
        end local 7 // int i
        30: .line 2812
            aload 5 /* newChain */
            areturn
        end local 6 // int j
        end local 5 // java.security.cert.Certificate[] newChain
        31: .line 2814
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
        32: .line 2815
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Failed.to.establish.chain.from.reply"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        33: .line 2814
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.util.Vector chain
        end local 3 // java.util.Hashtable certs
        end local 2 // java.security.cert.Certificate certToVerify
        end local 1 // java.security.cert.Certificate userCert
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   34     0          this  Lsun/security/tools/keytool/Main;
            0   34     1      userCert  Ljava/security/cert/Certificate;
            0   34     2  certToVerify  Ljava/security/cert/Certificate;
            2   11     3    origPubKey  Ljava/security/PublicKey;
            3   11     4   replyPubKey  Ljava/security/PublicKey;
           12   34     3         certs  Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;
           21   34     4         chain  Ljava/util/Vector<Ljava/security/cert/Certificate;>;
           23   31     5      newChain  [Ljava/security/cert/Certificate;
           24   31     6             j  I
           25   30     7             i  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
              Name  Flags
      userCert      
      certToVerify  

  private boolean buildChain(java.security.cert.X509Certificate, java.util.Vector<java.security.cert.Certificate>, java.util.Hashtable<java.security.Principal, java.util.Vector<java.security.cert.Certificate>>);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/Vector;Ljava/util/Hashtable;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.X509Certificate certToVerify
        start local 2 // java.util.Vector chain
        start local 3 // java.util.Hashtable certs
         0: .line 2831
            aload 1 /* certToVerify */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            astore 4 /* subject */
        start local 4 // java.security.Principal subject
         1: .line 2832
            aload 1 /* certToVerify */
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            astore 5 /* issuer */
        start local 5 // java.security.Principal issuer
         2: .line 2833
            aload 4 /* subject */
            aload 5 /* issuer */
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 2836
            aload 2 /* chain */
            aload 1 /* certToVerify */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         4: .line 2837
            iconst_1
            ireturn
         5: .line 2841
      StackMap locals: java.security.Principal java.security.Principal
      StackMap stack:
            aload 3 /* certs */
            aload 5 /* issuer */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Vector
            astore 6 /* vec */
        start local 6 // java.util.Vector vec
         6: .line 2842
            aload 6 /* vec */
            ifnonnull 8
         7: .line 2843
            iconst_0
            ireturn
         8: .line 2849
      StackMap locals: java.util.Vector
      StackMap stack:
            aload 6 /* vec */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 7 /* issuerCerts */
        start local 7 // java.util.Enumeration issuerCerts
         9: .line 2850
            goto 20
        10: .line 2852
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 7 /* issuerCerts */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
        11: .line 2851
            astore 8 /* issuerCert */
        start local 8 // java.security.cert.X509Certificate issuerCert
        12: .line 2853
            aload 8 /* issuerCert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 9 /* issuerPubKey */
        start local 9 // java.security.PublicKey issuerPubKey
        13: .line 2855
            aload 1 /* certToVerify */
            aload 9 /* issuerPubKey */
            invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
        14: .line 2856
            goto 17
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.util.Vector java.util.Hashtable java.security.Principal java.security.Principal java.util.Vector java.util.Enumeration java.security.cert.X509Certificate java.security.PublicKey
      StackMap stack: java.lang.Exception
        15: pop
        16: .line 2857
            goto 20
        17: .line 2859
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* issuerCert */
            aload 2 /* chain */
            aload 3 /* certs */
            invokevirtual sun.security.tools.keytool.Main.buildChain:(Ljava/security/cert/X509Certificate;Ljava/util/Vector;Ljava/util/Hashtable;)Z
            ifeq 20
        18: .line 2860
            aload 2 /* chain */
            aload 1 /* certToVerify */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        19: .line 2861
            iconst_1
            ireturn
        end local 9 // java.security.PublicKey issuerPubKey
        end local 8 // java.security.cert.X509Certificate issuerCert
        20: .line 2850
      StackMap locals:
      StackMap stack:
            aload 7 /* issuerCerts */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 10
        end local 7 // java.util.Enumeration issuerCerts
        21: .line 2864
            iconst_0
            ireturn
        end local 6 // java.util.Vector vec
        end local 5 // java.security.Principal issuer
        end local 4 // java.security.Principal subject
        end local 3 // java.util.Hashtable certs
        end local 2 // java.util.Vector chain
        end local 1 // java.security.cert.X509Certificate certToVerify
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Lsun/security/tools/keytool/Main;
            0   22     1  certToVerify  Ljava/security/cert/X509Certificate;
            0   22     2         chain  Ljava/util/Vector<Ljava/security/cert/Certificate;>;
            0   22     3         certs  Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;
            1   22     4       subject  Ljava/security/Principal;
            2   22     5        issuer  Ljava/security/Principal;
            6   22     6           vec  Ljava/util/Vector<Ljava/security/cert/Certificate;>;
            9   21     7   issuerCerts  Ljava/util/Enumeration<Ljava/security/cert/Certificate;>;
           12   20     8    issuerCert  Ljava/security/cert/X509Certificate;
           13   20     9  issuerPubKey  Ljava/security/PublicKey;
      Exception table:
        from    to  target  type
          13    14      15  Class java.lang.Exception
    Signature: (Ljava/security/cert/X509Certificate;Ljava/util/Vector<Ljava/security/cert/Certificate;>;Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;)Z
    MethodParameters:
              Name  Flags
      certToVerify  
      chain         
      certs         

  private java.lang.String getYesNoReply(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String prompt
         0: .line 2875
            aconst_null
            astore 2 /* reply */
        start local 2 // java.lang.String reply
         1: .line 2876
            bipush 20
            istore 3 /* maxRetry */
        start local 3 // int maxRetry
         2: .line 2878
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 3 /* maxRetry */
            iinc 3 /* maxRetry */ -1
            ifge 6
         3: .line 2879
            new java.lang.RuntimeException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 2880
            ldc "Too.many.retries.program.terminated"
         5: .line 2879
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 2882
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* prompt */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         7: .line 2883
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         8: .line 2884
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         9: .line 2885
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
        10: .line 2884
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        11: .line 2885
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
        12: .line 2884
            astore 2 /* reply */
        13: .line 2886
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            ldc ""
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 16
        14: .line 2887
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "n"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 16
        15: .line 2888
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "no"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 18
        16: .line 2889
      StackMap locals:
      StackMap stack:
            ldc "NO"
            astore 2 /* reply */
        17: .line 2890
            goto 24
      StackMap locals:
      StackMap stack:
        18: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "y"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 20
        19: .line 2891
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "yes"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 22
        20: .line 2892
      StackMap locals:
      StackMap stack:
            ldc "YES"
            astore 2 /* reply */
        21: .line 2893
            goto 24
        22: .line 2894
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Wrong.answer.try.again"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        23: .line 2895
            aconst_null
            astore 2 /* reply */
        24: .line 2897
      StackMap locals:
      StackMap stack:
            aload 2 /* reply */
            ifnull 2
        25: .line 2898
            aload 2 /* reply */
            areturn
        end local 3 // int maxRetry
        end local 2 // java.lang.String reply
        end local 1 // java.lang.String prompt
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lsun/security/tools/keytool/Main;
            0   26     1    prompt  Ljava/lang/String;
            1   26     2     reply  Ljava/lang/String;
            2   26     3  maxRetry  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      prompt  

  private void keystorecerts2Hashtable(java.security.KeyStore, java.util.Hashtable<java.security.Principal, java.util.Vector<java.security.cert.Certificate>>);
    descriptor: (Ljava/security/KeyStore;Ljava/util/Hashtable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.KeyStore ks
        start local 2 // java.util.Hashtable hash
         0: .line 2910
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 3 /* aliases */
        start local 3 // java.util.Enumeration aliases
         1: .line 2911
            goto 14
         2: .line 2912
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 3 /* aliases */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* alias */
        start local 4 // java.lang.String alias
         3: .line 2913
            aload 1 /* ks */
            aload 4 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 5 /* cert */
        start local 5 // java.security.cert.Certificate cert
         4: .line 2914
            aload 5 /* cert */
            ifnull 14
         5: .line 2915
            aload 5 /* cert */
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            astore 6 /* subjectDN */
        start local 6 // java.security.Principal subjectDN
         6: .line 2916
            aload 2 /* hash */
            aload 6 /* subjectDN */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Vector
            astore 7 /* vec */
        start local 7 // java.util.Vector vec
         7: .line 2917
            aload 7 /* vec */
            ifnonnull 11
         8: .line 2918
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 7 /* vec */
         9: .line 2919
            aload 7 /* vec */
            aload 5 /* cert */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        10: .line 2920
            goto 13
        11: .line 2921
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.util.Hashtable java.util.Enumeration java.lang.String java.security.cert.Certificate java.security.Principal java.util.Vector
      StackMap stack:
            aload 7 /* vec */
            aload 5 /* cert */
            invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 2922
            aload 7 /* vec */
            aload 5 /* cert */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        13: .line 2925
      StackMap locals:
      StackMap stack:
            aload 2 /* hash */
            aload 6 /* subjectDN */
            aload 7 /* vec */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.util.Vector vec
        end local 6 // java.security.Principal subjectDN
        end local 5 // java.security.cert.Certificate cert
        end local 4 // java.lang.String alias
        14: .line 2911
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.util.Hashtable java.util.Enumeration
      StackMap stack:
            aload 3 /* aliases */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
        end local 3 // java.util.Enumeration aliases
        15: .line 2928
            return
        end local 2 // java.util.Hashtable hash
        end local 1 // java.security.KeyStore ks
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lsun/security/tools/keytool/Main;
            0   16     1         ks  Ljava/security/KeyStore;
            0   16     2       hash  Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;
            1   15     3    aliases  Ljava/util/Enumeration<Ljava/lang/String;>;
            3   14     4      alias  Ljava/lang/String;
            4   14     5       cert  Ljava/security/cert/Certificate;
            6   14     6  subjectDN  Ljava/security/Principal;
            7   14     7        vec  Ljava/util/Vector<Ljava/security/cert/Certificate;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/security/KeyStore;Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;)V
    MethodParameters:
      Name  Flags
      ks    
      hash  

  private static java.util.Date getStartDate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Date;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // java.lang.String s
         0: .line 2935
            new java.util.GregorianCalendar
            dup
            invokespecial java.util.GregorianCalendar.<init>:()V
            astore 1 /* c */
        start local 1 // java.util.Calendar c
         1: .line 2936
            aload 0 /* s */
            ifnull 68
         2: .line 2937
            new java.io.IOException
            dup
         3: .line 2938
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Illegal.startdate.value"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         4: .line 2937
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         5: .line 2939
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         6: .line 2940
            iload 3 /* len */
            ifne 8
         7: .line 2941
            aload 2 /* ioe */
            athrow
         8: .line 2943
      StackMap locals: java.util.Calendar java.io.IOException int
      StackMap stack:
            aload 0 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpeq 9
            aload 0 /* s */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 43
            if_icmpne 38
         9: .line 2945
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* start */
        start local 4 // int start
        10: .line 2946
            goto 36
        11: .line 2947
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* sign */
        start local 5 // int sign
        12: .line 2948
            aload 0 /* s */
            iload 4 /* start */
            invokevirtual java.lang.String.charAt:(I)C
            tableswitch { // 43 - 45
                   43: 13
                   44: 15
                   45: 14
              default: 15
          }
        13: .line 2949
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 5 /* sign */
            goto 16
        14: .line 2950
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 5 /* sign */
            goto 16
        15: .line 2951
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        16: .line 2953
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            iconst_1
            iadd
            istore 6 /* i */
        start local 6 // int i
        17: .line 2954
            goto 21
        18: .line 2955
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 7 /* ch */
        start local 7 // char ch
        19: .line 2956
            iload 7 /* ch */
            bipush 48
            if_icmplt 22
            iload 7 /* ch */
            bipush 57
            if_icmple 20
            goto 22
        end local 7 // char ch
        20: .line 2954
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 3 /* len */
            if_icmplt 18
        22: .line 2958
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 4 /* start */
            iconst_1
            iadd
            if_icmpne 23
            aload 2 /* ioe */
            athrow
        23: .line 2959
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 4 /* start */
            iconst_1
            iadd
            iload 6 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 7 /* number */
        start local 7 // int number
        24: .line 2960
            iload 6 /* i */
            iload 3 /* len */
            if_icmplt 25
            aload 2 /* ioe */
            athrow
        25: .line 2961
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 8 /* unit */
        start local 8 // int unit
        26: .line 2962
            aload 0 /* s */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 6
                   72: 30
                   77: 31
                   83: 32
                  100: 29
                  109: 28
                  121: 27
              default: 33
          }
        27: .line 2963
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 8 /* unit */
            goto 34
        28: .line 2964
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 8 /* unit */
            goto 34
        29: .line 2965
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 8 /* unit */
            goto 34
        30: .line 2966
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 8 /* unit */
            goto 34
        31: .line 2967
      StackMap locals:
      StackMap stack:
            bipush 12
            istore 8 /* unit */
            goto 34
        32: .line 2968
      StackMap locals:
      StackMap stack:
            bipush 13
            istore 8 /* unit */
            goto 34
        33: .line 2969
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        34: .line 2971
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            iload 8 /* unit */
            iload 5 /* sign */
            iload 7 /* number */
            imul
            invokevirtual java.util.Calendar.add:(II)V
        35: .line 2972
            iload 6 /* i */
            iconst_1
            iadd
            istore 4 /* start */
        end local 8 // int unit
        end local 7 // int number
        end local 6 // int i
        end local 5 // int sign
        36: .line 2946
      StackMap locals: java.lang.String java.util.Calendar java.io.IOException int int
      StackMap stack:
            iload 4 /* start */
            iload 3 /* len */
            if_icmplt 11
        end local 4 // int start
        37: .line 2974
            goto 68
        38: .line 2976
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* date */
        start local 4 // java.lang.String date
        39: aconst_null
            astore 5 /* time */
        start local 5 // java.lang.String time
        40: .line 2977
            iload 3 /* len */
            bipush 19
            if_icmpne 45
        41: .line 2978
            aload 0 /* s */
            iconst_0
            bipush 10
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* date */
        42: .line 2979
            aload 0 /* s */
            bipush 11
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* time */
        43: .line 2980
            aload 0 /* s */
            bipush 10
            invokevirtual java.lang.String.charAt:(I)C
            bipush 32
            if_icmpeq 52
        44: .line 2981
            aload 2 /* ioe */
            athrow
        45: .line 2982
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 3 /* len */
            bipush 10
            if_icmpne 48
        46: .line 2983
            aload 0 /* s */
            astore 4 /* date */
        47: .line 2984
            goto 52
      StackMap locals:
      StackMap stack:
        48: iload 3 /* len */
            bipush 8
            if_icmpne 51
        49: .line 2985
            aload 0 /* s */
            astore 5 /* time */
        50: .line 2986
            goto 52
        51: .line 2987
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        52: .line 2989
      StackMap locals:
      StackMap stack:
            aload 4 /* date */
            ifnull 60
        53: .line 2990
            aload 4 /* date */
            ldc "\\d\\d\\d\\d\\/\\d\\d\\/\\d\\d"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifeq 59
        54: .line 2991
            aload 1 /* c */
            aload 4 /* date */
            iconst_0
            iconst_4
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        55: .line 2992
            aload 4 /* date */
            iconst_5
            bipush 7
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            isub
        56: .line 2993
            aload 4 /* date */
            bipush 8
            bipush 10
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        57: .line 2991
            invokevirtual java.util.Calendar.set:(III)V
        58: .line 2994
            goto 60
        59: .line 2995
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        60: .line 2998
      StackMap locals:
      StackMap stack:
            aload 5 /* time */
            ifnull 68
        61: .line 2999
            aload 5 /* time */
            ldc "\\d\\d:\\d\\d:\\d\\d"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifeq 67
        62: .line 3000
            aload 1 /* c */
            bipush 11
            aload 5 /* time */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.util.Calendar.set:(II)V
        63: .line 3001
            aload 1 /* c */
            bipush 12
            aload 5 /* time */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.util.Calendar.set:(II)V
        64: .line 3002
            aload 1 /* c */
            bipush 13
            aload 5 /* time */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.util.Calendar.set:(II)V
        65: .line 3003
            aload 1 /* c */
            bipush 14
            iconst_0
            invokevirtual java.util.Calendar.set:(II)V
        66: .line 3004
            goto 68
        67: .line 3005
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        end local 5 // java.lang.String time
        end local 4 // java.lang.String date
        end local 3 // int len
        end local 2 // java.io.IOException ioe
        68: .line 3010
      StackMap locals: java.lang.String java.util.Calendar
      StackMap stack:
            aload 1 /* c */
            invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
            areturn
        end local 1 // java.util.Calendar c
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   69     0       s  Ljava/lang/String;
            1   69     1       c  Ljava/util/Calendar;
            5   68     2     ioe  Ljava/io/IOException;
            6   68     3     len  I
           10   37     4   start  I
           12   36     5    sign  I
           17   36     6       i  I
           19   20     7      ch  C
           24   36     7  number  I
           26   36     8    unit  I
           39   68     4    date  Ljava/lang/String;
           40   68     5    time  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      s     

  private void usage();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 3017
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnull 34
         1: .line 3018
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "keytool "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 3019
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".OPTION."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 3018
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 3020
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         5: .line 3021
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getfield sun.security.tools.keytool.Main$Command.description:Ljava/lang/String;
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 3022
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         7: .line 3023
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Options."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 3024
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         9: .line 3027
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getfield sun.security.tools.keytool.Main$Command.options:[Lsun/security/tools/keytool/Main$Option;
            arraylength
            anewarray java.lang.String
            astore 1 /* left */
        start local 1 // java.lang.String[] left
        10: .line 3028
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getfield sun.security.tools.keytool.Main$Command.options:[Lsun/security/tools/keytool/Main$Option;
            arraylength
            anewarray java.lang.String
            astore 2 /* right */
        start local 2 // java.lang.String[] right
        11: .line 3034
            iconst_0
            istore 3 /* lenLeft */
        start local 3 // int lenLeft
        12: .line 3035
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        13: goto 21
        14: .line 3036
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.lang.String[] int int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getfield sun.security.tools.keytool.Main$Command.options:[Lsun/security/tools/keytool/Main$Option;
            iload 4 /* j */
            aaload
            astore 5 /* opt */
        start local 5 // sun.security.tools.keytool.Main$Option opt
        15: .line 3037
            aload 1 /* left */
            iload 4 /* j */
            aload 5 /* opt */
            invokevirtual sun.security.tools.keytool.Main$Option.toString:()Ljava/lang/String;
            aastore
        16: .line 3038
            aload 5 /* opt */
            getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
            ifnull 17
            aload 1 /* left */
            iload 4 /* j */
            dup2
            aaload
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* opt */
            getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        17: .line 3039
      StackMap locals: sun.security.tools.keytool.Main$Option
      StackMap stack:
            aload 1 /* left */
            iload 4 /* j */
            aaload
            invokevirtual java.lang.String.length:()I
            iload 3 /* lenLeft */
            if_icmple 19
        18: .line 3040
            aload 1 /* left */
            iload 4 /* j */
            aaload
            invokevirtual java.lang.String.length:()I
            istore 3 /* lenLeft */
        19: .line 3042
      StackMap locals:
      StackMap stack:
            aload 2 /* right */
            iload 4 /* j */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            aload 5 /* opt */
            getfield sun.security.tools.keytool.Main$Option.description:Ljava/lang/String;
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        end local 5 // sun.security.tools.keytool.Main$Option opt
        20: .line 3035
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* j */
            aload 1 /* left */
            arraylength
            if_icmplt 14
        end local 4 // int j
        22: .line 3044
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        23: goto 28
        24: .line 3045
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc " %-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* lenLeft */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s  %s\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        25: .line 3046
            aload 1 /* left */
            iload 4 /* j */
            aaload
            aastore
            dup
            iconst_1
            aload 2 /* right */
            iload 4 /* j */
            aaload
            aastore
        26: .line 3045
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        27: .line 3044
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        28: iload 4 /* j */
            aload 1 /* left */
            arraylength
            if_icmplt 24
        end local 4 // int j
        29: .line 3048
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        30: .line 3049
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        31: .line 3050
            ldc "Use.keytool.help.for.all.available.commands"
        32: .line 3049
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // int lenLeft
        end local 2 // java.lang.String[] right
        end local 1 // java.lang.String[] left
        33: .line 3051
            goto 52
        34: .line 3052
      StackMap locals: sun.security.tools.keytool.Main
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        35: .line 3053
            ldc "Key.and.Certificate.Management.Tool"
        36: .line 3052
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        37: .line 3054
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        38: .line 3055
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Commands."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 3056
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        40: .line 3057
            invokestatic sun.security.tools.keytool.Main$Command.values:()[Lsun/security/tools/keytool/Main$Command;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 47
      StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
        41: aload 4
            iload 2
            aaload
            astore 1 /* c */
        start local 1 // sun.security.tools.keytool.Main$Command c
        42: .line 3058
            aload 1 /* c */
            getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 46
        43: .line 3059
            aload 1 /* c */
            getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 46
        44: .line 3060
            aload 1 /* c */
            getstatic sun.security.tools.keytool.Main$Command.SELFCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 46
        45: .line 3061
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc " %-20s%s\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* c */
            aastore
            dup
            iconst_1
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            aload 1 /* c */
            getfield sun.security.tools.keytool.Main$Command.description:Ljava/lang/String;
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 1 // sun.security.tools.keytool.Main$Command c
        46: .line 3057
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        47: iload 2
            iload 3
            if_icmplt 41
        48: .line 3064
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        49: .line 3065
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        50: .line 3066
            ldc "Use.keytool.command.name.help.for.usage.of.command.name"
        51: .line 3065
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        52: .line 3068
      StackMap locals: sun.security.tools.keytool.Main
      StackMap stack:
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   53     0     this  Lsun/security/tools/keytool/Main;
           10   33     1     left  [Ljava/lang/String;
           11   33     2    right  [Ljava/lang/String;
           12   33     3  lenLeft  I
           13   22     4        j  I
           15   20     5      opt  Lsun/security/tools/keytool/Main$Option;
           23   29     4        j  I
           42   46     1        c  Lsun/security/tools/keytool/Main$Command;

  private void tinyHelp();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 3071
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
         1: .line 3072
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 3
         2: .line 3073
            new java.lang.RuntimeException
            dup
            ldc "NO BIG ERROR, SORRY"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 3075
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         4: .line 3077
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/tools/keytool/Main;

  private void errorNeedArgument(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String flag
         0: .line 3080
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* flag */
            aastore
            astore 2 /* source */
        start local 2 // java.lang.Object[] source
         1: .line 3081
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.text.MessageFormat
            dup
         2: .line 3082
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Command.option.flag.needs.an.argument."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            aload 2 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
         3: .line 3081
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 3083
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
         5: .line 3084
            return
        end local 2 // java.lang.Object[] source
        end local 1 // java.lang.String flag
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/security/tools/keytool/Main;
            0    6     1    flag  Ljava/lang/String;
            1    6     2  source  [Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      flag  
}
SourceFile: "Main.java"
NestMembers:
  sun.security.tools.keytool.Main$Command  sun.security.tools.keytool.Main$Option
InnerClasses:
  public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
  public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
  public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
  public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
  public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
  public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore
  final Command = sun.security.tools.keytool.Main$Command of sun.security.tools.keytool.Main
  final Option = sun.security.tools.keytool.Main$Option of sun.security.tools.keytool.Main