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 infilename;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String outfilename;
    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[] 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.lang.String sslserver;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String jarfile;
    descriptor: Ljava/lang/String;
    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 nowarn;
    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 java.util.List<java.lang.String> ids;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

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

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

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

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

  private static final sun.security.util.DisabledAlgorithmConstraints DISABLED_CHECK;
    descriptor: Lsun/security/util/DisabledAlgorithmConstraints;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Set<java.security.CryptoPrimitive> SIG_PRIMITIVE_SET;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/security/CryptoPrimitive;>;

  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 static final java.lang.String keyAlias;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, 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

  private static final java.lang.String[] extSupported;
    descriptor: [Ljava/lang/String;
    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 177
            new sun.security.util.DisabledAlgorithmConstraints
            dup
         1: .line 178
            ldc "jdk.certpath.disabledAlgorithms"
         2: .line 177
            invokespecial sun.security.util.DisabledAlgorithmConstraints.<init>:(Ljava/lang/String;)V
         3: .line 176
            putstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
         4: .line 181
            getstatic java.security.CryptoPrimitive.SIGNATURE:Ljava/security/CryptoPrimitive;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
         5: .line 180
            putstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
         6: .line 332
            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;
         7: .line 342
            ldc "sun.security.tools.keytool.Resources"
         8: .line 341
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
         9: .line 340
            putstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        10: .line 343
            invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
            putstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
        11: .line 346
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            iconst_0
            invokevirtual java.text.Collator.setStrength:(I)V
        12: .line 3829
            bipush 9
            anewarray java.lang.String
            dup
            iconst_0
        13: .line 3830
            ldc "BasicConstraints"
            aastore
            dup
            iconst_1
        14: .line 3831
            ldc "KeyUsage"
            aastore
            dup
            iconst_2
        15: .line 3832
            ldc "ExtendedKeyUsage"
            aastore
            dup
            iconst_3
        16: .line 3833
            ldc "SubjectAlternativeName"
            aastore
            dup
            iconst_4
        17: .line 3834
            ldc "IssuerAlternativeName"
            aastore
            dup
            iconst_5
        18: .line 3835
            ldc "SubjectInfoAccess"
            aastore
            dup
            bipush 6
        19: .line 3836
            ldc "AuthorityInfoAccess"
            aastore
            dup
            bipush 8
        20: .line 3838
            ldc "CRLDistributionPoints"
            aastore
        21: .line 3829
            putstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
        22: .line 3839
            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 349
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 110
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.debug:Z
         2: .line 111
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
         3: .line 112
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
         4: .line 113
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
         5: .line 114
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.verbose:Z
         6: .line 115
            aload 0 /* this */
            iconst_m1
            putfield sun.security.tools.keytool.Main.keysize:I
         7: .line 116
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.rfc:Z
         8: .line 117
            aload 0 /* this */
            ldc 90
            putfield sun.security.tools.keytool.Main.validity:J
         9: .line 118
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
        10: .line 119
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
        11: .line 120
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
        12: .line 121
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
        13: .line 122
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
        14: .line 123
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
        15: .line 124
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
        16: .line 132
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
        17: .line 133
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
        18: .line 134
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
        19: .line 135
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
        20: .line 136
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
        21: .line 137
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
        22: .line 138
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePassNew:[C
        23: .line 139
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyPass:[C
        24: .line 140
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
        25: .line 141
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.newPass:[C
        26: .line 142
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.destKeyPass:[C
        27: .line 143
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        28: .line 144
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        29: .line 145
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
        30: .line 146
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
        31: .line 147
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
        32: .line 148
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
        33: .line 149
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
        34: .line 150
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.token:Z
        35: .line 151
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.nullStream:Z
        36: .line 152
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.kssave:Z
        37: .line 153
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.noprompt:Z
        38: .line 154
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
        39: .line 155
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.nowarn:Z
        40: .line 156
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.protectedPath:Z
        41: .line 157
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
        42: .line 158
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
        43: .line 159
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
        44: .line 160
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcstorePass:[C
        45: .line 161
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
        46: .line 162
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
        47: .line 163
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
        48: .line 165
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
        49: .line 166
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        50: .line 170
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.inplaceImport:Z
        51: .line 171
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
        52: .line 174
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
        53: .line 349
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   54     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 352
            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 353
            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 354
            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 358
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual sun.security.tools.keytool.Main.parseArgs:([Ljava/lang/String;)V
         1: .line 359
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnull 32
         2: .line 360
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.doCommands:(Ljava/io/PrintStream;)V
         3: .line 362
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 3 /* e */
        start local 3 // java.lang.Exception e
         5: .line 363
            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 364
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 8
         7: .line 365
            aload 3 /* e */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
         8: .line 367
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifne 11
         9: .line 368
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        10: .line 369
            goto 12
        11: .line 370
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // java.lang.Exception e
        12: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        13: .line 374
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 18
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top top top java.util.Iterator
      StackMap stack:
        14: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast char[]
            astore 5 /* pass */
        start local 5 // char[] pass
        15: .line 375
            aload 5 /* pass */
            ifnull 18
        16: .line 376
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        17: .line 377
            aconst_null
            astore 5
        end local 5 // char[] pass
        18: .line 374
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        19: .line 381
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 41
        20: .line 382
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
            goto 41
        21: .line 372
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
      StackMap stack: java.lang.Throwable
            astore 4
        22: .line 373
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        23: .line 374
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 28
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable top java.util.Iterator
      StackMap stack:
        24: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast char[]
            astore 5 /* pass */
        start local 5 // char[] pass
        25: .line 375
            aload 5 /* pass */
            ifnull 28
        26: .line 376
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        27: .line 377
            aconst_null
            astore 5
        end local 5 // char[] pass
        28: .line 374
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        29: .line 381
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 31
        30: .line 382
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        31: .line 384
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        32: .line 373
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        33: .line 374
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 38
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top top top java.util.Iterator
      StackMap stack:
        34: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast char[]
            astore 5 /* pass */
        start local 5 // char[] pass
        35: .line 375
            aload 5 /* pass */
            ifnull 38
        36: .line 376
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        37: .line 377
            aconst_null
            astore 5
        end local 5 // char[] pass
        38: .line 374
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        39: .line 381
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 41
        40: .line 382
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        41: .line 385
      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   42     0  this  Lsun/security/tools/keytool/Main;
            0   42     1  args  [Ljava/lang/String;
            0   42     2   out  Ljava/io/PrintStream;
            5   12     3     e  Ljava/lang/Exception;
           15   18     5  pass  [C
           25   28     5  pass  [C
           35   38     5  pass  [C
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
           0    12      21  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=12, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String[] args
         0: .line 392
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 393
            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 395
            iconst_0
            istore 2 /* i */
            goto 181
         5: .line 397
      StackMap locals: int
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            aaload
            astore 4 /* flags */
        start local 4 // java.lang.String flags
         6: .line 400
            iload 2 /* i */
            aload 1 /* args */
            arraylength
            iconst_1
            isub
            if_icmpne 14
         7: .line 401
            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 403
            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 404
            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 405
            goto 14
        end local 5 // sun.security.tools.keytool.Main$Option option
        12: .line 401
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        13: iload 6
            iload 7
            if_icmplt 8
        14: .line 413
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String
      StackMap stack:
            aconst_null
            astore 5 /* modifier */
        start local 5 // java.lang.String modifier
        15: .line 414
            aload 4 /* flags */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* pos */
        start local 6 // int pos
        16: .line 415
            iload 6 /* pos */
            ifle 19
        17: .line 416
            aload 4 /* flags */
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* modifier */
        18: .line 417
            aload 4 /* flags */
            iconst_0
            iload 6 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* flags */
        19: .line 422
      StackMap locals: java.lang.String int
      StackMap stack:
            iconst_0
            istore 7 /* isCommand */
        start local 7 // boolean isCommand
        20: .line 423
            invokestatic sun.security.tools.keytool.Main$Command.values:()[Lsun/security/tools/keytool/Main$Command;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 27
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.lang.String int int top int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
        21: aload 11
            iload 9
            aaload
            astore 8 /* c */
        start local 8 // sun.security.tools.keytool.Main$Command c
        22: .line 424
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            aload 8 /* 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 26
        23: .line 425
            aload 0 /* this */
            aload 8 /* c */
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        24: .line 426
            iconst_1
            istore 7 /* isCommand */
        25: .line 427
            goto 28
        end local 8 // sun.security.tools.keytool.Main$Command c
        26: .line 423
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        27: iload 9
            iload 10
            if_icmplt 21
        28: .line 431
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.lang.String int int
      StackMap stack:
            iload 7 /* isCommand */
            ifne 180
        29: .line 433
            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 32
        30: .line 434
            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;
        31: .line 435
            goto 180
      StackMap locals:
      StackMap stack:
        32: 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 35
        33: .line 436
            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;
        34: .line 437
            goto 180
      StackMap locals:
      StackMap stack:
        35: 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 38
        36: .line 438
            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;
        37: .line 439
            goto 180
      StackMap locals:
      StackMap stack:
        38: 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 41
        39: .line 440
            iconst_1
            istore 3 /* help */
        40: .line 441
            goto 180
      StackMap locals:
      StackMap stack:
        41: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-nowarn"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 44
        42: .line 442
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.nowarn:Z
        43: .line 443
            goto 180
        44: .line 448
      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 46
        45: .line 449
            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 48
        46: .line 450
      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;
        47: .line 451
            goto 180
      StackMap locals:
      StackMap stack:
        48: 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 50
        49: .line 452
            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 53
        50: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.storePass:[C
        51: .line 454
            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
        52: .line 455
            goto 180
      StackMap locals:
      StackMap stack:
        53: 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 55
        54: .line 456
            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 57
        55: .line 457
      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;
        56: .line 458
            goto 180
      StackMap locals:
      StackMap stack:
        57: 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 61
        58: .line 459
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.srcstorePass:[C
        59: .line 460
            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
        60: .line 461
            goto 180
      StackMap locals:
      StackMap stack:
        61: 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 64
        62: .line 462
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
        63: .line 463
            goto 180
      StackMap locals:
      StackMap stack:
        64: 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 68
        65: .line 464
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        66: .line 465
            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
        67: .line 466
            goto 180
      StackMap locals:
      StackMap stack:
        68: 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 71
        69: .line 467
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
        70: .line 468
            goto 180
      StackMap locals:
      StackMap stack:
        71: 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 73
        72: .line 469
            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 75
        73: .line 470
      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;
        74: .line 471
            goto 180
      StackMap locals:
      StackMap stack:
        75: 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 78
        76: .line 472
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
        77: .line 473
            goto 180
      StackMap locals:
      StackMap stack:
        78: 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 82
        79: .line 474
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.keyPass:[C
        80: .line 475
            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
        81: .line 476
            goto 180
      StackMap locals:
      StackMap stack:
        82: 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 86
        83: .line 477
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.newPass:[C
        84: .line 478
            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
        85: .line 479
            goto 180
      StackMap locals:
      StackMap stack:
        86: 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 90
        87: .line 480
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.destKeyPass:[C
        88: .line 481
            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
        89: .line 482
            goto 180
      StackMap locals:
      StackMap stack:
        90: 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 92
        91: .line 483
            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 94
        92: .line 484
      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;
        93: .line 485
            goto 180
      StackMap locals:
      StackMap stack:
        94: 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 96
        95: .line 486
            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 98
        96: .line 487
      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;
        97: .line 488
            goto 180
      StackMap locals:
      StackMap stack:
        98: 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 101
        99: .line 489
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
       100: .line 490
            goto 180
      StackMap locals:
      StackMap stack:
       101: 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 104
       102: .line 491
            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
       103: .line 492
            goto 180
      StackMap locals:
      StackMap stack:
       104: 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 107
       105: .line 493
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       106: .line 494
            goto 180
      StackMap locals:
      StackMap stack:
       107: 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 110
       108: .line 495
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
       109: .line 496
            goto 180
      StackMap locals:
      StackMap stack:
       110: 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 113
       111: .line 497
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
       112: .line 498
            goto 180
      StackMap locals:
      StackMap stack:
       113: 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 116
       114: .line 499
            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
       115: .line 500
            goto 180
      StackMap locals:
      StackMap stack:
       116: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-ext"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 119
       117: .line 501
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       118: .line 502
            goto 180
      StackMap locals:
      StackMap stack:
       119: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-id"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 122
       120: .line 503
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       121: .line 504
            goto 180
      StackMap locals:
      StackMap stack:
       122: 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 125
       123: .line 505
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
       124: .line 506
            goto 180
      StackMap locals:
      StackMap stack:
       125: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-infile"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 128
       126: .line 507
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
       127: .line 508
            goto 180
      StackMap locals:
      StackMap stack:
       128: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-outfile"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 131
       129: .line 509
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
       130: .line 510
            goto 180
      StackMap locals:
      StackMap stack:
       131: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-sslserver"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 134
       132: .line 511
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
       133: .line 512
            goto 180
      StackMap locals:
      StackMap stack:
       134: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-jarfile"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 137
       135: .line 513
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
       136: .line 514
            goto 180
      StackMap locals:
      StackMap stack:
       137: 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 140
       138: .line 515
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
       139: .line 516
            goto 180
      StackMap locals:
      StackMap stack:
       140: 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 142
       141: .line 517
            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 156
       142: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            ifnonnull 144
       143: .line 519
            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;
       144: .line 521
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            astore 8 /* providerClass */
        start local 8 // java.lang.String providerClass
       145: .line 522
            aconst_null
            astore 9 /* providerArg */
        start local 9 // java.lang.String providerArg
       146: .line 524
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_1
            iadd
            if_icmple 152
       147: .line 525
            aload 1 /* args */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            astore 4 /* flags */
       148: .line 526
            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 152
       149: .line 527
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_2
            iadd
            if_icmpne 150
            aload 0 /* this */
            aload 4 /* flags */
            invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
       150: .line 528
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            iconst_2
            iadd
            aaload
            astore 9 /* providerArg */
       151: .line 529
            iinc 2 /* i */ 2
       152: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
       153: .line 533
            aload 8 /* providerClass */
            aload 9 /* providerArg */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
       154: .line 532
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.String providerArg
        end local 8 // java.lang.String providerClass
       155: .line 534
            goto 180
       156: .line 539
      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 159
       157: .line 540
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.verbose:Z
       158: .line 541
            goto 180
      StackMap locals:
      StackMap stack:
       159: 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 162
       160: .line 542
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.debug:Z
       161: .line 543
            goto 180
      StackMap locals:
      StackMap stack:
       162: 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 165
       163: .line 544
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.rfc:Z
       164: .line 545
            goto 180
      StackMap locals:
      StackMap stack:
       165: 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 168
       166: .line 546
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.noprompt:Z
       167: .line 547
            goto 180
      StackMap locals:
      StackMap stack:
       168: 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 171
       169: .line 548
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
       170: .line 549
            goto 180
      StackMap locals:
      StackMap stack:
       171: 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 173
       172: .line 550
            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 175
       173: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.protectedPath:Z
       174: .line 552
            goto 180
      StackMap locals:
      StackMap stack:
       175: 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 178
       176: .line 553
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
       177: .line 554
            goto 180
       178: .line 555
      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
       179: .line 556
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        end local 7 // boolean isCommand
        end local 6 // int pos
        end local 5 // java.lang.String modifier
        end local 4 // java.lang.String flags
       180: .line 395
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
       181: iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmpge 182
            aload 1 /* args */
            iload 2 /* i */
            aaload
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
       182: .line 560
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmpge 185
       183: .line 561
            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
       184: .line 562
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       185: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnonnull 192
       186: .line 566
            iload 3 /* help */
            ifeq 189
       187: .line 567
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
       188: .line 568
            goto 195
       189: .line 569
      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
       190: .line 570
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       191: .line 572
            goto 195
      StackMap locals:
      StackMap stack:
       192: iload 3 /* help */
            ifeq 195
       193: .line 573
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
       194: .line 574
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
       195: .line 576
      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  196     0           this  Lsun/security/tools/keytool/Main;
            0  196     1           args  [Ljava/lang/String;
            1  196     2              i  I
            4  196     3           help  Z
            6  180     4          flags  Ljava/lang/String;
            9   12     5         option  Lsun/security/tools/keytool/Main$Option;
           15  180     5       modifier  Ljava/lang/String;
           16  180     6            pos  I
           20  180     7      isCommand  Z
           22   26     8              c  Lsun/security/tools/keytool/Main$Command;
          145  155     8  providerClass  Ljava/lang/String;
          146  155     9    providerArg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  boolean isKeyStoreRelated(sun.security.tools.keytool.Main$Command);
    descriptor: (Lsun/security/tools/keytool/Main$Command;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // sun.security.tools.keytool.Main$Command cmd
         0: .line 579
            aload 1 /* cmd */
            getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 1
            aload 1 /* cmd */
            getstatic sun.security.tools.keytool.Main$Command.PRINTCERTREQ:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // sun.security.tools.keytool.Main$Command cmd
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/tools/keytool/Main;
            0    2     1   cmd  Lsun/security/tools/keytool/Main$Command;
    MethodParameters:
      Name  Flags
      cmd   

  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 587
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            ifnonnull 2
         1: .line 588
            aload 0 /* this */
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
         2: .line 590
      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 592
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            ifnonnull 5
         4: .line 593
            aload 0 /* this */
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
         5: .line 595
      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 597
            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 598
            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 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.token:Z
         9: .line 600
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnonnull 11
        10: .line 601
            aload 0 /* this */
            ldc "NONE"
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        11: .line 604
      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 605
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.nullStream:Z
        13: .line 608
      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 609
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 610
            ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
        16: .line 609
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 610
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        18: .line 609
            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 611
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        20: .line 612
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        21: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 28
        22: .line 616
            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 617
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        24: .line 618
            ldc ".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}"
        25: .line 617
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 618
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        27: .line 617
            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 621
      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 622
            new java.lang.UnsupportedOperationException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        30: .line 623
            ldc ".keypasswd.commands.not.supported.if.storetype.is.PKCS12"
        31: .line 622
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 626
      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 627
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        34: .line 628
            ldc ".keypass.and.new.can.not.be.specified.if.storetype.is.{0}"
        35: .line 627
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        36: .line 628
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        37: .line 627
            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 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifeq 44
        39: .line 632
            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 633
            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 634
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        42: .line 635
            ldc "if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified"
        43: .line 634
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
            ifeq 49
        45: .line 640
            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 641
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        47: .line 642
            ldc "if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified"
        48: .line 641
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 646
      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 647
            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 648
            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 649
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        53: .line 650
            ldc "if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified"
        54: .line 649
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        55: .line 654
      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 655
            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 656
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        58: .line 657
            ldc "if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified"
        59: .line 656
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 661
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            lconst_0
            lcmp
            ifgt 64
        61: .line 662
            new java.lang.Exception
            dup
        62: .line 663
            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 662
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        64: .line 667
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            ifnull 98
        65: .line 668
            aconst_null
            astore 2 /* cl */
        start local 2 // java.lang.ClassLoader cl
        66: .line 669
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
            ifnull 76
        67: .line 670
            aconst_null
            astore 3 /* path */
        start local 3 // java.lang.String path
        68: .line 672
            aload 3 /* path */
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        69: .line 671
            invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        70: .line 674
            aload 3 /* path */
            ldc "env.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        71: .line 673
            invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        72: .line 675
            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 677
            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 678
            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 679
            goto 77
        76: .line 680
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* cl */
        77: .line 683
      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 684
            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 686
            aload 2 /* cl */
            ifnull 83
        81: .line 687
            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 688
            goto 84
        end local 6 // java.lang.Class provClass
        83: .line 689
      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 692
      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 694
            aload 7 /* provArg */
            ifnonnull 88
        86: .line 695
            aload 6 /* provClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 8 /* obj */
        start local 8 // java.lang.Object obj
        87: .line 696
            goto 90
        end local 8 // java.lang.Object obj
        88: .line 697
      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 698
            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 700
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* obj */
            instanceof java.security.Provider
            ifne 96
        91: .line 701
            new java.text.MessageFormat
            dup
        92: .line 702
            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 701
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        94: .line 703
            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 704
            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 706
      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 683
      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 710
      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 711
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       100: .line 712
            ldc "Must.not.specify.both.v.and.rfc.with.list.command"
       101: .line 711
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       102: .line 713
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       103: .line 717
      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 718
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       105: .line 719
            ldc "Key.password.must.be.at.least.6.characters"
       106: .line 718
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       107: .line 721
      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 722
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       109: .line 723
            ldc "New.password.must.be.at.least.6.characters"
       110: .line 722
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       111: .line 725
      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 726
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       113: .line 727
            ldc "New.password.must.be.at.least.6.characters"
       114: .line 726
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       115: .line 731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnonnull 119
       116: .line 732
            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;
       117: .line 733
            ldc ".keystore"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       118: .line 732
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
       119: .line 736
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* srcKeyStore */
        start local 2 // java.security.KeyStore srcKeyStore
       120: .line 737
            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 126
       121: .line 738
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.inplaceImportCheck:()Z
            putfield sun.security.tools.keytool.Main.inplaceImport:Z
       122: .line 739
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 126
       123: .line 742
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
            astore 2 /* srcKeyStore */
       124: .line 743
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 126
       125: .line 744
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            putfield sun.security.tools.keytool.Main.storePass:[C
       126: .line 757
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            invokevirtual sun.security.tools.keytool.Main.isKeyStoreRelated:(Lsun/security/tools/keytool/Main$Command;)Z
            ifeq 148
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 148
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifne 148
       127: .line 759
            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;
       128: .line 761
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 134
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual java.io.File.length:()J
            lconst_0
            lcmp
            ifne 134
       129: .line 762
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       130: .line 763
            ldc "Keystore.file.exists.but.is.empty."
       131: .line 762
            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
       132: .line 763
            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;
       133: .line 762
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       134: .line 765
      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;
       135: .line 766
            goto 148
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
       136: pop
       137: .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.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 148
       138: .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.GENSECKEY:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 148
       139: .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.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 148
       140: .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.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 148
       141: .line 771
            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 148
       142: .line 772
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 148
       143: .line 773
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       144: .line 774
            ldc "Keystore.file.does.not.exist."
       145: .line 773
            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
       146: .line 774
            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;
       147: .line 773
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       148: .line 779
      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 149
            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 155
       149: .line 780
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            ifnonnull 155
       150: .line 781
            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;
       151: .line 782
            ldc ""
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 155
       152: .line 783
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       153: .line 784
            ldc "Must.specify.destination.alias"
       154: .line 783
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       155: .line 788
      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 159
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 159
       156: .line 789
            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;
       157: .line 790
            ldc ""
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 159
       158: .line 791
            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
       159: .line 796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            ifnonnull 162
       160: .line 797
            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;
       161: .line 798
            goto 163
       162: .line 799
      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;
       163: .line 822
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 170
       164: .line 823
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 167
       165: .line 824
            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
       166: .line 825
            goto 168
       167: .line 826
      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.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
       168: .line 828
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 170
       169: .line 829
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
       170: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 173
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 173
       171: .line 837
            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
       172: .line 838
            goto 241
      StackMap locals:
      StackMap stack:
       173: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 178
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 178
       174: .line 841
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnonnull 241
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            arraylength
            bipush 6
            if_icmpge 241
       175: .line 842
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       176: .line 843
            ldc "Keystore.password.must.be.at.least.6.characters"
       177: .line 842
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       178: .line 845
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 241
       179: .line 849
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 226
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 226
       180: .line 850
            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 192
       181: .line 851
            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 192
       182: .line 852
            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 192
       183: .line 853
            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 192
       184: .line 854
            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 192
       185: .line 855
            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 192
       186: .line 856
            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 192
       187: .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.CHANGEALIAS:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 192
       188: .line 858
            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 192
       189: .line 859
            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 192
       190: .line 860
            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 192
       191: .line 861
            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 226
       192: .line 862
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* count */
        start local 3 // int count
       193: .line 864
      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 198
       194: .line 865
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       195: .line 866
            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;
       196: .line 865
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       197: .line 867
            goto 201
       198: .line 868
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       199: .line 869
            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;
       200: .line 868
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       201: .line 871
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
       202: .line 872
            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
       203: .line 873
            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
       204: .line 877
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 209
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 205
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            arraylength
            bipush 6
            if_icmpge 209
       205: .line 878
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       206: .line 879
            ldc "Keystore.password.is.too.short.must.be.at.least.6.characters"
       207: .line 878
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       208: .line 880
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
       209: .line 885
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 218
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 218
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnonnull 218
       210: .line 886
            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
       211: .line 887
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 4 /* storePassAgain */
        start local 4 // char[] storePassAgain
       212: .line 888
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 4 /* storePassAgain */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
       213: .line 889
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 4 /* storePassAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 218
       214: .line 890
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       215: .line 891
            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;
       216: .line 890
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       217: .line 892
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
        end local 4 // char[] storePassAgain
       218: .line 896
      StackMap locals:
      StackMap stack:
            iinc 3 /* count */ 1
       219: .line 897
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 221
            iload 3 /* count */
            iconst_3
       220: .line 863
            if_icmplt 193
       221: .line 900
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 234
       222: .line 901
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       223: .line 902
            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;
       224: .line 901
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       225: .line 903
            return
        end local 3 // int count
       226: .line 905
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 234
       227: .line 906
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 234
       228: .line 907
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            invokevirtual sun.security.tools.keytool.Main.isKeyStoreRelated:(Lsun/security/tools/keytool/Main$Command;)Z
            ifeq 234
       229: .line 909
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 234
       230: .line 910
            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
       231: .line 911
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
       232: .line 912
            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
       233: .line 913
            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
       234: .line 919
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 237
       235: .line 920
            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
       236: .line 921
            goto 241
      StackMap locals:
      StackMap stack:
       237: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 241
       238: .line 922
            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;
       239: .line 923
            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
       240: .line 924
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
       241: .line 928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 257
            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 257
       242: .line 929
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       243: .line 930
            ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
       244: .line 929
            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
       245: .line 931
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 249
            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 249
       246: .line 932
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-keypass"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       247: .line 933
            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
       248: .line 934
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            putfield sun.security.tools.keytool.Main.keyPass:[C
        end local 4 // java.lang.Object[] source
       249: .line 936
      StackMap locals: java.text.MessageFormat
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnull 253
            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 253
       250: .line 937
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-new"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       251: .line 938
            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
       252: .line 939
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            putfield sun.security.tools.keytool.Main.newPass:[C
        end local 4 // java.lang.Object[] source
       253: .line 941
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 257
            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 257
       254: .line 942
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-destkeypass"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       255: .line 943
            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
       256: .line 944
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            putfield sun.security.tools.keytool.Main.destKeyPass:[C
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
       257: .line 949
      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 259
            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 259
       258: .line 950
            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 259
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 260
       259: .line 951
      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;
       260: .line 957
      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.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 262
       261: .line 958
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
       262: .line 961
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 264
       263: .line 962
            aload 0 /* this */
            invokestatic sun.security.tools.KeyStoreUtil.getCacertsKeyStore:()Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
       264: .line 966
      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 286
       265: .line 967
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 277
       266: .line 968
            aconst_null
            astore 3
            aconst_null
            astore 4
       267: new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
       268: .line 969
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
       269: .line 968
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* ps */
        start local 5 // java.io.PrintStream ps
       270: .line 970
            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 5 /* ps */
            invokevirtual sun.security.tools.keytool.Main.doCertReq:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
       271: .line 971
            aload 5 /* ps */
            ifnull 278
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
            goto 278
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
      StackMap stack: java.lang.Throwable
       272: astore 3
            aload 5 /* ps */
            ifnull 273
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 5 // java.io.PrintStream ps
      StackMap locals:
      StackMap stack:
       273: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       274: astore 4
            aload 3
            ifnonnull 275
            aload 4
            astore 3
            goto 276
      StackMap locals:
      StackMap stack:
       275: aload 3
            aload 4
            if_acmpeq 276
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       276: aload 3
            athrow
       277: .line 973
      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.sigAlgName:Ljava/lang/String;
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doCertReq:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
       278: .line 975
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 493
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 493
       279: .line 976
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       280: .line 977
            ldc "Certification.request.stored.in.file.filename."
       281: .line 976
            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
       282: .line 978
            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
       283: .line 979
            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
       284: .line 980
            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
       285: .line 982
            goto 493
      StackMap locals:
      StackMap stack:
       286: 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 290
       287: .line 983
            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
       288: .line 984
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       289: .line 985
            goto 493
      StackMap locals:
      StackMap stack:
       290: 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 311
       291: .line 986
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 303
       292: .line 987
            aconst_null
            astore 3
            aconst_null
            astore 4
       293: new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
       294: .line 988
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
       295: .line 987
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* ps */
        start local 5 // java.io.PrintStream ps
       296: .line 989
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 5 /* ps */
            invokevirtual sun.security.tools.keytool.Main.doExportCert:(Ljava/lang/String;Ljava/io/PrintStream;)V
       297: .line 990
            aload 5 /* ps */
            ifnull 304
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
            goto 304
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
      StackMap stack: java.lang.Throwable
       298: astore 3
            aload 5 /* ps */
            ifnull 299
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 5 // java.io.PrintStream ps
      StackMap locals:
      StackMap stack:
       299: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       300: astore 4
            aload 3
            ifnonnull 301
            aload 4
            astore 3
            goto 302
      StackMap locals:
      StackMap stack:
       301: aload 3
            aload 4
            if_acmpeq 302
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       302: aload 3
            athrow
       303: .line 992
      StackMap locals:
      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
       304: .line 994
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 493
       305: .line 995
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       306: .line 996
            ldc "Certificate.stored.in.file.filename."
       307: .line 995
            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
       308: .line 997
            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
       309: .line 998
            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
       310: .line 1000
            goto 493
      StackMap locals:
      StackMap stack:
       311: 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 317
       312: .line 1001
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 314
       313: .line 1002
            aload 0 /* this */
            ldc "DSA"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       314: .line 1004
      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
       315: .line 1005
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       316: .line 1006
            goto 493
      StackMap locals:
      StackMap stack:
       317: 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 323
       318: .line 1007
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 320
       319: .line 1008
            aload 0 /* this */
            ldc "DES"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       320: .line 1010
      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
       321: .line 1011
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       322: .line 1012
            goto 493
      StackMap locals:
      StackMap stack:
       323: 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 336
       324: .line 1013
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 334
       325: .line 1014
            aconst_null
            astore 3
            aconst_null
            astore 4
       326: 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 5 /* inStream */
        start local 5 // java.io.InputStream inStream
       327: .line 1015
            aload 0 /* this */
            aload 5 /* inStream */
            invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
       328: .line 1016
            aload 5 /* inStream */
            ifnull 493
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
            goto 493
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
       329: astore 3
            aload 5 /* inStream */
            ifnull 330
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream inStream
      StackMap locals:
      StackMap stack:
       330: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       331: astore 4
            aload 3
            ifnonnull 332
            aload 4
            astore 3
            goto 333
      StackMap locals:
      StackMap stack:
       332: aload 3
            aload 4
            if_acmpeq 333
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       333: aload 3
            athrow
       334: .line 1018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
       335: .line 1020
            goto 493
      StackMap locals:
      StackMap stack:
       336: 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 379
       337: .line 1021
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 3 /* inStream */
        start local 3 // java.io.InputStream inStream
       338: .line 1022
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 340
       339: .line 1023
            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 3 /* inStream */
       340: .line 1025
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 341
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            goto 342
      StackMap locals:
      StackMap stack:
       341: ldc "mykey"
      StackMap locals:
      StackMap stack: java.lang.String
       342: astore 4 /* importAlias */
        start local 4 // java.lang.String importAlias
       343: .line 1027
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       344: .line 1028
            aload 4 /* importAlias */
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
       345: .line 1027
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       346: .line 1028
            ifeq 357
       347: .line 1029
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* importAlias */
            aload 3 /* inStream */
            invokevirtual sun.security.tools.keytool.Main.installReply:(Ljava/lang/String;Ljava/io/InputStream;)Z
            putfield sun.security.tools.keytool.Main.kssave:Z
       348: .line 1030
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 353
       349: .line 1031
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       350: .line 1032
            ldc "Certificate.reply.was.installed.in.keystore"
       351: .line 1031
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       352: .line 1033
            goto 376
       353: .line 1034
      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;
       354: .line 1035
            ldc "Certificate.reply.was.not.installed.in.keystore"
       355: .line 1034
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       356: .line 1037
            goto 376
      StackMap locals:
      StackMap stack:
       357: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 4 /* importAlias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifeq 362
       358: .line 1038
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 4 /* importAlias */
       359: .line 1039
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
       360: .line 1038
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       361: .line 1039
            ifeq 376
       362: .line 1040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* importAlias */
            aload 3 /* inStream */
            invokevirtual sun.security.tools.keytool.Main.addTrustedCert:(Ljava/lang/String;Ljava/io/InputStream;)Z
            putfield sun.security.tools.keytool.Main.kssave:Z
       363: .line 1041
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 368
       364: .line 1042
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       365: .line 1043
            ldc "Certificate.was.added.to.keystore"
       366: .line 1042
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       367: .line 1044
            goto 376
       368: .line 1045
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       369: .line 1046
            ldc "Certificate.was.not.added.to.keystore"
       370: .line 1045
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       371: .line 1049
            goto 376
      StackMap locals:
      StackMap stack: java.lang.Throwable
       372: astore 5
       373: .line 1050
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 375
       374: .line 1051
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       375: .line 1053
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
       376: .line 1050
      StackMap locals:
      StackMap stack:
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 493
       377: .line 1051
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.lang.String importAlias
        end local 3 // java.io.InputStream inStream
       378: .line 1054
            goto 493
      StackMap locals:
      StackMap stack:
       379: 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 385
       380: .line 1056
            aload 2 /* srcKeyStore */
            ifnonnull 382
       381: .line 1057
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
            astore 2 /* srcKeyStore */
       382: .line 1059
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* srcKeyStore */
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStore:(Ljava/security/KeyStore;)V
       383: .line 1060
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       384: .line 1061
            goto 493
      StackMap locals:
      StackMap stack:
       385: 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 404
       386: .line 1062
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
       387: .line 1065
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 389
       388: .line 1066
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       389: .line 1068
      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 395
       390: .line 1069
            new java.text.MessageFormat
            dup
       391: .line 1070
            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;
       392: .line 1069
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
       393: .line 1071
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       394: .line 1072
            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
       395: .line 1074
      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 401
       396: .line 1075
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       397: .line 1076
            ldc "Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key"
       398: .line 1075
            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
       399: .line 1077
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       400: .line 1078
            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
       401: .line 1081
      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
       402: .line 1082
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       403: .line 1083
            goto 493
      StackMap locals:
      StackMap stack:
       404: 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 412
       405: .line 1084
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 407
       406: .line 1085
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       407: .line 1087
      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
       408: .line 1089
            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 410
       409: .line 1090
            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
       410: .line 1092
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       411: .line 1093
            goto 493
      StackMap locals:
      StackMap stack:
       412: 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 417
       413: .line 1094
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
       414: .line 1095
            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
       415: .line 1096
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       416: .line 1097
            goto 493
      StackMap locals:
      StackMap stack:
       417: 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 426
       418: .line 1098
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 421
       419: .line 1099
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 421
       420: .line 1100
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
       421: .line 1103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 424
       422: .line 1104
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
       423: .line 1105
            goto 493
       424: .line 1106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintEntries:(Ljava/io/PrintStream;)V
       425: .line 1108
            goto 493
      StackMap locals:
      StackMap stack:
       426: 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 429
       427: .line 1109
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintCert:(Ljava/io/PrintStream;)V
       428: .line 1110
            goto 493
      StackMap locals:
      StackMap stack:
       429: 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 433
       430: .line 1111
            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
       431: .line 1112
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       432: .line 1113
            goto 493
      StackMap locals:
      StackMap stack:
       433: 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 439
       434: .line 1114
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.storePassNew:[C
       435: .line 1115
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            ifnonnull 437
       436: .line 1116
            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
       437: .line 1118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       438: .line 1119
            goto 493
      StackMap locals:
      StackMap stack:
       439: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 462
       440: .line 1120
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 442
       441: .line 1121
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       442: .line 1123
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 3 /* inStream */
        start local 3 // java.io.InputStream inStream
       443: .line 1124
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
            ifnull 445
       444: .line 1125
            new java.io.FileInputStream
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* inStream */
       445: .line 1127
      StackMap locals: java.io.InputStream
      StackMap stack:
            aconst_null
            astore 4 /* ps */
        start local 4 // java.io.PrintStream ps
       446: .line 1128
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
            ifnull 449
       447: .line 1129
            new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* ps */
       448: .line 1130
            aload 4 /* ps */
            astore 1 /* out */
       449: .line 1133
      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 3 /* inStream */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doGenCert:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/PrintStream;)V
       450: .line 1134
            goto 457
      StackMap locals:
      StackMap stack: java.lang.Throwable
       451: astore 5
       452: .line 1135
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 454
       453: .line 1136
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       454: .line 1138
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4 /* ps */
            ifnull 456
       455: .line 1139
            aload 4 /* ps */
            invokevirtual java.io.PrintStream.close:()V
       456: .line 1141
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
       457: .line 1135
      StackMap locals:
      StackMap stack:
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 459
       458: .line 1136
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       459: .line 1138
      StackMap locals:
      StackMap stack:
            aload 4 /* ps */
            ifnull 493
       460: .line 1139
            aload 4 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 4 // java.io.PrintStream ps
        end local 3 // java.io.InputStream inStream
       461: .line 1142
            goto 493
      StackMap locals:
      StackMap stack:
       462: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENCRL:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 478
       463: .line 1143
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 465
       464: .line 1144
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       465: .line 1146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 476
       466: .line 1147
            aconst_null
            astore 3
            aconst_null
            astore 4
       467: .line 1148
            new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
       468: .line 1147
            astore 5 /* ps */
        start local 5 // java.io.PrintStream ps
       469: .line 1149
            aload 0 /* this */
            aload 5 /* ps */
            invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
       470: .line 1150
            aload 5 /* ps */
            ifnull 493
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
            goto 493
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
      StackMap stack: java.lang.Throwable
       471: astore 3
            aload 5 /* ps */
            ifnull 472
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 5 // java.io.PrintStream ps
      StackMap locals:
      StackMap stack:
       472: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       473: astore 4
            aload 3
            ifnonnull 474
            aload 4
            astore 3
            goto 475
      StackMap locals:
      StackMap stack:
       474: aload 3
            aload 4
            if_acmpeq 475
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       475: aload 3
            athrow
       476: .line 1152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
       477: .line 1154
            goto 493
      StackMap locals:
      StackMap stack:
       478: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCERTREQ:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 491
       479: .line 1155
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 489
       480: .line 1156
            aconst_null
            astore 3
            aconst_null
            astore 4
       481: 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 5 /* inStream */
        start local 5 // java.io.InputStream inStream
       482: .line 1157
            aload 0 /* this */
            aload 5 /* inStream */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintCertReq:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
       483: .line 1158
            aload 5 /* inStream */
            ifnull 493
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
            goto 493
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
       484: astore 3
            aload 5 /* inStream */
            ifnull 485
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream inStream
      StackMap locals:
      StackMap stack:
       485: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       486: astore 4
            aload 3
            ifnonnull 487
            aload 4
            astore 3
            goto 488
      StackMap locals:
      StackMap stack:
       487: aload 3
            aload 4
            if_acmpeq 488
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       488: aload 3
            athrow
       489: .line 1160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintCertReq:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
       490: .line 1162
            goto 493
      StackMap locals:
      StackMap stack:
       491: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 493
       492: .line 1163
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintCRL:(Ljava/lang/String;Ljava/io/PrintStream;)V
       493: .line 1167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 522
       494: .line 1168
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 502
       495: .line 1169
            new java.text.MessageFormat
            dup
       496: .line 1170
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".Storing.ksfname."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       497: .line 1169
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
       498: .line 1171
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 499
            ldc "keystore"
            goto 500
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.text.MessageFormat
      StackMap stack: java.lang.Object[] java.lang.Object[] int
       499: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.text.MessageFormat
      StackMap stack: java.lang.Object[] java.lang.Object[] int java.lang.String
       500: aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       501: .line 1172
            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
       502: .line 1175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 505
       503: .line 1176
            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
       504: .line 1177
            goto 522
       505: .line 1178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            ifnull 506
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            goto 507
      StackMap locals:
      StackMap stack:
       506: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
      StackMap locals:
      StackMap stack: char[]
       507: astore 3 /* pass */
        start local 3 // char[] pass
       508: .line 1179
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 511
       509: .line 1180
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aconst_null
            aload 3 /* pass */
            invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
       510: .line 1181
            goto 522
       511: .line 1182
      StackMap locals: char[]
      StackMap stack:
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 4 /* bout */
        start local 4 // java.io.ByteArrayOutputStream bout
       512: .line 1183
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 4 /* bout */
            aload 3 /* pass */
            invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
       513: .line 1184
            aconst_null
            astore 5
            aconst_null
            astore 6
       514: 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
            astore 7 /* fout */
        start local 7 // java.io.FileOutputStream fout
       515: .line 1185
            aload 7 /* fout */
            aload 4 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokevirtual java.io.FileOutputStream.write:([B)V
       516: .line 1186
            aload 7 /* fout */
            ifnull 522
            aload 7 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 522
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore char[] java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
      StackMap stack: java.lang.Throwable
       517: astore 5
            aload 7 /* fout */
            ifnull 518
            aload 7 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 7 // java.io.FileOutputStream fout
      StackMap locals:
      StackMap stack:
       518: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       519: astore 6
            aload 5
            ifnonnull 520
            aload 6
            astore 5
            goto 521
      StackMap locals:
      StackMap stack:
       520: aload 5
            aload 6
            if_acmpeq 521
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       521: aload 5
            athrow
        end local 4 // java.io.ByteArrayOutputStream bout
        end local 3 // char[] pass
       522: .line 1191
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            invokevirtual sun.security.tools.keytool.Main.isKeyStoreRelated:(Lsun/security/tools/keytool/Main$Command;)Z
            ifeq 559
       523: .line 1192
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 559
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 559
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnull 559
       524: .line 1195
            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
            astore 3 /* f */
        start local 3 // java.io.File f
       525: .line 1196
            aload 3 /* f */
            invokevirtual java.io.File.exists:()Z
            ifeq 559
       526: .line 1199
            aload 0 /* this */
            aload 3 /* f */
            invokevirtual sun.security.tools.keytool.Main.keyStoreType:(Ljava/io/File;)Ljava/lang/String;
            astore 4 /* realType */
        start local 4 // java.lang.String realType
       527: .line 1200
            aload 4 /* realType */
            ldc "JKS"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 529
       528: .line 1201
            aload 4 /* realType */
            ldc "JCEKS"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 544
       529: .line 1202
      StackMap locals: java.io.File java.lang.String
      StackMap stack:
            iconst_1
            istore 5 /* allCerts */
        start local 5 // boolean allCerts
       530: .line 1203
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            invokestatic java.util.Collections.list:(Ljava/util/Enumeration;)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 538
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File java.lang.String int top java.util.Iterator
      StackMap stack:
       531: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* a */
        start local 6 // java.lang.String a
       532: .line 1204
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       533: .line 1205
            aload 6 /* a */
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
       534: .line 1204
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       535: .line 1205
            ifne 538
       536: .line 1206
            iconst_0
            istore 5 /* allCerts */
       537: .line 1207
            goto 539
        end local 6 // java.lang.String a
       538: .line 1203
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 531
       539: .line 1211
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File java.lang.String int
      StackMap stack:
            iload 5 /* allCerts */
            ifne 544
       540: .line 1212
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
       541: .line 1213
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "jks.storetype.warning"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       542: .line 1214
            aload 4 /* realType */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            aastore
       543: .line 1212
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // boolean allCerts
       544: .line 1217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 559
       545: .line 1219
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.tools.keytool.Main.keyStoreType:(Ljava/io/File;)Ljava/lang/String;
       546: .line 1218
            astore 5 /* realSourceStoreType */
        start local 5 // java.lang.String realSourceStoreType
       547: .line 1221
            aload 4 /* realType */
            aload 5 /* realSourceStoreType */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 549
       548: .line 1222
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "backup.keystore.warning"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            goto 550
       549: .line 1223
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "migrate.keystore.warning"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       550: .line 1220
      StackMap locals:
      StackMap stack: java.lang.String
            astore 6 /* format */
        start local 6 // java.lang.String format
       551: .line 1224
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
       552: .line 1225
            aload 6 /* format */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
       553: .line 1226
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            aastore
            dup
            iconst_1
       554: .line 1227
            aload 5 /* realSourceStoreType */
            aastore
            dup
            iconst_2
       555: .line 1228
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
            aastore
            dup
            iconst_3
       556: .line 1229
            aload 4 /* realType */
            aastore
       557: .line 1225
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       558: .line 1224
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String format
        end local 5 // java.lang.String realSourceStoreType
        end local 4 // java.lang.String realType
        end local 3 // java.io.File f
       559: .line 1233
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.KeyStore srcKeyStore
        end local 1 // java.io.PrintStream out
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  560     0                 this  Lsun/security/tools/keytool/Main;
            0  560     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;
          120  560     2          srcKeyStore  Ljava/security/KeyStore;
          193  226     3                count  I
          212  218     4       storePassAgain  [C
          245  257     3                 form  Ljava/text/MessageFormat;
          247  249     4               source  [Ljava/lang/Object;
          251  253     4               source  [Ljava/lang/Object;
          255  257     4               source  [Ljava/lang/Object;
          270  273     5                   ps  Ljava/io/PrintStream;
          282  285     3                 form  Ljava/text/MessageFormat;
          283  285     4               source  [Ljava/lang/Object;
          296  299     5                   ps  Ljava/io/PrintStream;
          308  310     3                 form  Ljava/text/MessageFormat;
          309  310     4               source  [Ljava/lang/Object;
          327  330     5             inStream  Ljava/io/InputStream;
          338  378     3             inStream  Ljava/io/InputStream;
          343  378     4          importAlias  Ljava/lang/String;
          393  395     3                 form  Ljava/text/MessageFormat;
          394  395     4               source  [Ljava/lang/Object;
          399  401     3                 form  Ljava/text/MessageFormat;
          400  401     4               source  [Ljava/lang/Object;
          443  461     3             inStream  Ljava/io/InputStream;
          446  461     4                   ps  Ljava/io/PrintStream;
          469  472     5                   ps  Ljava/io/PrintStream;
          482  485     5             inStream  Ljava/io/InputStream;
          498  502     3                 form  Ljava/text/MessageFormat;
          501  502     4               source  [Ljava/lang/Object;
          508  522     3                 pass  [C
          512  522     4                 bout  Ljava/io/ByteArrayOutputStream;
          515  518     7                 fout  Ljava/io/FileOutputStream;
          525  559     3                    f  Ljava/io/File;
          527  559     4             realType  Ljava/lang/String;
          530  544     5             allCerts  Z
          532  538     6                    a  Ljava/lang/String;
          547  559     5  realSourceStoreType  Ljava/lang/String;
          551  559     6               format  Ljava/lang/String;
      Exception table:
        from    to  target  type
         127   135     136  Class java.io.FileNotFoundException
         270   271     272  any
         267   274     274  any
         296   297     298  any
         293   300     300  any
         327   328     329  any
         326   331     331  any
         343   372     372  any
         449   451     451  any
         469   470     471  any
         467   473     473  any
         482   483     484  any
         481   486     486  any
         515   516     517  any
         514   519     519  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      out   

  private java.lang.String keyStoreType(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.File f
         0: .line 1236
            ldc -17957139
            istore 2 /* MAGIC */
        start local 2 // int MAGIC
         1: .line 1237
            ldc -825307442
            istore 3 /* JCEKS_MAGIC */
        start local 3 // int JCEKS_MAGIC
         2: .line 1238
            aconst_null
            astore 4
            aconst_null
            astore 5
         3: new java.io.DataInputStream
            dup
         4: .line 1239
            new java.io.FileInputStream
            dup
            aload 1 /* f */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
         5: .line 1238
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 6 /* dis */
        start local 6 // java.io.DataInputStream dis
         6: .line 1240
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 7 /* xMagic */
        start local 7 // int xMagic
         7: .line 1241
            iload 7 /* xMagic */
            iload 2 /* MAGIC */
            if_icmpne 10
         8: .line 1248
            aload 6 /* dis */
            ifnull 9
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
         9: .line 1242
      StackMap locals: sun.security.tools.keytool.Main java.io.File int int java.lang.Throwable java.lang.Throwable java.io.DataInputStream int
      StackMap stack:
            ldc "JKS"
            areturn
        10: .line 1243
      StackMap locals:
      StackMap stack:
            iload 7 /* xMagic */
            iload 3 /* JCEKS_MAGIC */
            if_icmpne 13
        11: .line 1248
            aload 6 /* dis */
            ifnull 12
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
        12: .line 1244
      StackMap locals:
      StackMap stack:
            ldc "JCEKS"
            areturn
        13: .line 1248
      StackMap locals:
      StackMap stack:
            aload 6 /* dis */
            ifnull 14
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
        14: .line 1246
      StackMap locals:
      StackMap stack:
            ldc "Non JKS/JCEKS"
            areturn
        end local 7 // int xMagic
      StackMap locals: sun.security.tools.keytool.Main java.io.File int int java.lang.Throwable java.lang.Throwable java.io.DataInputStream
      StackMap stack: java.lang.Throwable
        15: astore 4
        16: .line 1248
            aload 6 /* dis */
            ifnull 17
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
        end local 6 // java.io.DataInputStream dis
      StackMap locals:
      StackMap stack:
        17: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 5
            aload 4
            ifnonnull 19
            aload 5
            astore 4
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 4
            aload 5
            if_acmpeq 20
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 4
            athrow
        end local 3 // int JCEKS_MAGIC
        end local 2 // int MAGIC
        end local 1 // java.io.File f
        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            f  Ljava/io/File;
            1   21     2        MAGIC  I
            2   21     3  JCEKS_MAGIC  I
            6   17     6          dis  Ljava/io/DataInputStream;
            7   15     7       xMagic  I
      Exception table:
        from    to  target  type
           6     8      15  any
          10    11      15  any
           3     9      18  any
          10    12      18  any
          13    14      18  any
          15    18      18  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      f     

  private void doGenCert(java.lang.String, java.lang.String, java.io.InputStream, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=30, args_size=5
        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.InputStream in
        start local 4 // java.io.PrintStream out
         0: .line 1260
            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 1261
            new java.text.MessageFormat
            dup
         2: .line 1262
            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 1261
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         4: .line 1263
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
         5: .line 1264
            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 1266
      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 5 /* signerCert */
        start local 5 // java.security.cert.Certificate signerCert
         7: .line 1267
            aload 5 /* signerCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 6 /* encoded */
        start local 6 // byte[] encoded
         8: .line 1268
            new sun.security.x509.X509CertImpl
            dup
            aload 6 /* encoded */
            invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
            astore 7 /* signerCertImpl */
        start local 7 // sun.security.x509.X509CertImpl signerCertImpl
         9: .line 1269
            aload 7 /* signerCertImpl */
        10: .line 1270
            ldc "x509.info"
        11: .line 1269
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.X509CertInfo
            astore 8 /* signerCertInfo */
        start local 8 // sun.security.x509.X509CertInfo signerCertInfo
        12: .line 1271
            aload 8 /* signerCertInfo */
            ldc "subject.dname"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.X500Name
            astore 9 /* issuer */
        start local 9 // sun.security.x509.X500Name issuer
        13: .line 1274
            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
        14: .line 1275
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 11 /* lastDate */
        start local 11 // java.util.Date lastDate
        15: .line 1276
            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
        16: .line 1277
            new sun.security.x509.CertificateValidity
            dup
            aload 10 /* firstDate */
        17: .line 1278
            aload 11 /* lastDate */
        18: .line 1277
            invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
            astore 12 /* interval */
        start local 12 // sun.security.x509.CertificateValidity interval
        19: .line 1281
            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)Lsun/security/tools/keytool/Pair;
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.security.PrivateKey
        20: .line 1280
            astore 13 /* privateKey */
        start local 13 // java.security.PrivateKey privateKey
        21: .line 1282
            aload 2 /* sigAlgName */
            ifnonnull 23
        22: .line 1283
            aload 13 /* privateKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* sigAlgName */
        23: .line 1285
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey
      StackMap stack:
            aload 2 /* sigAlgName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 14 /* signature */
        start local 14 // java.security.Signature signature
        24: .line 1286
            aload 14 /* signature */
            aload 13 /* privateKey */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
        25: .line 1288
            new sun.security.x509.X509CertInfo
            dup
            invokespecial sun.security.x509.X509CertInfo.<init>:()V
            astore 15 /* info */
        start local 15 // sun.security.x509.X509CertInfo info
        26: .line 1289
            aload 15 /* info */
            ldc "validity"
            aload 12 /* interval */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        27: .line 1290
            aload 15 /* info */
            ldc "serialNumber"
            new sun.security.x509.CertificateSerialNumber
            dup
        28: .line 1291
            new java.util.Random
            dup
            invokespecial java.util.Random.<init>:()V
            invokevirtual java.util.Random.nextInt:()I
            ldc 2147483647
            iand
            invokespecial sun.security.x509.CertificateSerialNumber.<init>:(I)V
        29: .line 1290
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        30: .line 1292
            aload 15 /* info */
            ldc "version"
        31: .line 1293
            new sun.security.x509.CertificateVersion
            dup
            iconst_2
            invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
        32: .line 1292
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        33: .line 1294
            aload 15 /* info */
            ldc "algorithmID"
        34: .line 1295
            new sun.security.x509.CertificateAlgorithmId
            dup
        35: .line 1296
            aload 2 /* sigAlgName */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
        36: .line 1295
            invokespecial sun.security.x509.CertificateAlgorithmId.<init>:(Lsun/security/x509/AlgorithmId;)V
        37: .line 1294
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        38: .line 1297
            aload 15 /* info */
            ldc "issuer"
            new sun.security.x509.CertificateIssuerName
            dup
            aload 9 /* issuer */
            invokespecial sun.security.x509.CertificateIssuerName.<init>:(Lsun/security/x509/X500Name;)V
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        39: .line 1299
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 3 /* in */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 16 /* reader */
        start local 16 // java.io.BufferedReader reader
        40: .line 1300
            iconst_0
            istore 17 /* canRead */
        start local 17 // boolean canRead
        41: .line 1301
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 18 /* sb */
        start local 18 // java.lang.StringBuffer sb
        42: .line 1303
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature sun.security.x509.X509CertInfo java.io.BufferedReader int java.lang.StringBuffer
      StackMap stack:
            aload 16 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 19 /* s */
        start local 19 // java.lang.String s
        43: .line 1304
            aload 19 /* s */
            ifnonnull 44
            goto 52
        44: .line 1307
      StackMap locals: java.lang.String
      StackMap stack:
            aload 19 /* s */
            ldc "-----BEGIN"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 47
            aload 19 /* s */
            ldc "REQUEST"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iflt 47
        45: .line 1308
            iconst_1
            istore 17 /* canRead */
        46: .line 1310
            goto 42
      StackMap locals:
      StackMap stack:
        47: aload 19 /* s */
            ldc "-----END"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 49
            aload 19 /* s */
            ldc "REQUEST"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iflt 49
        48: .line 1311
            goto 52
        49: .line 1312
      StackMap locals:
      StackMap stack:
            iload 17 /* canRead */
            ifeq 42
        50: .line 1313
            aload 18 /* sb */
            aload 19 /* s */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 19 // java.lang.String s
        51: .line 1302
            goto 42
        52: .line 1316
      StackMap locals:
      StackMap stack:
            new sun.misc.BASE64Decoder
            dup
            invokespecial sun.misc.BASE64Decoder.<init>:()V
            new java.lang.String
            dup
            aload 18 /* sb */
            invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
            invokevirtual sun.misc.BASE64Decoder.decodeBuffer:(Ljava/lang/String;)[B
            astore 19 /* rawReq */
        start local 19 // byte[] rawReq
        53: .line 1317
            new sun.security.pkcs10.PKCS10
            dup
            aload 19 /* rawReq */
            invokespecial sun.security.pkcs10.PKCS10.<init>:([B)V
            astore 20 /* req */
        start local 20 // sun.security.pkcs10.PKCS10 req
        54: .line 1319
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.certificate.request"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 20 /* req */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
        55: .line 1321
            aload 15 /* info */
            ldc "key"
            new sun.security.x509.CertificateX509Key
            dup
            aload 20 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
            invokespecial sun.security.x509.CertificateX509Key.<init>:(Ljava/security/PublicKey;)V
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        56: .line 1322
            aload 15 /* info */
            ldc "subject"
        57: new sun.security.x509.CertificateSubjectName
            dup
        58: .line 1323
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            ifnonnull 59
            aload 20 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectName:()Lsun/security/x509/X500Name;
            goto 60
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature sun.security.x509.X509CertInfo java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
      StackMap stack: sun.security.x509.X509CertInfo java.lang.String new 57 new 57
        59: new sun.security.x509.X500Name
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature sun.security.x509.X509CertInfo java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
      StackMap stack: sun.security.x509.X509CertInfo java.lang.String new 57 new 57 sun.security.x509.X500Name
        60: invokespecial sun.security.x509.CertificateSubjectName.<init>:(Lsun/security/x509/X500Name;)V
        61: .line 1322
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        62: .line 1324
            aconst_null
            astore 21 /* reqex */
        start local 21 // sun.security.x509.CertificateExtensions reqex
        63: .line 1325
            aload 20 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getAttributes:()Lsun/security/pkcs10/PKCS10Attributes;
            invokevirtual sun.security.pkcs10.PKCS10Attributes.getAttributes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 22 /* attrs */
        start local 22 // java.util.Iterator attrs
        64: .line 1326
            goto 68
        65: .line 1327
      StackMap locals: sun.security.x509.CertificateExtensions java.util.Iterator
      StackMap stack:
            aload 22 /* attrs */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs10.PKCS10Attribute
            astore 23 /* attr */
        start local 23 // sun.security.pkcs10.PKCS10Attribute attr
        66: .line 1328
            aload 23 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
            getstatic sun.security.pkcs.PKCS9Attribute.EXTENSION_REQUEST_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 68
        67: .line 1329
            aload 23 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
            astore 21 /* reqex */
        end local 23 // sun.security.pkcs10.PKCS10Attribute attr
        68: .line 1326
      StackMap locals:
      StackMap stack:
            aload 22 /* attrs */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 65
        69: .line 1332
            aload 0 /* this */
        70: .line 1333
            aload 21 /* reqex */
        71: .line 1334
            aconst_null
        72: .line 1335
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        73: .line 1336
            aload 20 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
        74: .line 1337
            aload 5 /* signerCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        75: .line 1332
            invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
            astore 23 /* ext */
        start local 23 // sun.security.x509.CertificateExtensions ext
        76: .line 1338
            aload 15 /* info */
            ldc "extensions"
            aload 23 /* ext */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        77: .line 1339
            new sun.security.x509.X509CertImpl
            dup
            aload 15 /* info */
            invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
            astore 24 /* cert */
        start local 24 // sun.security.x509.X509CertImpl cert
        78: .line 1340
            aload 24 /* cert */
            aload 13 /* privateKey */
            aload 2 /* sigAlgName */
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
        79: .line 1341
            aload 0 /* this */
            aload 24 /* cert */
            aload 4 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        80: .line 1342
            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;
            dup
            astore 28
            arraylength
            istore 27
            iconst_0
            istore 26
            goto 87
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature sun.security.x509.X509CertInfo java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10 sun.security.x509.CertificateExtensions java.util.Iterator sun.security.x509.CertificateExtensions sun.security.x509.X509CertImpl top int int java.security.cert.Certificate[]
      StackMap stack:
        81: aload 28
            iload 26
            aaload
            astore 25 /* ca */
        start local 25 // java.security.cert.Certificate ca
        82: .line 1343
            aload 25 /* ca */
            instanceof java.security.cert.X509Certificate
            ifeq 86
        83: .line 1344
            aload 25 /* ca */
            checkcast java.security.cert.X509Certificate
            astore 29 /* xca */
        start local 29 // java.security.cert.X509Certificate xca
        84: .line 1345
            aload 29 /* xca */
            invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifne 86
        85: .line 1346
            aload 0 /* this */
            aload 29 /* xca */
            aload 4 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        end local 29 // java.security.cert.X509Certificate xca
        end local 25 // java.security.cert.Certificate ca
        86: .line 1342
      StackMap locals:
      StackMap stack:
            iinc 26 1
      StackMap locals:
      StackMap stack:
        87: iload 26
            iload 27
            if_icmplt 81
        88: .line 1351
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.issuer"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            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;
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;[Ljava/security/cert/Certificate;)V
        89: .line 1352
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.generated.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 24 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        90: .line 1353
            return
        end local 24 // sun.security.x509.X509CertImpl cert
        end local 23 // sun.security.x509.CertificateExtensions ext
        end local 22 // java.util.Iterator attrs
        end local 21 // sun.security.x509.CertificateExtensions reqex
        end local 20 // sun.security.pkcs10.PKCS10 req
        end local 19 // byte[] rawReq
        end local 18 // java.lang.StringBuffer sb
        end local 17 // boolean canRead
        end local 16 // java.io.BufferedReader reader
        end local 15 // sun.security.x509.X509CertInfo info
        end local 14 // java.security.Signature signature
        end local 13 // java.security.PrivateKey privateKey
        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.X500Name issuer
        end local 8 // sun.security.x509.X509CertInfo signerCertInfo
        end local 7 // sun.security.x509.X509CertImpl signerCertImpl
        end local 6 // byte[] encoded
        end local 5 // java.security.cert.Certificate signerCert
        end local 4 // java.io.PrintStream out
        end local 3 // java.io.InputStream in
        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   91     0            this  Lsun/security/tools/keytool/Main;
            0   91     1           alias  Ljava/lang/String;
            0   91     2      sigAlgName  Ljava/lang/String;
            0   91     3              in  Ljava/io/InputStream;
            0   91     4             out  Ljava/io/PrintStream;
            4    6     5            form  Ljava/text/MessageFormat;
            5    6     6          source  [Ljava/lang/Object;
            7   91     5      signerCert  Ljava/security/cert/Certificate;
            8   91     6         encoded  [B
            9   91     7  signerCertImpl  Lsun/security/x509/X509CertImpl;
           12   91     8  signerCertInfo  Lsun/security/x509/X509CertInfo;
           13   91     9          issuer  Lsun/security/x509/X500Name;
           14   91    10       firstDate  Ljava/util/Date;
           15   91    11        lastDate  Ljava/util/Date;
           19   91    12        interval  Lsun/security/x509/CertificateValidity;
           21   91    13      privateKey  Ljava/security/PrivateKey;
           24   91    14       signature  Ljava/security/Signature;
           26   91    15            info  Lsun/security/x509/X509CertInfo;
           40   91    16          reader  Ljava/io/BufferedReader;
           41   91    17         canRead  Z
           42   91    18              sb  Ljava/lang/StringBuffer;
           43   51    19               s  Ljava/lang/String;
           53   91    19          rawReq  [B
           54   91    20             req  Lsun/security/pkcs10/PKCS10;
           63   91    21           reqex  Lsun/security/x509/CertificateExtensions;
           64   91    22           attrs  Ljava/util/Iterator<Lsun/security/pkcs10/PKCS10Attribute;>;
           66   68    23            attr  Lsun/security/pkcs10/PKCS10Attribute;
           76   91    23             ext  Lsun/security/x509/CertificateExtensions;
           78   91    24            cert  Lsun/security/x509/X509CertImpl;
           82   86    25              ca  Ljava/security/cert/Certificate;
           84   86    29             xca  Ljava/security/cert/X509Certificate;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      sigAlgName  
      in          
      out         

  private void doGenCRL(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=15, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.PrintStream out
         0: .line 1357
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
            ifnonnull 2
         1: .line 1358
            new java.lang.Exception
            dup
            ldc "Must provide -id when -gencrl"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1360
      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.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 2 /* signerCert */
        start local 2 // java.security.cert.Certificate signerCert
         3: .line 1361
            aload 2 /* signerCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 3 /* encoded */
        start local 3 // byte[] encoded
         4: .line 1362
            new sun.security.x509.X509CertImpl
            dup
            aload 3 /* encoded */
            invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
            astore 4 /* signerCertImpl */
        start local 4 // sun.security.x509.X509CertImpl signerCertImpl
         5: .line 1363
            aload 4 /* signerCertImpl */
         6: .line 1364
            ldc "x509.info"
         7: .line 1363
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.X509CertInfo
            astore 5 /* signerCertInfo */
        start local 5 // sun.security.x509.X509CertInfo signerCertInfo
         8: .line 1365
            aload 5 /* signerCertInfo */
            ldc "subject.dname"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.X500Name
            astore 6 /* owner */
        start local 6 // sun.security.x509.X500Name owner
         9: .line 1368
            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 7 /* firstDate */
        start local 7 // java.util.Date firstDate
        10: .line 1369
            aload 7 /* firstDate */
            invokevirtual java.util.Date.clone:()Ljava/lang/Object;
            checkcast java.util.Date
            astore 8 /* lastDate */
        start local 8 // java.util.Date lastDate
        11: .line 1370
            aload 8 /* lastDate */
            aload 8 /* lastDate */
            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
        12: .line 1371
            new sun.security.x509.CertificateValidity
            aload 7 /* firstDate */
        13: .line 1372
            aload 8 /* lastDate */
        14: .line 1371
            invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
        15: .line 1376
            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.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)Lsun/security/tools/keytool/Pair;
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.security.PrivateKey
        16: .line 1375
            astore 9 /* privateKey */
        start local 9 // java.security.PrivateKey privateKey
        17: .line 1377
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
            ifnonnull 19
        18: .line 1378
            aload 0 /* this */
            aload 9 /* privateKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
        19: .line 1381
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date java.security.PrivateKey
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray java.security.cert.X509CRLEntry
            astore 10 /* badCerts */
        start local 10 // java.security.cert.X509CRLEntry[] badCerts
        20: .line 1382
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        21: goto 33
        22: .line 1383
      StackMap locals: java.security.cert.X509CRLEntry[] int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
            iload 11 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* id */
        start local 12 // java.lang.String id
        23: .line 1384
            aload 12 /* id */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* d */
        start local 13 // int d
        24: .line 1385
            iload 13 /* d */
            iflt 31
        25: .line 1386
            new sun.security.x509.CRLExtensions
            dup
            invokespecial sun.security.x509.CRLExtensions.<init>:()V
            astore 14 /* ext */
        start local 14 // sun.security.x509.CRLExtensions ext
        26: .line 1387
            aload 14 /* ext */
            ldc "Reason"
            new sun.security.x509.CRLReasonCodeExtension
            dup
            aload 12 /* id */
            iload 13 /* d */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokespecial sun.security.x509.CRLReasonCodeExtension.<init>:(I)V
            invokevirtual sun.security.x509.CRLExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        27: .line 1388
            aload 10 /* badCerts */
            iload 11 /* i */
            new sun.security.x509.X509CRLEntryImpl
            dup
            new java.math.BigInteger
            dup
            aload 12 /* id */
            iconst_0
            iload 13 /* d */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
        28: .line 1389
            aload 7 /* firstDate */
            aload 14 /* ext */
            invokespecial sun.security.x509.X509CRLEntryImpl.<init>:(Ljava/math/BigInteger;Ljava/util/Date;Lsun/security/x509/CRLExtensions;)V
        29: .line 1388
            aastore
        end local 14 // sun.security.x509.CRLExtensions ext
        30: .line 1390
            goto 32
        31: .line 1391
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 10 /* badCerts */
            iload 11 /* i */
            new sun.security.x509.X509CRLEntryImpl
            dup
            new java.math.BigInteger
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
            iload 11 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
            aload 7 /* firstDate */
            invokespecial sun.security.x509.X509CRLEntryImpl.<init>:(Ljava/math/BigInteger;Ljava/util/Date;)V
            aastore
        end local 13 // int d
        end local 12 // java.lang.String id
        32: .line 1382
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 11 /* i */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 22
        end local 11 // int i
        34: .line 1394
            new sun.security.x509.X509CRLImpl
            dup
            aload 6 /* owner */
            aload 7 /* firstDate */
            aload 8 /* lastDate */
            aload 10 /* badCerts */
            invokespecial sun.security.x509.X509CRLImpl.<init>:(Lsun/security/x509/X500Name;Ljava/util/Date;Ljava/util/Date;[Ljava/security/cert/X509CRLEntry;)V
            astore 11 /* crl */
        start local 11 // sun.security.x509.X509CRLImpl crl
        35: .line 1395
            aload 11 /* crl */
            aload 9 /* privateKey */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
            invokevirtual sun.security.x509.X509CRLImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
        36: .line 1396
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 41
        37: .line 1397
            aload 1 /* out */
            ldc "-----BEGIN X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        38: .line 1398
            new sun.misc.BASE64Encoder
            dup
            invokespecial sun.misc.BASE64Encoder.<init>:()V
            aload 11 /* crl */
            invokevirtual sun.security.x509.X509CRLImpl.getEncodedInternal:()[B
            aload 1 /* out */
            invokevirtual sun.misc.BASE64Encoder.encodeBuffer:([BLjava/io/OutputStream;)V
        39: .line 1399
            aload 1 /* out */
            ldc "-----END X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        40: .line 1400
            goto 42
        41: .line 1401
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date java.security.PrivateKey java.security.cert.X509CRLEntry[] sun.security.x509.X509CRLImpl
      StackMap stack:
            aload 1 /* out */
            aload 11 /* crl */
            invokevirtual sun.security.x509.X509CRLImpl.getEncodedInternal:()[B
            invokevirtual java.io.PrintStream.write:([B)V
        42: .line 1403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.generated.crl"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 11 /* crl */
            aload 9 /* privateKey */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/CRL;Ljava/security/Key;)V
        43: .line 1404
            return
        end local 11 // sun.security.x509.X509CRLImpl crl
        end local 10 // java.security.cert.X509CRLEntry[] badCerts
        end local 9 // java.security.PrivateKey privateKey
        end local 8 // java.util.Date lastDate
        end local 7 // java.util.Date firstDate
        end local 6 // sun.security.x509.X500Name owner
        end local 5 // sun.security.x509.X509CertInfo signerCertInfo
        end local 4 // sun.security.x509.X509CertImpl signerCertImpl
        end local 3 // byte[] encoded
        end local 2 // java.security.cert.Certificate signerCert
        end local 1 // java.io.PrintStream out
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   44     0            this  Lsun/security/tools/keytool/Main;
            0   44     1             out  Ljava/io/PrintStream;
            3   44     2      signerCert  Ljava/security/cert/Certificate;
            4   44     3         encoded  [B
            5   44     4  signerCertImpl  Lsun/security/x509/X509CertImpl;
            8   44     5  signerCertInfo  Lsun/security/x509/X509CertInfo;
            9   44     6           owner  Lsun/security/x509/X500Name;
           10   44     7       firstDate  Ljava/util/Date;
           11   44     8        lastDate  Ljava/util/Date;
           17   44     9      privateKey  Ljava/security/PrivateKey;
           20   44    10        badCerts  [Ljava/security/cert/X509CRLEntry;
           21   34    11               i  I
           23   32    12              id  Ljava/lang/String;
           24   32    13               d  I
           26   30    14             ext  Lsun/security/x509/CRLExtensions;
           35   44    11             crl  Lsun/security/x509/X509CRLImpl;
    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=6, 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 1413
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1414
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1417
      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)Lsun/security/tools/keytool/Pair;
            astore 4 /* objs */
        start local 4 // sun.security.tools.keytool.Pair objs
         3: .line 1418
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.security.PrivateKey
            astore 5 /* privKey */
        start local 5 // java.security.PrivateKey privKey
         4: .line 1419
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 1420
            aload 0 /* this */
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
         6: .line 1423
      StackMap locals: sun.security.tools.keytool.Pair 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 1424
            aload 6 /* cert */
            ifnonnull 13
         8: .line 1425
            new java.text.MessageFormat
            dup
         9: .line 1426
            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 1425
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        11: .line 1427
            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 1428
            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 1430
      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 1431
            aload 0 /* this */
            aconst_null
            aconst_null
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
            aload 6 /* cert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            aconst_null
            invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
            astore 8 /* ext */
        start local 8 // sun.security.x509.CertificateExtensions ext
        15: .line 1433
            aload 7 /* request */
            invokevirtual sun.security.pkcs10.PKCS10.getAttributes:()Lsun/security/pkcs10/PKCS10Attributes;
            ldc "extensions"
        16: .line 1434
            new sun.security.pkcs10.PKCS10Attribute
            dup
            getstatic sun.security.pkcs.PKCS9Attribute.EXTENSION_REQUEST_OID:Lsun/security/util/ObjectIdentifier;
            aload 8 /* ext */
            invokespecial sun.security.pkcs10.PKCS10Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
        17: .line 1433
            invokevirtual sun.security.pkcs10.PKCS10Attributes.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 1437
            aload 2 /* sigAlgName */
            ifnonnull 20
        19: .line 1438
            aload 5 /* privKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* sigAlgName */
        20: .line 1441
      StackMap locals: sun.security.pkcs10.PKCS10 sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 2 /* sigAlgName */
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            astore 9 /* signature */
        start local 9 // java.security.Signature signature
        21: .line 1442
            aload 9 /* signature */
            aload 5 /* privKey */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
        22: .line 1443
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            ifnonnull 24
        23: .line 1444
            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
            goto 25
        24: .line 1445
      StackMap locals: java.security.Signature
      StackMap stack:
            new sun.security.x509.X500Name
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
        25: .line 1443
      StackMap locals:
      StackMap stack: sun.security.x509.X500Name
            astore 10 /* subject */
        start local 10 // sun.security.x509.X500Name subject
        26: .line 1448
            aload 7 /* request */
            aload 10 /* subject */
            aload 9 /* signature */
            invokevirtual sun.security.pkcs10.PKCS10.encodeAndSign:(Lsun/security/x509/X500Name;Ljava/security/Signature;)V
        27: .line 1449
            aload 7 /* request */
            aload 3 /* out */
            invokevirtual sun.security.pkcs10.PKCS10.print:(Ljava/io/PrintStream;)V
        28: .line 1451
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.generated.certificate.request"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 7 /* request */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
        29: .line 1452
            return
        end local 10 // sun.security.x509.X500Name subject
        end local 9 // java.security.Signature signature
        end local 8 // sun.security.x509.CertificateExtensions ext
        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 // sun.security.tools.keytool.Pair 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   30     0        this  Lsun/security/tools/keytool/Main;
            0   30     1       alias  Ljava/lang/String;
            0   30     2  sigAlgName  Ljava/lang/String;
            0   30     3         out  Ljava/io/PrintStream;
            3   30     4        objs  Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
            4   30     5     privKey  Ljava/security/PrivateKey;
            7   30     6        cert  Ljava/security/cert/Certificate;
           11   13     7        form  Ljava/text/MessageFormat;
           12   13     8      source  [Ljava/lang/Object;
           14   30     7     request  Lsun/security/pkcs10/PKCS10;
           15   30     8         ext  Lsun/security/x509/CertificateExtensions;
           21   30     9   signature  Ljava/security/Signature;
           26   30    10     subject  Lsun/security/x509/X500Name;
    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 1458
            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 1459
            new java.text.MessageFormat
            dup
         2: .line 1460
            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 1459
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         4: .line 1461
            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 1462
            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 1464
      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 1465
            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 1473
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 3
         1: .line 1474
            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 1475
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
         3: .line 1477
      StackMap locals:
      StackMap stack:
            aload 1 /* alias */
            ifnonnull 5
         4: .line 1478
            ldc "mykey"
            astore 1 /* alias */
         5: .line 1480
      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 1481
            new java.text.MessageFormat
            dup
         7: .line 1482
            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 1481
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         9: .line 1483
            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 1484
            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 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.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 1488
            aload 3 /* cert */
            ifnonnull 18
        13: .line 1489
            new java.text.MessageFormat
            dup
        14: .line 1490
            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 1489
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        16: .line 1491
            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 1492
            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 1494
      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 1495
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        20: .line 1496
            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   21     0    this  Lsun/security/tools/keytool/Main;
            0   21     1   alias  Ljava/lang/String;
            0   21     2     out  Ljava/io/PrintStream;
            9   11     3    form  Ljava/text/MessageFormat;
           10   11     4  source  [Ljava/lang/Object;
           12   21     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 1505
            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 1506
            aload 3 /* origPass */
            areturn
         2: .line 1507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 48
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 48
         3: .line 1510
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         4: goto 39
         5: .line 1511
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         6: .line 1512
            ldc "Enter.key.password.for.alias."
         7: .line 1511
            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 1513
            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 1514
            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 1515
            aload 2 /* orig */
            ifnonnull 15
        11: .line 1516
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        12: .line 1517
            ldc ".RETURN.if.same.as.keystore.password."
        13: .line 1516
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        14: .line 1518
            goto 20
        15: .line 1519
      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 1520
            ldc ".RETURN.if.same.as.for.otherAlias."
        17: .line 1519
            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 1521
            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 1522
            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 1524
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        21: .line 1525
            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 1526
            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 1527
            aload 7 /* entered */
            ifnonnull 25
        24: .line 1528
            aload 3 /* origPass */
            areturn
        25: .line 1529
      StackMap locals: char[]
      StackMap stack:
            aload 7 /* entered */
            arraylength
            bipush 6
            if_icmplt 35
        26: .line 1530
            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 1531
            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 1532
            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 1533
            aload 7 /* entered */
            aload 8 /* passAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 34
        30: .line 1534
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        31: .line 1535
            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 1534
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 1536
            goto 38
        34: .line 1538
      StackMap locals: char[]
      StackMap stack:
            aload 7 /* entered */
            areturn
        end local 8 // char[] passAgain
        35: .line 1540
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        36: .line 1541
            ldc "Key.password.is.too.short.must.be.at.least.6.characters"
        37: .line 1540
            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 1510
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
      StackMap locals:
      StackMap stack:
        39: iload 4 /* count */
            iconst_3
            if_icmplt 5
        40: .line 1544
            iload 4 /* count */
            iconst_3
            if_icmpne 48
        41: .line 1545
            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 1546
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        43: .line 1547
            ldc "Too.many.failures.Key.entry.not.cloned"
        44: .line 1546
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 1549
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        46: .line 1550
            ldc "Too.many.failures.key.not.added.to.keystore"
        47: .line 1549
            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 1554
      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 1563
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1564
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1566
      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 1567
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 1568
            ldc "Secret.key.not.generated.alias.alias.already.exists"
         5: .line 1567
            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 1569
            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 1570
            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 1573
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* secKey */
        start local 4 // javax.crypto.SecretKey secKey
         9: .line 1574
            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 1575
            iload 3 /* keysize */
            iconst_m1
            if_icmpeq 13
        11: .line 1576
            aload 5 /* keygen */
            iload 3 /* keysize */
            invokevirtual javax.crypto.KeyGenerator.init:(I)V
        12: .line 1577
            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 1578
            aload 5 /* keygen */
            bipush 56
            invokevirtual javax.crypto.KeyGenerator.init:(I)V
        15: .line 1579
            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 1580
            aload 5 /* keygen */
            sipush 168
            invokevirtual javax.crypto.KeyGenerator.init:(I)V
        18: .line 1581
            goto 22
        19: .line 1582
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        20: .line 1583
            ldc "Please.provide.keysize.for.secret.key.generation"
        21: .line 1582
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1586
      StackMap locals:
      StackMap stack:
            aload 5 /* keygen */
            invokevirtual javax.crypto.KeyGenerator.generateKey:()Ljavax/crypto/SecretKey;
            astore 4 /* secKey */
        23: .line 1587
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 25
        24: .line 1588
            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 1590
      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 1591
            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 static java.lang.String getCompatibleSigAlgName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String keyAlgName
         0: .line 1599
            ldc "DSA"
            aload 0 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1600
            ldc "SHA256WithDSA"
            areturn
         2: .line 1601
      StackMap locals:
      StackMap stack:
            ldc "RSA"
            aload 0 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1602
            ldc "SHA256WithRSA"
            areturn
         4: .line 1603
      StackMap locals:
      StackMap stack:
            ldc "EC"
            aload 0 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 1604
            ldc "SHA256withECDSA"
            areturn
         6: .line 1606
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         7: .line 1607
            ldc "Cannot.derive.signature.algorithm"
         8: .line 1606
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String keyAlgName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  keyAlgName  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      keyAlgName  

  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=13, 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 1617
            iload 4 /* keysize */
            iconst_m1
            if_icmpne 9
         1: .line 1618
            ldc "EC"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 1619
            getstatic sun.security.util.SecurityProviderConstants.DEF_EC_KEY_SIZE:I
            istore 4 /* keysize */
         3: .line 1620
            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 1621
            getstatic sun.security.util.SecurityProviderConstants.DEF_RSA_KEY_SIZE:I
            istore 4 /* keysize */
         6: .line 1622
            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 1623
            getstatic sun.security.util.SecurityProviderConstants.DEF_DSA_KEY_SIZE:I
            istore 4 /* keysize */
         9: .line 1627
      StackMap locals:
      StackMap stack:
            aload 1 /* alias */
            ifnonnull 11
        10: .line 1628
            ldc "mykey"
            astore 1 /* alias */
        11: .line 1631
      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 1632
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        13: .line 1633
            ldc "Key.pair.not.generated.alias.alias.already.exists"
        14: .line 1632
            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 1634
            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 1635
            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 1638
      StackMap locals:
      StackMap stack:
            aload 5 /* sigAlgName */
            ifnonnull 19
        18: .line 1639
            aload 3 /* keyAlgName */
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sigAlgName */
        19: .line 1642
      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
        20: .line 1641
            astore 6 /* keypair */
        start local 6 // sun.security.tools.keytool.CertAndKeyGen keypair
        21: .line 1647
            aload 2 /* dname */
            ifnonnull 24
        22: .line 1648
            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
        23: .line 1649
            goto 25
        end local 7 // sun.security.x509.X500Name x500Name
        24: .line 1650
      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
        25: .line 1653
      StackMap locals: sun.security.x509.X500Name
      StackMap stack:
            aload 6 /* keypair */
            iload 4 /* keysize */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(I)V
        26: .line 1654
            aload 6 /* keypair */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPrivateKey:()Ljava/security/PrivateKey;
            astore 8 /* privKey */
        start local 8 // java.security.PrivateKey privKey
        27: .line 1656
            aload 0 /* this */
        28: .line 1657
            aconst_null
        29: .line 1658
            aconst_null
        30: .line 1659
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        31: .line 1660
            aload 6 /* keypair */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPublicKeyAnyway:()Ljava/security/PublicKey;
        32: .line 1661
            aconst_null
        33: .line 1656
            invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
            astore 9 /* ext */
        start local 9 // sun.security.x509.CertificateExtensions ext
        34: .line 1663
            iconst_1
            anewarray java.security.cert.X509Certificate
            astore 10 /* chain */
        start local 10 // java.security.cert.X509Certificate[] chain
        35: .line 1664
            aload 10 /* chain */
            iconst_0
            aload 6 /* keypair */
        36: .line 1665
            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
            aload 9 /* ext */
        37: .line 1664
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getSelfCertificate:(Lsun/security/x509/X500Name;Ljava/util/Date;JLsun/security/x509/CertificateExtensions;)Ljava/security/cert/X509Certificate;
            aastore
        38: .line 1667
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 49
        39: .line 1668
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        40: .line 1669
            ldc "Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for"
        41: .line 1668
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        42: .line 1670
            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
        43: .line 1671
            aload 8 /* privKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        44: .line 1672
            aload 10 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
        45: .line 1673
            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
        46: .line 1674
            aload 7 /* x500Name */
            aastore
        47: .line 1670
            astore 12 /* source */
        start local 12 // java.lang.Object[] source
        48: .line 1675
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 11 /* form */
            aload 12 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 12 // java.lang.Object[] source
        end local 11 // java.text.MessageFormat form
        49: .line 1678
      StackMap locals: java.security.PrivateKey sun.security.x509.CertificateExtensions java.security.cert.X509Certificate[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 51
        50: .line 1679
            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
        51: .line 1681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.generated.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 10 /* chain */
            iconst_0
            aaload
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        52: .line 1682
            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 10 /* chain */
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        53: .line 1683
            return
        end local 10 // java.security.cert.X509Certificate[] chain
        end local 9 // sun.security.x509.CertificateExtensions ext
        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   54     0        this  Lsun/security/tools/keytool/Main;
            0   54     1       alias  Ljava/lang/String;
            0   54     2       dname  Ljava/lang/String;
            0   54     3  keyAlgName  Ljava/lang/String;
            0   54     4     keysize  I
            0   54     5  sigAlgName  Ljava/lang/String;
           15   17     6        form  Ljava/text/MessageFormat;
           16   17     7      source  [Ljava/lang/Object;
           21   54     6     keypair  Lsun/security/tools/keytool/CertAndKeyGen;
           23   24     7    x500Name  Lsun/security/x509/X500Name;
           25   54     7    x500Name  Lsun/security/x509/X500Name;
           27   54     8     privKey  Ljava/security/PrivateKey;
           34   54     9         ext  Lsun/security/x509/CertificateExtensions;
           35   54    10       chain  [Ljava/security/cert/X509Certificate;
           42   49    11        form  Ljava/text/MessageFormat;
           48   49    12      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 1694
            aload 1 /* orig */
            ifnonnull 2
         1: .line 1695
            ldc "mykey"
            astore 1 /* orig */
         2: .line 1698
      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 1699
            new java.text.MessageFormat
            dup
         4: .line 1700
            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 1699
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         6: .line 1701
            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 1702
            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 1705
      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)Lsun/security/tools/keytool/Pair;
            astore 4 /* objs */
        start local 4 // sun.security.tools.keytool.Pair objs
         9: .line 1706
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.security.KeyStore$Entry
            astore 5 /* entry */
        start local 5 // java.security.KeyStore$Entry entry
        10: .line 1707
            aload 0 /* this */
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
        11: .line 1709
            aconst_null
            astore 6 /* pp */
        start local 6 // java.security.KeyStore$PasswordProtection pp
        12: .line 1711
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 19
        13: .line 1712
            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 1713
      StackMap locals: sun.security.tools.keytool.Pair 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 1714
            goto 18
        16: .line 1715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPassNew:[C
            ifnonnull 18
        17: .line 1716
            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 1719
      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 1721
      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 1722
            return
        end local 6 // java.security.KeyStore$PasswordProtection pp
        end local 5 // java.security.KeyStore$Entry entry
        end local 4 // sun.security.tools.keytool.Pair 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  Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
           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 1730
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1731
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1733
      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)Lsun/security/tools/keytool/Pair;
            astore 2 /* objs */
        start local 2 // sun.security.tools.keytool.Pair objs
         3: .line 1734
            aload 2 /* objs */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.security.Key
            astore 3 /* privKey */
        start local 3 // java.security.Key privKey
         4: .line 1735
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 1736
            aload 0 /* this */
            aload 2 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
         6: .line 1739
      StackMap locals: sun.security.tools.keytool.Pair java.security.Key
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPassNew:[C
            ifnonnull 12
         7: .line 1740
            new java.text.MessageFormat
            dup
         8: .line 1741
            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 1740
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        10: .line 1742
            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 1743
            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 1745
      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 1746
            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 1745
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        15: .line 1747
            return
        end local 3 // java.security.Key privKey
        end local 2 // sun.security.tools.keytool.Pair 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  Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
            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=3, locals=2, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.InputStream in
         0: .line 1757
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         1: .line 1758
            ldc "No.entries.from.identity.database.added"
         2: .line 1757
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 1759
            return
        end local 1 // java.io.InputStream in
        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    in  Ljava/io/InputStream;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      in    

  private void doPrintEntry(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=7, locals=8, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String label
        start local 2 // java.lang.String alias
        start local 3 // java.io.PrintStream out
         0: .line 1767
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 6
         1: .line 1768
            new java.text.MessageFormat
            dup
         2: .line 1769
            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 1768
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         4: .line 1770
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
         5: .line 1771
            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
         6: .line 1774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 7
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifne 7
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 19
         7: .line 1775
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
         8: .line 1776
            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;
         9: .line 1775
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        10: .line 1777
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        11: .line 1778
            aload 3 /* 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
        12: .line 1780
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 31
        13: .line 1781
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        14: .line 1782
            ldc "Creation.date.keyStore.getCreationDate.alias."
        15: .line 1781
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        16: .line 1783
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.getCreationDate:(Ljava/lang/String;)Ljava/util/Date;
            aastore
            astore 6 /* src */
        start local 6 // java.lang.Object[] src
        17: .line 1784
            aload 3 /* 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
        18: .line 1786
            goto 31
        19: .line 1787
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 26
        20: .line 1788
            new java.text.MessageFormat
            dup
        21: .line 1789
            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;
        22: .line 1788
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        23: .line 1790
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* alias */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.getCreationDate:(Ljava/lang/String;)Ljava/util/Date;
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        24: .line 1791
            aload 3 /* 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
        25: .line 1792
            goto 31
        26: .line 1793
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        27: .line 1794
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "alias."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        28: .line 1793
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        29: .line 1795
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        30: .line 1796
            aload 3 /* 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
        31: .line 1800
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
            ldc Ljava/security/KeyStore$SecretKeyEntry;
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifeq 40
        32: .line 1801
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 33
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifne 33
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 38
        33: .line 1802
      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
        34: .line 1803
            aload 3 /* out */
            new java.text.MessageFormat
            dup
        35: .line 1804
            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;
        36: .line 1803
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        37: .line 1805
            goto 110
        38: .line 1806
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "SecretKeyEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 1808
            goto 110
      StackMap locals:
      StackMap stack:
        40: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifeq 81
        41: .line 1809
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 42
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifne 42
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 47
        42: .line 1810
      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
        43: .line 1811
            aload 3 /* out */
            new java.text.MessageFormat
            dup
        44: .line 1812
            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;
        45: .line 1811
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        46: .line 1813
            goto 48
        47: .line 1814
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "PrivateKeyEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        48: .line 1818
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
            astore 4 /* chain */
        start local 4 // java.security.cert.Certificate[] chain
        49: .line 1819
            aload 4 /* chain */
            ifnull 110
        50: .line 1820
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 51
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifne 51
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 74
        51: .line 1821
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 3 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        52: .line 1822
            ldc "Certificate.chain.length."
        53: .line 1821
            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
        54: .line 1822
            aload 4 /* chain */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 1821
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        56: .line 1823
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        57: goto 72
        58: .line 1824
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
        59: .line 1825
            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;
        60: .line 1824
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        61: .line 1826
            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
        62: .line 1827
            aload 3 /* 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
        63: .line 1828
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 66
            aload 4 /* chain */
            iload 5 /* i */
            aaload
            instanceof java.security.cert.X509Certificate
            ifeq 66
        64: .line 1829
            aload 0 /* this */
            aload 4 /* chain */
            iload 5 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            aload 3 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        65: .line 1830
            goto 70
      StackMap locals: java.text.MessageFormat java.lang.Object[]
      StackMap stack:
        66: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 69
        67: .line 1831
            aload 3 /* 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
        68: .line 1832
            goto 70
        69: .line 1833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* chain */
            iload 5 /* i */
            aaload
            aload 3 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        70: .line 1835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* label */
            aload 4 /* chain */
            iload 5 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        71: .line 1823
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        72: iload 5 /* i */
            aload 4 /* chain */
            arraylength
            if_icmplt 58
        end local 5 // int i
        73: .line 1837
            goto 110
        74: .line 1839
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
        75: .line 1840
            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
        76: .line 1841
            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;
        77: .line 1840
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        78: .line 1839
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        79: .line 1842
            aload 0 /* this */
            aload 1 /* label */
            aload 4 /* chain */
            iconst_0
            aaload
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 4 // java.security.cert.Certificate[] chain
        80: .line 1845
            goto 110
      StackMap locals:
      StackMap stack:
        81: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
        82: .line 1846
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
        83: .line 1845
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
        84: .line 1846
            ifeq 109
        85: .line 1848
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 4 /* cert */
        start local 4 // java.security.cert.Certificate cert
        86: .line 1849
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "trustedCertEntry"
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        87: .line 1850
            new java.lang.StringBuilder
            dup
            new java.text.MessageFormat
            dup
        88: .line 1851
            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;
        89: .line 1850
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        90: .line 1851
            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;
        91: .line 1850
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* mf */
        start local 6 // java.lang.String mf
        92: .line 1852
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 96
            aload 4 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 96
        93: .line 1853
            aload 3 /* out */
            aload 6 /* mf */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        94: .line 1854
            aload 0 /* this */
            aload 4 /* cert */
            checkcast java.security.cert.X509Certificate
            aload 3 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        95: .line 1855
            goto 107
      StackMap locals: java.security.cert.Certificate java.lang.Object[] java.lang.String
      StackMap stack:
        96: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 100
        97: .line 1856
            aload 3 /* out */
            aload 6 /* mf */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        98: .line 1857
            aload 0 /* this */
            aload 4 /* cert */
            aload 3 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        99: .line 1858
            goto 107
      StackMap locals:
      StackMap stack:
       100: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 103
       101: .line 1859
            aload 3 /* out */
            aload 4 /* cert */
            invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       102: .line 1860
            goto 107
       103: .line 1861
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "trustedCertEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       104: .line 1862
            aload 3 /* 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
       105: .line 1863
            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;
       106: .line 1862
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       107: .line 1865
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* label */
            aload 4 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)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 1866
            goto 110
       109: .line 1867
      StackMap locals:
      StackMap stack:
            aload 3 /* 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 1869
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.PrintStream out
        end local 2 // java.lang.String alias
        end local 1 // java.lang.String label
        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   label  Ljava/lang/String;
            0  111     2   alias  Ljava/lang/String;
            0  111     3     out  Ljava/io/PrintStream;
            4    6     4    form  Ljava/text/MessageFormat;
            5    6     5  source  [Ljava/lang/Object;
           10   18     4    form  Ljava/text/MessageFormat;
           11   18     5  source  [Ljava/lang/Object;
           17   18     6     src  [Ljava/lang/Object;
           23   25     4    form  Ljava/text/MessageFormat;
           24   25     5  source  [Ljava/lang/Object;
           29   31     4    form  Ljava/text/MessageFormat;
           30   31     5  source  [Ljava/lang/Object;
           34   37     4  source  [Ljava/lang/Object;
           43   46     4  source  [Ljava/lang/Object;
           49   80     4   chain  [Ljava/security/cert/Certificate;
           57   73     5       i  I
           61   71     6    form  Ljava/text/MessageFormat;
           62   71     7  source  [Ljava/lang/Object;
           86  108     4    cert  Ljava/security/cert/Certificate;
           87  108     5  source  [Ljava/lang/Object;
           92  108     6      mf  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      label  
      alias  
      out    

  boolean inplaceImportCheck();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 1872
            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 2
         1: .line 1873
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 1874
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 1877
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            ifnull 20
         4: .line 1878
            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 1 /* srcksfile */
        start local 1 // java.io.File srcksfile
         5: .line 1879
            aload 1 /* srcksfile */
            invokevirtual java.io.File.exists:()Z
            ifeq 11
            aload 1 /* srcksfile */
            invokevirtual java.io.File.length:()J
            lconst_0
            lcmp
            ifne 11
         6: .line 1880
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         7: .line 1881
            ldc "Source.keystore.file.exists.but.is.empty."
         8: .line 1880
            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
         9: .line 1882
            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;
        10: .line 1880
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1884
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* srcksfile */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
        12: .line 1885
            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
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 1886
            iconst_1
            ireturn
        14: .line 1890
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 1891
            ldc "importing.keystore.status"
        16: .line 1890
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 1891
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            aastore
        18: .line 1890
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        19: .line 1892
            iconst_0
            ireturn
        end local 1 // java.io.File srcksfile
        20: .line 1895
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        21: .line 1896
            ldc "Please.specify.srckeystore"
        22: .line 1895
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lsun/security/tools/keytool/Main;
            5   20     1  srcksfile  Ljava/io/File;
    Exceptions:
      throws java.lang.Exception

  java.security.KeyStore loadSourceKeyStore();
    descriptor: ()Ljava/security/KeyStore;
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 1906
            aconst_null
            astore 1 /* is */
        start local 1 // java.io.InputStream is
         1: .line 1907
            aconst_null
            astore 2 /* srcksfile */
        start local 2 // java.io.File srcksfile
         2: .line 1909
            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 4
         3: .line 1910
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 13
         4: .line 1911
      StackMap locals: java.io.InputStream java.io.File
      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 15
         5: .line 1912
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         6: .line 1913
            ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
         7: .line 1912
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 1913
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            aastore
         9: .line 1912
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 1914
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        11: .line 1915
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        12: .line 1917
            goto 15
        13: .line 1918
      StackMap locals:
      StackMap stack:
            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 */
        14: .line 1919
            new java.io.FileInputStream
            dup
            aload 2 /* srcksfile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 1 /* is */
        15: .line 1924
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
            ifnonnull 18
        16: .line 1925
            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 3 /* store */
        start local 3 // java.security.KeyStore store
        17: .line 1926
            goto 19
        end local 3 // java.security.KeyStore store
        18: .line 1927
      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 3 /* store */
        start local 3 // java.security.KeyStore store
        19: .line 1930
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 26
        20: .line 1931
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
            ifne 26
        21: .line 1932
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 26
        22: .line 1933
            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
        23: .line 1934
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        24: .line 1935
            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
        25: .line 1936
            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
        26: .line 1940
      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 35
        27: .line 1941
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 35
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnull 35
        28: .line 1942
            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 35
        29: .line 1943
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        30: .line 1944
            ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
        31: .line 1943
            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
        32: .line 1945
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-srckeypass"
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        33: .line 1946
            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.println:(Ljava/lang/String;)V
        34: .line 1947
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        35: .line 1951
      StackMap locals:
      StackMap stack:
            aload 3 /* 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
        36: .line 1952
            goto 41
        end local 3 // java.security.KeyStore store
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File
      StackMap stack: java.lang.Throwable
        37: astore 6
        38: .line 1953
            aload 1 /* is */
            ifnull 40
        39: .line 1954
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        40: .line 1956
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File top top top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        start local 3 // java.security.KeyStore store
        41: .line 1953
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File java.security.KeyStore
      StackMap stack:
            aload 1 /* is */
            ifnull 43
        42: .line 1954
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        43: .line 1958
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 56
        44: .line 1959
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 56
        45: .line 1962
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        46: .line 1963
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        47: .line 1964
            ldc ".WARNING.WARNING.WARNING."
        48: .line 1963
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        49: .line 1965
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        50: .line 1966
            ldc ".The.integrity.of.the.information.stored.in.the.srckeystore."
        51: .line 1965
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        52: .line 1967
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        53: .line 1968
            ldc ".WARNING.WARNING.WARNING."
        54: .line 1967
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        55: .line 1969
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        56: .line 1972
      StackMap locals:
      StackMap stack:
            aload 3 /* store */
            areturn
        end local 3 // java.security.KeyStore store
        end local 2 // java.io.File srcksfile
        end local 1 // java.io.InputStream is
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   57     0       this  Lsun/security/tools/keytool/Main;
            1   57     1         is  Ljava/io/InputStream;
            2   57     2  srcksfile  Ljava/io/File;
           17   18     3      store  Ljava/security/KeyStore;
           19   37     3      store  Ljava/security/KeyStore;
           41   57     3      store  Ljava/security/KeyStore;
           32   35     4       form  Ljava/text/MessageFormat;
           33   35     5     source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          15    37      37  any
    Exceptions:
      throws java.lang.Exception

  private void doImportKeyStore(java.security.KeyStore);
    descriptor: (Ljava/security/KeyStore;)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.security.KeyStore srcKS
         0: .line 1982
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 3
         1: .line 1983
            aload 0 /* this */
            aload 1 /* srcKS */
            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 1984
            goto 8
         3: .line 1985
      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 1986
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 1987
            ldc "if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified"
         6: .line 1986
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 1989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* srcKS */
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStoreAll:(Ljava/security/KeyStore;)V
         8: .line 1992
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 18
         9: .line 1995
            iconst_1
            istore 2 /* n */
        start local 2 // int n
        10: .line 1996
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".old"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* n */
            iconst_1
            if_icmpne 11
            ldc ""
            goto 12
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore int
      StackMap stack: sun.security.tools.keytool.Main java.lang.StringBuilder
        11: iload 2 /* n */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore int
      StackMap stack: sun.security.tools.keytool.Main java.lang.StringBuilder java.io.Serializable
        12: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
        13: .line 1997
            new java.io.File
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* bkFile */
        start local 3 // java.io.File bkFile
        14: .line 1998
            aload 3 /* bkFile */
            invokevirtual java.io.File.exists:()Z
            ifne 17
        15: .line 1999
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aload 3 /* bkFile */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.CopyOption
            invokestatic java.nio.file.Files.copy:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
        16: .line 2000
            goto 18
        end local 3 // java.io.File bkFile
        17: .line 1995
      StackMap locals:
      StackMap stack:
            iinc 2 /* n */ 1
            goto 10
        end local 2 // int n
        18: .line 2013
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.KeyStore srcKS
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0    this  Lsun/security/tools/keytool/Main;
            0   19     1   srcKS  Ljava/security/KeyStore;
           10   18     2       n  I
           14   17     3  bkFile  Ljava/io/File;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      srcKS  

  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 2024
            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 2026
            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 2027
            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 2028
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 12
         6: .line 2029
            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 2030
            ldc "Warning.Overwriting.existing.alias.alias.in.destination.keystore"
         8: .line 2029
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
         9: .line 2030
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        10: .line 2029
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 2031
            goto 29
        12: .line 2032
      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 2033
            ldc "Existing.entry.alias.alias.exists.overwrite.no."
        14: .line 2032
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        15: .line 2033
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        16: .line 2032
            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 2034
            ldc "NO"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        18: .line 2035
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        19: .line 2036
            ldc "Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry."
        20: .line 2035
            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 2037
            ldc ""
            aload 3 /* newAlias */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        22: .line 2038
            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 2039
            ldc "Entry.for.alias.alias.not.imported."
        24: .line 2038
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        25: .line 2040
            aload 4 /* source */
        26: .line 2039
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        27: .line 2038
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        28: .line 2041
            iconst_0
            ireturn
        end local 5 // java.lang.String reply
        end local 4 // java.lang.Object[] source
        29: .line 2047
      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)Lsun/security/tools/keytool/Pair;
            astore 4 /* objs */
        start local 4 // sun.security.tools.keytool.Pair objs
        30: .line 2048
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.security.KeyStore$Entry
            astore 5 /* entry */
        start local 5 // java.security.KeyStore$Entry entry
        31: .line 2050
            aconst_null
            astore 6 /* pp */
        start local 6 // java.security.KeyStore$PasswordProtection pp
        32: .line 2056
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 35
        33: .line 2057
            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 2058
            goto 37
      StackMap locals: sun.security.tools.keytool.Pair java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection
      StackMap stack:
        35: aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            ifnull 37
        36: .line 2059
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast char[]
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 6 /* pp */
        37: .line 2063
      StackMap locals:
      StackMap stack:
            aload 1 /* srckeystore */
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 7 /* c */
        start local 7 // java.security.cert.Certificate c
        38: .line 2064
            aload 7 /* c */
            ifnull 40
        39: .line 2065
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* newAlias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* c */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        40: .line 2067
      StackMap locals: java.security.cert.Certificate
      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
        41: .line 2068
            iconst_1
            ireturn
        end local 7 // java.security.cert.Certificate c
        42: .line 2069
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection
      StackMap stack: java.security.KeyStoreException
            astore 7 /* kse */
        start local 7 // java.security.KeyStoreException kse
        43: .line 2070
            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
        44: .line 2071
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        45: .line 2072
            ldc "Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported."
        46: .line 2071
            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
        47: .line 2073
            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
        48: .line 2074
            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 // sun.security.tools.keytool.Pair 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   49     0         this  Lsun/security/tools/keytool/Main;
            0   49     1  srckeystore  Ljava/security/KeyStore;
            0   49     2        alias  Ljava/lang/String;
            3   49     3     newAlias  Ljava/lang/String;
            5   29     4       source  [Ljava/lang/Object;
           17   29     5        reply  Ljava/lang/String;
           30   49     4         objs  Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
           31   49     5        entry  Ljava/security/KeyStore$Entry;
           32   49     6           pp  Ljava/security/KeyStore$PasswordProtection;
           38   42     7            c  Ljava/security/cert/Certificate;
           43   49     7          kse  Ljava/security/KeyStoreException;
           44   49     8      source2  [Ljava/lang/Object;
           47   49     9         form  Ljava/text/MessageFormat;
      Exception table:
        from    to  target  type
          37    41      42  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 2080
            iconst_0
            istore 2 /* ok */
        start local 2 // int ok
         1: .line 2081
            aload 1 /* srckeystore */
            invokevirtual java.security.KeyStore.size:()I
            istore 3 /* count */
        start local 3 // int count
         2: .line 2082
            aload 1 /* srckeystore */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
         3: .line 2083
            goto 17
         4: .line 2084
      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 2085
            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 2086
            iload 6 /* result */
            iconst_1
            if_icmpne 12
         7: .line 2087
            iinc 2 /* ok */ 1
         8: .line 2088
            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 2089
            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 2090
            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 2091
            goto 17
      StackMap locals: java.lang.String int
      StackMap stack:
        12: iload 6 /* result */
            iconst_2
            if_icmpne 17
        13: .line 2092
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifne 17
        14: .line 2093
            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 2094
            ldc "YES"
            aload 7 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 2095
            goto 18
        end local 7 // java.lang.String reply
        end local 6 // int result
        end local 5 // java.lang.String alias
        17: .line 2083
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 4 // java.util.Enumeration e
        18: .line 2100
      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 2101
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        20: .line 2102
            ldc "Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled"
        21: .line 2101
            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 2103
            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 2104
            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 2112
            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
         1: .line 2113
            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
         2: .line 2114
            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;
         3: .line 2113
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2115
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
         5: .line 2118
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            iconst_1
            if_icmpne 10
         6: .line 2119
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         7: .line 2120
            ldc "Your.keystore.contains.keyStore.size.entry"
         8: .line 2119
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
         9: .line 2120
            goto 13
        10: .line 2121
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        11: .line 2122
            ldc "Your.keystore.contains.keyStore.size.entries"
        12: .line 2121
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        13: .line 2118
      StackMap locals:
      StackMap stack: java.text.MessageFormat
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
        14: .line 2123
            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
        15: .line 2124
            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
        16: .line 2125
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        17: .line 2127
            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
        18: .line 2128
            goto 29
        19: .line 2129
      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
        20: .line 2130
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* alias */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
        21: .line 2131
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 22
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 29
        22: .line 2132
      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
        23: .line 2133
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        24: .line 2134
            ldc "STAR"
        25: .line 2133
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        26: .line 2135
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        27: .line 2136
            ldc "STARNN"
        28: .line 2135
            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
        29: .line 2128
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 19
        end local 4 // java.util.Enumeration e
        30: .line 2139
            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   31     0    this  Lsun/security/tools/keytool/Main;
            0   31     1     out  Ljava/io/PrintStream;
           14   31     2    form  Ljava/text/MessageFormat;
           15   31     3  source  [Ljava/lang/Object;
           18   30     4       e  Ljava/util/Enumeration<Ljava/lang/String;>;
           20   29     5   alias  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      out   

  private static <T> java.lang.Iterable<T> e2i(java.util.Enumeration<T>);
    descriptor: (Ljava/util/Enumeration;)Ljava/lang/Iterable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Enumeration e
         0: .line 2142
            new sun.security.tools.keytool.Main$1
            dup
            aload 0 /* e */
            invokespecial sun.security.tools.keytool.Main$1.<init>:(Ljava/util/Enumeration;)V
            areturn
        end local 0 // java.util.Enumeration e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     e  Ljava/util/Enumeration<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Enumeration<TT;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
      Name  Flags
      e     final

  public static java.util.Collection<? extends java.security.cert.CRL> loadCRLs(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.lang.String src
         0: .line 2168
            aconst_null
            astore 1 /* in */
        start local 1 // java.io.InputStream in
         1: .line 2169
            aconst_null
            astore 2 /* uri */
        start local 2 // java.net.URI uri
         2: .line 2170
            aload 0 /* src */
            ifnonnull 5
         3: .line 2171
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 1 /* in */
         4: .line 2172
            goto 16
         5: .line 2174
      StackMap locals: java.io.InputStream java.net.URI
      StackMap stack:
            new java.net.URI
            dup
            aload 0 /* src */
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            astore 2 /* uri */
         6: .line 2175
            aload 2 /* uri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ldc "ldap"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
         7: .line 2178
            aload 2 /* uri */
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 1 /* in */
         8: .line 2180
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 3 /* e */
        start local 3 // java.lang.Exception e
        10: .line 2182
            new java.io.FileInputStream
            dup
            aload 0 /* src */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 1 /* in */
        11: .line 2183
            goto 16
      StackMap locals: java.lang.String java.io.InputStream java.net.URI java.lang.Exception
      StackMap stack: java.lang.Exception
        12: astore 4 /* e2 */
        start local 4 // java.lang.Exception e2
        13: .line 2184
            aload 2 /* uri */
            ifnull 14
            aload 2 /* uri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ifnonnull 15
        14: .line 2185
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 4 /* e2 */
            athrow
        15: .line 2187
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 4 // java.lang.Exception e2
        end local 3 // java.lang.Exception e
        16: .line 2192
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            ifnull 33
        17: .line 2198
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* bout */
        start local 3 // java.io.ByteArrayOutputStream bout
        18: .line 2199
            sipush 4096
            newarray 8
            astore 4 /* b */
        start local 4 // byte[] b
        19: .line 2201
      StackMap locals: java.io.ByteArrayOutputStream byte[]
      StackMap stack:
            aload 1 /* in */
            aload 4 /* b */
            invokevirtual java.io.InputStream.read:([B)I
            istore 5 /* len */
        start local 5 // int len
        20: .line 2202
            iload 5 /* len */
            ifge 21
            goto 23
        21: .line 2203
      StackMap locals: int
      StackMap stack:
            aload 3 /* bout */
            aload 4 /* b */
            iconst_0
            iload 5 /* len */
            invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
        end local 5 // int len
        22: .line 2200
            goto 19
        23: .line 2205
      StackMap locals:
      StackMap stack:
            ldc "X509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
        24: .line 2206
            new java.io.ByteArrayInputStream
            dup
            aload 3 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        25: .line 2205
            invokevirtual java.security.cert.CertificateFactory.generateCRLs:(Ljava/io/InputStream;)Ljava/util/Collection;
            astore 7
        26: .line 2208
            aload 1 /* in */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 28
        27: .line 2209
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
        28: .line 2205
      StackMap locals: java.lang.String java.io.InputStream java.net.URI java.io.ByteArrayOutputStream byte[] top top java.util.Collection
      StackMap stack:
            aload 7
            areturn
        end local 4 // byte[] b
        end local 3 // java.io.ByteArrayOutputStream bout
        29: .line 2207
      StackMap locals: java.lang.String java.io.InputStream java.net.URI
      StackMap stack: java.lang.Throwable
            astore 6
        30: .line 2208
            aload 1 /* in */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 32
        31: .line 2209
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
        32: .line 2211
      StackMap locals: java.lang.String java.io.InputStream java.net.URI top top top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        33: .line 2214
      StackMap locals: java.lang.String java.io.InputStream java.net.URI
      StackMap stack:
            ldc "LDAP"
            invokestatic sun.security.provider.certpath.CertStoreHelper.getInstance:(Ljava/lang/String;)Lsun/security/provider/certpath/CertStoreHelper;
            astore 3 /* helper */
        start local 3 // sun.security.provider.certpath.CertStoreHelper helper
        34: .line 2215
            aload 2 /* uri */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
        35: .line 2216
            aload 4 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 36
            aload 4 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* path */
        36: .line 2217
      StackMap locals: sun.security.provider.certpath.CertStoreHelper java.lang.String
      StackMap stack:
            aload 3 /* helper */
            aload 2 /* uri */
            invokevirtual sun.security.provider.certpath.CertStoreHelper.getCertStore:(Ljava/net/URI;)Ljava/security/cert/CertStore;
            astore 5 /* s */
        start local 5 // java.security.cert.CertStore s
        37: .line 2219
            aload 3 /* helper */
            new java.security.cert.X509CRLSelector
            dup
            invokespecial java.security.cert.X509CRLSelector.<init>:()V
            aconst_null
            aload 4 /* path */
            invokevirtual sun.security.provider.certpath.CertStoreHelper.wrap:(Ljava/security/cert/X509CRLSelector;Ljava/util/Collection;Ljava/lang/String;)Ljava/security/cert/X509CRLSelector;
        38: .line 2218
            astore 6 /* sel */
        start local 6 // java.security.cert.X509CRLSelector sel
        39: .line 2220
            aload 5 /* s */
            aload 6 /* sel */
            invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
            areturn
        end local 6 // java.security.cert.X509CRLSelector sel
        end local 5 // java.security.cert.CertStore s
        end local 4 // java.lang.String path
        end local 3 // sun.security.provider.certpath.CertStoreHelper helper
        end local 2 // java.net.URI uri
        end local 1 // java.io.InputStream in
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   40     0     src  Ljava/lang/String;
            1   40     1      in  Ljava/io/InputStream;
            2   40     2     uri  Ljava/net/URI;
           10   16     3       e  Ljava/lang/Exception;
           13   16     4      e2  Ljava/lang/Exception;
           18   29     3    bout  Ljava/io/ByteArrayOutputStream;
           19   29     4       b  [B
           20   22     5     len  I
           34   40     3  helper  Lsun/security/provider/certpath/CertStoreHelper;
           35   40     4    path  Ljava/lang/String;
           37   40     5       s  Ljava/security/cert/CertStore;
           39   40     6     sel  Ljava/security/cert/X509CRLSelector;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.Exception
          10    11      12  Class java.lang.Exception
          17    26      29  any
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/String;)Ljava/util/Collection<+Ljava/security/cert/CRL;>;
    MethodParameters:
      Name  Flags
      src   

  public static java.util.List<java.security.cert.CRL> readCRLsFromCert(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=12, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 2230
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* crls */
        start local 1 // java.util.List crls
         1: .line 2232
            aload 0 /* cert */
            invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
            invokevirtual sun.security.x509.X509CertImpl.getCRLDistributionPointsExtension:()Lsun/security/x509/CRLDistributionPointsExtension;
         2: .line 2231
            astore 2 /* ext */
        start local 2 // sun.security.x509.CRLDistributionPointsExtension ext
         3: .line 2233
            aload 2 /* ext */
            ifnonnull 4
            aload 1 /* crls */
            areturn
         4: .line 2235
      StackMap locals: java.util.List sun.security.x509.CRLDistributionPointsExtension
      StackMap stack:
            aload 2 /* ext */
            ldc "points"
            invokevirtual sun.security.x509.CRLDistributionPointsExtension.get:(Ljava/lang/String;)Ljava/util/List;
         5: .line 2234
            astore 3 /* distPoints */
        start local 3 // java.util.List distPoints
         6: .line 2236
            aload 3 /* distPoints */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 21
      StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.DistributionPoint
            astore 4 /* o */
        start local 4 // sun.security.x509.DistributionPoint o
         8: .line 2237
            aload 4 /* o */
            invokevirtual sun.security.x509.DistributionPoint.getFullName:()Lsun/security/x509/GeneralNames;
            astore 6 /* names */
        start local 6 // sun.security.x509.GeneralNames names
         9: .line 2238
            aload 6 /* names */
            ifnull 21
        10: .line 2239
            aload 6 /* names */
            invokevirtual sun.security.x509.GeneralNames.names:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 20
      StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List sun.security.x509.DistributionPoint java.util.Iterator sun.security.x509.GeneralNames top java.util.Iterator
      StackMap stack:
        11: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.GeneralName
            astore 7 /* name */
        start local 7 // sun.security.x509.GeneralName name
        12: .line 2240
            aload 7 /* name */
            invokevirtual sun.security.x509.GeneralName.getType:()I
            bipush 6
            if_icmpne 20
        13: .line 2241
            aload 7 /* name */
            invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
            checkcast sun.security.x509.URIName
            astore 9 /* uriName */
        start local 9 // sun.security.x509.URIName uriName
        14: .line 2242
            aload 9 /* uriName */
            invokevirtual sun.security.x509.URIName.getName:()Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.loadCRLs:(Ljava/lang/String;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 18
      StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List sun.security.x509.DistributionPoint java.util.Iterator sun.security.x509.GeneralNames sun.security.x509.GeneralName java.util.Iterator sun.security.x509.URIName top java.util.Iterator
      StackMap stack:
        15: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.CRL
            astore 10 /* crl */
        start local 10 // java.security.cert.CRL crl
        16: .line 2243
            aload 10 /* crl */
            instanceof java.security.cert.X509CRL
            ifeq 18
        17: .line 2244
            aload 1 /* crls */
            aload 10 /* crl */
            checkcast java.security.cert.X509CRL
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.security.cert.CRL crl
        18: .line 2242
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        19: .line 2247
            goto 21
        end local 9 // sun.security.x509.URIName uriName
        end local 7 // sun.security.x509.GeneralName name
        20: .line 2239
      StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List sun.security.x509.DistributionPoint java.util.Iterator sun.security.x509.GeneralNames top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 6 // sun.security.x509.GeneralNames names
        end local 4 // sun.security.x509.DistributionPoint o
        21: .line 2236
      StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        22: .line 2252
            aload 1 /* crls */
            areturn
        end local 3 // java.util.List distPoints
        end local 2 // sun.security.x509.CRLDistributionPointsExtension ext
        end local 1 // java.util.List crls
        end local 0 // java.security.cert.X509Certificate cert
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        cert  Ljava/security/cert/X509Certificate;
            1   23     1        crls  Ljava/util/List<Ljava/security/cert/CRL;>;
            3   23     2         ext  Lsun/security/x509/CRLDistributionPointsExtension;
            6   23     3  distPoints  Ljava/util/List<Lsun/security/x509/DistributionPoint;>;
            8   21     4           o  Lsun/security/x509/DistributionPoint;
            9   21     6       names  Lsun/security/x509/GeneralNames;
           12   20     7        name  Lsun/security/x509/GeneralName;
           14   20     9     uriName  Lsun/security/x509/URIName;
           16   18    10         crl  Ljava/security/cert/CRL;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/security/cert/X509Certificate;)Ljava/util/List<Ljava/security/cert/CRL;>;
    MethodParameters:
      Name  Flags
      cert  

  private static java.lang.String verifyCRL(java.security.KeyStore, java.security.cert.CRL);
    descriptor: (Ljava/security/KeyStore;Ljava/security/cert/CRL;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // java.security.KeyStore ks
        start local 1 // java.security.cert.CRL crl
         0: .line 2257
            aload 1 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            astore 2 /* xcrl */
        start local 2 // sun.security.x509.X509CRLImpl xcrl
         1: .line 2258
            aload 2 /* xcrl */
            invokevirtual sun.security.x509.X509CRLImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 3 /* issuer */
        start local 3 // javax.security.auth.x500.X500Principal issuer
         2: .line 2259
            aload 0 /* ks */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            invokestatic sun.security.tools.keytool.Main.e2i:(Ljava/util/Enumeration;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: java.security.KeyStore java.security.cert.CRL sun.security.x509.X509CRLImpl javax.security.auth.x500.X500Principal top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* s */
        start local 4 // java.lang.String s
         4: .line 2260
            aload 0 /* ks */
            aload 4 /* s */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 6 /* cert */
        start local 6 // java.security.cert.Certificate cert
         5: .line 2261
            aload 6 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 12
         6: .line 2262
            aload 6 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 7 /* xcert */
        start local 7 // java.security.cert.X509Certificate xcert
         7: .line 2263
            aload 7 /* xcert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            aload 3 /* issuer */
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifeq 12
         8: .line 2265
            aload 1 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            aload 6 /* cert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual sun.security.x509.X509CRLImpl.verify:(Ljava/security/PublicKey;)V
         9: .line 2266
            aload 4 /* s */
        10: areturn
        11: .line 2267
      StackMap locals: java.security.KeyStore java.security.cert.CRL sun.security.x509.X509CRLImpl javax.security.auth.x500.X500Principal java.lang.String java.util.Iterator java.security.cert.Certificate java.security.cert.X509Certificate
      StackMap stack: java.lang.Exception
            pop
        end local 7 // java.security.cert.X509Certificate xcert
        end local 6 // java.security.cert.Certificate cert
        end local 4 // java.lang.String s
        12: .line 2259
      StackMap locals: java.security.KeyStore java.security.cert.CRL sun.security.x509.X509CRLImpl javax.security.auth.x500.X500Principal top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        13: .line 2272
            aconst_null
            areturn
        end local 3 // javax.security.auth.x500.X500Principal issuer
        end local 2 // sun.security.x509.X509CRLImpl xcrl
        end local 1 // java.security.cert.CRL crl
        end local 0 // java.security.KeyStore ks
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0      ks  Ljava/security/KeyStore;
            0   14     1     crl  Ljava/security/cert/CRL;
            1   14     2    xcrl  Lsun/security/x509/X509CRLImpl;
            2   14     3  issuer  Ljavax/security/auth/x500/X500Principal;
            4   12     4       s  Ljava/lang/String;
            5   12     6    cert  Ljava/security/cert/Certificate;
            7   12     7   xcert  Ljava/security/cert/X509Certificate;
      Exception table:
        from    to  target  type
           8    10      11  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      ks    
      crl   

  private void doPrintCRL(java.lang.String, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String src
        start local 2 // java.io.PrintStream out
         0: .line 2277
            aload 1 /* src */
            invokestatic sun.security.tools.keytool.Main.loadCRLs:(Ljava/lang/String;)Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 42
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.CRL
            astore 3 /* crl */
        start local 3 // java.security.cert.CRL crl
         2: .line 2278
            aload 0 /* this */
            aload 3 /* crl */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.printCRL:(Ljava/security/cert/CRL;Ljava/io/PrintStream;)V
         3: .line 2279
            aconst_null
            astore 5 /* issuer */
        start local 5 // java.lang.String issuer
         4: .line 2280
            aconst_null
            astore 6 /* signer */
        start local 6 // java.security.cert.Certificate signer
         5: .line 2281
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 17
         6: .line 2282
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            aload 3 /* crl */
            invokestatic sun.security.tools.keytool.Main.verifyCRL:(Ljava/security/KeyStore;Ljava/security/cert/CRL;)Ljava/lang/String;
            astore 5 /* issuer */
         7: .line 2283
            aload 5 /* issuer */
            ifnull 17
         8: .line 2284
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            aload 5 /* issuer */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 6 /* signer */
         9: .line 2285
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        10: .line 2286
            ldc "verified.by.s.in.s.weak"
        11: .line 2285
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 2287
            aload 5 /* issuer */
            aastore
            dup
            iconst_1
        13: .line 2288
            ldc "cacerts"
            aastore
            dup
            iconst_2
        14: .line 2289
            aload 0 /* this */
            aload 6 /* signer */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
            aastore
        15: .line 2285
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        16: .line 2290
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        17: .line 2293
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream java.security.cert.CRL java.util.Iterator java.lang.String java.security.cert.Certificate
      StackMap stack:
            aload 5 /* issuer */
            ifnonnull 29
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            ifnull 29
        18: .line 2294
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 3 /* crl */
            invokestatic sun.security.tools.keytool.Main.verifyCRL:(Ljava/security/KeyStore;Ljava/security/cert/CRL;)Ljava/lang/String;
            astore 5 /* issuer */
        19: .line 2295
            aload 5 /* issuer */
            ifnull 29
        20: .line 2296
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 5 /* issuer */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 6 /* signer */
        21: .line 2297
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        22: .line 2298
            ldc "verified.by.s.in.s.weak"
        23: .line 2297
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        24: .line 2299
            aload 5 /* issuer */
            aastore
            dup
            iconst_1
        25: .line 2300
            ldc "keystore"
            aastore
            dup
            iconst_2
        26: .line 2301
            aload 0 /* this */
            aload 6 /* signer */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
            aastore
        27: .line 2297
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        28: .line 2302
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        29: .line 2305
      StackMap locals:
      StackMap stack:
            aload 5 /* issuer */
            ifnonnull 39
        30: .line 2306
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        31: .line 2307
            ldc "STAR"
        32: .line 2306
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 2308
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        34: .line 2309
            ldc "warning.not.verified.make.sure.keystore.is.correct"
        35: .line 2308
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 2310
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 2311
            ldc "STARNN"
        38: .line 2310
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 2313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.crl"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* crl */
            aload 6 /* signer */
            ifnonnull 40
            aconst_null
            goto 41
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream java.security.cert.CRL java.util.Iterator java.lang.String java.security.cert.Certificate
      StackMap stack: sun.security.tools.keytool.Main java.lang.String java.security.cert.CRL
        40: aload 6 /* signer */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream java.security.cert.CRL java.util.Iterator java.lang.String java.security.cert.Certificate
      StackMap stack: sun.security.tools.keytool.Main java.lang.String java.security.cert.CRL java.security.PublicKey
        41: invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/CRL;Ljava/security/Key;)V
        end local 6 // java.security.cert.Certificate signer
        end local 5 // java.lang.String issuer
        end local 3 // java.security.cert.CRL crl
        42: .line 2277
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        43: .line 2315
            return
        end local 2 // java.io.PrintStream out
        end local 1 // java.lang.String src
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   44     0    this  Lsun/security/tools/keytool/Main;
            0   44     1     src  Ljava/lang/String;
            0   44     2     out  Ljava/io/PrintStream;
            2   42     3     crl  Ljava/security/cert/CRL;
            4   42     5  issuer  Ljava/lang/String;
            5   42     6  signer  Ljava/security/cert/Certificate;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      src   
      out   

  private void printCRL(java.security.cert.CRL, java.io.PrintStream);
    descriptor: (Ljava/security/cert/CRL;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.security.cert.CRL crl
        start local 2 // java.io.PrintStream out
         0: .line 2319
            aload 1 /* crl */
            checkcast java.security.cert.X509CRL
            astore 3 /* xcrl */
        start local 3 // java.security.cert.X509CRL xcrl
         1: .line 2320
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 6
         2: .line 2321
            aload 2 /* out */
            ldc "-----BEGIN X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 2322
            new sun.misc.BASE64Encoder
            dup
            invokespecial sun.misc.BASE64Encoder.<init>:()V
            aload 3 /* xcrl */
            invokevirtual java.security.cert.X509CRL.getEncoded:()[B
            aload 2 /* out */
            invokevirtual sun.misc.BASE64Encoder.encodeBuffer:([BLjava/io/OutputStream;)V
         4: .line 2323
            aload 2 /* out */
            ldc "-----END X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 2324
            goto 12
         6: .line 2326
      StackMap locals: java.security.cert.X509CRL
      StackMap stack:
            aload 1 /* crl */
            instanceof sun.security.x509.X509CRLImpl
            ifeq 10
         7: .line 2327
            aload 1 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            astore 5 /* x509crl */
        start local 5 // sun.security.x509.X509CRLImpl x509crl
         8: .line 2328
            aload 5 /* x509crl */
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* x509crl */
            invokevirtual sun.security.x509.X509CRLImpl.getSigAlgId:()Lsun/security/x509/AlgorithmId;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.security.x509.X509CRLImpl.toStringWithAlgName:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* s */
        end local 5 // sun.security.x509.X509CRLImpl x509crl
        start local 4 // java.lang.String s
         9: .line 2329
            goto 11
        end local 4 // java.lang.String s
        10: .line 2330
      StackMap locals:
      StackMap stack:
            aload 1 /* crl */
            invokevirtual java.security.cert.CRL.toString:()Ljava/lang/String;
            astore 4 /* s */
        start local 4 // java.lang.String s
        11: .line 2332
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* out */
            aload 4 /* s */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.String s
        12: .line 2334
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.security.cert.X509CRL xcrl
        end local 2 // java.io.PrintStream out
        end local 1 // java.security.cert.CRL crl
        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      crl  Ljava/security/cert/CRL;
            0   13     2      out  Ljava/io/PrintStream;
            1   13     3     xcrl  Ljava/security/cert/X509CRL;
            9   10     4        s  Ljava/lang/String;
           11   12     4        s  Ljava/lang/String;
            8    9     5  x509crl  Lsun/security/x509/X509CRLImpl;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      crl   
      out   

  private void doPrintCertReq(java.io.InputStream, java.io.PrintStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, 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 2339
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 1 /* in */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 3 /* reader */
        start local 3 // java.io.BufferedReader reader
         1: .line 2340
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuffer sb
         2: .line 2341
            iconst_0
            istore 5 /* started */
        start local 5 // boolean started
         3: .line 2343
      StackMap locals: java.io.BufferedReader java.lang.StringBuffer int
      StackMap stack:
            aload 3 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* s */
        start local 6 // java.lang.String s
         4: .line 2344
            aload 6 /* s */
            ifnonnull 5
            goto 13
         5: .line 2345
      StackMap locals: java.lang.String
      StackMap stack:
            iload 5 /* started */
            ifne 9
         6: .line 2346
            aload 6 /* s */
            ldc "-----"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         7: .line 2347
            iconst_1
            istore 5 /* started */
         8: .line 2349
            goto 3
         9: .line 2350
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            ldc "-----"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 2351
            goto 13
        11: .line 2353
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            aload 6 /* s */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 6 // java.lang.String s
        12: .line 2342
            goto 3
        13: .line 2356
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs10.PKCS10
            dup
            new sun.misc.BASE64Decoder
            dup
            invokespecial sun.misc.BASE64Decoder.<init>:()V
            new java.lang.String
            dup
            aload 4 /* sb */
            invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
            invokevirtual sun.misc.BASE64Decoder.decodeBuffer:(Ljava/lang/String;)[B
            invokespecial sun.security.pkcs10.PKCS10.<init>:([B)V
            astore 6 /* req */
        start local 6 // sun.security.pkcs10.PKCS10 req
        14: .line 2358
            aload 6 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
            astore 7 /* pkey */
        start local 7 // java.security.PublicKey pkey
        15: .line 2359
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "PKCS.10.with.weak"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        16: .line 2360
            aload 6 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectName:()Lsun/security/x509/X500Name;
            aastore
            dup
            iconst_1
        17: .line 2361
            aload 7 /* pkey */
            invokeinterface java.security.PublicKey.getFormat:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        18: .line 2362
            aload 0 /* this */
            aload 7 /* pkey */
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
            aastore
            dup
            iconst_3
        19: .line 2363
            aload 0 /* this */
            aload 6 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSigAlg:()Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        20: .line 2359
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        21: .line 2364
            aload 6 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getAttributes:()Lsun/security/pkcs10/PKCS10Attributes;
            invokevirtual sun.security.pkcs10.PKCS10Attributes.getAttributes:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 31
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey top java.util.Iterator
      StackMap stack:
        22: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs10.PKCS10Attribute
            astore 8 /* attr */
        start local 8 // sun.security.pkcs10.PKCS10Attribute attr
        23: .line 2365
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
            astore 10 /* oid */
        start local 10 // sun.security.util.ObjectIdentifier oid
        24: .line 2366
            aload 10 /* oid */
            getstatic sun.security.pkcs.PKCS9Attribute.EXTENSION_REQUEST_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 29
        25: .line 2367
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
            astore 11 /* exts */
        start local 11 // sun.security.x509.CertificateExtensions exts
        26: .line 2368
            aload 11 /* exts */
            ifnull 31
        27: .line 2369
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Extension.Request."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 11 /* exts */
            aload 2 /* out */
            invokestatic sun.security.tools.keytool.Main.printExtensions:(Ljava/lang/String;Lsun/security/x509/CertificateExtensions;Ljava/io/PrintStream;)V
        end local 11 // sun.security.x509.CertificateExtensions exts
        28: .line 2371
            goto 31
        29: .line 2372
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey sun.security.pkcs10.PKCS10Attribute java.util.Iterator sun.security.util.ObjectIdentifier
      StackMap stack:
            aload 2 /* out */
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        30: .line 2373
            aload 2 /* out */
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 10 // sun.security.util.ObjectIdentifier oid
        end local 8 // sun.security.pkcs10.PKCS10Attribute attr
        31: .line 2364
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        32: .line 2376
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 34
        33: .line 2377
            aload 2 /* out */
            aload 6 /* req */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        34: .line 2379
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey
      StackMap stack:
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.certificate.request"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 6 /* req */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
        35: .line 2380
            return
        end local 7 // java.security.PublicKey pkey
        end local 6 // sun.security.pkcs10.PKCS10 req
        end local 5 // boolean started
        end local 4 // java.lang.StringBuffer sb
        end local 3 // java.io.BufferedReader reader
        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   36     0     this  Lsun/security/tools/keytool/Main;
            0   36     1       in  Ljava/io/InputStream;
            0   36     2      out  Ljava/io/PrintStream;
            1   36     3   reader  Ljava/io/BufferedReader;
            2   36     4       sb  Ljava/lang/StringBuffer;
            3   36     5  started  Z
            4   12     6        s  Ljava/lang/String;
           14   36     6      req  Lsun/security/pkcs10/PKCS10;
           15   36     7     pkey  Ljava/security/PublicKey;
           23   31     8     attr  Lsun/security/pkcs10/PKCS10Attribute;
           24   31    10      oid  Lsun/security/util/ObjectIdentifier;
           26   28    11     exts  Lsun/security/x509/CertificateExtensions;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      in    
      out   

  private void printCertFromStream(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 2389
            aconst_null
            astore 3 /* c */
        start local 3 // java.util.Collection c
         1: .line 2391
            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 2392
            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 2393
            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 2395
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 7
         6: .line 2396
            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 2398
      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 2399
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 27
        10: .line 2400
      StackMap locals: java.security.cert.Certificate[] int
      StackMap stack:
            aconst_null
            astore 6 /* x509Cert */
        start local 6 // java.security.cert.X509Certificate x509Cert
        11: .line 2402
            aload 4 /* certs */
            iload 5 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            astore 6 /* x509Cert */
        12: .line 2403
            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 2404
            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 2406
      StackMap locals:
      StackMap stack:
            aload 4 /* certs */
            arraylength
            iconst_1
            if_icmple 21
        16: .line 2407
            new java.text.MessageFormat
            dup
        17: .line 2408
            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 2407
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        19: .line 2409
            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 2410
            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 2412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 22
            aload 0 /* this */
            aload 6 /* x509Cert */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
            goto 23
        22: .line 2413
      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
        23: .line 2414
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            aload 4 /* certs */
            arraylength
            iconst_1
            isub
            if_icmpge 25
        24: .line 2415
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        25: .line 2417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iload 5 /* i */
            aload 4 /* certs */
            arraylength
            invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
            aload 6 /* x509Cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 6 // java.security.cert.X509Certificate x509Cert
        26: .line 2399
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 5 /* i */
            aload 4 /* certs */
            arraylength
            if_icmplt 10
        end local 5 // int i
        28: .line 2419
            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   29     0      this  Lsun/security/tools/keytool/Main;
            0   29     1        in  Ljava/io/InputStream;
            0   29     2       out  Ljava/io/PrintStream;
            1   29     3         c  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
            4    5     4        ce  Ljava/security/cert/CertificateException;
            8   29     4     certs  [Ljava/security/cert/Certificate;
            9   28     5         i  I
           11   26     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 static java.lang.String oneInMany(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.lang.String label
        start local 1 // int i
        start local 2 // int num
         0: .line 2422
            iload 2 /* num */
            iconst_1
            if_icmpne 2
         1: .line 2423
            aload 0 /* label */
            areturn
         2: .line 2425
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "one.in.many"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* label */
            aastore
            dup
            iconst_1
            iload 1 /* i */
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 2 /* num */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 2 // int num
        end local 1 // int i
        end local 0 // java.lang.String label
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  label  Ljava/lang/String;
            0    3     1      i  I
            0    3     2    num  I
    MethodParameters:
       Name  Flags
      label  
      i      
      num    

  private void doPrintCert(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=19, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.PrintStream out
         0: .line 2430
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
            ifnull 66
         1: .line 2431
            new java.util.jar.JarFile
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
            iconst_1
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;Z)V
            astore 2 /* jf */
        start local 2 // java.util.jar.JarFile jf
         2: .line 2432
            aload 2 /* jf */
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 3 /* entries */
        start local 3 // java.util.Enumeration entries
         3: .line 2433
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* ss */
        start local 4 // java.util.Set ss
         4: .line 2434
            sipush 8192
            newarray 8
            astore 5 /* buffer */
        start local 5 // byte[] buffer
         5: .line 2435
            iconst_0
            istore 6 /* pos */
        start local 6 // int pos
         6: .line 2436
            goto 61
         7: .line 2437
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.jar.JarEntry
            astore 7 /* je */
        start local 7 // java.util.jar.JarEntry je
         8: .line 2438
            aconst_null
            astore 8
            aconst_null
            astore 9
         9: aload 2 /* jf */
            aload 7 /* je */
            invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            astore 10 /* is */
        start local 10 // java.io.InputStream is
        10: .line 2439
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack:
            aload 10 /* is */
            aload 5 /* buffer */
            invokevirtual java.io.InputStream.read:([B)I
            iconst_m1
            if_icmpne 10
        11: .line 2444
            aload 10 /* is */
            ifnull 17
            aload 10 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 8
            aload 10 /* is */
            ifnull 13
            aload 10 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 10 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        13: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 9
            aload 8
            ifnonnull 15
            aload 9
            astore 8
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 8
            aload 9
            if_acmpeq 16
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 8
            athrow
        17: .line 2445
      StackMap locals:
      StackMap stack:
            aload 7 /* je */
            invokevirtual java.util.jar.JarEntry.getCodeSigners:()[Ljava/security/CodeSigner;
            astore 8 /* signers */
        start local 8 // java.security.CodeSigner[] signers
        18: .line 2446
            aload 8 /* signers */
            ifnull 61
        19: .line 2447
            aload 8 /* signers */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 60
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] top int int java.security.CodeSigner[]
      StackMap stack:
        20: aload 12
            iload 10
            aaload
            astore 9 /* signer */
        start local 9 // java.security.CodeSigner signer
        21: .line 2448
            aload 4 /* ss */
            aload 9 /* signer */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 59
        22: .line 2449
            aload 4 /* ss */
            aload 9 /* signer */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        23: .line 2450
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Signer.d."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iinc 6 /* pos */ 1
            iload 6 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        24: .line 2451
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        25: .line 2452
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        26: .line 2453
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Signature."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        27: .line 2454
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        28: .line 2457
            aload 9 /* signer */
            invokevirtual java.security.CodeSigner.getSignerCertPath:()Ljava/security/cert/CertPath;
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
        29: .line 2456
            astore 13 /* certs */
        start local 13 // java.util.List certs
        30: .line 2458
            iconst_0
            istore 14 /* cc */
        start local 14 // int cc
        31: .line 2459
            aload 13 /* certs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 41
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int top java.util.Iterator
      StackMap stack:
        32: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            astore 15 /* cert */
        start local 15 // java.security.cert.Certificate cert
        33: .line 2460
            aload 15 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 17 /* x */
        start local 17 // java.security.cert.X509Certificate x
        34: .line 2461
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 38
        35: .line 2462
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.owner."
            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 17 /* x */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            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
        36: .line 2463
            aload 0 /* this */
            aload 17 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        37: .line 2464
            goto 39
        38: .line 2465
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.cert.Certificate java.util.Iterator java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            aload 17 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        39: .line 2467
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        40: .line 2468
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iload 14 /* cc */
            iinc 14 /* cc */ 1
            aload 13 /* certs */
            invokeinterface java.util.List.size:()I
            invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
            aload 17 /* x */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 17 // java.security.cert.X509Certificate x
        end local 15 // java.security.cert.Certificate cert
        41: .line 2459
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int top java.util.Iterator
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        42: .line 2470
            aload 9 /* signer */
            invokevirtual java.security.CodeSigner.getTimestamp:()Ljava/security/Timestamp;
            astore 15 /* ts */
        start local 15 // java.security.Timestamp ts
        43: .line 2471
            aload 15 /* ts */
            ifnull 59
        44: .line 2472
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Timestamp."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        45: .line 2473
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        46: .line 2474
            aload 15 /* ts */
            invokevirtual java.security.Timestamp.getSignerCertPath:()Ljava/security/cert/CertPath;
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 13 /* certs */
        47: .line 2475
            iconst_0
            istore 14 /* cc */
        48: .line 2476
            aload 13 /* certs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 58
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp top java.util.Iterator
      StackMap stack:
        49: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            astore 16 /* cert */
        start local 16 // java.security.cert.Certificate cert
        50: .line 2477
            aload 16 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 18 /* x */
        start local 18 // java.security.cert.X509Certificate x
        51: .line 2478
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 55
        52: .line 2479
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.owner."
            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 18 /* x */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            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
        53: .line 2480
            aload 0 /* this */
            aload 18 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        54: .line 2481
            goto 56
        55: .line 2482
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp java.security.cert.Certificate java.util.Iterator java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            aload 18 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        56: .line 2484
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        57: .line 2485
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.tsa.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iload 14 /* cc */
            iinc 14 /* cc */ 1
            aload 13 /* certs */
            invokeinterface java.util.List.size:()I
            invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
            aload 18 /* x */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 18 // java.security.cert.X509Certificate x
        end local 16 // java.security.cert.Certificate cert
        58: .line 2476
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 49
        end local 15 // java.security.Timestamp ts
        end local 14 // int cc
        end local 13 // java.util.List certs
        end local 9 // java.security.CodeSigner signer
        59: .line 2447
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] top int int java.security.CodeSigner[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        60: iload 10
            iload 11
            if_icmplt 20
        end local 8 // java.security.CodeSigner[] signers
        end local 7 // java.util.jar.JarEntry je
        61: .line 2436
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 7
        62: .line 2492
            aload 2 /* jf */
            invokevirtual java.util.jar.JarFile.close:()V
        63: .line 2493
            aload 4 /* ss */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 110
        64: .line 2494
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Not.a.signed.jar.file"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // int pos
        end local 5 // byte[] buffer
        end local 4 // java.util.Set ss
        end local 3 // java.util.Enumeration entries
        end local 2 // java.util.jar.JarFile jf
        65: .line 2496
            goto 110
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
      StackMap stack:
        66: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
            ifnull 99
        67: .line 2498
            ldc "SSLServer"
            invokestatic sun.security.provider.certpath.CertStoreHelper.getInstance:(Ljava/lang/String;)Lsun/security/provider/certpath/CertStoreHelper;
            astore 2 /* helper */
        start local 2 // sun.security.provider.certpath.CertStoreHelper helper
        68: .line 2499
            aload 2 /* helper */
            new java.net.URI
            dup
            new java.lang.StringBuilder
            dup
            ldc "https://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.provider.certpath.CertStoreHelper.getCertStore:(Ljava/net/URI;)Ljava/security/cert/CertStore;
            astore 3 /* cs */
        start local 3 // java.security.cert.CertStore cs
        69: .line 2502
            aload 3 /* cs */
            aconst_null
            invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
            astore 4 /* chain */
        start local 4 // java.util.Collection chain
        70: .line 2503
            aload 4 /* chain */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 82
        71: .line 2506
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        72: .line 2507
            ldc "No.certificate.from.the.SSL.server"
        73: .line 2506
            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.util.Collection chain
        74: .line 2509
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore
      StackMap stack: java.security.cert.CertStoreException
            astore 5 /* cse */
        start local 5 // java.security.cert.CertStoreException cse
        75: .line 2510
            aload 5 /* cse */
            invokevirtual java.security.cert.CertStoreException.getCause:()Ljava/lang/Throwable;
            instanceof java.io.IOException
            ifeq 81
        76: .line 2511
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        77: .line 2512
            ldc "No.certificate.from.the.SSL.server"
        78: .line 2511
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        79: .line 2513
            aload 5 /* cse */
            invokevirtual java.security.cert.CertStoreException.getCause:()Ljava/lang/Throwable;
        80: .line 2511
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        81: .line 2515
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore top java.security.cert.CertStoreException
      StackMap stack:
            aload 5 /* cse */
            athrow
        end local 5 // java.security.cert.CertStoreException cse
        start local 4 // java.util.Collection chain
        82: .line 2519
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        83: .line 2520
            aload 4 /* chain */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 97
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection int top java.util.Iterator
      StackMap stack:
        84: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            astore 6 /* cert */
        start local 6 // java.security.cert.Certificate cert
        85: .line 2522
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 88
        86: .line 2523
            aload 0 /* this */
            aload 6 /* cert */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        87: .line 2524
            goto 92
        88: .line 2525
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection int java.security.cert.Certificate java.util.Iterator
      StackMap stack:
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc "Certificate #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        89: .line 2526
            aload 1 /* out */
            ldc "===================================="
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        90: .line 2527
            aload 0 /* this */
            aload 6 /* cert */
            checkcast java.security.cert.X509Certificate
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        91: .line 2528
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        92: .line 2530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iload 5 /* i */
            aload 4 /* chain */
            invokeinterface java.util.Collection.size:()I
            invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
            aload 6 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        93: .line 2531
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        94: astore 8 /* e */
        start local 8 // java.lang.Exception e
        95: .line 2532
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 97
        96: .line 2533
            aload 8 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 8 // java.lang.Exception e
        end local 6 // java.security.cert.Certificate cert
        97: .line 2520
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 84
        end local 5 // int i
        end local 4 // java.util.Collection chain
        end local 3 // java.security.cert.CertStore cs
        end local 2 // sun.security.provider.certpath.CertStoreHelper helper
        98: .line 2537
            goto 110
        99: .line 2538
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 109
       100: .line 2539
            aconst_null
            astore 2
            aconst_null
            astore 3
       101: 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 4 /* inStream */
        start local 4 // java.io.FileInputStream inStream
       102: .line 2540
            aload 0 /* this */
            aload 4 /* inStream */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.printCertFromStream:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
       103: .line 2541
            aload 4 /* inStream */
            ifnull 110
            aload 4 /* inStream */
            invokevirtual java.io.FileInputStream.close:()V
            goto 110
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.Throwable java.lang.Throwable java.io.FileInputStream
      StackMap stack: java.lang.Throwable
       104: astore 2
            aload 4 /* inStream */
            ifnull 105
            aload 4 /* inStream */
            invokevirtual java.io.FileInputStream.close:()V
        end local 4 // java.io.FileInputStream inStream
      StackMap locals:
      StackMap stack:
       105: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       106: astore 3
            aload 2
            ifnonnull 107
            aload 3
            astore 2
            goto 108
      StackMap locals:
      StackMap stack:
       107: aload 2
            aload 3
            if_acmpeq 108
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       108: aload 2
            athrow
       109: .line 2543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.printCertFromStream:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
       110: .line 2546
      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  111     0      this  Lsun/security/tools/keytool/Main;
            0  111     1       out  Ljava/io/PrintStream;
            2   65     2        jf  Ljava/util/jar/JarFile;
            3   65     3   entries  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
            4   65     4        ss  Ljava/util/Set<Ljava/security/CodeSigner;>;
            5   65     5    buffer  [B
            6   65     6       pos  I
            8   61     7        je  Ljava/util/jar/JarEntry;
           10   13    10        is  Ljava/io/InputStream;
           18   61     8   signers  [Ljava/security/CodeSigner;
           21   59     9    signer  Ljava/security/CodeSigner;
           30   59    13     certs  Ljava/util/List<+Ljava/security/cert/Certificate;>;
           31   59    14        cc  I
           33   41    15      cert  Ljava/security/cert/Certificate;
           34   41    17         x  Ljava/security/cert/X509Certificate;
           43   59    15        ts  Ljava/security/Timestamp;
           50   58    16      cert  Ljava/security/cert/Certificate;
           51   58    18         x  Ljava/security/cert/X509Certificate;
           68   98     2    helper  Lsun/security/provider/certpath/CertStoreHelper;
           69   98     3        cs  Ljava/security/cert/CertStore;
           70   74     4     chain  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
           82   98     4     chain  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
           75   82     5       cse  Ljava/security/cert/CertStoreException;
           83   98     5         i  I
           85   97     6      cert  Ljava/security/cert/Certificate;
           95   97     8         e  Ljava/lang/Exception;
          102  105     4  inStream  Ljava/io/FileInputStream;
      Exception table:
        from    to  target  type
          10    11      12  any
           9    14      14  any
          69    74      74  Class java.security.cert.CertStoreException
          85    93      94  Class java.lang.Exception
         102   103     104  any
         101   106     106  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      out   final

  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=17, 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 2554
            aload 1 /* alias */
            ifnonnull 2
         1: .line 2555
            ldc "mykey"
            astore 1 /* alias */
         2: .line 2558
      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)Lsun/security/tools/keytool/Pair;
            astore 4 /* objs */
        start local 4 // sun.security.tools.keytool.Pair objs
         3: .line 2559
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.security.PrivateKey
            astore 5 /* privKey */
        start local 5 // java.security.PrivateKey privKey
         4: .line 2560
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 2561
            aload 0 /* this */
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
         6: .line 2564
      StackMap locals: sun.security.tools.keytool.Pair java.security.PrivateKey
      StackMap stack:
            aload 3 /* sigAlgName */
            ifnonnull 8
         7: .line 2565
            aload 5 /* privKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* sigAlgName */
         8: .line 2569
      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
         9: .line 2570
            aload 6 /* oldCert */
            ifnonnull 15
        10: .line 2571
            new java.text.MessageFormat
            dup
        11: .line 2572
            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;
        12: .line 2571
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        13: .line 2573
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        14: .line 2574
            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
        15: .line 2576
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 6 /* oldCert */
            instanceof java.security.cert.X509Certificate
            ifne 21
        16: .line 2577
            new java.text.MessageFormat
            dup
        17: .line 2578
            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;
        18: .line 2577
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        19: .line 2579
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        20: .line 2580
            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
        21: .line 2585
      StackMap locals:
      StackMap stack:
            aload 6 /* oldCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 7 /* encoded */
        start local 7 // byte[] encoded
        22: .line 2586
            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
        23: .line 2587
            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
        24: .line 2592
            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
        25: .line 2593
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 11 /* lastDate */
        start local 11 // java.util.Date lastDate
        26: .line 2594
            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
        27: .line 2595
            new sun.security.x509.CertificateValidity
            dup
            aload 10 /* firstDate */
        28: .line 2596
            aload 11 /* lastDate */
        29: .line 2595
            invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
            astore 12 /* interval */
        start local 12 // sun.security.x509.CertificateValidity interval
        30: .line 2597
            aload 9 /* certInfo */
            ldc "validity"
            aload 12 /* interval */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        31: .line 2600
            aload 9 /* certInfo */
            ldc "serialNumber"
            new sun.security.x509.CertificateSerialNumber
            dup
        32: .line 2601
            new java.util.Random
            dup
            invokespecial java.util.Random.<init>:()V
            invokevirtual java.util.Random.nextInt:()I
            ldc 2147483647
            iand
            invokespecial sun.security.x509.CertificateSerialNumber.<init>:(I)V
        33: .line 2600
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        34: .line 2605
            aload 2 /* dname */
            ifnonnull 37
        35: .line 2607
            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
        36: .line 2609
            goto 41
        end local 13 // sun.security.x509.X500Name owner
        37: .line 2611
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String sun.security.tools.keytool.Pair 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
        38: .line 2612
            aload 9 /* certInfo */
            ldc "subject.dname"
        39: .line 2613
            aload 13 /* owner */
        40: .line 2612
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        41: .line 2616
      StackMap locals: sun.security.x509.X500Name
      StackMap stack:
            aload 9 /* certInfo */
            ldc "issuer.dname"
        42: .line 2617
            aload 13 /* owner */
        43: .line 2616
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        44: .line 2623
            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
        45: .line 2624
            aload 14 /* newCert */
            aload 5 /* privKey */
            aload 3 /* sigAlgName */
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
        46: .line 2625
            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
        47: .line 2626
            aload 9 /* certInfo */
            ldc "algorithmID.algorithm"
        48: .line 2627
            aload 15 /* sigAlgid */
        49: .line 2626
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        50: .line 2629
            aload 9 /* certInfo */
            ldc "version"
        51: .line 2630
            new sun.security.x509.CertificateVersion
            dup
            iconst_2
            invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
        52: .line 2629
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        53: .line 2632
            aload 0 /* this */
        54: .line 2633
            aconst_null
        55: .line 2634
            aload 9 /* certInfo */
            ldc "extensions"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
        56: .line 2635
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        57: .line 2636
            aload 6 /* oldCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        58: .line 2637
            aconst_null
        59: .line 2632
            invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
            astore 16 /* ext */
        start local 16 // sun.security.x509.CertificateExtensions ext
        60: .line 2638
            aload 9 /* certInfo */
            ldc "extensions"
            aload 16 /* ext */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        61: .line 2640
            new sun.security.x509.X509CertImpl
            dup
            aload 9 /* certInfo */
            invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
            astore 14 /* newCert */
        62: .line 2641
            aload 14 /* newCert */
            aload 5 /* privKey */
            aload 3 /* sigAlgName */
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
        63: .line 2644
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 5 /* privKey */
        64: .line 2645
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 65
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            goto 66
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String sun.security.tools.keytool.Pair 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 sun.security.x509.CertificateExtensions
      StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey
        65: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
        66: .line 2646
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String sun.security.tools.keytool.Pair 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 sun.security.x509.CertificateExtensions
      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
        67: .line 2644
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        68: .line 2648
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 72
        69: .line 2649
            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
        70: .line 2650
            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
        71: .line 2651
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        72: .line 2653
      StackMap locals:
      StackMap stack:
            return
        end local 16 // sun.security.x509.CertificateExtensions ext
        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 // sun.security.tools.keytool.Pair 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   73     0        this  Lsun/security/tools/keytool/Main;
            0   73     1       alias  Ljava/lang/String;
            0   73     2       dname  Ljava/lang/String;
            0   73     3  sigAlgName  Ljava/lang/String;
            3   73     4        objs  Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
            4   73     5     privKey  Ljava/security/PrivateKey;
            9   73     6     oldCert  Ljava/security/cert/Certificate;
           13   15     7        form  Ljava/text/MessageFormat;
           14   15     8      source  [Ljava/lang/Object;
           19   21     7        form  Ljava/text/MessageFormat;
           20   21     8      source  [Ljava/lang/Object;
           22   73     7     encoded  [B
           23   73     8    certImpl  Lsun/security/x509/X509CertImpl;
           24   73     9    certInfo  Lsun/security/x509/X509CertInfo;
           25   73    10   firstDate  Ljava/util/Date;
           26   73    11    lastDate  Ljava/util/Date;
           30   73    12    interval  Lsun/security/x509/CertificateValidity;
           36   37    13       owner  Lsun/security/x509/X500Name;
           38   73    13       owner  Lsun/security/x509/X500Name;
           45   73    14     newCert  Lsun/security/x509/X509CertImpl;
           47   73    15    sigAlgid  Lsun/security/x509/AlgorithmId;
           60   73    16         ext  Lsun/security/x509/CertificateExtensions;
    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 2672
            aload 1 /* alias */
            ifnonnull 2
         1: .line 2673
            ldc "mykey"
            astore 1 /* alias */
         2: .line 2676
      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)Lsun/security/tools/keytool/Pair;
            astore 3 /* objs */
        start local 3 // sun.security.tools.keytool.Pair objs
         3: .line 2677
            aload 3 /* objs */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.security.PrivateKey
            astore 4 /* privKey */
        start local 4 // java.security.PrivateKey privKey
         4: .line 2678
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 2679
            aload 0 /* this */
            aload 3 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast char[]
            putfield sun.security.tools.keytool.Main.keyPass:[C
         6: .line 2682
      StackMap locals: sun.security.tools.keytool.Pair 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 2683
            aload 5 /* userCert */
            ifnonnull 13
         8: .line 2684
            new java.text.MessageFormat
            dup
         9: .line 2685
            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 2684
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        11: .line 2686
            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 2687
            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 2691
      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 2692
            aload 6 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 16
        15: .line 2693
            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 2695
      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 2697
            aload 7 /* replyCerts */
            arraylength
            iconst_1
            if_icmpne 20
        18: .line 2699
            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 2700
            goto 21
        end local 8 // java.security.cert.Certificate[] newChain
        20: .line 2702
      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 2707
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 8 /* newChain */
            ifnull 28
        22: .line 2708
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 4 /* privKey */
        23: .line 2709
            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 sun.security.tools.keytool.Pair 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 2710
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream sun.security.tools.keytool.Pair 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 2708
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        27: .line 2711
            iconst_1
            ireturn
        28: .line 2713
      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 // sun.security.tools.keytool.Pair 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  Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
            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 2725
            aload 1 /* alias */
            ifnonnull 2
         1: .line 2726
            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 2728
      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 2729
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 2730
            ldc "Certificate.not.imported.alias.alias.already.exists"
         5: .line 2729
            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 2731
            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 2732
            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 2736
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
         9: .line 2738
            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 2739
            goto 13
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream java.security.cert.X509Certificate
      StackMap stack: java.lang.Exception
        11: pop
        12: .line 2740
            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 2743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 17
        14: .line 2744
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.input"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        15: .line 2745
            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
        16: .line 2746
            iconst_1
            ireturn
        17: .line 2750
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* selfSigned */
        start local 4 // boolean selfSigned
        18: .line 2751
            aload 3 /* cert */
            invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifeq 21
        19: .line 2752
            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
        20: .line 2753
            iconst_1
            istore 4 /* selfSigned */
        21: .line 2757
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 5 /* reply */
        start local 5 // java.lang.String reply
        22: .line 2758
            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
        23: .line 2759
            aload 6 /* trustalias */
            ifnull 35
        24: .line 2760
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        25: .line 2761
            ldc "Certificate.already.exists.in.keystore.under.alias.trustalias."
        26: .line 2760
            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
        27: .line 2762
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* trustalias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        28: .line 2763
            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
        29: .line 2764
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.input"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        30: .line 2765
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        31: .line 2766
            aload 0 /* this */
        32: .line 2767
            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;
        33: .line 2766
            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
        34: .line 2768
            goto 55
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        35: iload 4 /* selfSigned */
            ifeq 55
        36: .line 2769
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 48
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 48
        37: .line 2770
            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 48
        38: .line 2771
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        39: .line 2772
            ldc "Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias."
        40: .line 2771
            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
        41: .line 2773
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* trustalias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        42: .line 2774
            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
        43: .line 2775
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.input"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        44: .line 2776
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        45: .line 2777
            aload 0 /* this */
        46: .line 2778
            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;
        47: .line 2777
            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
        48: .line 2780
      StackMap locals:
      StackMap stack:
            aload 6 /* trustalias */
            ifnonnull 55
        49: .line 2783
            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
        50: .line 2784
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.input"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        51: .line 2785
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        52: .line 2786
            aload 0 /* this */
        53: .line 2787
            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;
        54: .line 2786
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        55: .line 2790
      StackMap locals:
      StackMap stack:
            aload 5 /* reply */
            ifnull 60
        56: .line 2791
            ldc "YES"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 59
        57: .line 2792
            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 2793
            iconst_1
            ireturn
        59: .line 2795
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        60: .line 2802
      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
        61: .line 2803
            aload 7 /* chain */
            ifnull 75
        62: .line 2804
            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
        63: .line 2805
            iconst_1
            ireturn
        end local 7 // java.security.cert.Certificate[] chain
        64: .line 2807
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        65: .line 2810
            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
        66: .line 2811
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.input"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        67: .line 2812
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        68: .line 2813
            aload 0 /* this */
        69: .line 2814
            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;
        70: .line 2813
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        71: .line 2815
            ldc "YES"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 74
        72: .line 2816
            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
        73: .line 2817
            iconst_1
            ireturn
        74: .line 2819
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        75: .line 2823
      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   76     0        this  Lsun/security/tools/keytool/Main;
            0   76     1       alias  Ljava/lang/String;
            0   76     2          in  Ljava/io/InputStream;
            6    8     3        form  Ljava/text/MessageFormat;
            7    8     4      source  [Ljava/lang/Object;
            9   76     3        cert  Ljava/security/cert/X509Certificate;
           18   76     4  selfSigned  Z
           22   76     5       reply  Ljava/lang/String;
           23   76     6  trustalias  Ljava/lang/String;
           27   34     7        form  Ljava/text/MessageFormat;
           28   34     8      source  [Ljava/lang/Object;
           41   48     7        form  Ljava/text/MessageFormat;
           42   48     8      source  [Ljava/lang/Object;
           61   64     7       chain  [Ljava/security/cert/Certificate;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.ClassCastException
           9    10      11  Class java.security.cert.CertificateException
          60    63      64  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 2836
            aconst_null
            astore 3 /* entered */
        start local 3 // char[] entered
         1: .line 2837
            aconst_null
            astore 4 /* reentered */
        start local 4 // char[] reentered
         2: .line 2839
            iconst_0
            istore 5 /* count */
        start local 5 // int count
         3: goto 40
         4: .line 2840
      StackMap locals: char[] char[] int
      StackMap stack:
            new java.text.MessageFormat
            dup
         5: .line 2841
            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 2840
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
         7: .line 2842
            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 2843
            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 2844
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 3 /* entered */
        10: .line 2845
            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 2846
            aload 3 /* entered */
            ifnull 12
            aload 3 /* entered */
            arraylength
            bipush 6
            if_icmpge 16
        12: .line 2847
      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 2848
            ldc "Password.is.too.short.must.be.at.least.6.characters"
        14: .line 2847
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 2849
            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 2850
            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 2851
            goto 33
        19: .line 2852
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        20: .line 2853
            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 2852
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        22: .line 2854
            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 2855
            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 2856
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 4 /* reentered */
        25: .line 2857
            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 2858
            aload 3 /* entered */
            aload 4 /* reentered */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 31
        27: .line 2859
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        28: .line 2860
            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 2859
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        30: .line 2861
            goto 33
        31: .line 2862
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 4 /* reentered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        32: .line 2863
            aload 3 /* entered */
            areturn
        end local 8 // java.lang.Object[] src
        33: .line 2866
      StackMap locals:
      StackMap stack:
            aload 3 /* entered */
            ifnull 36
        34: .line 2867
            aload 3 /* entered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        35: .line 2868
            aconst_null
            astore 3 /* entered */
        36: .line 2870
      StackMap locals:
      StackMap stack:
            aload 4 /* reentered */
            ifnull 39
        37: .line 2871
            aload 4 /* reentered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        38: .line 2872
            aconst_null
            astore 4 /* reentered */
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        39: .line 2839
      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 2875
            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 2884
            aload 1 /* prompt */
            ifnull 7
         1: .line 2885
            new java.text.MessageFormat
            dup
         2: .line 2886
            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 2885
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         4: .line 2887
            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 2888
            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 2889
            goto 8
         7: .line 2890
      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 2892
      StackMap locals:
      StackMap stack:
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         9: .line 2893
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
        10: .line 2892
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        11: .line 2893
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
        12: .line 2892
            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 2902
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* prompt */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 2903
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         2: .line 2904
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
         3: .line 2903
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
         4: .line 2904
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
         5: .line 2903
            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 2915
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         1: .line 2916
            aconst_null
            astore 5 /* keyPass */
        start local 5 // char[] keyPass
         2: .line 2919
      StackMap locals: int char[]
      StackMap stack:
            aload 3 /* otherKeyPass */
            ifnull 14
         3: .line 2920
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 2921
            ldc "Enter.key.password.for.alias."
         5: .line 2920
            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 2922
            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 2923
            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 2925
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 2926
            ldc ".RETURN.if.same.as.for.otherAlias."
        10: .line 2925
            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 2927
            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 2928
            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 2929
            goto 19
        14: .line 2930
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 2931
            ldc "Enter.key.password.for.alias."
        16: .line 2930
            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 2932
            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 2933
            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 2935
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        20: .line 2936
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 5 /* keyPass */
        21: .line 2937
            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 2938
            aload 5 /* keyPass */
            ifnonnull 24
        23: .line 2939
            aload 3 /* otherKeyPass */
            astore 5 /* keyPass */
        24: .line 2941
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
        25: .line 2942
            aload 5 /* keyPass */
            ifnonnull 27
            iload 4 /* count */
            iconst_3
        26: .line 2918
            if_icmplt 2
        27: .line 2944
      StackMap locals:
      StackMap stack:
            aload 5 /* keyPass */
            ifnonnull 29
        28: .line 2945
            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 2948
      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 java.lang.String withWeak(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 alg
         0: .line 2952
            getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
            getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
            aload 1 /* alg */
            aconst_null
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
            ifeq 2
         1: .line 2953
            aload 1 /* alg */
            areturn
         2: .line 2955
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "with.weak"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alg */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String alg
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/tools/keytool/Main;
            0    3     1   alg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      alg   

  private java.lang.String withWeak(java.security.PublicKey);
    descriptor: (Ljava/security/PublicKey;)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.security.PublicKey key
         0: .line 2960
            getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
            getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
            aload 1 /* key */
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
            ifeq 4
         1: .line 2961
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "key.bit"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 2962
            aload 1 /* key */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* key */
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            aastore
         3: .line 2961
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         4: .line 2964
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "key.bit.weak"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 2965
            aload 1 /* key */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* key */
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            aastore
         6: .line 2964
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.security.PublicKey key
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/tools/keytool/Main;
            0    7     1   key  Ljava/security/PublicKey;
    MethodParameters:
      Name  Flags
      key   

  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 2993
            new java.text.MessageFormat
            dup
         1: .line 2994
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".PATTERN.printX509Cert.with.weak"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 2993
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         3: .line 2995
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 4 /* pkey */
        start local 4 // java.security.PublicKey pkey
         4: .line 2996
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
            astore 5 /* sigName */
        start local 5 // java.lang.String sigName
         5: .line 2998
            aload 0 /* this */
            aload 1 /* cert */
            invokevirtual sun.security.tools.keytool.Main.isTrustedCert:(Ljava/security/cert/Certificate;)Z
            ifne 7
         6: .line 2999
            aload 0 /* this */
            aload 5 /* sigName */
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sigName */
         7: .line 3001
      StackMap locals: java.text.MessageFormat java.security.PublicKey java.lang.String
      StackMap stack:
            bipush 11
            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
         8: .line 3002
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            invokeinterface java.security.Principal.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_2
         9: .line 3003
            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
        10: .line 3004
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getNotBefore:()Ljava/util/Date;
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_4
        11: .line 3005
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getNotAfter:()Ljava/util/Date;
            invokevirtual java.util.Date.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_5
        12: .line 3006
            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
        13: .line 3007
            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
        14: .line 3008
            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
        15: .line 3009
            aload 5 /* sigName */
            aastore
            dup
            bipush 9
        16: .line 3010
            aload 0 /* this */
            aload 4 /* pkey */
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
            aastore
            dup
            bipush 10
        17: .line 3011
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getVersion:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        18: .line 3001
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        19: .line 3013
            aload 2 /* out */
            aload 3 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        20: .line 3015
            aload 1 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 27
        21: .line 3016
            aload 1 /* cert */
            checkcast sun.security.x509.X509CertImpl
            astore 7 /* impl */
        start local 7 // sun.security.x509.X509CertImpl impl
        22: .line 3017
            aload 7 /* impl */
            ldc "x509.info"
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.X509CertInfo
            astore 8 /* certInfo */
        start local 8 // sun.security.x509.X509CertInfo certInfo
        23: .line 3021
            aload 8 /* certInfo */
            ldc "extensions"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
        24: .line 3020
            checkcast sun.security.x509.CertificateExtensions
            astore 9 /* exts */
        start local 9 // sun.security.x509.CertificateExtensions exts
        25: .line 3022
            aload 9 /* exts */
            ifnull 27
        26: .line 3023
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Extensions."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 9 /* exts */
            aload 2 /* out */
            invokestatic sun.security.tools.keytool.Main.printExtensions:(Ljava/lang/String;Lsun/security/x509/CertificateExtensions;Ljava/io/PrintStream;)V
        end local 9 // sun.security.x509.CertificateExtensions exts
        end local 8 // sun.security.x509.X509CertInfo certInfo
        end local 7 // sun.security.x509.X509CertImpl impl
        27: .line 3026
      StackMap locals: java.lang.Object[]
      StackMap stack:
            return
        end local 6 // java.lang.Object[] source
        end local 5 // java.lang.String sigName
        end local 4 // java.security.PublicKey pkey
        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   28     0      this  Lsun/security/tools/keytool/Main;
            0   28     1      cert  Ljava/security/cert/X509Certificate;
            0   28     2       out  Ljava/io/PrintStream;
            3   28     3      form  Ljava/text/MessageFormat;
            4   28     4      pkey  Ljava/security/PublicKey;
            5   28     5   sigName  Ljava/lang/String;
           19   28     6    source  [Ljava/lang/Object;
           22   27     7      impl  Lsun/security/x509/X509CertImpl;
           23   27     8  certInfo  Lsun/security/x509/X509CertInfo;
           25   27     9      exts  Lsun/security/x509/CertificateExtensions;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      cert  
      out   

  private static void printExtensions(java.lang.String, sun.security.x509.CertificateExtensions, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Lsun/security/x509/CertificateExtensions;Ljava/io/PrintStream;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.lang.String title
        start local 1 // sun.security.x509.CertificateExtensions exts
        start local 2 // java.io.PrintStream out
         0: .line 3030
            iconst_0
            istore 3 /* extnum */
        start local 3 // int extnum
         1: .line 3031
            aload 1 /* exts */
            invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4 /* i1 */
        start local 4 // java.util.Iterator i1
         2: .line 3032
            aload 1 /* exts */
            invokevirtual sun.security.x509.CertificateExtensions.getUnparseableExtensions:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* i2 */
        start local 5 // java.util.Iterator i2
         3: .line 3033
            goto 20
         4: .line 3034
      StackMap locals: int java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 4 /* i1 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 5
            aload 4 /* i1 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 5 /* i2 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.Extension
      StackMap locals:
      StackMap stack: sun.security.x509.Extension
         6: astore 6 /* ext */
        start local 6 // sun.security.x509.Extension ext
         7: .line 3035
            iload 3 /* extnum */
            ifne 11
         8: .line 3036
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
         9: .line 3037
            aload 2 /* out */
            aload 0 /* title */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 3038
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        11: .line 3040
      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 3 /* extnum */ 1
            iload 3 /* extnum */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* ext */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        12: .line 3041
            aload 6 /* ext */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lsun/security/x509/Extension;
            if_acmpne 19
        13: .line 3042
            aload 6 /* ext */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            astore 7 /* v */
        start local 7 // byte[] v
        14: .line 3043
            aload 7 /* v */
            arraylength
            ifne 17
        15: .line 3044
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".Empty.value."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        16: .line 3045
            goto 19
        17: .line 3046
      StackMap locals: byte[]
      StackMap stack:
            new sun.misc.HexDumpEncoder
            dup
            invokespecial sun.misc.HexDumpEncoder.<init>:()V
            aload 6 /* ext */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            aload 2 /* out */
            invokevirtual sun.misc.HexDumpEncoder.encodeBuffer:([BLjava/io/OutputStream;)V
        18: .line 3047
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        end local 7 // byte[] v
        19: .line 3050
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        end local 6 // sun.security.x509.Extension ext
        20: .line 3033
      StackMap locals:
      StackMap stack:
            aload 4 /* i1 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
            aload 5 /* i2 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        21: .line 3052
            return
        end local 5 // java.util.Iterator i2
        end local 4 // java.util.Iterator i1
        end local 3 // int extnum
        end local 2 // java.io.PrintStream out
        end local 1 // sun.security.x509.CertificateExtensions exts
        end local 0 // java.lang.String title
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   22     0   title  Ljava/lang/String;
            0   22     1    exts  Lsun/security/x509/CertificateExtensions;
            0   22     2     out  Ljava/io/PrintStream;
            1   22     3  extnum  I
            2   22     4      i1  Ljava/util/Iterator<Lsun/security/x509/Extension;>;
            3   22     5      i2  Ljava/util/Iterator<Lsun/security/x509/Extension;>;
            7   20     6     ext  Lsun/security/x509/Extension;
           14   19     7       v  [B
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      title  
      exts   
      out    

  private static sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.Certificate> getSigner(java.security.cert.Certificate, java.security.KeyStore);
    descriptor: (Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.security.cert.Certificate cert
        start local 1 // java.security.KeyStore ks
         0: .line 3065
            aload 1 /* ks */
            aload 0 /* cert */
            invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
            ifnull 2
         1: .line 3066
            new sun.security.tools.keytool.Pair
            dup
            ldc ""
            aload 0 /* cert */
            invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            areturn
         2: .line 3068
      StackMap locals:
      StackMap stack:
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 2 /* aliases */
        start local 2 // java.util.Enumeration aliases
         3: .line 3069
            goto 11
         4: .line 3070
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* aliases */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         5: .line 3071
            aload 1 /* ks */
            aload 3 /* name */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 4 /* trustedCert */
        start local 4 // java.security.cert.Certificate trustedCert
         6: .line 3072
            aload 4 /* trustedCert */
            ifnull 11
         7: .line 3074
            aload 0 /* cert */
            aload 4 /* trustedCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual java.security.cert.Certificate.verify:(Ljava/security/PublicKey;)V
         8: .line 3075
            new sun.security.tools.keytool.Pair
            dup
            aload 3 /* name */
            aload 4 /* trustedCert */
            invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: areturn
        10: .line 3076
      StackMap locals: java.security.cert.Certificate java.security.KeyStore java.util.Enumeration java.lang.String java.security.cert.Certificate
      StackMap stack: java.lang.Exception
            pop
        end local 4 // java.security.cert.Certificate trustedCert
        end local 3 // java.lang.String name
        11: .line 3069
      StackMap locals:
      StackMap stack:
            aload 2 /* aliases */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 2 // java.util.Enumeration aliases
        12: .line 3081
            aconst_null
            areturn
        end local 1 // java.security.KeyStore ks
        end local 0 // java.security.cert.Certificate cert
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         cert  Ljava/security/cert/Certificate;
            0   13     1           ks  Ljava/security/KeyStore;
            3   12     2      aliases  Ljava/util/Enumeration<Ljava/lang/String;>;
            5   11     3         name  Ljava/lang/String;
            6   11     4  trustedCert  Ljava/security/cert/Certificate;
      Exception table:
        from    to  target  type
           7     9      10  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/Certificate;>;
    MethodParameters:
      Name  Flags
      cert  
      ks    

  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 3089
            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 3090
            ldc "Unknown"
            astore 2 /* commonName */
        start local 2 // java.lang.String commonName
         2: .line 3091
            ldc "Unknown"
            astore 3 /* organizationalUnit */
        start local 3 // java.lang.String organizationalUnit
         3: .line 3092
            ldc "Unknown"
            astore 4 /* organization */
        start local 4 // java.lang.String organization
         4: .line 3093
            ldc "Unknown"
            astore 5 /* city */
        start local 5 // java.lang.String city
         5: .line 3094
            ldc "Unknown"
            astore 6 /* state */
        start local 6 // java.lang.String state
         6: .line 3095
            ldc "Unknown"
            astore 7 /* country */
        start local 7 // java.lang.String country
         7: .line 3097
            aconst_null
            astore 9 /* userInput */
        start local 9 // java.lang.String userInput
         8: .line 3099
            bipush 20
            istore 10 /* maxRetry */
        start local 10 // int maxRetry
         9: .line 3101
      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 3102
            new java.lang.RuntimeException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        11: .line 3103
            ldc "Too.many.retries.program.terminated"
        12: .line 3102
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 3105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
        14: .line 3106
            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 3107
            aload 2 /* commonName */
        16: .line 3105
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* commonName */
        17: .line 3108
            aload 0 /* this */
            aload 1 /* in */
        18: .line 3109
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        19: .line 3110
            ldc "What.is.the.name.of.your.organizational.unit."
        20: .line 3109
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        21: .line 3111
            aload 3 /* organizationalUnit */
        22: .line 3108
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* organizationalUnit */
        23: .line 3112
            aload 0 /* this */
            aload 1 /* in */
        24: .line 3113
            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 3114
            aload 4 /* organization */
        26: .line 3112
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* organization */
        27: .line 3115
            aload 0 /* this */
            aload 1 /* in */
        28: .line 3116
            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 3117
            aload 5 /* city */
        30: .line 3115
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* city */
        31: .line 3118
            aload 0 /* this */
            aload 1 /* in */
        32: .line 3119
            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 3120
            aload 6 /* state */
        34: .line 3118
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* state */
        35: .line 3121
            aload 0 /* this */
            aload 1 /* in */
        36: .line 3122
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 3123
            ldc "What.is.the.two.letter.country.code.for.this.unit."
        38: .line 3122
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        39: .line 3124
            aload 7 /* country */
        40: .line 3121
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* country */
        41: .line 3125
            new sun.security.x509.X500Name
            dup
            aload 2 /* commonName */
            aload 3 /* organizationalUnit */
            aload 4 /* organization */
        42: .line 3126
            aload 5 /* city */
            aload 6 /* state */
            aload 7 /* country */
        43: .line 3125
            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 3127
            new java.text.MessageFormat
            dup
        45: .line 3128
            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 3127
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        47: .line 3129
            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 3130
            aload 0 /* this */
        49: .line 3131
            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 3130
            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 3132
            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 3133
            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 3135
      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 3136
            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 3143
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* prompt */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 3144
            new java.text.MessageFormat
            dup
         2: .line 3145
            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 3144
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         4: .line 3146
            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 3147
            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 3148
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         7: .line 3150
            aload 1 /* in */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
         8: .line 3151
            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 3152
      StackMap locals: java.text.MessageFormat java.lang.Object[] java.lang.String
      StackMap stack:
            aload 3 /* defaultValue */
            astore 6 /* value */
        10: .line 3154
      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 3164
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 6
         1: .line 3165
            new sun.misc.BASE64Encoder
            dup
            invokespecial sun.misc.BASE64Encoder.<init>:()V
            astore 3 /* encoder */
        start local 3 // sun.misc.BASE64Encoder encoder
         2: .line 3166
            aload 2 /* out */
            ldc "-----BEGIN CERTIFICATE-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 3167
            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 3168
            aload 2 /* out */
            ldc "-----END CERTIFICATE-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // sun.misc.BASE64Encoder encoder
         5: .line 3169
            goto 7
         6: .line 3170
      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 3172
      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 3178
            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 3179
            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 3178
            astore 3 /* hexChars */
        start local 3 // char[] hexChars
         3: .line 3180
            iload 1 /* b */
            sipush 240
            iand
            iconst_4
            ishr
            istore 4 /* high */
        start local 4 // int high
         4: .line 3181
            iload 1 /* b */
            bipush 15
            iand
            istore 5 /* low */
        start local 5 // int low
         5: .line 3182
            aload 2 /* buf */
            aload 3 /* hexChars */
            iload 4 /* high */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 3183
            aload 2 /* buf */
            aload 3 /* hexChars */
            iload 5 /* low */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 3184
            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 3190
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         1: .line 3191
            aload 1 /* block */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: .line 3192
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 3193
      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 3194
            iload 4 /* i */
            iload 3 /* len */
            iconst_1
            isub
            if_icmpge 7
         6: .line 3195
            aload 2 /* buf */
            ldc ":"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 3192
      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 3198
            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 sun.security.tools.keytool.Pair<java.security.Key, char[]> recoverKey(java.lang.String, char[], char[]);
    descriptor: (Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair;
    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 3212
            aconst_null
            astore 4 /* key */
        start local 4 // java.security.Key key
         1: .line 3214
            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 3215
            new java.text.MessageFormat
            dup
         3: .line 3216
            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 3215
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         5: .line 3217
            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 3218
            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 3220
      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 3221
            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 3222
            new java.text.MessageFormat
            dup
        10: .line 3223
            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 3222
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        12: .line 3224
            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 3225
            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 3228
      StackMap locals:
      StackMap stack:
            aload 3 /* keyPass */
            ifnonnull 25
        15: .line 3231
            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 3233
            aload 2 /* storePass */
            astore 3 /* keyPass */
        17: .line 3234
            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 3235
            goto 26
      StackMap locals:
      StackMap stack: java.security.UnrecoverableKeyException
        19: astore 5 /* e */
        start local 5 // java.security.UnrecoverableKeyException e
        20: .line 3237
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 24
        21: .line 3238
            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 3239
            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 3240
            goto 26
        24: .line 3241
      StackMap locals: java.security.UnrecoverableKeyException
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // java.security.UnrecoverableKeyException e
        25: .line 3245
      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 3248
      StackMap locals:
      StackMap stack:
            aload 4 /* key */
            aload 3 /* keyPass */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
            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
    Signature: (Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
    MethodParameters:
           Name  Flags
      alias      
      storePass  
      keyPass    

  private sun.security.tools.keytool.Pair<java.security.KeyStore$Entry, char[]> recoverEntry(java.security.KeyStore, java.lang.String, char[], char[]);
    descriptor: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair;
    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 3263
            aload 1 /* ks */
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 6
         1: .line 3264
            new java.text.MessageFormat
            dup
         2: .line 3265
            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 3264
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         4: .line 3266
            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 3267
            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 3270
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* pp */
        start local 5 // java.security.KeyStore$PasswordProtection pp
         7: .line 3277
            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 3278
            aconst_null
            astore 4 /* pkey */
         9: .line 3279
            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 3281
            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 3282
            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 3284
      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 3289
      StackMap locals:
      StackMap stack:
            aload 4 /* pkey */
            ifnull 18
        15: .line 3293
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* pkey */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        16: .line 3294
            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 3296
            goto 28
        end local 6 // java.security.KeyStore$Entry entry
        18: .line 3301
      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 3302
            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 3303
            aload 3 /* pstore */
            astore 4 /* pkey */
        21: .line 3304
            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 3305
            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 3310
            aload 8 /* une2 */
            athrow
        25: .line 3315
      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 3316
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* pkey */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        27: .line 3317
            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 3323
      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:
            aload 6 /* entry */
            aload 4 /* pkey */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
            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
    Signature: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
    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 3331
            aload 2 /* cert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 3 /* encCertInfo */
        start local 3 // byte[] encCertInfo
         1: .line 3332
            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 3333
            aload 4 /* md */
            aload 3 /* encCertInfo */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 5 /* digest */
        start local 5 // byte[] digest
         3: .line 3334
            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 printNoIntegrityWarning();
    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 3341
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         1: .line 3342
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         2: .line 3343
            ldc ".WARNING.WARNING.WARNING."
         3: .line 3342
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 3344
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 3345
            ldc ".The.integrity.of.the.information.stored.in.your.keystore."
         6: .line 3344
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 3346
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         8: .line 3347
            ldc ".WARNING.WARNING.WARNING."
         9: .line 3346
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 3348
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        11: .line 3349
            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=12, 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 3366
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "reply"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* replyCerts */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;[Ljava/security/cert/Certificate;)V
         1: .line 3372
            aload 2 /* userCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 5 /* userPubKey */
        start local 5 // java.security.PublicKey userPubKey
         2: .line 3373
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 3374
      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 6
         5: .line 3375
            goto 8
         6: .line 3373
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            if_icmplt 4
         8: .line 3378
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            if_icmpne 14
         9: .line 3379
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        10: .line 3380
            ldc "Certificate.reply.does.not.contain.public.key.for.alias."
        11: .line 3379
            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
        12: .line 3381
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        13: .line 3382
            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
        14: .line 3385
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            iconst_0
            aaload
            astore 6 /* tmpCert */
        start local 6 // java.security.cert.Certificate tmpCert
        15: .line 3386
            aload 3 /* replyCerts */
            iconst_0
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            aastore
        16: .line 3387
            aload 3 /* replyCerts */
            iload 4 /* i */
            aload 6 /* tmpCert */
            aastore
        17: .line 3389
            aload 3 /* replyCerts */
            iconst_0
            aaload
            checkcast java.security.cert.X509Certificate
            astore 7 /* thisCert */
        start local 7 // java.security.cert.X509Certificate thisCert
        18: .line 3391
            iconst_1
            istore 4 /* i */
            goto 34
        19: .line 3394
      StackMap locals: java.security.cert.Certificate java.security.cert.X509Certificate
      StackMap stack:
            iload 4 /* i */
            istore 8 /* j */
        start local 8 // int j
        20: goto 28
        21: .line 3395
      StackMap locals: int
      StackMap stack:
            aload 7 /* thisCert */
            aload 3 /* replyCerts */
            iload 8 /* j */
            aaload
            checkcast java.security.cert.X509Certificate
            invokestatic sun.security.tools.KeyStoreUtil.signedBy:(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)Z
            ifeq 27
        22: .line 3396
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            astore 6 /* tmpCert */
        23: .line 3397
            aload 3 /* replyCerts */
            iload 4 /* i */
            aload 3 /* replyCerts */
            iload 8 /* j */
            aaload
            aastore
        24: .line 3398
            aload 3 /* replyCerts */
            iload 8 /* j */
            aload 6 /* tmpCert */
            aastore
        25: .line 3399
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            astore 7 /* thisCert */
        26: .line 3400
            goto 29
        27: .line 3394
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* j */
            aload 3 /* replyCerts */
            arraylength
            if_icmplt 21
        29: .line 3403
      StackMap locals:
      StackMap stack:
            iload 8 /* j */
            aload 3 /* replyCerts */
            arraylength
            if_icmpne 33
        30: .line 3404
            new java.lang.Exception
            dup
        31: .line 3405
            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 3404
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // int j
        33: .line 3391
      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 19
        35: .line 3409
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 37
        36: .line 3410
            aload 3 /* replyCerts */
            areturn
        37: .line 3414
      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
        38: .line 3415
            iconst_1
            istore 9 /* fromKeyStore */
        start local 9 // boolean fromKeyStore
        39: .line 3416
            aload 8 /* topCert */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokestatic sun.security.tools.keytool.Main.getSigner:(Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair;
            astore 10 /* root */
        start local 10 // sun.security.tools.keytool.Pair root
        40: .line 3417
            aload 10 /* root */
            ifnonnull 43
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 43
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 43
        41: .line 3418
            aload 8 /* topCert */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            invokestatic sun.security.tools.keytool.Main.getSigner:(Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair;
            astore 10 /* root */
        42: .line 3419
            iconst_0
            istore 9 /* fromKeyStore */
        43: .line 3421
      StackMap locals: java.security.cert.Certificate int sun.security.tools.keytool.Pair
      StackMap stack:
            aload 10 /* root */
            ifnonnull 57
        44: .line 3422
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        45: .line 3423
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        46: .line 3424
            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;
        47: .line 3423
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        48: .line 3425
            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
        49: .line 3426
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        50: .line 3427
            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
        51: .line 3428
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        52: .line 3429
            aload 0 /* this */
        53: .line 3430
            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;
        54: .line 3429
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* reply */
        start local 11 // java.lang.String reply
        55: .line 3431
            ldc "NO"
            aload 11 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 73
        56: .line 3432
            aconst_null
            areturn
        end local 11 // java.lang.String reply
        57: .line 3435
      StackMap locals:
      StackMap stack:
            aload 10 /* root */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            aload 8 /* topCert */
            if_acmpeq 73
        58: .line 3438
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            iadd
            anewarray java.security.cert.Certificate
        59: .line 3437
            astore 11 /* tmpCerts */
        start local 11 // java.security.cert.Certificate[] tmpCerts
        60: .line 3439
            aload 3 /* replyCerts */
            iconst_0
            aload 11 /* tmpCerts */
            iconst_0
        61: .line 3440
            aload 3 /* replyCerts */
            arraylength
        62: .line 3439
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        63: .line 3441
            aload 11 /* tmpCerts */
            aload 11 /* tmpCerts */
            arraylength
            iconst_1
            isub
            aload 10 /* root */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            aastore
        64: .line 3442
            aload 11 /* tmpCerts */
            astore 3 /* replyCerts */
        65: .line 3443
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            iload 9 /* fromKeyStore */
            ifeq 67
        66: .line 3444
            ldc "alias.in.keystore"
            goto 68
        67: .line 3445
      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.cert.X509Certificate java.security.cert.Certificate int sun.security.tools.keytool.Pair java.security.cert.Certificate[]
      StackMap stack: sun.security.tools.keytool.Main java.util.ResourceBundle
            ldc "alias.in.cacerts"
        68: .line 3443
      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.cert.X509Certificate java.security.cert.Certificate int sun.security.tools.keytool.Pair java.security.cert.Certificate[]
      StackMap stack: sun.security.tools.keytool.Main java.util.ResourceBundle java.lang.String
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        69: .line 3446
            aload 10 /* root */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            aastore
        70: .line 3443
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        71: .line 3447
            aload 10 /* root */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.Certificate
        72: .line 3443
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 11 // java.security.cert.Certificate[] tmpCerts
        73: .line 3450
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            areturn
        end local 10 // sun.security.tools.keytool.Pair root
        end local 9 // boolean fromKeyStore
        end local 8 // java.security.cert.Certificate topCert
        end local 7 // java.security.cert.X509Certificate thisCert
        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   74     0          this  Lsun/security/tools/keytool/Main;
            0   74     1         alias  Ljava/lang/String;
            0   74     2      userCert  Ljava/security/cert/Certificate;
            0   74     3    replyCerts  [Ljava/security/cert/Certificate;
            3   74     4             i  I
            2   74     5    userPubKey  Ljava/security/PublicKey;
           12   14     6          form  Ljava/text/MessageFormat;
           13   14     7        source  [Ljava/lang/Object;
           15   74     6       tmpCert  Ljava/security/cert/Certificate;
           18   74     7      thisCert  Ljava/security/cert/X509Certificate;
           20   33     8             j  I
           38   74     8       topCert  Ljava/security/cert/Certificate;
           39   74     9  fromKeyStore  Z
           40   74    10          root  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/Certificate;>;
           55   57    11         reply  Ljava/lang/String;
           60   73    11      tmpCerts  [Ljava/security/cert/Certificate;
    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=5, 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 3469
            aload 1 /* userCert */
            ifnull 11
         1: .line 3472
            aload 1 /* userCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 3 /* origPubKey */
        start local 3 // java.security.PublicKey origPubKey
         2: .line 3473
            aload 2 /* certToVerify */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 4 /* replyPubKey */
        start local 4 // java.security.PublicKey replyPubKey
         3: .line 3474
            aload 3 /* origPubKey */
            aload 4 /* replyPubKey */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
         4: .line 3475
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 3476
            ldc "Public.keys.in.reply.and.keystore.don.t.match"
         6: .line 3475
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 3481
      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 3482
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 3483
            ldc "Certificate.reply.and.certificate.in.keystore.are.identical"
        10: .line 3482
            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 3491
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* certs */
        start local 3 // java.util.Hashtable certs
        12: .line 3492
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            ifle 15
        13: .line 3493
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 3 /* certs */
        14: .line 3494
            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 3496
      StackMap locals: java.util.Hashtable
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 20
        16: .line 3497
            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 3498
            aload 3 /* certs */
            ifnonnull 19
        18: .line 3499
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 3 /* certs */
        19: .line 3501
      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 3506
      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 3507
            aload 0 /* this */
        22: .line 3508
            new sun.security.tools.keytool.Pair
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.input"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        23: .line 3509
            aload 2 /* certToVerify */
            checkcast java.security.cert.X509Certificate
        24: .line 3508
            invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        25: .line 3510
            aload 4 /* chain */
            aload 3 /* certs */
        26: .line 3507
            invokevirtual sun.security.tools.keytool.Main.buildChain:(Lsun/security/tools/keytool/Pair;Ljava/util/Vector;Ljava/util/Hashtable;)Z
        27: .line 3510
            ifeq 42
        28: .line 3511
            aload 4 /* chain */
            invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
            astore 6
            goto 31
      StackMap locals: sun.security.tools.keytool.Main java.security.cert.Certificate java.security.cert.Certificate java.util.Hashtable java.util.Vector top java.util.Iterator
      StackMap stack:
        29: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.tools.keytool.Pair
            astore 5 /* p */
        start local 5 // sun.security.tools.keytool.Pair p
        30: .line 3512
            aload 0 /* this */
            aload 5 /* p */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.lang.String
            aload 5 /* p */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 5 // sun.security.tools.keytool.Pair p
        31: .line 3511
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        32: .line 3515
            aload 4 /* chain */
            invokevirtual java.util.Vector.size:()I
            anewarray java.security.cert.Certificate
        33: .line 3514
            astore 5 /* newChain */
        start local 5 // java.security.cert.Certificate[] newChain
        34: .line 3519
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        35: .line 3520
            aload 4 /* chain */
            invokevirtual java.util.Vector.size:()I
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
        36: goto 40
        37: .line 3521
      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 sun.security.tools.keytool.Pair
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            aastore
        38: .line 3522
            iinc 6 /* j */ 1
        39: .line 3520
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        40: iload 7 /* i */
            ifge 37
        end local 7 // int i
        41: .line 3524
            aload 5 /* newChain */
            areturn
        end local 6 // int j
        end local 5 // java.security.cert.Certificate[] newChain
        42: .line 3526
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
        43: .line 3527
            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;
        44: .line 3526
            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   45     0          this  Lsun/security/tools/keytool/Main;
            0   45     1      userCert  Ljava/security/cert/Certificate;
            0   45     2  certToVerify  Ljava/security/cert/Certificate;
            2   11     3    origPubKey  Ljava/security/PublicKey;
            3   11     4   replyPubKey  Ljava/security/PublicKey;
           12   45     3         certs  Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;
           21   45     4         chain  Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
           30   31     5             p  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;
           34   42     5      newChain  [Ljava/security/cert/Certificate;
           35   42     6             j  I
           36   41     7             i  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
              Name  Flags
      userCert      
      certToVerify  

  private boolean buildChain(sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>, java.util.Vector<sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>>, java.util.Hashtable<java.security.Principal, java.util.Vector<sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>>>);
    descriptor: (Lsun/security/tools/keytool/Pair;Ljava/util/Vector;Ljava/util/Hashtable;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // sun.security.tools.keytool.Pair certToVerify
        start local 2 // java.util.Vector chain
        start local 3 // java.util.Hashtable certs
         0: .line 3553
            aload 1 /* certToVerify */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifeq 3
         1: .line 3556
            aload 2 /* chain */
            aload 1 /* certToVerify */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         2: .line 3557
            iconst_1
            ireturn
         3: .line 3560
      StackMap locals:
      StackMap stack:
            aload 1 /* certToVerify */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            astore 4 /* issuer */
        start local 4 // java.security.Principal issuer
         4: .line 3563
            aload 3 /* certs */
            aload 4 /* issuer */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Vector
            astore 5 /* vec */
        start local 5 // java.util.Vector vec
         5: .line 3564
            aload 5 /* vec */
            ifnonnull 7
         6: .line 3565
            iconst_0
            ireturn
         7: .line 3571
      StackMap locals: java.security.Principal java.util.Vector
      StackMap stack:
            aload 5 /* vec */
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            astore 6 /* issuerCerts */
        start local 6 // java.util.Enumeration issuerCerts
         8: .line 3572
            goto 18
         9: .line 3573
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 6 /* issuerCerts */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.tools.keytool.Pair
            astore 7 /* issuerCert */
        start local 7 // sun.security.tools.keytool.Pair issuerCert
        10: .line 3574
            aload 7 /* issuerCert */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 8 /* issuerPubKey */
        start local 8 // java.security.PublicKey issuerPubKey
        11: .line 3576
            aload 1 /* certToVerify */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            aload 8 /* issuerPubKey */
            invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
        12: .line 3577
            goto 15
      StackMap locals: sun.security.tools.keytool.Main sun.security.tools.keytool.Pair java.util.Vector java.util.Hashtable java.security.Principal java.util.Vector java.util.Enumeration sun.security.tools.keytool.Pair java.security.PublicKey
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 3578
            goto 18
        15: .line 3580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* issuerCert */
            aload 2 /* chain */
            aload 3 /* certs */
            invokevirtual sun.security.tools.keytool.Main.buildChain:(Lsun/security/tools/keytool/Pair;Ljava/util/Vector;Ljava/util/Hashtable;)Z
            ifeq 18
        16: .line 3581
            aload 2 /* chain */
            aload 1 /* certToVerify */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        17: .line 3582
            iconst_1
            ireturn
        end local 8 // java.security.PublicKey issuerPubKey
        end local 7 // sun.security.tools.keytool.Pair issuerCert
        18: .line 3572
      StackMap locals:
      StackMap stack:
            aload 6 /* issuerCerts */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        end local 6 // java.util.Enumeration issuerCerts
        19: .line 3585
            iconst_0
            ireturn
        end local 5 // java.util.Vector vec
        end local 4 // java.security.Principal issuer
        end local 3 // java.util.Hashtable certs
        end local 2 // java.util.Vector chain
        end local 1 // sun.security.tools.keytool.Pair certToVerify
        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  certToVerify  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;
            0   20     2         chain  Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
            0   20     3         certs  Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;
            4   20     4        issuer  Ljava/security/Principal;
            5   20     5           vec  Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
            8   19     6   issuerCerts  Ljava/util/Enumeration<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
           10   18     7    issuerCert  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;
           11   18     8  issuerPubKey  Ljava/security/PublicKey;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.Exception
    Signature: (Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;)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 3596
            aconst_null
            astore 2 /* reply */
        start local 2 // java.lang.String reply
         1: .line 3597
            bipush 20
            istore 3 /* maxRetry */
        start local 3 // int maxRetry
         2: .line 3599
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 3 /* maxRetry */
            iinc 3 /* maxRetry */ -1
            ifge 6
         3: .line 3600
            new java.lang.RuntimeException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 3601
            ldc "Too.many.retries.program.terminated"
         5: .line 3600
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 3603
      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 3604
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         8: .line 3605
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         9: .line 3606
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
        10: .line 3605
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        11: .line 3606
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
        12: .line 3605
            astore 2 /* reply */
        13: .line 3607
            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 3608
            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 3609
            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 3610
      StackMap locals:
      StackMap stack:
            ldc "NO"
            astore 2 /* reply */
        17: .line 3611
            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 3612
            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 3613
      StackMap locals:
      StackMap stack:
            ldc "YES"
            astore 2 /* reply */
        21: .line 3614
            goto 24
        22: .line 3615
      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 3616
            aconst_null
            astore 2 /* reply */
        24: .line 3618
      StackMap locals:
      StackMap stack:
            aload 2 /* reply */
            ifnull 2
        25: .line 3619
            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<sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>>>);
    descriptor: (Ljava/security/KeyStore;Ljava/util/Hashtable;)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.security.KeyStore ks
        start local 2 // java.util.Hashtable hash
         0: .line 3632
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 3 /* aliases */
        start local 3 // java.util.Enumeration aliases
         1: .line 3633
            goto 23
         2: .line 3634
      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 3635
            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 3636
            aload 5 /* cert */
            ifnull 23
         5: .line 3637
            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 3638
            new sun.security.tools.keytool.Pair
            dup
         7: .line 3640
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            aload 1 /* ks */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            if_acmpne 9
         8: .line 3641
            ldc "alias.in.cacerts"
            goto 10
         9: .line 3642
      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
      StackMap stack: new 6 new 6 java.util.ResourceBundle
            ldc "alias.in.keystore"
        10: .line 3640
      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
      StackMap stack: new 6 new 6 java.util.ResourceBundle java.lang.String
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        11: .line 3643
            aload 4 /* alias */
            aastore
        12: .line 3639
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        13: .line 3644
            aload 5 /* cert */
            checkcast java.security.cert.X509Certificate
        14: .line 3638
            invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            astore 7 /* pair */
        start local 7 // sun.security.tools.keytool.Pair pair
        15: .line 3645
            aload 2 /* hash */
            aload 6 /* subjectDN */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Vector
            astore 8 /* vec */
        start local 8 // java.util.Vector vec
        16: .line 3646
            aload 8 /* vec */
            ifnonnull 20
        17: .line 3647
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 8 /* vec */
        18: .line 3648
            aload 8 /* vec */
            aload 7 /* pair */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        19: .line 3649
            goto 22
        20: .line 3650
      StackMap locals: sun.security.tools.keytool.Pair java.util.Vector
      StackMap stack:
            aload 8 /* vec */
            aload 7 /* pair */
            invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
            ifne 22
        21: .line 3651
            aload 8 /* vec */
            aload 7 /* pair */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        22: .line 3654
      StackMap locals:
      StackMap stack:
            aload 2 /* hash */
            aload 6 /* subjectDN */
            aload 8 /* vec */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.util.Vector vec
        end local 7 // sun.security.tools.keytool.Pair pair
        end local 6 // java.security.Principal subjectDN
        end local 5 // java.security.cert.Certificate cert
        end local 4 // java.lang.String alias
        23: .line 3633
      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
        24: .line 3657
            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   25     0       this  Lsun/security/tools/keytool/Main;
            0   25     1         ks  Ljava/security/KeyStore;
            0   25     2       hash  Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;
            1   24     3    aliases  Ljava/util/Enumeration<Ljava/lang/String;>;
            3   23     4      alias  Ljava/lang/String;
            4   23     5       cert  Ljava/security/cert/Certificate;
            6   23     6  subjectDN  Ljava/security/Principal;
           15   23     7       pair  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;
           16   23     8        vec  Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/security/KeyStore;Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;)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 3664
            new java.util.GregorianCalendar
            dup
            invokespecial java.util.GregorianCalendar.<init>:()V
            astore 1 /* c */
        start local 1 // java.util.Calendar c
         1: .line 3665
            aload 0 /* s */
            ifnull 68
         2: .line 3666
            new java.io.IOException
            dup
         3: .line 3667
            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 3666
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         5: .line 3668
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         6: .line 3669
            iload 3 /* len */
            ifne 8
         7: .line 3670
            aload 2 /* ioe */
            athrow
         8: .line 3672
      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 3674
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* start */
        start local 4 // int start
        10: .line 3675
            goto 36
        11: .line 3676
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* sign */
        start local 5 // int sign
        12: .line 3677
            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 3678
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 5 /* sign */
            goto 16
        14: .line 3679
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 5 /* sign */
            goto 16
        15: .line 3680
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        16: .line 3682
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            iconst_1
            iadd
            istore 6 /* i */
        start local 6 // int i
        17: .line 3683
            goto 21
        18: .line 3684
      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 3685
            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 3683
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 3 /* len */
            if_icmplt 18
        22: .line 3687
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 4 /* start */
            iconst_1
            iadd
            if_icmpne 23
            aload 2 /* ioe */
            athrow
        23: .line 3688
      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 3689
            iload 6 /* i */
            iload 3 /* len */
            if_icmplt 25
            aload 2 /* ioe */
            athrow
        25: .line 3690
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 8 /* unit */
        start local 8 // int unit
        26: .line 3691
            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 3692
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 8 /* unit */
            goto 34
        28: .line 3693
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 8 /* unit */
            goto 34
        29: .line 3694
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 8 /* unit */
            goto 34
        30: .line 3695
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 8 /* unit */
            goto 34
        31: .line 3696
      StackMap locals:
      StackMap stack:
            bipush 12
            istore 8 /* unit */
            goto 34
        32: .line 3697
      StackMap locals:
      StackMap stack:
            bipush 13
            istore 8 /* unit */
            goto 34
        33: .line 3698
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        34: .line 3700
      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 3701
            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 3675
      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 3703
            goto 68
        38: .line 3705
      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 3706
            iload 3 /* len */
            bipush 19
            if_icmpne 45
        41: .line 3707
            aload 0 /* s */
            iconst_0
            bipush 10
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* date */
        42: .line 3708
            aload 0 /* s */
            bipush 11
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* time */
        43: .line 3709
            aload 0 /* s */
            bipush 10
            invokevirtual java.lang.String.charAt:(I)C
            bipush 32
            if_icmpeq 52
        44: .line 3710
            aload 2 /* ioe */
            athrow
        45: .line 3711
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 3 /* len */
            bipush 10
            if_icmpne 48
        46: .line 3712
            aload 0 /* s */
            astore 4 /* date */
        47: .line 3713
            goto 52
      StackMap locals:
      StackMap stack:
        48: iload 3 /* len */
            bipush 8
            if_icmpne 51
        49: .line 3714
            aload 0 /* s */
            astore 5 /* time */
        50: .line 3715
            goto 52
        51: .line 3716
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        52: .line 3718
      StackMap locals:
      StackMap stack:
            aload 4 /* date */
            ifnull 60
        53: .line 3719
            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 3720
            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 3721
            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 3722
            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 3720
            invokevirtual java.util.Calendar.set:(III)V
        58: .line 3723
            goto 60
        59: .line 3724
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        60: .line 3727
      StackMap locals:
      StackMap stack:
            aload 5 /* time */
            ifnull 68
        61: .line 3728
            aload 5 /* time */
            ldc "\\d\\d:\\d\\d:\\d\\d"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifeq 67
        62: .line 3729
            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 3730
            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 3731
            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 3732
            aload 1 /* c */
            bipush 14
            iconst_0
            invokevirtual java.util.Calendar.set:(II)V
        66: .line 3733
            goto 68
        67: .line 3734
      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 3739
      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 static int oneOf(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)I
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=13, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.lang.String[] list
         0: .line 3752
            aload 1 /* list */
            arraylength
            newarray 10
            astore 2 /* match */
        start local 2 // int[] match
         1: .line 3753
            iconst_0
            istore 3 /* nmatch */
        start local 3 // int nmatch
         2: .line 3754
            ldc 2147483647
            istore 4 /* experiment */
        start local 4 // int experiment
         3: .line 3755
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 28
         5: .line 3756
      StackMap locals: java.lang.String java.lang.String[] int[] int int int
      StackMap stack:
            aload 1 /* list */
            iload 5 /* i */
            aaload
            astore 6 /* one */
        start local 6 // java.lang.String one
         6: .line 3757
            aload 6 /* one */
            ifnonnull 9
         7: .line 3758
            iload 5 /* i */
            istore 4 /* experiment */
         8: .line 3759
            goto 27
         9: .line 3761
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* one */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
        10: .line 3762
            aload 0 /* s */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
        11: .line 3763
            aload 2 /* match */
            iload 3 /* nmatch */
            iinc 3 /* nmatch */ 1
            iload 5 /* i */
            iastore
        12: .line 3764
            goto 27
        13: .line 3765
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuffer sb
        14: .line 3766
            iconst_1
            istore 8 /* first */
        start local 8 // boolean first
        15: .line 3767
            aload 6 /* one */
            invokevirtual java.lang.String.toCharArray:()[C
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 24
      StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuffer int top int int char[]
      StackMap stack:
        16: aload 12
            iload 10
            caload
            istore 9 /* c */
        start local 9 // char c
        17: .line 3768
            iload 8 /* first */
            ifeq 21
        18: .line 3769
            aload 7 /* sb */
            iload 9 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 3770
            iconst_0
            istore 8 /* first */
        20: .line 3771
            goto 23
        21: .line 3772
      StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuffer int int int int char[]
      StackMap stack:
            iload 9 /* c */
            invokestatic java.lang.Character.isLowerCase:(C)Z
            ifne 23
        22: .line 3773
            aload 7 /* sb */
            iload 9 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 9 // char c
        23: .line 3767
      StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuffer int top int int char[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        24: iload 10
            iload 11
            if_icmplt 16
        25: .line 3777
            aload 7 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aload 0 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 27
        26: .line 3778
            aload 2 /* match */
            iload 3 /* nmatch */
            iinc 3 /* nmatch */ 1
            iload 5 /* i */
            iastore
        end local 8 // boolean first
        end local 7 // java.lang.StringBuffer sb
        end local 6 // java.lang.String one
        27: .line 3755
      StackMap locals: java.lang.String java.lang.String[] int[] int int int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 5 /* i */
            aload 1 /* list */
            arraylength
            if_icmplt 5
        end local 5 // int i
        29: .line 3782
            iload 3 /* nmatch */
            ifne 31
        30: .line 3783
            iconst_m1
            ireturn
        31: .line 3784
      StackMap locals:
      StackMap stack:
            iload 3 /* nmatch */
            iconst_1
            if_icmpne 33
        32: .line 3785
            aload 2 /* match */
            iconst_0
            iaload
            ireturn
        33: .line 3788
      StackMap locals:
      StackMap stack:
            aload 2 /* match */
            iconst_1
            iaload
            iload 4 /* experiment */
            if_icmple 35
        34: .line 3789
            aload 2 /* match */
            iconst_0
            iaload
            ireturn
        35: .line 3791
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 5 /* sb */
        start local 5 // java.lang.StringBuffer sb
        36: .line 3792
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 3793
            ldc "command.{0}.is.ambiguous."
        38: .line 3792
            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
        39: .line 3794
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* s */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        40: .line 3795
            aload 5 /* sb */
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        41: .line 3796
            aload 5 /* sb */
            ldc "\n    "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        42: .line 3797
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        43: goto 47
        44: .line 3798
      StackMap locals: java.lang.String java.lang.String[] int[] int int java.lang.StringBuffer java.text.MessageFormat java.lang.Object[] int
      StackMap stack:
            aload 5 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        45: .line 3799
            aload 5 /* sb */
            aload 1 /* list */
            aload 2 /* match */
            iload 8 /* i */
            iaload
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        46: .line 3797
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 8 /* i */
            iload 3 /* nmatch */
            if_icmpge 48
            aload 2 /* match */
            iload 8 /* i */
            iaload
            iload 4 /* experiment */
            if_icmplt 44
        end local 8 // int i
        48: .line 3801
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            aload 5 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()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
        end local 5 // java.lang.StringBuffer sb
        end local 4 // int experiment
        end local 3 // int nmatch
        end local 2 // int[] match
        end local 1 // java.lang.String[] list
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   49     0           s  Ljava/lang/String;
            0   49     1        list  [Ljava/lang/String;
            1   49     2       match  [I
            2   49     3      nmatch  I
            3   49     4  experiment  I
            4   29     5           i  I
            6   27     6         one  Ljava/lang/String;
           14   27     7          sb  Ljava/lang/StringBuffer;
           15   27     8       first  Z
           17   23     9           c  C
           36   49     5          sb  Ljava/lang/StringBuffer;
           39   49     6        form  Ljava/text/MessageFormat;
           40   49     7      source  [Ljava/lang/Object;
           43   48     8           i  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      s     
      list  

  private sun.security.x509.GeneralName createGeneralName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String t
        start local 2 // java.lang.String v
         0: .line 3814
            aload 1 /* t */
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "EMAIL"
            aastore
            dup
            iconst_1
            ldc "URI"
            aastore
            dup
            iconst_2
            ldc "DNS"
            aastore
            dup
            iconst_3
            ldc "IP"
            aastore
            dup
            iconst_4
            ldc "OID"
            aastore
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 4 /* p */
        start local 4 // int p
         1: .line 3815
            iload 4 /* p */
            ifge 7
         2: .line 3816
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         3: .line 3817
            ldc "Unrecognized.GeneralName.type."
         4: .line 3816
            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
         5: .line 3817
            aload 1 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 3816
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 3819
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String top int
      StackMap stack:
            iload 4 /* p */
            tableswitch { // 0 - 3
                    0: 8
                    1: 10
                    2: 12
                    3: 14
              default: 16
          }
         8: .line 3820
      StackMap locals:
      StackMap stack:
            new sun.security.x509.RFC822Name
            dup
            aload 2 /* v */
            invokespecial sun.security.x509.RFC822Name.<init>:(Ljava/lang/String;)V
            astore 3 /* gn */
        start local 3 // sun.security.x509.GeneralNameInterface gn
         9: goto 17
        end local 3 // sun.security.x509.GeneralNameInterface gn
        10: .line 3821
      StackMap locals:
      StackMap stack:
            new sun.security.x509.URIName
            dup
            aload 2 /* v */
            invokespecial sun.security.x509.URIName.<init>:(Ljava/lang/String;)V
            astore 3 /* gn */
        start local 3 // sun.security.x509.GeneralNameInterface gn
        11: goto 17
        end local 3 // sun.security.x509.GeneralNameInterface gn
        12: .line 3822
      StackMap locals:
      StackMap stack:
            new sun.security.x509.DNSName
            dup
            aload 2 /* v */
            invokespecial sun.security.x509.DNSName.<init>:(Ljava/lang/String;)V
            astore 3 /* gn */
        start local 3 // sun.security.x509.GeneralNameInterface gn
        13: goto 17
        end local 3 // sun.security.x509.GeneralNameInterface gn
        14: .line 3823
      StackMap locals:
      StackMap stack:
            new sun.security.x509.IPAddressName
            dup
            aload 2 /* v */
            invokespecial sun.security.x509.IPAddressName.<init>:(Ljava/lang/String;)V
            astore 3 /* gn */
        start local 3 // sun.security.x509.GeneralNameInterface gn
        15: goto 17
        end local 3 // sun.security.x509.GeneralNameInterface gn
        16: .line 3824
      StackMap locals:
      StackMap stack:
            new sun.security.x509.OIDName
            dup
            aload 2 /* v */
            invokespecial sun.security.x509.OIDName.<init>:(Ljava/lang/String;)V
            astore 3 /* gn */
        start local 3 // sun.security.x509.GeneralNameInterface gn
        17: .line 3826
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String sun.security.x509.GeneralNameInterface int
      StackMap stack:
            new sun.security.x509.GeneralName
            dup
            aload 3 /* gn */
            invokespecial sun.security.x509.GeneralName.<init>:(Lsun/security/x509/GeneralNameInterface;)V
            areturn
        end local 4 // int p
        end local 3 // sun.security.x509.GeneralNameInterface gn
        end local 2 // java.lang.String v
        end local 1 // java.lang.String t
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Lsun/security/tools/keytool/Main;
            0   18     1     t  Ljava/lang/String;
            0   18     2     v  Ljava/lang/String;
            9   10     3    gn  Lsun/security/x509/GeneralNameInterface;
           11   12     3    gn  Lsun/security/x509/GeneralNameInterface;
           13   14     3    gn  Lsun/security/x509/GeneralNameInterface;
           15   16     3    gn  Lsun/security/x509/GeneralNameInterface;
           17   18     3    gn  Lsun/security/x509/GeneralNameInterface;
            1   18     4     p  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      t     
      v     

  private sun.security.util.ObjectIdentifier findOidForExtName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String type
         0: .line 3843
            aload 1 /* type */
            getstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            tableswitch { // 0 - 8
                    0: 1
                    1: 2
                    2: 3
                    3: 4
                    4: 5
                    5: 6
                    6: 7
                    7: 9
                    8: 8
              default: 9
          }
         1: .line 3844
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.BasicConstraints_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         2: .line 3845
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.KeyUsage_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         3: .line 3846
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.ExtendedKeyUsage_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         4: .line 3847
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.SubjectAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         5: .line 3848
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.IssuerAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         6: .line 3849
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.SubjectInfoAccess_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         7: .line 3850
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.AuthInfoAccess_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         8: .line 3851
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.CRLDistributionPoints_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         9: .line 3852
      StackMap locals:
      StackMap stack:
            new sun.security.util.ObjectIdentifier
            dup
            aload 1 /* type */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String type
        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  type  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      type  

  private sun.security.x509.CertificateExtensions createV3Extensions(sun.security.x509.CertificateExtensions, sun.security.x509.CertificateExtensions, java.util.List<java.lang.String>, java.security.PublicKey, java.security.PublicKey);
    descriptor: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=28, args_size=6
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // sun.security.x509.CertificateExtensions reqex
        start local 2 // sun.security.x509.CertificateExtensions ext
        start local 3 // java.util.List extstrs
        start local 4 // java.security.PublicKey pkey
        start local 5 // java.security.PublicKey akey
         0: .line 3875
            aload 2 /* ext */
            ifnull 2
            aload 1 /* reqex */
            ifnull 2
         1: .line 3877
            new java.lang.Exception
            dup
            ldc "One of request and original should be null."
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 3879
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            ifnonnull 3
            new sun.security.x509.CertificateExtensions
            dup
            invokespecial sun.security.x509.CertificateExtensions.<init>:()V
            astore 2 /* ext */
         3: .line 3883
      StackMap locals:
      StackMap stack:
            aload 1 /* reqex */
            ifnull 49
         4: .line 3884
            aload 3 /* extstrs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 48
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* extstr */
        start local 6 // java.lang.String extstr
         6: .line 3885
            aload 6 /* extstr */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "honored="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 48
         7: .line 3887
            aload 6 /* extstr */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            bipush 8
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
         8: .line 3886
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 8 /* list */
        start local 8 // java.util.List list
         9: .line 3889
            aload 8 /* list */
            ldc "all"
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 3890
            aload 1 /* reqex */
            astore 2 /* ext */
        11: .line 3893
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List
      StackMap stack:
            aload 8 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 46
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* item */
        start local 9 // java.lang.String item
        13: .line 3894
            aload 9 /* item */
            ldc "all"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
            goto 46
        14: .line 3897
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator
      StackMap stack:
            iconst_1
            istore 11 /* add */
        start local 11 // boolean add
        15: .line 3899
            iconst_m1
            istore 12 /* action */
        start local 12 // int action
        16: .line 3900
            aconst_null
            astore 13 /* type */
        start local 13 // java.lang.String type
        17: .line 3901
            aload 9 /* item */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 21
        18: .line 3902
            iconst_0
            istore 11 /* add */
        19: .line 3903
            aload 9 /* item */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 13 /* type */
        20: .line 3904
            goto 33
        21: .line 3905
      StackMap locals: int int java.lang.String
      StackMap stack:
            aload 9 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* colonpos */
        start local 14 // int colonpos
        22: .line 3906
            iload 14 /* colonpos */
            iflt 33
        23: .line 3907
            aload 9 /* item */
            iconst_0
            iload 14 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 13 /* type */
        24: .line 3908
            aload 9 /* item */
            iload 14 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        25: .line 3909
            ldc "critical"
            aastore
            dup
            iconst_1
            ldc "non-critical"
            aastore
        26: .line 3908
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 12 /* action */
        27: .line 3910
            iload 12 /* action */
            iconst_m1
            if_icmpne 33
        28: .line 3911
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        29: .line 3912
            ldc "Illegal.value."
        30: .line 3911
            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
        31: .line 3912
            aload 9 /* item */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 3911
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // int colonpos
        33: .line 3916
      StackMap locals:
      StackMap stack:
            aload 1 /* reqex */
            aload 0 /* this */
            aload 13 /* type */
            invokevirtual sun.security.tools.keytool.Main.findOidForExtName:(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.CertificateExtensions.getNameByOid:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/String;
            astore 14 /* n */
        start local 14 // java.lang.String n
        34: .line 3917
            iload 11 /* add */
            ifeq 45
        35: .line 3918
            aload 1 /* reqex */
            aload 14 /* n */
            invokevirtual sun.security.x509.CertificateExtensions.get:(Ljava/lang/String;)Lsun/security/x509/Extension;
            astore 15 /* e */
        start local 15 // sun.security.x509.Extension e
        36: .line 3919
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifne 37
            iload 12 /* action */
            ifeq 38
        37: .line 3920
      StackMap locals: java.lang.String sun.security.x509.Extension
      StackMap stack:
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 46
            iload 12 /* action */
            iconst_1
            if_icmpne 46
        38: .line 3922
      StackMap locals:
      StackMap stack:
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
        39: .line 3923
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 40
            iconst_0
            goto 41
      StackMap locals:
      StackMap stack: sun.security.util.ObjectIdentifier
        40: iconst_1
        41: .line 3924
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator int int java.lang.String java.lang.String sun.security.x509.Extension
      StackMap stack: sun.security.util.ObjectIdentifier int
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
        42: .line 3921
            invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
            astore 15 /* e */
        43: .line 3925
            aload 2 /* ext */
            aload 14 /* n */
            aload 15 /* e */
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 15 // sun.security.x509.Extension e
        44: .line 3927
            goto 46
        45: .line 3928
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            aload 14 /* n */
            invokevirtual sun.security.x509.CertificateExtensions.delete:(Ljava/lang/String;)V
        end local 14 // java.lang.String n
        end local 13 // java.lang.String type
        end local 12 // int action
        end local 11 // boolean add
        end local 9 // java.lang.String item
        46: .line 3893
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        47: .line 3931
            goto 49
        end local 8 // java.util.List list
        end local 6 // java.lang.String extstr
        48: .line 3884
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        49: .line 3935
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey
      StackMap stack:
            aload 3 /* extstrs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 337
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
      StackMap stack:
        50: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* extstr */
        start local 6 // java.lang.String extstr
        51: .line 3937
            iconst_0
            istore 10 /* isCritical */
        start local 10 // boolean isCritical
        52: .line 3939
            aload 6 /* extstr */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 11 /* eqpos */
        start local 11 // int eqpos
        53: .line 3940
            iload 11 /* eqpos */
            iflt 57
        54: .line 3941
            aload 6 /* extstr */
            iconst_0
            iload 11 /* eqpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        55: .line 3942
            aload 6 /* extstr */
            iload 11 /* eqpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* value */
        start local 9 // java.lang.String value
        56: .line 3943
            goto 59
        end local 9 // java.lang.String value
        end local 8 // java.lang.String name
        57: .line 3944
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator top top int int
      StackMap stack:
            aload 6 /* extstr */
            astore 8 /* name */
        start local 8 // java.lang.String name
        58: .line 3945
            aconst_null
            astore 9 /* value */
        start local 9 // java.lang.String value
        59: .line 3948
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int
      StackMap stack:
            aload 8 /* name */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* colonpos */
        start local 12 // int colonpos
        60: .line 3949
            iload 12 /* colonpos */
            iflt 64
        61: .line 3950
            aload 8 /* name */
            iload 12 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "critical"
            aastore
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            ifne 63
        62: .line 3951
            iconst_1
            istore 10 /* isCritical */
        63: .line 3953
      StackMap locals: int
      StackMap stack:
            aload 8 /* name */
            iconst_0
            iload 12 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* name */
        64: .line 3956
      StackMap locals:
      StackMap stack:
            aload 8 /* name */
            ldc "honored"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 66
        65: .line 3957
            goto 337
        66: .line 3959
      StackMap locals:
      StackMap stack:
            aload 8 /* name */
            getstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 13 /* exttype */
        start local 13 // int exttype
        67: .line 3960
            iload 13 /* exttype */
            tableswitch { // -1 - 8
                   -1: 296
                    0: 68
                    1: 105
                    2: 139
                    3: 179
                    4: 179
                    5: 210
                    6: 210
                    7: 332
                    8: 270
              default: 332
          }
        68: .line 3962
      StackMap locals: int
      StackMap stack:
            iconst_m1
            istore 14 /* pathLen */
        start local 14 // int pathLen
        69: .line 3963
            iconst_0
            istore 15 /* isCA */
        start local 15 // boolean isCA
        70: .line 3964
            aload 9 /* value */
            ifnonnull 73
        71: .line 3965
            iconst_1
            istore 15 /* isCA */
        72: .line 3966
            goto 99
        73: .line 3968
      StackMap locals: int int
      StackMap stack:
            aload 9 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 14 /* pathLen */
        74: .line 3969
            iconst_1
            istore 15 /* isCA */
        75: .line 3970
            goto 99
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        76: pop
        77: .line 3972
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 19
            arraylength
            istore 18
            iconst_0
            istore 17
            goto 98
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int top int int java.lang.String[]
      StackMap stack:
        78: aload 19
            iload 17
            aaload
            astore 16 /* part */
        start local 16 // java.lang.String part
        79: .line 3973
            aload 16 /* part */
            ldc ":"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 20 /* nv */
        start local 20 // java.lang.String[] nv
        80: .line 3974
            aload 20 /* nv */
            arraylength
            iconst_2
            if_icmpeq 86
        81: .line 3975
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        82: .line 3976
            ldc "Illegal.value."
        83: .line 3975
            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
        84: .line 3976
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        85: .line 3975
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        86: .line 3978
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int java.lang.String int int java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 20 /* nv */
            iconst_0
            aaload
            ldc "ca"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 89
        87: .line 3979
            aload 20 /* nv */
            iconst_1
            aaload
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 15 /* isCA */
        88: .line 3980
            goto 97
      StackMap locals:
      StackMap stack:
        89: aload 20 /* nv */
            iconst_0
            aaload
            ldc "pathlen"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 92
        90: .line 3981
            aload 20 /* nv */
            iconst_1
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 14 /* pathLen */
        91: .line 3982
            goto 97
        92: .line 3983
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        93: .line 3984
            ldc "Illegal.value."
        94: .line 3983
            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
        95: .line 3984
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        96: .line 3983
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 20 // java.lang.String[] nv
        end local 16 // java.lang.String part
        97: .line 3972
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int top int int java.lang.String[]
      StackMap stack:
            iinc 17 1
      StackMap locals:
      StackMap stack:
        98: iload 17
            iload 18
            if_icmplt 78
        99: .line 3990
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int
      StackMap stack:
            aload 2 /* ext */
            ldc "BasicConstraints"
       100: .line 3991
            new sun.security.x509.BasicConstraintsExtension
            dup
            iload 10 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iload 15 /* isCA */
       101: .line 3992
            iload 14 /* pathLen */
       102: .line 3991
            invokespecial sun.security.x509.BasicConstraintsExtension.<init>:(Ljava/lang/Boolean;ZI)V
       103: .line 3990
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       104: .line 3993
            goto 337
        end local 15 // boolean isCA
        end local 14 // int pathLen
       105: .line 3995
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 134
       106: .line 3996
            bipush 9
            newarray 4
            astore 16 /* ok */
        start local 16 // boolean[] ok
       107: .line 3997
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 126
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] top int int java.lang.String[]
      StackMap stack:
       108: aload 20
            iload 18
            aaload
            astore 17 /* s */
        start local 17 // java.lang.String s
       109: .line 3998
            aload 17 /* s */
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
       110: .line 3999
            ldc "digitalSignature"
            aastore
            dup
            iconst_1
       111: .line 4000
            ldc "nonRepudiation"
            aastore
            dup
            iconst_2
       112: .line 4001
            ldc "keyEncipherment"
            aastore
            dup
            iconst_3
       113: .line 4002
            ldc "dataEncipherment"
            aastore
            dup
            iconst_4
       114: .line 4003
            ldc "keyAgreement"
            aastore
            dup
            iconst_5
       115: .line 4004
            ldc "keyCertSign"
            aastore
            dup
            bipush 6
       116: .line 4005
            ldc "cRLSign"
            aastore
            dup
            bipush 7
       117: .line 4006
            ldc "encipherOnly"
            aastore
            dup
            bipush 8
       118: .line 4007
            ldc "decipherOnly"
            aastore
            dup
            bipush 9
       119: .line 4008
            ldc "contentCommitment"
            aastore
       120: .line 3998
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 21 /* p */
        start local 21 // int p
       121: .line 4010
            iload 21 /* p */
            ifge 123
       122: .line 4011
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Unknown.keyUsage.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 17 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       123: .line 4013
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] java.lang.String int int java.lang.String[] int
      StackMap stack:
            iload 21 /* p */
            bipush 9
            if_icmpne 124
            iconst_1
            istore 21 /* p */
       124: .line 4014
      StackMap locals:
      StackMap stack:
            aload 16 /* ok */
            iload 21 /* p */
            iconst_1
            bastore
        end local 21 // int p
        end local 17 // java.lang.String s
       125: .line 3997
            iinc 18 1
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] top int int java.lang.String[]
      StackMap stack:
       126: iload 18
            iload 19
            if_icmplt 108
       127: .line 4016
            new sun.security.x509.KeyUsageExtension
            dup
            aload 16 /* ok */
            invokespecial sun.security.x509.KeyUsageExtension.<init>:([Z)V
            astore 17 /* kue */
        start local 17 // sun.security.x509.KeyUsageExtension kue
       128: .line 4019
            aload 2 /* ext */
            ldc "KeyUsage"
       129: .line 4020
            aload 17 /* kue */
            invokevirtual sun.security.x509.KeyUsageExtension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
       130: .line 4021
            iload 10 /* isCritical */
       131: .line 4022
            aload 17 /* kue */
            invokevirtual sun.security.x509.KeyUsageExtension.getExtensionValue:()[B
       132: .line 4019
            invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 17 // sun.security.x509.KeyUsageExtension kue
        end local 16 // boolean[] ok
       133: .line 4023
            goto 337
       134: .line 4024
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       135: .line 4025
            ldc "Illegal.value."
       136: .line 4024
            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
       137: .line 4025
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       138: .line 4024
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       139: .line 4029
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 174
       140: .line 4030
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 16 /* v */
        start local 16 // java.util.Vector v
       141: .line 4031
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 169
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector top int int java.lang.String[]
      StackMap stack:
       142: aload 20
            iload 18
            aaload
            astore 17 /* s */
        start local 17 // java.lang.String s
       143: .line 4032
            aload 17 /* s */
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
       144: .line 4033
            ldc "anyExtendedKeyUsage"
            aastore
            dup
            iconst_1
       145: .line 4034
            ldc "serverAuth"
            aastore
            dup
            iconst_2
       146: .line 4035
            ldc "clientAuth"
            aastore
            dup
            iconst_3
       147: .line 4036
            ldc "codeSigning"
            aastore
            dup
            iconst_4
       148: .line 4037
            ldc "emailProtection"
            aastore
            dup
            iconst_5
       149: .line 4038
            ldc ""
            aastore
            dup
            bipush 6
       150: .line 4039
            ldc ""
            aastore
            dup
            bipush 7
       151: .line 4040
            ldc ""
            aastore
            dup
            bipush 8
       152: .line 4041
            ldc "timeStamping"
            aastore
            dup
            bipush 9
       153: .line 4042
            ldc "OCSPSigning"
            aastore
       154: .line 4032
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 21 /* p */
        start local 21 // int p
       155: .line 4044
            iload 21 /* p */
            ifge 164
       156: .line 4046
            aload 16 /* v */
            new sun.security.util.ObjectIdentifier
            dup
            aload 17 /* s */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
       157: .line 4047
            goto 168
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector java.lang.String int int java.lang.String[] int
      StackMap stack: java.lang.Exception
       158: pop
       159: .line 4048
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       160: .line 4049
            ldc "Unknown.extendedkeyUsage.type."
       161: .line 4048
            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
       162: .line 4049
            aload 17 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       163: .line 4048
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       164: .line 4051
      StackMap locals:
      StackMap stack:
            iload 21 /* p */
            ifne 167
       165: .line 4052
            aload 16 /* v */
            new sun.security.util.ObjectIdentifier
            dup
            ldc "2.5.29.37.0"
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
       166: .line 4053
            goto 168
       167: .line 4054
      StackMap locals:
      StackMap stack:
            aload 16 /* v */
            new sun.security.util.ObjectIdentifier
            dup
            new java.lang.StringBuilder
            dup
            ldc "1.3.6.1.5.5.7.3."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 21 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        end local 21 // int p
        end local 17 // java.lang.String s
       168: .line 4031
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector top int int java.lang.String[]
      StackMap stack:
            iinc 18 1
      StackMap locals:
      StackMap stack:
       169: iload 18
            iload 19
            if_icmplt 142
       170: .line 4057
            aload 2 /* ext */
            ldc "ExtendedKeyUsage"
       171: .line 4058
            new sun.security.x509.ExtendedKeyUsageExtension
            dup
            iload 10 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 16 /* v */
            invokespecial sun.security.x509.ExtendedKeyUsageExtension.<init>:(Ljava/lang/Boolean;Ljava/util/Vector;)V
       172: .line 4057
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 16 // java.util.Vector v
       173: .line 4059
            goto 337
       174: .line 4060
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       175: .line 4061
            ldc "Illegal.value."
       176: .line 4060
            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
       177: .line 4061
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       178: .line 4060
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       179: .line 4066
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 205
       180: .line 4067
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 16 /* ps */
        start local 16 // java.lang.String[] ps
       181: .line 4068
            new sun.security.x509.GeneralNames
            dup
            invokespecial sun.security.x509.GeneralNames.<init>:()V
            astore 17 /* gnames */
        start local 17 // sun.security.x509.GeneralNames gnames
       182: .line 4069
            aload 16 /* ps */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 191
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
      StackMap stack:
       183: aload 21
            iload 19
            aaload
            astore 18 /* item */
        start local 18 // java.lang.String item
       184: .line 4070
            aload 18 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* colonpos */
       185: .line 4071
            iload 12 /* colonpos */
            ifge 187
       186: .line 4072
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal item "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* item */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       187: .line 4074
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 18 /* item */
            iconst_0
            iload 12 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 22 /* t */
        start local 22 // java.lang.String t
       188: .line 4075
            aload 18 /* item */
            iload 12 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 23 /* v */
        start local 23 // java.lang.String v
       189: .line 4076
            aload 17 /* gnames */
            aload 0 /* this */
            aload 22 /* t */
            aload 23 /* v */
            invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
            invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
            pop
        end local 23 // java.lang.String v
        end local 22 // java.lang.String t
        end local 18 // java.lang.String item
       190: .line 4069
            iinc 19 1
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
      StackMap stack:
       191: iload 19
            iload 20
            if_icmplt 183
       192: .line 4078
            iload 13 /* exttype */
            iconst_3
            if_icmpne 199
       193: .line 4079
            aload 2 /* ext */
            ldc "SubjectAlternativeName"
       194: .line 4080
            new sun.security.x509.SubjectAlternativeNameExtension
            dup
       195: .line 4081
            iload 10 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 17 /* gnames */
       196: .line 4080
            invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
       197: .line 4079
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       198: .line 4082
            goto 337
       199: .line 4083
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames
      StackMap stack:
            aload 2 /* ext */
            ldc "IssuerAlternativeName"
       200: .line 4084
            new sun.security.x509.IssuerAlternativeNameExtension
            dup
       201: .line 4085
            iload 10 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 17 /* gnames */
       202: .line 4084
            invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
       203: .line 4083
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 17 // sun.security.x509.GeneralNames gnames
        end local 16 // java.lang.String[] ps
       204: .line 4087
            goto 337
       205: .line 4088
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       206: .line 4089
            ldc "Illegal.value."
       207: .line 4088
            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
       208: .line 4089
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       209: .line 4088
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       210: .line 4094
      StackMap locals:
      StackMap stack:
            iload 10 /* isCritical */
            ifeq 216
       211: .line 4095
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       212: .line 4096
            ldc "This.extension.cannot.be.marked.as.critical."
       213: .line 4095
            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
       214: .line 4096
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       215: .line 4095
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       216: .line 4098
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 265
       217: .line 4100
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
       218: .line 4099
            astore 16 /* accessDescriptions */
        start local 16 // java.util.List accessDescriptions
       219: .line 4101
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 17 /* ps */
        start local 17 // java.lang.String[] ps
       220: .line 4102
            aload 17 /* ps */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 255
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] top int int java.lang.String[]
      StackMap stack:
       221: aload 21
            iload 19
            aaload
            astore 18 /* item */
        start local 18 // java.lang.String item
       222: .line 4103
            aload 18 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* colonpos */
       223: .line 4104
            aload 18 /* item */
            bipush 58
            iload 12 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 22 /* colonpos2 */
        start local 22 // int colonpos2
       224: .line 4105
            iload 12 /* colonpos */
            iflt 225
            iload 22 /* colonpos2 */
            ifge 230
       225: .line 4106
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       226: .line 4107
            ldc "Illegal.value."
       227: .line 4106
            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
       228: .line 4107
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       229: .line 4106
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       230: .line 4109
      StackMap locals:
      StackMap stack:
            aload 18 /* item */
            iconst_0
            iload 12 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 23 /* m */
        start local 23 // java.lang.String m
       231: .line 4110
            aload 18 /* item */
            iload 12 /* colonpos */
            iconst_1
            iadd
            iload 22 /* colonpos2 */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 24 /* t */
        start local 24 // java.lang.String t
       232: .line 4111
            aload 18 /* item */
            iload 22 /* colonpos2 */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 25 /* v */
        start local 25 // java.lang.String v
       233: .line 4112
            aload 23 /* m */
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
       234: .line 4113
            ldc ""
            aastore
            dup
            iconst_1
       235: .line 4114
            ldc "ocsp"
            aastore
            dup
            iconst_2
       236: .line 4115
            ldc "caIssuers"
            aastore
            dup
            iconst_3
       237: .line 4116
            ldc "timeStamping"
            aastore
            dup
            iconst_4
       238: .line 4117
            ldc ""
            aastore
            dup
            iconst_5
       239: .line 4118
            ldc "caRepository"
            aastore
       240: .line 4112
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 26 /* p */
        start local 26 // int p
       241: .line 4121
            iload 26 /* p */
            ifge 250
       242: .line 4123
            new sun.security.util.ObjectIdentifier
            dup
            aload 23 /* m */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 27 /* oid */
        start local 27 // sun.security.util.ObjectIdentifier oid
       243: .line 4124
            goto 251
        end local 27 // sun.security.util.ObjectIdentifier oid
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int java.lang.String java.lang.String java.lang.String int
      StackMap stack: java.lang.Exception
       244: pop
       245: .line 4125
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       246: .line 4126
            ldc "Unknown.AccessDescription.type."
       247: .line 4125
            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
       248: .line 4126
            aload 23 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       249: .line 4125
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       250: .line 4129
      StackMap locals:
      StackMap stack:
            new sun.security.util.ObjectIdentifier
            dup
            new java.lang.StringBuilder
            dup
            ldc "1.3.6.1.5.5.7.48."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 26 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 27 /* oid */
        start local 27 // sun.security.util.ObjectIdentifier oid
       251: .line 4131
      StackMap locals: sun.security.util.ObjectIdentifier
      StackMap stack:
            aload 16 /* accessDescriptions */
            new sun.security.x509.AccessDescription
            dup
       252: .line 4132
            aload 27 /* oid */
            aload 0 /* this */
            aload 24 /* t */
            aload 25 /* v */
            invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
            invokespecial sun.security.x509.AccessDescription.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/x509/GeneralName;)V
       253: .line 4131
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 27 // sun.security.util.ObjectIdentifier oid
        end local 26 // int p
        end local 25 // java.lang.String v
        end local 24 // java.lang.String t
        end local 23 // java.lang.String m
        end local 22 // int colonpos2
        end local 18 // java.lang.String item
       254: .line 4102
            iinc 19 1
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] top int int java.lang.String[]
      StackMap stack:
       255: iload 19
            iload 20
            if_icmplt 221
       256: .line 4134
            iload 13 /* exttype */
            iconst_5
            if_icmpne 261
       257: .line 4135
            aload 2 /* ext */
            ldc "SubjectInfoAccess"
       258: .line 4136
            new sun.security.x509.SubjectInfoAccessExtension
            dup
            aload 16 /* accessDescriptions */
            invokespecial sun.security.x509.SubjectInfoAccessExtension.<init>:(Ljava/util/List;)V
       259: .line 4135
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       260: .line 4137
            goto 337
       261: .line 4138
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[]
      StackMap stack:
            aload 2 /* ext */
            ldc "AuthorityInfoAccess"
       262: .line 4139
            new sun.security.x509.AuthorityInfoAccessExtension
            dup
            aload 16 /* accessDescriptions */
            invokespecial sun.security.x509.AuthorityInfoAccessExtension.<init>:(Ljava/util/List;)V
       263: .line 4138
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 17 // java.lang.String[] ps
        end local 16 // java.util.List accessDescriptions
       264: .line 4141
            goto 337
       265: .line 4142
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       266: .line 4143
            ldc "Illegal.value."
       267: .line 4142
            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
       268: .line 4143
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       269: .line 4142
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       270: .line 4147
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 291
       271: .line 4148
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 16 /* ps */
        start local 16 // java.lang.String[] ps
       272: .line 4149
            new sun.security.x509.GeneralNames
            dup
            invokespecial sun.security.x509.GeneralNames.<init>:()V
            astore 17 /* gnames */
        start local 17 // sun.security.x509.GeneralNames gnames
       273: .line 4150
            aload 16 /* ps */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 282
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
      StackMap stack:
       274: aload 21
            iload 19
            aaload
            astore 18 /* item */
        start local 18 // java.lang.String item
       275: .line 4151
            aload 18 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* colonpos */
       276: .line 4152
            iload 12 /* colonpos */
            ifge 278
       277: .line 4153
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal item "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* item */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       278: .line 4155
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 18 /* item */
            iconst_0
            iload 12 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 22 /* t */
        start local 22 // java.lang.String t
       279: .line 4156
            aload 18 /* item */
            iload 12 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 23 /* v */
        start local 23 // java.lang.String v
       280: .line 4157
            aload 17 /* gnames */
            aload 0 /* this */
            aload 22 /* t */
            aload 23 /* v */
            invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
            invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
            pop
        end local 23 // java.lang.String v
        end local 22 // java.lang.String t
        end local 18 // java.lang.String item
       281: .line 4150
            iinc 19 1
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
      StackMap stack:
       282: iload 19
            iload 20
            if_icmplt 274
       283: .line 4159
            aload 2 /* ext */
            ldc "CRLDistributionPoints"
       284: .line 4160
            new sun.security.x509.CRLDistributionPointsExtension
            dup
       285: .line 4161
            iload 10 /* isCritical */
       286: .line 4162
            new sun.security.x509.DistributionPoint
            dup
            aload 17 /* gnames */
            aconst_null
            aconst_null
            invokespecial sun.security.x509.DistributionPoint.<init>:(Lsun/security/x509/GeneralNames;[ZLsun/security/x509/GeneralNames;)V
       287: .line 4161
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
       288: .line 4160
            invokespecial sun.security.x509.CRLDistributionPointsExtension.<init>:(ZLjava/util/List;)V
       289: .line 4159
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 17 // sun.security.x509.GeneralNames gnames
        end local 16 // java.lang.String[] ps
       290: .line 4163
            goto 337
       291: .line 4164
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       292: .line 4165
            ldc "Illegal.value."
       293: .line 4164
            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
       294: .line 4165
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       295: .line 4164
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       296: .line 4169
      StackMap locals:
      StackMap stack:
            new sun.security.util.ObjectIdentifier
            dup
            aload 8 /* name */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 16 /* oid */
        start local 16 // sun.security.util.ObjectIdentifier oid
       297: .line 4170
            aconst_null
            astore 17 /* data */
        start local 17 // byte[] data
       298: .line 4171
            aload 9 /* value */
            ifnull 326
       299: .line 4172
            aload 9 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_2
            idiv
            iconst_1
            iadd
            newarray 8
            astore 17 /* data */
       300: .line 4173
            iconst_0
            istore 18 /* pos */
        start local 18 // int pos
       301: .line 4174
            aload 9 /* value */
            invokevirtual java.lang.String.toCharArray:()[C
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 317
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int top int int char[]
      StackMap stack:
       302: aload 22
            iload 20
            caload
            istore 19 /* c */
        start local 19 // char c
       303: .line 4176
            iload 19 /* c */
            bipush 48
            if_icmplt 306
            iload 19 /* c */
            bipush 57
            if_icmpgt 306
       304: .line 4177
            iload 19 /* c */
            bipush 48
            isub
            istore 23 /* hex */
        start local 23 // int hex
       305: .line 4178
            goto 311
        end local 23 // int hex
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int int int int char[]
      StackMap stack:
       306: iload 19 /* c */
            bipush 65
            if_icmplt 309
            iload 19 /* c */
            bipush 70
            if_icmpgt 309
       307: .line 4179
            iload 19 /* c */
            bipush 65
            isub
            bipush 10
            iadd
            istore 23 /* hex */
        start local 23 // int hex
       308: .line 4180
            goto 311
        end local 23 // int hex
      StackMap locals:
      StackMap stack:
       309: iload 19 /* c */
            bipush 97
            if_icmplt 316
            iload 19 /* c */
            bipush 102
            if_icmpgt 316
       310: .line 4181
            iload 19 /* c */
            bipush 97
            isub
            bipush 10
            iadd
            istore 23 /* hex */
        start local 23 // int hex
       311: .line 4185
      StackMap locals: int
      StackMap stack:
            iload 18 /* pos */
            iconst_2
            irem
            ifne 314
       312: .line 4186
            aload 17 /* data */
            iload 18 /* pos */
            iconst_2
            idiv
            iload 23 /* hex */
            iconst_4
            ishl
            i2b
            bastore
       313: .line 4187
            goto 315
       314: .line 4188
      StackMap locals:
      StackMap stack:
            aload 17 /* data */
            iload 18 /* pos */
            iconst_2
            idiv
            dup2
            baload
            iload 23 /* hex */
            iadd
            i2b
            bastore
       315: .line 4190
      StackMap locals:
      StackMap stack:
            iinc 18 /* pos */ 1
        end local 23 // int hex
        end local 19 // char c
       316: .line 4174
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int top int int char[]
      StackMap stack:
            iinc 20 1
      StackMap locals:
      StackMap stack:
       317: iload 20
            iload 21
            if_icmplt 302
       318: .line 4192
            iload 18 /* pos */
            iconst_2
            irem
            ifeq 324
       319: .line 4193
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       320: .line 4194
            ldc "Odd.number.of.hex.digits.found."
       321: .line 4193
            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
       322: .line 4194
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       323: .line 4193
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       324: .line 4196
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int
      StackMap stack:
            aload 17 /* data */
            iload 18 /* pos */
            iconst_2
            idiv
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 17 /* data */
        end local 18 // int pos
       325: .line 4197
            goto 327
       326: .line 4198
      StackMap locals:
      StackMap stack:
            iconst_0
            newarray 8
            astore 17 /* data */
       327: .line 4200
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            aload 16 /* oid */
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            new sun.security.x509.Extension
            dup
            aload 16 /* oid */
            iload 10 /* isCritical */
       328: .line 4201
            new sun.security.util.DerValue
            dup
            iconst_4
            aload 17 /* data */
            invokespecial sun.security.util.DerValue.<init>:(B[B)V
       329: .line 4202
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.x509.Extension.<init>:(Lsun/security/util/ObjectIdentifier;Z[B)V
       330: .line 4200
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       331: .line 4203
            goto 337
        end local 17 // byte[] data
        end local 16 // sun.security.util.ObjectIdentifier oid
       332: .line 4205
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       333: .line 4206
            ldc "Unknown.extension.type."
       334: .line 4205
            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
       335: .line 4206
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       336: .line 4205
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // int exttype
        end local 12 // int colonpos
        end local 11 // int eqpos
        end local 10 // boolean isCritical
        end local 9 // java.lang.String value
        end local 8 // java.lang.String name
        end local 6 // java.lang.String extstr
       337: .line 3935
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 50
       338: .line 4210
            aload 2 /* ext */
            ldc "SubjectKeyIdentifier"
       339: .line 4211
            new sun.security.x509.SubjectKeyIdentifierExtension
            dup
       340: .line 4212
            new sun.security.x509.KeyIdentifier
            dup
            aload 4 /* pkey */
            invokespecial sun.security.x509.KeyIdentifier.<init>:(Ljava/security/PublicKey;)V
            invokevirtual sun.security.x509.KeyIdentifier.getIdentifier:()[B
       341: .line 4211
            invokespecial sun.security.x509.SubjectKeyIdentifierExtension.<init>:([B)V
       342: .line 4210
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       343: .line 4213
            aload 5 /* akey */
            ifnull 352
            aload 4 /* pkey */
            aload 5 /* akey */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 352
       344: .line 4214
            aload 2 /* ext */
            ldc "AuthorityKeyIdentifier"
       345: .line 4215
            new sun.security.x509.AuthorityKeyIdentifierExtension
            dup
       346: .line 4216
            new sun.security.x509.KeyIdentifier
            dup
            aload 5 /* akey */
            invokespecial sun.security.x509.KeyIdentifier.<init>:(Ljava/security/PublicKey;)V
            aconst_null
            aconst_null
       347: .line 4215
            invokespecial sun.security.x509.AuthorityKeyIdentifierExtension.<init>:(Lsun/security/x509/KeyIdentifier;Lsun/security/x509/GeneralNames;Lsun/security/x509/SerialNumber;)V
       348: .line 4214
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       349: .line 4218
            goto 352
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey
      StackMap stack: java.io.IOException
       350: astore 6 /* e */
        start local 6 // java.io.IOException e
       351: .line 4219
            new java.lang.RuntimeException
            dup
            aload 6 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException e
       352: .line 4221
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            areturn
        end local 5 // java.security.PublicKey akey
        end local 4 // java.security.PublicKey pkey
        end local 3 // java.util.List extstrs
        end local 2 // sun.security.x509.CertificateExtensions ext
        end local 1 // sun.security.x509.CertificateExtensions reqex
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  353     0                this  Lsun/security/tools/keytool/Main;
            0  353     1               reqex  Lsun/security/x509/CertificateExtensions;
            0  353     2                 ext  Lsun/security/x509/CertificateExtensions;
            0  353     3             extstrs  Ljava/util/List<Ljava/lang/String;>;
            0  353     4                pkey  Ljava/security/PublicKey;
            0  353     5                akey  Ljava/security/PublicKey;
            6   48     6              extstr  Ljava/lang/String;
            9   48     8                list  Ljava/util/List<Ljava/lang/String;>;
           13   46     9                item  Ljava/lang/String;
           15   46    11                 add  Z
           16   46    12              action  I
           17   46    13                type  Ljava/lang/String;
           22   33    14            colonpos  I
           34   46    14                   n  Ljava/lang/String;
           36   44    15                   e  Lsun/security/x509/Extension;
           51  337     6              extstr  Ljava/lang/String;
           55   57     8                name  Ljava/lang/String;
           58  337     8                name  Ljava/lang/String;
           56   57     9               value  Ljava/lang/String;
           59  337     9               value  Ljava/lang/String;
           52  337    10          isCritical  Z
           53  337    11               eqpos  I
           60  337    12            colonpos  I
           67  337    13             exttype  I
           69  105    14             pathLen  I
           70  105    15                isCA  Z
           79   97    16                part  Ljava/lang/String;
           80   97    20                  nv  [Ljava/lang/String;
          107  133    16                  ok  [Z
          109  125    17                   s  Ljava/lang/String;
          121  125    21                   p  I
          128  133    17                 kue  Lsun/security/x509/KeyUsageExtension;
          141  173    16                   v  Ljava/util/Vector<Lsun/security/util/ObjectIdentifier;>;
          143  168    17                   s  Ljava/lang/String;
          155  168    21                   p  I
          181  204    16                  ps  [Ljava/lang/String;
          182  204    17              gnames  Lsun/security/x509/GeneralNames;
          184  190    18                item  Ljava/lang/String;
          188  190    22                   t  Ljava/lang/String;
          189  190    23                   v  Ljava/lang/String;
          219  264    16  accessDescriptions  Ljava/util/List<Lsun/security/x509/AccessDescription;>;
          220  264    17                  ps  [Ljava/lang/String;
          222  254    18                item  Ljava/lang/String;
          224  254    22           colonpos2  I
          231  254    23                   m  Ljava/lang/String;
          232  254    24                   t  Ljava/lang/String;
          233  254    25                   v  Ljava/lang/String;
          241  254    26                   p  I
          243  244    27                 oid  Lsun/security/util/ObjectIdentifier;
          251  254    27                 oid  Lsun/security/util/ObjectIdentifier;
          272  290    16                  ps  [Ljava/lang/String;
          273  290    17              gnames  Lsun/security/x509/GeneralNames;
          275  281    18                item  Ljava/lang/String;
          279  281    22                   t  Ljava/lang/String;
          280  281    23                   v  Ljava/lang/String;
          297  332    16                 oid  Lsun/security/util/ObjectIdentifier;
          298  332    17                data  [B
          301  325    18                 pos  I
          303  316    19                   c  C
          305  306    23                 hex  I
          308  309    23                 hex  I
          311  316    23                 hex  I
          351  352     6                   e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          73    75      76  Class java.lang.NumberFormatException
         156   157     158  Class java.lang.Exception
         242   243     244  Class java.lang.Exception
           3   349     350  Class java.io.IOException
    Exceptions:
      throws java.lang.Exception
    Signature: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List<Ljava/lang/String;>;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
    MethodParameters:
         Name  Flags
      reqex    
      ext      
      extstrs  
      pkey     
      akey     

  private boolean isTrustedCert(java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.Certificate cert
         0: .line 4225
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 2
            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 2
         1: .line 4226
            iconst_1
            ireturn
         2: .line 4228
      StackMap locals:
      StackMap stack:
            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;
            astore 2 /* inKS */
        start local 2 // java.lang.String inKS
         3: .line 4229
            aload 2 /* inKS */
            ifnull 4
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* inKS */
            invokevirtual java.security.KeyStore.isCertificateEntry:(Ljava/lang/String;)Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: java.lang.String
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // java.lang.String inKS
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/tools/keytool/Main;
            0    5     1  cert  Ljava/security/cert/Certificate;
            3    5     2  inKS  Ljava/lang/String;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
      Name  Flags
      cert  

  private void checkWeak(java.lang.String, java.lang.String, java.security.Key);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/security/Key;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=4, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String label
        start local 2 // java.lang.String sigAlg
        start local 3 // java.security.Key key
         0: .line 4235
            aload 2 /* sigAlg */
            ifnull 7
            getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
         1: .line 4236
            getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
            aload 2 /* sigAlg */
            aconst_null
         2: .line 4235
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
         3: .line 4236
            ifne 7
         4: .line 4237
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
         5: .line 4238
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "whose.sigalg.risk"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* label */
            aastore
            dup
            iconst_1
            aload 2 /* sigAlg */
            aastore
         6: .line 4237
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 4240
      StackMap locals:
      StackMap stack:
            aload 3 /* key */
            ifnull 15
            getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
            getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
            aload 3 /* key */
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
            ifne 15
         8: .line 4241
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
         9: .line 4242
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "whose.key.risk"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 4243
            aload 1 /* label */
            aastore
            dup
            iconst_1
        11: .line 4244
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "key.bit"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 4245
            aload 3 /* key */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 3 /* key */
            invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
            aastore
        13: .line 4244
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aastore
        14: .line 4241
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 4247
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.security.Key key
        end local 2 // java.lang.String sigAlg
        end local 1 // java.lang.String label
        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   label  Ljava/lang/String;
            0   16     2  sigAlg  Ljava/lang/String;
            0   16     3     key  Ljava/security/Key;
    MethodParameters:
        Name  Flags
      label   
      sigAlg  
      key     

  private void checkWeak(java.lang.String, java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;[Ljava/security/cert/Certificate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String label
        start local 2 // java.security.cert.Certificate[] certs
         0: .line 4251
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 10
         2: .line 4252
      StackMap locals: int
      StackMap stack:
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            astore 4 /* cert */
        start local 4 // java.security.cert.Certificate cert
         3: .line 4253
            aload 4 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 9
         4: .line 4254
            aload 4 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 5 /* xc */
        start local 5 // java.security.cert.X509Certificate xc
         5: .line 4255
            aload 1 /* label */
            astore 6 /* fullLabel */
        start local 6 // java.lang.String fullLabel
         6: .line 4256
            aload 2 /* certs */
            arraylength
            iconst_1
            if_icmple 8
         7: .line 4257
            aload 1 /* label */
            iload 3 /* i */
            aload 2 /* certs */
            arraylength
            invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
            astore 6 /* fullLabel */
         8: .line 4259
      StackMap locals: java.security.cert.Certificate java.security.cert.X509Certificate java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 6 /* fullLabel */
            aload 5 /* xc */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 6 // java.lang.String fullLabel
        end local 5 // java.security.cert.X509Certificate xc
        end local 4 // java.security.cert.Certificate cert
         9: .line 4251
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 2
        end local 3 // int i
        11: .line 4262
            return
        end local 2 // java.security.cert.Certificate[] certs
        end local 1 // java.lang.String label
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lsun/security/tools/keytool/Main;
            0   12     1      label  Ljava/lang/String;
            0   12     2      certs  [Ljava/security/cert/Certificate;
            1   11     3          i  I
            3    9     4       cert  Ljava/security/cert/Certificate;
            5    9     5         xc  Ljava/security/cert/X509Certificate;
            6    9     6  fullLabel  Ljava/lang/String;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      label  
      certs  

  private void checkWeak(java.lang.String, java.security.cert.Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String label
        start local 2 // java.security.cert.Certificate cert
         0: .line 4266
            aload 2 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 6
         1: .line 4267
            aload 2 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 3 /* xc */
        start local 3 // java.security.cert.X509Certificate xc
         2: .line 4269
            aload 0 /* this */
            aload 2 /* cert */
            invokevirtual sun.security.tools.keytool.Main.isTrustedCert:(Ljava/security/cert/Certificate;)Z
            ifeq 3
            aconst_null
            goto 4
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
         3: aload 3 /* xc */
            invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 4 /* sigAlg */
        start local 4 // java.lang.String sigAlg
         5: .line 4270
            aload 0 /* this */
            aload 1 /* label */
            aload 4 /* sigAlg */
            aload 3 /* xc */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Key;)V
        end local 4 // java.lang.String sigAlg
        end local 3 // java.security.cert.X509Certificate xc
         6: .line 4272
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String label
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/security/tools/keytool/Main;
            0    7     1   label  Ljava/lang/String;
            0    7     2    cert  Ljava/security/cert/Certificate;
            2    6     3      xc  Ljava/security/cert/X509Certificate;
            5    6     4  sigAlg  Ljava/lang/String;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      label  
      cert   

  private void checkWeak(java.lang.String, sun.security.pkcs10.PKCS10);
    descriptor: (Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String label
        start local 2 // sun.security.pkcs10.PKCS10 p10
         0: .line 4275
            aload 0 /* this */
            aload 1 /* label */
            aload 2 /* p10 */
            invokevirtual sun.security.pkcs10.PKCS10.getSigAlg:()Ljava/lang/String;
            aload 2 /* p10 */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Key;)V
         1: .line 4276
            return
        end local 2 // sun.security.pkcs10.PKCS10 p10
        end local 1 // java.lang.String label
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/tools/keytool/Main;
            0    2     1  label  Ljava/lang/String;
            0    2     2    p10  Lsun/security/pkcs10/PKCS10;
    MethodParameters:
       Name  Flags
      label  
      p10    

  private void checkWeak(java.lang.String, java.security.cert.CRL, java.security.Key);
    descriptor: (Ljava/lang/String;Ljava/security/cert/CRL;Ljava/security/Key;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String label
        start local 2 // java.security.cert.CRL crl
        start local 3 // java.security.Key key
         0: .line 4279
            aload 2 /* crl */
            instanceof sun.security.x509.X509CRLImpl
            ifeq 3
         1: .line 4280
            aload 2 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            astore 4 /* impl */
        start local 4 // sun.security.x509.X509CRLImpl impl
         2: .line 4281
            aload 0 /* this */
            aload 1 /* label */
            aload 4 /* impl */
            invokevirtual sun.security.x509.X509CRLImpl.getSigAlgName:()Ljava/lang/String;
            aload 3 /* key */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Key;)V
        end local 4 // sun.security.x509.X509CRLImpl impl
         3: .line 4283
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.security.Key key
        end local 2 // java.security.cert.CRL crl
        end local 1 // java.lang.String label
        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  label  Ljava/lang/String;
            0    4     2    crl  Ljava/security/cert/CRL;
            0    4     3    key  Ljava/security/Key;
            2    3     4   impl  Lsun/security/x509/X509CRLImpl;
    MethodParameters:
       Name  Flags
      label  
      crl    
      key    

  private void printWeakWarnings(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // boolean newLine
         0: .line 4286
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 8
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nowarn:Z
            ifne 8
         1: .line 4287
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "\nWarning:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 4288
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: sun.security.tools.keytool.Main int top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* warning */
        start local 2 // java.lang.String warning
         4: .line 4289
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* warning */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 2 // java.lang.String warning
         5: .line 4288
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 4291
            iload 1 /* newLine */
            ifeq 8
         7: .line 4293
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         8: .line 4296
      StackMap locals: sun.security.tools.keytool.Main int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         9: .line 4297
            return
        end local 1 // boolean newLine
        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  newLine  Z
            4    5     2  warning  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      newLine  

  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 4303
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnull 34
         1: .line 4304
            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 4305
            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 4304
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 4306
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         5: .line 4307
            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 4308
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         7: .line 4309
            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 4310
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         9: .line 4313
            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 4314
            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 4320
            iconst_0
            istore 3 /* lenLeft */
        start local 3 // int lenLeft
        12: .line 4321
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        13: goto 21
        14: .line 4322
      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 4323
            aload 1 /* left */
            iload 4 /* j */
            aload 5 /* opt */
            invokevirtual sun.security.tools.keytool.Main$Option.toString:()Ljava/lang/String;
            aastore
        16: .line 4324
            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 4325
      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 4326
            aload 1 /* left */
            iload 4 /* j */
            aaload
            invokevirtual java.lang.String.length:()I
            istore 3 /* lenLeft */
        19: .line 4328
      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 4321
            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 4330
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        23: goto 28
        24: .line 4331
      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 4332
            aload 1 /* left */
            iload 4 /* j */
            aaload
            aastore
            dup
            iconst_1
            aload 2 /* right */
            iload 4 /* j */
            aaload
            aastore
        26: .line 4331
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        27: .line 4330
            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 4334
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        30: .line 4335
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        31: .line 4336
            ldc "Use.keytool.help.for.all.available.commands"
        32: .line 4335
            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 4337
            goto 50
        34: .line 4338
      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 4339
            ldc "Key.and.Certificate.Management.Tool"
        36: .line 4338
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        37: .line 4340
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        38: .line 4341
            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 4342
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        40: .line 4343
            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 45
      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 4344
            aload 1 /* c */
            getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 43
            goto 46
        43: .line 4345
      StackMap locals: sun.security.tools.keytool.Main sun.security.tools.keytool.Main$Command int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
            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
        44: .line 4343
            iinc 2 1
      StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
        45: iload 2
            iload 3
            if_icmplt 41
        46: .line 4347
      StackMap locals: sun.security.tools.keytool.Main
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        47: .line 4348
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        48: .line 4349
            ldc "Use.keytool.command.name.help.for.usage.of.command.name"
        49: .line 4348
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        50: .line 4351
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   51     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   44     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 4354
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
         1: .line 4355
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 3
         2: .line 4356
            new java.lang.RuntimeException
            dup
            ldc "NO BIG ERROR, SORRY"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 4358
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         4: .line 4360
            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 4363
            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 4364
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.text.MessageFormat
            dup
         2: .line 4365
            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 4364
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 4366
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
         5: .line 4367
            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  

  private char[] getPass(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)[C
    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.lang.String modifier
        start local 2 // java.lang.String arg
         0: .line 4370
            aload 1 /* modifier */
            aload 2 /* arg */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            invokestatic sun.security.tools.KeyStoreUtil.getPassWithModifier:(Ljava/lang/String;Ljava/lang/String;Ljava/util/ResourceBundle;)[C
            astore 3 /* output */
        start local 3 // char[] output
         1: .line 4371
            aload 3 /* output */
            ifnull 2
            aload 3 /* output */
            areturn
         2: .line 4372
      StackMap locals: char[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
         3: .line 4373
            aconst_null
            areturn
        end local 3 // char[] output
        end local 2 // java.lang.String arg
        end local 1 // java.lang.String modifier
        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  modifier  Ljava/lang/String;
            0    4     2       arg  Ljava/lang/String;
            1    4     3    output  [C
    MethodParameters:
          Name  Flags
      modifier  
      arg       
}
SourceFile: "Main.java"
NestMembers:
  sun.security.tools.keytool.Main$1  sun.security.tools.keytool.Main$1$1  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
  sun.security.tools.keytool.Main$1
  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