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 static final byte[] CRLF;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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 java.lang.String groupName;
    descriptor: Ljava/lang/String;
    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.util.Set<sun.security.tools.keytool.Pair<java.lang.String, java.lang.String>> providerClasses;
    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 protectedPath;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

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

  private boolean nowarn;
    descriptor: Z
    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 boolean isPasswordlessKeyStore;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  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 118
            iconst_2
            newarray 8
            dup
            iconst_0
            bipush 13
            bastore
            dup
            iconst_1
            bipush 10
            bastore
            putstatic sun.security.tools.keytool.Main.CRLF:[B
         1: .line 189
            new sun.security.util.DisabledAlgorithmConstraints
            dup
         2: .line 190
            ldc "jdk.certpath.disabledAlgorithms"
         3: .line 189
            invokespecial sun.security.util.DisabledAlgorithmConstraints.<init>:(Ljava/lang/String;)V
         4: .line 188
            putstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
         5: .line 193
            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;
         6: .line 192
            putstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
         7: .line 316
            getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            ldc "-genkey"
            invokevirtual sun.security.tools.keytool.Main$Command.setAltName:(Ljava/lang/String;)V
         8: .line 317
            getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            ldc "-import"
            invokevirtual sun.security.tools.keytool.Main$Command.setAltName:(Ljava/lang/String;)V
         9: .line 318
            getstatic sun.security.tools.keytool.Main$Command.EXPORTCERT:Lsun/security/tools/keytool/Main$Command;
            ldc "-export"
            invokevirtual sun.security.tools.keytool.Main$Command.setAltName:(Ljava/lang/String;)V
        10: .line 319
            getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
            ldc "-importpassword"
            invokevirtual sun.security.tools.keytool.Main$Command.setAltName:(Ljava/lang/String;)V
        11: .line 391
            ldc "sun.security.tools.keytool.Resources"
        12: .line 390
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
        13: .line 389
            putstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        14: .line 392
            invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
            putstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
        15: .line 395
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            iconst_0
            invokevirtual java.text.Collator.setStrength:(I)V
        16: .line 4174
            bipush 9
            anewarray java.lang.String
            dup
            iconst_0
        17: .line 4175
            ldc "BasicConstraints"
            aastore
            dup
            iconst_1
        18: .line 4176
            ldc "KeyUsage"
            aastore
            dup
            iconst_2
        19: .line 4177
            ldc "ExtendedKeyUsage"
            aastore
            dup
            iconst_3
        20: .line 4178
            ldc "SubjectAlternativeName"
            aastore
            dup
            iconst_4
        21: .line 4179
            ldc "IssuerAlternativeName"
            aastore
            dup
            iconst_5
        22: .line 4180
            ldc "SubjectInfoAccess"
            aastore
            dup
            bipush 6
        23: .line 4181
            ldc "AuthorityInfoAccess"
            aastore
            dup
            bipush 8
        24: .line 4183
            ldc "CRLDistributionPoints"
            aastore
        25: .line 4174
            putstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
        26: .line 4184
            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 398
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 120
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.debug:Z
         2: .line 121
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
         3: .line 122
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
         4: .line 123
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
         5: .line 124
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.verbose:Z
         6: .line 125
            aload 0 /* this */
            iconst_m1
            putfield sun.security.tools.keytool.Main.keysize:I
         7: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.groupName:Ljava/lang/String;
         8: .line 127
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.rfc:Z
         9: .line 128
            aload 0 /* this */
            ldc 90
            putfield sun.security.tools.keytool.Main.validity:J
        10: .line 129
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
        11: .line 130
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
        12: .line 131
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
        13: .line 132
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
        14: .line 133
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
        15: .line 134
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
        16: .line 135
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
        17: .line 143
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
        18: .line 144
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
        19: .line 145
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
        20: .line 146
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
        21: .line 147
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
        22: .line 148
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
        23: .line 149
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
        24: .line 150
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePassNew:[C
        25: .line 151
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyPass:[C
        26: .line 152
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
        27: .line 153
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.newPass:[C
        28: .line 154
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.destKeyPass:[C
        29: .line 155
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        30: .line 156
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        31: .line 157
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
        32: .line 158
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
        33: .line 159
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
        34: .line 160
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
        35: .line 161
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
        36: .line 162
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.token:Z
        37: .line 163
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.nullStream:Z
        38: .line 164
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.kssave:Z
        39: .line 165
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.noprompt:Z
        40: .line 166
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
        41: .line 167
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.protectedPath:Z
        42: .line 168
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
        43: .line 169
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.cacerts:Z
        44: .line 170
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.nowarn:Z
        45: .line 171
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
        46: .line 172
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcstorePass:[C
        47: .line 173
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
        48: .line 174
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
        49: .line 175
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
        50: .line 177
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
        51: .line 178
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        52: .line 182
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.inplaceImport:Z
        53: .line 183
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
        54: .line 186
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
        55: .line 194
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
        56: .line 398
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   57     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 401
            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 402
            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 403
            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 407
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual sun.security.tools.keytool.Main.parseArgs:([Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* args */
         1: .line 408
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnull 32
         2: .line 409
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.doCommands:(Ljava/io/PrintStream;)V
         3: .line 411
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 3 /* e */
        start local 3 // java.lang.Exception e
         5: .line 412
            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 413
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 8
         7: .line 414
            aload 3 /* e */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
         8: .line 416
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifne 11
         9: .line 417
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        10: .line 418
            goto 12
        11: .line 419
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // java.lang.Exception e
        12: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        13: .line 423
            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 424
            aload 5 /* pass */
            ifnull 18
        16: .line 425
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        17: .line 426
            aconst_null
            astore 5
        end local 5 // char[] pass
        18: .line 423
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        19: .line 430
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 41
        20: .line 431
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
            goto 41
        21: .line 421
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
      StackMap stack: java.lang.Throwable
            astore 4
        22: .line 422
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        23: .line 423
            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 424
            aload 5 /* pass */
            ifnull 28
        26: .line 425
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        27: .line 426
            aconst_null
            astore 5
        end local 5 // char[] pass
        28: .line 423
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        29: .line 430
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 31
        30: .line 431
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        31: .line 433
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        32: .line 422
      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 423
            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 424
            aload 5 /* pass */
            ifnull 38
        36: .line 425
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        37: .line 426
            aconst_null
            astore 5
        end local 5 // char[] pass
        38: .line 423
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        39: .line 430
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 41
        40: .line 431
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        41: .line 434
      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   

  java.lang.String[] parseArgs(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=7, locals=12, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String[] args
         0: .line 441
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 442
            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 444
            aconst_null
            astore 4 /* confFile */
        start local 4 // java.lang.String confFile
         5: .line 447
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* optionsSet */
        start local 5 // java.util.Set optionsSet
         6: .line 449
            iconst_0
            istore 2 /* i */
            goto 39
         7: .line 450
      StackMap locals: int java.lang.String java.util.Set
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            aaload
            astore 6 /* flags */
        start local 6 // java.lang.String flags
         8: .line 451
            aload 6 /* flags */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 38
         9: .line 452
            aload 6 /* flags */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 7 /* lowerFlags */
        start local 7 // java.lang.String lowerFlags
        10: .line 453
            aload 5 /* optionsSet */
            aload 7 /* lowerFlags */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 23
        11: .line 454
            aload 7 /* lowerFlags */
            dup
            astore 8
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 6
          -1367792870: 12
           -718567138: 13
           -716508040: 14
           -512663739: 15
                46600: 16
              1441492: 17
              default: 18
          }
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
        12: aload 8
            ldc "-providerclass"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 18
      StackMap locals:
      StackMap stack:
        13: aload 8
            ldc "-provider"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 8
            ldc "-providerarg"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 18
      StackMap locals:
      StackMap stack:
        15: aload 8
            ldc "-addprovider"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 18
      StackMap locals:
      StackMap stack:
        16: aload 8
            ldc "-id"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 8
            ldc "-ext"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
        18: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
        19: .line 465
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "option.1.set.twice"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 466
            aload 7 /* lowerFlags */
            aastore
        21: .line 464
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 468
            goto 24
        23: .line 469
      StackMap locals:
      StackMap stack:
            aload 5 /* optionsSet */
            aload 7 /* lowerFlags */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        24: .line 471
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-conf"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 29
        25: .line 472
            iload 2 /* i */
            aload 1 /* args */
            arraylength
            iconst_1
            isub
            if_icmpne 27
        26: .line 473
            aload 0 /* this */
            aload 6 /* flags */
            invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
        27: .line 475
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            astore 4 /* confFile */
        28: .line 476
            goto 38
        29: .line 477
      StackMap locals:
      StackMap stack:
            aload 6 /* flags */
            invokestatic sun.security.tools.keytool.Main$Command.getCommand:(Ljava/lang/String;)Lsun/security/tools/keytool/Main$Command;
            astore 9 /* c */
        start local 9 // sun.security.tools.keytool.Main$Command c
        30: .line 478
            aload 9 /* c */
            ifnull 38
        31: .line 479
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnonnull 34
        32: .line 480
            aload 0 /* this */
            aload 9 /* c */
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        33: .line 481
            goto 38
        34: .line 482
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set java.lang.String java.lang.String top sun.security.tools.keytool.Main$Command
      StackMap stack:
            new java.lang.Exception
            dup
        35: .line 483
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "multiple.commands.1.2"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        36: .line 484
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getfield sun.security.tools.keytool.Main$Command.name:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 9 /* c */
            getfield sun.security.tools.keytool.Main$Command.name:Ljava/lang/String;
            aastore
        37: .line 482
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // sun.security.tools.keytool.Main$Command c
        end local 7 // java.lang.String lowerFlags
        end local 6 // java.lang.String flags
        38: .line 449
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 7
        40: .line 491
            aload 4 /* confFile */
            ifnull 45
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnull 45
        41: .line 492
            ldc "keytool"
            aload 4 /* confFile */
        42: .line 493
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            invokevirtual sun.security.tools.keytool.Main$Command.toString:()Ljava/lang/String;
        43: .line 494
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            invokevirtual sun.security.tools.keytool.Main$Command.getAltName:()Ljava/lang/String;
            aload 1 /* args */
        44: .line 492
            invokestatic sun.security.tools.KeyStoreUtil.expandArgs:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* args */
        45: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
        46: .line 498
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  sun/security/tools/keytool/Main.lambda$0(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
        47: .line 497
            invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
            putfield sun.security.tools.keytool.Main.debug:Z
        48: .line 500
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 52
        49: .line 502
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Command line args: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        50: .line 503
            aload 1 /* args */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        51: .line 502
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        52: .line 506
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
            goto 246
        53: .line 508
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            aaload
            astore 6 /* flags */
        start local 6 // java.lang.String flags
        54: .line 511
            iload 2 /* i */
            aload 1 /* args */
            arraylength
            iconst_1
            isub
            if_icmpne 62
        55: .line 512
            invokestatic sun.security.tools.keytool.Main$Option.values:()[Lsun/security/tools/keytool/Main$Option;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 61
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set java.lang.String top int int sun.security.tools.keytool.Main$Option[]
      StackMap stack:
        56: aload 10
            iload 8
            aaload
            astore 7 /* option */
        start local 7 // sun.security.tools.keytool.Main$Option option
        57: .line 514
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            aload 7 /* 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 60
        58: .line 515
            aload 7 /* option */
            getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
            ifnull 62
            aload 0 /* this */
            aload 6 /* flags */
            invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
        59: .line 516
            goto 62
        end local 7 // sun.security.tools.keytool.Main$Option option
        60: .line 512
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        61: iload 8
            iload 9
            if_icmplt 56
        62: .line 524
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set java.lang.String
      StackMap stack:
            aconst_null
            astore 7 /* modifier */
        start local 7 // java.lang.String modifier
        63: .line 525
            aload 6 /* flags */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 8 /* pos */
        start local 8 // int pos
        64: .line 526
            iload 8 /* pos */
            ifle 67
        65: .line 527
            aload 6 /* flags */
            iload 8 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 7 /* modifier */
        66: .line 528
            aload 6 /* flags */
            iconst_0
            iload 8 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* flags */
        67: .line 534
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 6 /* flags */
            invokestatic sun.security.tools.keytool.Main$Command.getCommand:(Ljava/lang/String;)Lsun/security/tools/keytool/Main$Command;
            astore 9 /* c */
        start local 9 // sun.security.tools.keytool.Main$Command c
        68: .line 536
            aload 9 /* c */
            ifnull 71
        69: .line 537
            aload 0 /* this */
            aload 9 /* c */
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        70: .line 538
            goto 245
      StackMap locals: sun.security.tools.keytool.Main$Command
      StackMap stack:
        71: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "--help"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 75
        72: .line 539
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-h"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 75
        73: .line 540
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-?"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 75
        74: .line 542
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-help"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 77
        75: .line 543
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* help */
        76: .line 544
            goto 245
      StackMap locals:
      StackMap stack:
        77: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-conf"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 80
        78: .line 545
            iinc 2 /* i */ 1
        79: .line 546
            goto 245
      StackMap locals:
      StackMap stack:
        80: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-nowarn"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 83
        81: .line 547
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.nowarn:Z
        82: .line 548
            goto 245
      StackMap locals:
      StackMap stack:
        83: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-keystore"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 91
        84: .line 549
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        85: .line 550
            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.getCanonicalPath:()Ljava/lang/String;
        86: .line 551
            new java.io.File
            dup
            invokestatic sun.security.tools.KeyStoreUtil.getCacerts:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
        87: .line 550
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        88: .line 551
            ifeq 245
        89: .line 552
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "warning.cacerts.option"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        90: .line 554
            goto 245
      StackMap locals:
      StackMap stack:
        91: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-destkeystore"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 94
        92: .line 555
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        93: .line 556
            goto 245
      StackMap locals:
      StackMap stack:
        94: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-cacerts"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 97
        95: .line 557
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.cacerts:Z
        96: .line 558
            goto 245
      StackMap locals:
      StackMap stack:
        97: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-storepass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 99
        98: .line 559
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-deststorepass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 102
        99: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* 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
       100: .line 561
            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
       101: .line 562
            goto 245
      StackMap locals:
      StackMap stack:
       102: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-storetype"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 104
       103: .line 563
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-deststoretype"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 106
       104: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokestatic sun.security.tools.KeyStoreUtil.niceStoreTypeName:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
       105: .line 565
            goto 245
      StackMap locals:
      StackMap stack:
       106: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-srcstorepass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 110
       107: .line 566
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* 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
       108: .line 567
            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
       109: .line 568
            goto 245
      StackMap locals:
      StackMap stack:
       110: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-srcstoretype"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 113
       111: .line 569
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokestatic sun.security.tools.KeyStoreUtil.niceStoreTypeName:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
       112: .line 570
            goto 245
      StackMap locals:
      StackMap stack:
       113: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-srckeypass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 117
       114: .line 571
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* 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
       115: .line 572
            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
       116: .line 573
            goto 245
      StackMap locals:
      StackMap stack:
       117: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-srcprovidername"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 120
       118: .line 574
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
       119: .line 575
            goto 245
      StackMap locals:
      StackMap stack:
       120: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-providername"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 122
       121: .line 576
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-destprovidername"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 124
       122: .line 577
      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;
       123: .line 578
            goto 245
      StackMap locals:
      StackMap stack:
       124: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-providerpath"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 127
       125: .line 579
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
       126: .line 580
            goto 245
      StackMap locals:
      StackMap stack:
       127: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-keypass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 131
       128: .line 581
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* 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
       129: .line 582
            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
       130: .line 583
            goto 245
      StackMap locals:
      StackMap stack:
       131: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-new"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 135
       132: .line 584
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* 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
       133: .line 585
            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
       134: .line 586
            goto 245
      StackMap locals:
      StackMap stack:
       135: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-destkeypass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 139
       136: .line 587
            aload 0 /* this */
            aload 0 /* this */
            aload 7 /* 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
       137: .line 588
            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
       138: .line 589
            goto 245
      StackMap locals:
      StackMap stack:
       139: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-alias"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 141
       140: .line 590
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-srcalias"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 143
       141: .line 591
      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;
       142: .line 592
            goto 245
      StackMap locals:
      StackMap stack:
       143: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-dest"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 145
       144: .line 593
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-destalias"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 147
       145: .line 594
      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;
       146: .line 595
            goto 245
      StackMap locals:
      StackMap stack:
       147: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-dname"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 150
       148: .line 596
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
       149: .line 597
            goto 245
      StackMap locals:
      StackMap stack:
       150: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-keysize"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 153
       151: .line 598
            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
       152: .line 599
            goto 245
      StackMap locals:
      StackMap stack:
       153: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-groupname"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 156
       154: .line 600
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.groupName:Ljava/lang/String;
       155: .line 601
            goto 245
      StackMap locals:
      StackMap stack:
       156: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-keyalg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 159
       157: .line 602
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       158: .line 603
            goto 245
      StackMap locals:
      StackMap stack:
       159: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-sigalg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 162
       160: .line 604
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
       161: .line 605
            goto 245
      StackMap locals:
      StackMap stack:
       162: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-startdate"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 165
       163: .line 606
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
       164: .line 607
            goto 245
      StackMap locals:
      StackMap stack:
       165: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-validity"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 168
       166: .line 608
            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
       167: .line 609
            goto 245
      StackMap locals:
      StackMap stack:
       168: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-ext"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 171
       169: .line 610
            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
       170: .line 611
            goto 245
      StackMap locals:
      StackMap stack:
       171: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-id"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 174
       172: .line 612
            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
       173: .line 613
            goto 245
      StackMap locals:
      StackMap stack:
       174: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-file"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 177
       175: .line 614
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
       176: .line 615
            goto 245
      StackMap locals:
      StackMap stack:
       177: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-infile"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 180
       178: .line 616
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
       179: .line 617
            goto 245
      StackMap locals:
      StackMap stack:
       180: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-outfile"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 183
       181: .line 618
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
       182: .line 619
            goto 245
      StackMap locals:
      StackMap stack:
       183: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-sslserver"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 186
       184: .line 620
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
       185: .line 621
            goto 245
      StackMap locals:
      StackMap stack:
       186: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-jarfile"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 189
       187: .line 622
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
       188: .line 623
            goto 245
      StackMap locals:
      StackMap stack:
       189: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-srckeystore"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 192
       190: .line 624
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
       191: .line 625
            goto 245
      StackMap locals:
      StackMap stack:
       192: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-provider"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 194
       193: .line 626
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-providerclass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 208
       194: .line 627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
            ifnonnull 196
       195: .line 628
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_3
            invokespecial java.util.HashSet.<init>:(I)V
            putfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
       196: .line 630
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            astore 10 /* providerClass */
        start local 10 // java.lang.String providerClass
       197: .line 631
            aconst_null
            astore 11 /* providerArg */
        start local 11 // java.lang.String providerArg
       198: .line 633
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_1
            iadd
            if_icmple 204
       199: .line 634
            aload 1 /* args */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            astore 6 /* flags */
       200: .line 635
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-providerarg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 204
       201: .line 636
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_2
            iadd
            if_icmpne 202
            aload 0 /* this */
            aload 6 /* flags */
            invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
       202: .line 637
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            iconst_2
            iadd
            aaload
            astore 11 /* providerArg */
       203: .line 638
            iinc 2 /* i */ 2
       204: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
       205: .line 642
            aload 10 /* providerClass */
            aload 11 /* providerArg */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
       206: .line 641
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.String providerArg
        end local 10 // java.lang.String providerClass
       207: .line 643
            goto 245
      StackMap locals:
      StackMap stack:
       208: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-addprovider"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 223
       209: .line 644
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            ifnonnull 211
       210: .line 645
            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;
       211: .line 647
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            astore 10 /* provider */
        start local 10 // java.lang.String provider
       212: .line 648
            aconst_null
            astore 11 /* providerArg */
        start local 11 // java.lang.String providerArg
       213: .line 650
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_1
            iadd
            if_icmple 219
       214: .line 651
            aload 1 /* args */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            astore 6 /* flags */
       215: .line 652
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-providerarg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 219
       216: .line 653
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_2
            iadd
            if_icmpne 217
            aload 0 /* this */
            aload 6 /* flags */
            invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
       217: .line 654
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            iconst_2
            iadd
            aaload
            astore 11 /* providerArg */
       218: .line 655
            iinc 2 /* i */ 2
       219: .line 658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
       220: .line 659
            aload 10 /* provider */
            aload 11 /* providerArg */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
       221: .line 658
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.String providerArg
        end local 10 // java.lang.String provider
       222: .line 660
            goto 245
       223: .line 665
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-v"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 226
       224: .line 666
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.verbose:Z
       225: .line 667
            goto 245
      StackMap locals:
      StackMap stack:
       226: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-debug"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 245
       227: .line 669
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-rfc"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 230
       228: .line 670
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.rfc:Z
       229: .line 671
            goto 245
      StackMap locals:
      StackMap stack:
       230: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-noprompt"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 233
       231: .line 672
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.noprompt:Z
       232: .line 673
            goto 245
      StackMap locals:
      StackMap stack:
       233: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-trustcacerts"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 236
       234: .line 674
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
       235: .line 675
            goto 245
      StackMap locals:
      StackMap stack:
       236: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-protected"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 238
       237: .line 676
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-destprotected"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 240
       238: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.protectedPath:Z
       239: .line 678
            goto 245
      StackMap locals:
      StackMap stack:
       240: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 6 /* flags */
            ldc "-srcprotected"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 243
       241: .line 679
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
       242: .line 680
            goto 245
       243: .line 681
      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 6 /* 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
       244: .line 682
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        end local 9 // sun.security.tools.keytool.Main$Command c
        end local 8 // int pos
        end local 7 // java.lang.String modifier
        end local 6 // java.lang.String flags
       245: .line 506
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
       246: iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmpge 247
            aload 1 /* args */
            iload 2 /* i */
            aaload
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 53
       247: .line 686
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmpge 250
       248: .line 687
            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
       249: .line 688
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       250: .line 691
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnonnull 257
       251: .line 692
            iload 3 /* help */
            ifeq 254
       252: .line 693
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
       253: .line 694
            goto 260
       254: .line 695
      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
       255: .line 696
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       256: .line 698
            goto 260
      StackMap locals:
      StackMap stack:
       257: iload 3 /* help */
            ifeq 260
       258: .line 699
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
       259: .line 700
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
       260: .line 703
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            areturn
        end local 5 // java.util.Set optionsSet
        end local 4 // java.lang.String confFile
        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  261     0           this  Lsun/security/tools/keytool/Main;
            0  261     1           args  [Ljava/lang/String;
            1  261     2              i  I
            4  261     3           help  Z
            5  261     4       confFile  Ljava/lang/String;
            6  261     5     optionsSet  Ljava/util/Set<Ljava/lang/String;>;
            8   38     6          flags  Ljava/lang/String;
           10   38     7     lowerFlags  Ljava/lang/String;
           30   38     9              c  Lsun/security/tools/keytool/Main$Command;
           54  245     6          flags  Ljava/lang/String;
           57   60     7         option  Lsun/security/tools/keytool/Main$Option;
           63  245     7       modifier  Ljava/lang/String;
           64  245     8            pos  I
           68  245     9              c  Lsun/security/tools/keytool/Main$Command;
          197  207    10  providerClass  Ljava/lang/String;
          198  207    11    providerArg  Ljava/lang/String;
          212  222    10       provider  Ljava/lang/String;
          213  222    11    providerArg  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    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 707
            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=9, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.PrintStream out
         0: .line 715
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.cacerts:Z
            ifeq 6
         1: .line 716
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnonnull 2
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            ifnull 5
         2: .line 717
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         3: .line 718
            ldc "the.keystore.or.storetype.option.cannot.be.used.with.the.cacerts.option"
         4: .line 717
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic sun.security.tools.KeyStoreUtil.getCacerts:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
         6: .line 723
      StackMap locals:
      StackMap stack:
            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 724
            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 725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.token:Z
         9: .line 726
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnonnull 11
        10: .line 727
            aload 0 /* this */
            ldc "NONE"
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        11: .line 730
      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 731
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.nullStream:Z
        13: .line 734
      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 735
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 736
            ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
        16: .line 735
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 736
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        18: .line 735
            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 737
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        20: .line 738
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        21: .line 741
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 28
        22: .line 742
            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 743
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        24: .line 744
            ldc ".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}"
        25: .line 743
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 744
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        27: .line 743
            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 747
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 34
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 29
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnonnull 29
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 34
        29: .line 748
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        30: .line 749
            ldc ".keypass.and.new.can.not.be.specified.if.storetype.is.{0}"
        31: .line 748
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        32: .line 749
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        33: .line 748
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifeq 40
        35: .line 753
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 37
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 37
        36: .line 754
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnonnull 37
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 40
        37: .line 755
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        38: .line 756
            ldc "if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified"
        39: .line 755
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
            ifeq 45
        41: .line 761
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 42
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 45
        42: .line 762
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        43: .line 763
            ldc "if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified"
        44: .line 762
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 767
      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 51
        46: .line 768
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 48
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 48
        47: .line 769
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnonnull 48
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 51
        48: .line 770
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        49: .line 771
            ldc "if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified"
        50: .line 770
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        51: .line 775
      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 56
        52: .line 776
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 53
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 56
        53: .line 777
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        54: .line 778
            ldc "if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified"
        55: .line 777
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        56: .line 782
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            lconst_0
            lcmp
            ifgt 60
        57: .line 783
            new java.lang.Exception
            dup
        58: .line 784
            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;
        59: .line 783
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            ifnull 75
        61: .line 789
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 74
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream top java.util.Iterator
      StackMap stack:
        62: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.tools.keytool.Pair
            astore 2 /* provider */
        start local 2 // sun.security.tools.keytool.Pair provider
        63: .line 792
            aload 2 /* provider */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* provider */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.lang.String
        64: .line 791
            invokestatic sun.security.tools.KeyStoreUtil.loadProviderByName:(Ljava/lang/String;Ljava/lang/String;)V
        65: .line 793
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 74
        66: .line 794
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "loadProviderByName: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* provider */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.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
        67: .line 796
            goto 74
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.tools.keytool.Pair java.util.Iterator
      StackMap stack: java.lang.IllegalArgumentException
        68: pop
        69: .line 797
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        70: .line 798
            ldc "provider.name.not.found"
        71: .line 797
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        72: .line 798
            aload 2 /* provider */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            aastore
        73: .line 797
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // sun.security.tools.keytool.Pair provider
        74: .line 789
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 62
        75: .line 802
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
            ifnull 110
        76: .line 803
            aconst_null
            astore 2 /* cl */
        start local 2 // java.lang.ClassLoader cl
        77: .line 804
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
            ifnull 87
        78: .line 805
            aconst_null
            astore 3 /* path */
        start local 3 // java.lang.String path
        79: .line 807
            aload 3 /* path */
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        80: .line 806
            invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        81: .line 809
            aload 3 /* path */
            ldc "env.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        82: .line 808
            invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        83: .line 810
            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 */
        84: .line 812
            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
        85: .line 813
            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
        86: .line 814
            goto 88
        87: .line 815
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* cl */
        88: .line 817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 109
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
      StackMap stack:
        89: 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
        90: .line 820
            aload 3 /* provider */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.lang.String
            aload 3 /* provider */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* cl */
        91: .line 819
            invokestatic sun.security.tools.KeyStoreUtil.loadProviderByClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
        92: .line 821
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 109
        93: .line 822
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "loadProviderByClass: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* provider */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.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
        94: .line 824
            goto 109
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader sun.security.tools.keytool.Pair java.util.Iterator
      StackMap stack: java.lang.ClassCastException
        95: pop
        96: .line 825
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        97: .line 826
            ldc "provclass.not.a.provider"
        98: .line 825
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        99: .line 826
            aload 3 /* provider */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            aastore
       100: .line 825
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       101: .line 827
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 5 /* e */
        start local 5 // java.lang.IllegalArgumentException e
       102: .line 828
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       103: .line 829
            ldc "provider.class.not.found"
       104: .line 828
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       105: .line 829
            aload 3 /* provider */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            aastore
       106: .line 828
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       107: .line 829
            aload 5 /* e */
            invokevirtual java.lang.IllegalArgumentException.getCause:()Ljava/lang/Throwable;
       108: .line 828
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.IllegalArgumentException e
        end local 3 // sun.security.tools.keytool.Pair provider
       109: .line 817
      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 89
        end local 2 // java.lang.ClassLoader cl
       110: .line 834
      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 115
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 115
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 115
       111: .line 835
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       112: .line 836
            ldc "Must.not.specify.both.v.and.rfc.with.list.command"
       113: .line 835
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       114: .line 837
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       115: .line 841
      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 119
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 119
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            arraylength
            bipush 6
            if_icmpge 119
       116: .line 842
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       117: .line 843
            ldc "Key.password.must.be.at.least.6.characters"
       118: .line 842
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       119: .line 845
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnull 123
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            arraylength
            bipush 6
            if_icmpge 123
       120: .line 846
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       121: .line 847
            ldc "New.password.must.be.at.least.6.characters"
       122: .line 846
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       123: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 127
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            arraylength
            bipush 6
            if_icmpge 127
       124: .line 850
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       125: .line 851
            ldc "New.password.must.be.at.least.6.characters"
       126: .line 850
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       127: .line 855
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnonnull 131
       128: .line 856
            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;
       129: .line 857
            ldc ".keystore"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       130: .line 856
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
       131: .line 860
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* srcKeyStore */
        start local 2 // java.security.KeyStore srcKeyStore
       132: .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.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 138
       133: .line 862
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.inplaceImportCheck:()Z
            putfield sun.security.tools.keytool.Main.inplaceImport:Z
       134: .line 863
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 138
       135: .line 866
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
            astore 2 /* srcKeyStore */
       136: .line 867
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 138
       137: .line 868
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            putfield sun.security.tools.keytool.Main.storePass:[C
       138: .line 881
      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 161
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 161
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifne 161
       139: .line 883
            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;
       140: .line 885
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 146
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual java.io.File.length:()J
            lconst_0
            lcmp
            ifne 146
       141: .line 886
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       142: .line 887
            ldc "Keystore.file.exists.but.is.empty."
       143: .line 886
            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
       144: .line 887
            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;
       145: .line 886
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       146: .line 889
      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;
       147: .line 890
            goto 161
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
       148: pop
       149: .line 891
            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 161
       150: .line 892
            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 161
       151: .line 893
            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 161
       152: .line 894
            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 161
       153: .line 895
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 161
       154: .line 896
            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 161
       155: .line 897
            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 161
       156: .line 898
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       157: .line 899
            ldc "Keystore.file.does.not.exist."
       158: .line 898
            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
       159: .line 899
            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;
       160: .line 898
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       161: .line 904
      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 162
            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 168
       162: .line 905
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            ifnonnull 168
       163: .line 906
            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;
       164: .line 907
            ldc ""
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 168
       165: .line 908
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       166: .line 909
            ldc "Must.specify.destination.alias"
       167: .line 908
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       168: .line 913
      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 172
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 172
       169: .line 914
            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;
       170: .line 915
            ldc ""
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 172
       171: .line 916
            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
       172: .line 922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            ifnull 179
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 179
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            ifnonnull 179
       173: .line 923
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            ifnonnull 179
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifne 179
       174: .line 924
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokestatic java.security.KeyStore.getInstance:(Ljava/io/File;[C)Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       175: .line 925
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
       176: .line 926
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            ldc "pkcs12"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 204
       177: .line 927
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokestatic sun.security.pkcs12.PKCS12KeyStore.isPasswordless:(Ljava/io/File;)Z
            putfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
       178: .line 929
            goto 204
       179: .line 930
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            ifnonnull 181
       180: .line 931
            aload 0 /* this */
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
       181: .line 933
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            ifnonnull 184
       182: .line 934
            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;
       183: .line 935
            goto 185
       184: .line 936
      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;
       185: .line 940
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            ldc "pkcs12"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 197
       186: .line 941
            aload 0 /* this */
       187: .line 942
            ldc "NONE"
       188: .line 943
            ldc "keystore.pkcs12.certProtectionAlgorithm"
       189: .line 942
            invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
       190: .line 943
            ifeq 195
       191: .line 944
            ldc "NONE"
       192: .line 945
            ldc "keystore.pkcs12.macAlgorithm"
       193: .line 944
            invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
       194: .line 945
            ifeq 195
            iconst_1
            goto 196
      StackMap locals:
      StackMap stack: sun.security.tools.keytool.Main
       195: iconst_0
       196: .line 941
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore
      StackMap stack: sun.security.tools.keytool.Main int
            putfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
       197: .line 968
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 204
       198: .line 969
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 201
       199: .line 970
            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
       200: .line 971
            goto 202
       201: .line 972
      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
       202: .line 974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 204
       203: .line 975
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
       204: .line 980
      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 208
            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 208
       205: .line 981
            new java.lang.UnsupportedOperationException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       206: .line 982
            ldc ".keypasswd.commands.not.supported.if.storetype.is.PKCS12"
       207: .line 981
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
       208: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 211
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 211
       209: .line 989
            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
       210: .line 990
            goto 279
      StackMap locals:
      StackMap stack:
       211: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 216
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 216
       212: .line 993
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnonnull 279
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            arraylength
            bipush 6
            if_icmpge 279
       213: .line 994
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       214: .line 995
            ldc "Keystore.password.must.be.at.least.6.characters"
       215: .line 994
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       216: .line 997
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 279
       217: .line 998
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 272
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 272
       218: .line 999
            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 272
       219: .line 1000
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
            ifne 272
       220: .line 1001
            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 233
       221: .line 1002
            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 233
       222: .line 1003
            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 233
       223: .line 1004
            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 233
       224: .line 1005
            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 233
       225: .line 1006
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 233
       226: .line 1007
            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 233
       227: .line 1008
            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 233
       228: .line 1009
            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 233
       229: .line 1010
            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 233
       230: .line 1011
            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 233
       231: .line 1012
            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 233
       232: .line 1013
            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 267
       233: .line 1014
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* count */
        start local 3 // int count
       234: .line 1016
      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 239
       235: .line 1017
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       236: .line 1018
            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;
       237: .line 1017
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       238: .line 1019
            goto 242
       239: .line 1020
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       240: .line 1021
            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;
       241: .line 1020
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       242: .line 1023
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
       243: .line 1024
            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
       244: .line 1025
            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
       245: .line 1029
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 250
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 246
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            arraylength
            bipush 6
            if_icmpge 250
       246: .line 1030
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       247: .line 1031
            ldc "Keystore.password.is.too.short.must.be.at.least.6.characters"
       248: .line 1030
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       249: .line 1032
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
       250: .line 1037
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 259
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 259
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnonnull 259
       251: .line 1038
            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
       252: .line 1039
            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
       253: .line 1040
            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
       254: .line 1041
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 4 /* storePassAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 259
       255: .line 1042
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       256: .line 1043
            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;
       257: .line 1042
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       258: .line 1044
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
        end local 4 // char[] storePassAgain
       259: .line 1048
      StackMap locals:
      StackMap stack:
            iinc 3 /* count */ 1
       260: .line 1049
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 262
            iload 3 /* count */
            iconst_3
       261: .line 1015
            if_icmplt 234
       262: .line 1052
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 272
       263: .line 1053
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       264: .line 1054
            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;
       265: .line 1053
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       266: .line 1055
            return
        end local 3 // int count
       267: .line 1059
      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.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 272
       268: .line 1060
            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
       269: .line 1061
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
       270: .line 1062
            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
       271: .line 1063
            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
       272: .line 1070
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 275
       273: .line 1071
            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
       274: .line 1072
            goto 279
      StackMap locals:
      StackMap stack:
       275: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 279
       276: .line 1073
            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;
       277: .line 1074
            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
       278: .line 1075
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
       279: .line 1079
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 291
            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 291
       280: .line 1080
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       281: .line 1081
            ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
       282: .line 1080
            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
       283: .line 1082
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 287
            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 287
       284: .line 1083
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-keypass"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       285: .line 1084
            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
       286: .line 1085
            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
       287: .line 1087
      StackMap locals: java.text.MessageFormat
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 291
            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 291
       288: .line 1088
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-destkeypass"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       289: .line 1089
            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
       290: .line 1090
            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
       291: .line 1097
      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 293
       292: .line 1098
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
       293: .line 1101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 295
       294: .line 1102
            aload 0 /* this */
            invokestatic sun.security.tools.KeyStoreUtil.getCacertsKeyStore:()Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
       295: .line 1106
      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 317
       296: .line 1107
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 308
       297: .line 1108
            aconst_null
            astore 3
            aconst_null
            astore 4
       298: new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
       299: .line 1109
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
       300: .line 1108
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* ps */
        start local 5 // java.io.PrintStream ps
       301: .line 1110
            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
       302: .line 1111
            aload 5 /* ps */
            ifnull 309
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
            goto 309
      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
       303: astore 3
            aload 5 /* ps */
            ifnull 304
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 5 // java.io.PrintStream ps
      StackMap locals:
      StackMap stack:
       304: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       305: astore 4
            aload 3
            ifnonnull 306
            aload 4
            astore 3
            goto 307
      StackMap locals:
      StackMap stack:
       306: aload 3
            aload 4
            if_acmpeq 307
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       307: aload 3
            athrow
       308: .line 1113
      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
       309: .line 1115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 539
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 539
       310: .line 1116
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       311: .line 1117
            ldc "Certification.request.stored.in.file.filename."
       312: .line 1116
            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
       313: .line 1118
            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
       314: .line 1119
            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
       315: .line 1120
            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
       316: .line 1122
            goto 539
      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.DELETE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 321
       318: .line 1123
            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
       319: .line 1124
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       320: .line 1125
            goto 539
      StackMap locals:
      StackMap stack:
       321: 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 342
       322: .line 1126
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 334
       323: .line 1127
            aconst_null
            astore 3
            aconst_null
            astore 4
       324: new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
       325: .line 1128
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
       326: .line 1127
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* ps */
        start local 5 // java.io.PrintStream ps
       327: .line 1129
            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
       328: .line 1130
            aload 5 /* ps */
            ifnull 335
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
            goto 335
      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
       329: astore 3
            aload 5 /* ps */
            ifnull 330
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 5 // java.io.PrintStream ps
      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 1132
      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
       335: .line 1134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 539
       336: .line 1135
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       337: .line 1136
            ldc "Certificate.stored.in.file.filename."
       338: .line 1135
            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
       339: .line 1137
            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
       340: .line 1138
            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
       341: .line 1140
            goto 539
      StackMap locals:
      StackMap stack:
       342: 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 353
       343: .line 1141
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 350
       344: .line 1142
            aload 0 /* this */
            ldc "DSA"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       345: .line 1143
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       346: .line 1144
            ldc "keyalg.option.1.missing.warning"
       347: .line 1143
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       348: .line 1144
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            aastore
       349: .line 1143
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       350: .line 1146
      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.groupName:Ljava/lang/String;
            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;Ljava/lang/String;)V
       351: .line 1147
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       352: .line 1148
            goto 539
      StackMap locals:
      StackMap stack:
       353: 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 364
       354: .line 1149
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 361
       355: .line 1150
            aload 0 /* this */
            ldc "DES"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       356: .line 1151
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       357: .line 1152
            ldc "keyalg.option.1.missing.warning"
       358: .line 1151
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       359: .line 1152
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            aastore
       360: .line 1151
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
       361: .line 1154
      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
       362: .line 1155
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       363: .line 1156
            goto 539
      StackMap locals:
      StackMap stack:
       364: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 370
       365: .line 1157
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 367
       366: .line 1158
            aload 0 /* this */
            ldc "PBE"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       367: .line 1161
      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
       368: .line 1162
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       369: .line 1163
            goto 539
      StackMap locals:
      StackMap stack:
       370: 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 383
       371: .line 1164
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 381
       372: .line 1165
            aconst_null
            astore 3
            aconst_null
            astore 4
       373: 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
       374: .line 1166
            aload 0 /* this */
            aload 5 /* inStream */
            invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
       375: .line 1167
            aload 5 /* inStream */
            ifnull 539
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
            goto 539
      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
       376: astore 3
            aload 5 /* inStream */
            ifnull 377
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream inStream
      StackMap locals:
      StackMap stack:
       377: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       378: astore 4
            aload 3
            ifnonnull 379
            aload 4
            astore 3
            goto 380
      StackMap locals:
      StackMap stack:
       379: aload 3
            aload 4
            if_acmpeq 380
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       380: aload 3
            athrow
       381: .line 1169
      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
       382: .line 1171
            goto 539
      StackMap locals:
      StackMap stack:
       383: 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 426
       384: .line 1172
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 3 /* inStream */
        start local 3 // java.io.InputStream inStream
       385: .line 1173
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 387
       386: .line 1174
            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 */
       387: .line 1176
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 388
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            goto 389
      StackMap locals:
      StackMap stack:
       388: ldc "mykey"
      StackMap locals:
      StackMap stack: java.lang.String
       389: astore 4 /* importAlias */
        start local 4 // java.lang.String importAlias
       390: .line 1178
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       391: .line 1179
            aload 4 /* importAlias */
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
       392: .line 1178
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       393: .line 1179
            ifeq 404
       394: .line 1180
            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
       395: .line 1181
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 400
       396: .line 1182
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       397: .line 1183
            ldc "Certificate.reply.was.installed.in.keystore"
       398: .line 1182
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       399: .line 1184
            goto 423
       400: .line 1185
      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;
       401: .line 1186
            ldc "Certificate.reply.was.not.installed.in.keystore"
       402: .line 1185
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       403: .line 1188
            goto 423
      StackMap locals:
      StackMap stack:
       404: 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 409
       405: .line 1189
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 4 /* importAlias */
       406: .line 1190
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
       407: .line 1189
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       408: .line 1190
            ifeq 423
       409: .line 1191
      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
       410: .line 1192
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 415
       411: .line 1193
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       412: .line 1194
            ldc "Certificate.was.added.to.keystore"
       413: .line 1193
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       414: .line 1195
            goto 423
       415: .line 1196
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       416: .line 1197
            ldc "Certificate.was.not.added.to.keystore"
       417: .line 1196
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       418: .line 1200
            goto 423
      StackMap locals:
      StackMap stack: java.lang.Throwable
       419: astore 5
       420: .line 1201
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 422
       421: .line 1202
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       422: .line 1204
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
       423: .line 1201
      StackMap locals:
      StackMap stack:
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 539
       424: .line 1202
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.lang.String importAlias
        end local 3 // java.io.InputStream inStream
       425: .line 1205
            goto 539
      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.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 432
       427: .line 1207
            aload 2 /* srcKeyStore */
            ifnonnull 429
       428: .line 1208
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
            astore 2 /* srcKeyStore */
       429: .line 1210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* srcKeyStore */
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStore:(Ljava/security/KeyStore;)V
       430: .line 1211
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       431: .line 1212
            goto 539
      StackMap locals:
      StackMap stack:
       432: 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 451
       433: .line 1213
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
       434: .line 1216
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 436
       435: .line 1217
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       436: .line 1219
      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 442
       437: .line 1220
            new java.text.MessageFormat
            dup
       438: .line 1221
            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;
       439: .line 1220
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
       440: .line 1222
            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
       441: .line 1223
            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
       442: .line 1225
      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 448
       443: .line 1226
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       444: .line 1227
            ldc "Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key"
       445: .line 1226
            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
       446: .line 1228
            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
       447: .line 1229
            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
       448: .line 1232
      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
       449: .line 1233
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       450: .line 1234
            goto 539
      StackMap locals:
      StackMap stack:
       451: 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 459
       452: .line 1235
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 454
       453: .line 1236
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       454: .line 1238
      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
       455: .line 1240
            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 457
       456: .line 1241
            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
       457: .line 1243
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       458: .line 1244
            goto 539
      StackMap locals:
      StackMap stack:
       459: 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 464
       460: .line 1245
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
       461: .line 1246
            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
       462: .line 1247
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       463: .line 1248
            goto 539
      StackMap locals:
      StackMap stack:
       464: 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 474
       465: .line 1249
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 469
       466: .line 1250
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 469
       467: .line 1251
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
            ifne 469
       468: .line 1252
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
       469: .line 1255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 472
       470: .line 1256
            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
       471: .line 1257
            goto 539
       472: .line 1258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintEntries:(Ljava/io/PrintStream;)V
       473: .line 1260
            goto 539
      StackMap locals:
      StackMap stack:
       474: 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 477
       475: .line 1261
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintCert:(Ljava/io/PrintStream;)V
       476: .line 1262
            goto 539
      StackMap locals:
      StackMap stack:
       477: 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 481
       478: .line 1263
            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
       479: .line 1264
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       480: .line 1265
            goto 539
      StackMap locals:
      StackMap stack:
       481: 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 485
       482: .line 1266
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.doChangeStorePasswd:()V
       483: .line 1267
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       484: .line 1268
            goto 539
      StackMap locals:
      StackMap stack:
       485: 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 508
       486: .line 1269
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 488
       487: .line 1270
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       488: .line 1272
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 3 /* inStream */
        start local 3 // java.io.InputStream inStream
       489: .line 1273
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
            ifnull 491
       490: .line 1274
            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 */
       491: .line 1276
      StackMap locals: java.io.InputStream
      StackMap stack:
            aconst_null
            astore 4 /* ps */
        start local 4 // java.io.PrintStream ps
       492: .line 1277
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
            ifnull 495
       493: .line 1278
            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 */
       494: .line 1279
            aload 4 /* ps */
            astore 1 /* out */
       495: .line 1282
      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
       496: .line 1283
            goto 503
      StackMap locals:
      StackMap stack: java.lang.Throwable
       497: astore 5
       498: .line 1284
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 500
       499: .line 1285
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       500: .line 1287
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4 /* ps */
            ifnull 502
       501: .line 1288
            aload 4 /* ps */
            invokevirtual java.io.PrintStream.close:()V
       502: .line 1290
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
       503: .line 1284
      StackMap locals:
      StackMap stack:
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 505
       504: .line 1285
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       505: .line 1287
      StackMap locals:
      StackMap stack:
            aload 4 /* ps */
            ifnull 539
       506: .line 1288
            aload 4 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 4 // java.io.PrintStream ps
        end local 3 // java.io.InputStream inStream
       507: .line 1291
            goto 539
      StackMap locals:
      StackMap stack:
       508: 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 524
       509: .line 1292
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 511
       510: .line 1293
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       511: .line 1295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 522
       512: .line 1296
            aconst_null
            astore 3
            aconst_null
            astore 4
       513: .line 1297
            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
       514: .line 1296
            astore 5 /* ps */
        start local 5 // java.io.PrintStream ps
       515: .line 1298
            aload 0 /* this */
            aload 5 /* ps */
            invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
       516: .line 1299
            aload 5 /* ps */
            ifnull 539
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
            goto 539
      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
       517: astore 3
            aload 5 /* ps */
            ifnull 518
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 5 // java.io.PrintStream ps
      StackMap locals:
      StackMap stack:
       518: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       519: astore 4
            aload 3
            ifnonnull 520
            aload 4
            astore 3
            goto 521
      StackMap locals:
      StackMap stack:
       520: aload 3
            aload 4
            if_acmpeq 521
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       521: aload 3
            athrow
       522: .line 1301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
       523: .line 1303
            goto 539
      StackMap locals:
      StackMap stack:
       524: 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 537
       525: .line 1304
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 535
       526: .line 1305
            aconst_null
            astore 3
            aconst_null
            astore 4
       527: 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
       528: .line 1306
            aload 0 /* this */
            aload 5 /* inStream */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintCertReq:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
       529: .line 1307
            aload 5 /* inStream */
            ifnull 539
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
            goto 539
      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
       530: astore 3
            aload 5 /* inStream */
            ifnull 531
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream inStream
      StackMap locals:
      StackMap stack:
       531: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       532: astore 4
            aload 3
            ifnonnull 533
            aload 4
            astore 3
            goto 534
      StackMap locals:
      StackMap stack:
       533: aload 3
            aload 4
            if_acmpeq 534
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       534: aload 3
            athrow
       535: .line 1309
      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
       536: .line 1311
            goto 539
      StackMap locals:
      StackMap stack:
       537: 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 539
       538: .line 1312
            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
       539: .line 1316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 568
       540: .line 1317
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 548
       541: .line 1318
            new java.text.MessageFormat
            dup
       542: .line 1319
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".Storing.ksfname."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       543: .line 1318
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
       544: .line 1320
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 545
            ldc "keystore"
            goto 546
      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
       545: 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
       546: aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       547: .line 1321
            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
       548: .line 1324
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 551
       549: .line 1325
            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
       550: .line 1326
            goto 568
       551: .line 1327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            ifnull 552
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            goto 553
      StackMap locals:
      StackMap stack:
       552: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
      StackMap locals:
      StackMap stack: char[]
       553: astore 3 /* pass */
        start local 3 // char[] pass
       554: .line 1328
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 557
       555: .line 1329
            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
       556: .line 1330
            goto 568
       557: .line 1331
      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
       558: .line 1332
            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
       559: .line 1333
            aconst_null
            astore 5
            aconst_null
            astore 6
       560: 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
       561: .line 1334
            aload 7 /* fout */
            aload 4 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokevirtual java.io.FileOutputStream.write:([B)V
       562: .line 1335
            aload 7 /* fout */
            ifnull 568
            aload 7 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 568
      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
       563: astore 5
            aload 7 /* fout */
            ifnull 564
            aload 7 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 7 // java.io.FileOutputStream fout
      StackMap locals:
      StackMap stack:
       564: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       565: astore 6
            aload 5
            ifnonnull 566
            aload 6
            astore 5
            goto 567
      StackMap locals:
      StackMap stack:
       566: aload 5
            aload 6
            if_acmpeq 567
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       567: aload 5
            athrow
        end local 4 // java.io.ByteArrayOutputStream bout
        end local 3 // char[] pass
       568: .line 1340
      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 617
       569: .line 1341
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 617
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 617
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnull 617
       570: .line 1344
            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
       571: .line 1345
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            ifnull 572
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            goto 573
      StackMap locals: java.io.File
      StackMap stack:
       572: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
      StackMap locals:
      StackMap stack: char[]
       573: astore 4 /* pass */
        start local 4 // char[] pass
       574: .line 1346
            aload 3 /* f */
            invokevirtual java.io.File.exists:()Z
            ifeq 617
       575: .line 1349
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            astore 5 /* realType */
        start local 5 // java.lang.String realType
       576: .line 1351
            aload 0 /* this */
            aload 3 /* f */
            aload 4 /* pass */
            invokestatic java.security.KeyStore.getInstance:(Ljava/io/File;[C)Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       577: .line 1352
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            astore 5 /* realType */
       578: .line 1353
            aload 5 /* realType */
            ldc "JKS"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 580
       579: .line 1354
            aload 5 /* realType */
            ldc "JCEKS"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 597
       580: .line 1355
      StackMap locals: char[] java.lang.String
      StackMap stack:
            iconst_1
            istore 6 /* allCerts */
        start local 6 // boolean allCerts
       581: .line 1356
            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 8
            goto 589
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File char[] java.lang.String int top java.util.Iterator
      StackMap stack:
       582: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* a */
        start local 7 // java.lang.String a
       583: .line 1357
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       584: .line 1358
            aload 7 /* a */
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
       585: .line 1357
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       586: .line 1358
            ifne 589
       587: .line 1359
            iconst_0
            istore 6 /* allCerts */
       588: .line 1360
            goto 590
        end local 7 // java.lang.String a
       589: .line 1356
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 582
       590: .line 1364
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File char[] java.lang.String int
      StackMap stack:
            iload 6 /* allCerts */
            ifne 597
       591: .line 1365
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
       592: .line 1366
            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
       593: .line 1367
            aload 5 /* realType */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            aastore
       594: .line 1365
            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 6 // boolean allCerts
       595: .line 1370
            goto 597
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File char[] java.lang.String
      StackMap stack: java.security.KeyStoreException
       596: pop
       597: .line 1374
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 617
       598: .line 1375
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            astore 6 /* realSourceStoreType */
        start local 6 // java.lang.String realSourceStoreType
       599: .line 1378
            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
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
       600: .line 1377
            invokestatic java.security.KeyStore.getInstance:(Ljava/io/File;[C)Ljava/security/KeyStore;
       601: .line 1378
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
       602: .line 1377
            astore 6 /* realSourceStoreType */
       603: .line 1379
            goto 605
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File char[] java.lang.String java.lang.String
      StackMap stack: java.security.KeyStoreException
       604: pop
       605: .line 1383
      StackMap locals:
      StackMap stack:
            aload 5 /* realType */
            aload 6 /* realSourceStoreType */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 607
       606: .line 1384
            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 608
       607: .line 1385
      StackMap locals:
      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;
       608: .line 1382
      StackMap locals:
      StackMap stack: java.lang.String
            astore 7 /* format */
        start local 7 // java.lang.String format
       609: .line 1386
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
       610: .line 1387
            aload 7 /* format */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
       611: .line 1388
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            aastore
            dup
            iconst_1
       612: .line 1389
            aload 6 /* realSourceStoreType */
            aastore
            dup
            iconst_2
       613: .line 1390
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
            aastore
            dup
            iconst_3
       614: .line 1391
            aload 5 /* realType */
            aastore
       615: .line 1387
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       616: .line 1386
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String format
        end local 6 // java.lang.String realSourceStoreType
        end local 5 // java.lang.String realType
        end local 4 // char[] pass
        end local 3 // java.io.File f
       617: .line 1395
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore
      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  618     0                 this  Lsun/security/tools/keytool/Main;
            0  618     1                  out  Ljava/io/PrintStream;
           63   74     2             provider  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;
           77  110     2                   cl  Ljava/lang/ClassLoader;
           79   86     3                 path  Ljava/lang/String;
           85   86     4                 urls  [Ljava/net/URL;
           90  109     3             provider  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;
          102  109     5                    e  Ljava/lang/IllegalArgumentException;
          132  618     2          srcKeyStore  Ljava/security/KeyStore;
          234  267     3                count  I
          253  259     4       storePassAgain  [C
          283  291     3                 form  Ljava/text/MessageFormat;
          285  287     4               source  [Ljava/lang/Object;
          289  291     4               source  [Ljava/lang/Object;
          301  304     5                   ps  Ljava/io/PrintStream;
          313  316     3                 form  Ljava/text/MessageFormat;
          314  316     4               source  [Ljava/lang/Object;
          327  330     5                   ps  Ljava/io/PrintStream;
          339  341     3                 form  Ljava/text/MessageFormat;
          340  341     4               source  [Ljava/lang/Object;
          374  377     5             inStream  Ljava/io/InputStream;
          385  425     3             inStream  Ljava/io/InputStream;
          390  425     4          importAlias  Ljava/lang/String;
          440  442     3                 form  Ljava/text/MessageFormat;
          441  442     4               source  [Ljava/lang/Object;
          446  448     3                 form  Ljava/text/MessageFormat;
          447  448     4               source  [Ljava/lang/Object;
          489  507     3             inStream  Ljava/io/InputStream;
          492  507     4                   ps  Ljava/io/PrintStream;
          515  518     5                   ps  Ljava/io/PrintStream;
          528  531     5             inStream  Ljava/io/InputStream;
          544  548     3                 form  Ljava/text/MessageFormat;
          547  548     4               source  [Ljava/lang/Object;
          554  568     3                 pass  [C
          558  568     4                 bout  Ljava/io/ByteArrayOutputStream;
          561  564     7                 fout  Ljava/io/FileOutputStream;
          571  617     3                    f  Ljava/io/File;
          574  617     4                 pass  [C
          576  617     5             realType  Ljava/lang/String;
          581  595     6             allCerts  Z
          583  589     7                    a  Ljava/lang/String;
          599  617     6  realSourceStoreType  Ljava/lang/String;
          609  617     7               format  Ljava/lang/String;
      Exception table:
        from    to  target  type
          63    67      68  Class java.lang.IllegalArgumentException
          90    94      95  Class java.lang.ClassCastException
          90    94     101  Class java.lang.IllegalArgumentException
         139   147     148  Class java.io.FileNotFoundException
         301   302     303  any
         298   305     305  any
         327   328     329  any
         324   331     331  any
         374   375     376  any
         373   378     378  any
         390   419     419  any
         495   497     497  any
         515   516     517  any
         513   519     519  any
         528   529     530  any
         527   532     532  any
         561   562     563  any
         560   565     565  any
         576   595     596  Class java.security.KeyStoreException
         599   603     604  Class java.security.KeyStoreException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      out   

  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=32, 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 1406
            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 1407
            new java.text.MessageFormat
            dup
         2: .line 1408
            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 1407
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         4: .line 1409
            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 1410
            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 1412
      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 1413
            aload 5 /* signerCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 6 /* encoded */
        start local 6 // byte[] encoded
         8: .line 1414
            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 1415
            aload 7 /* signerCertImpl */
        10: .line 1416
            ldc "x509.info"
        11: .line 1415
            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 1417
            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 1420
            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 1421
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 11 /* lastDate */
        start local 11 // java.util.Date lastDate
        15: .line 1422
            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 1423
            new sun.security.x509.CertificateValidity
            dup
            aload 10 /* firstDate */
        17: .line 1424
            aload 11 /* lastDate */
        18: .line 1423
            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 1427
            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 1426
            astore 13 /* privateKey */
        start local 13 // java.security.PrivateKey privateKey
        21: .line 1428
            aload 2 /* sigAlgName */
            ifnonnull 23
        22: .line 1429
            aload 13 /* privateKey */
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/security/PrivateKey;)Ljava/lang/String;
            astore 2 /* sigAlgName */
        23: .line 1431
      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 1432
            aload 14 /* signature */
            aload 13 /* privateKey */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
        25: .line 1434
            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 1436
            aload 2 /* sigAlgName */
            aload 13 /* privateKey */
            invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
        27: .line 1435
            astore 16 /* params */
        start local 16 // java.security.spec.AlgorithmParameterSpec params
        28: .line 1437
            aload 2 /* sigAlgName */
            aload 16 /* params */
            invokestatic sun.security.x509.AlgorithmId.getWithParameterSpec:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
            astore 17 /* algID */
        start local 17 // sun.security.x509.AlgorithmId algID
        29: .line 1438
            aload 15 /* info */
            ldc "validity"
            aload 12 /* interval */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        30: .line 1439
            aload 15 /* info */
            ldc "serialNumber"
            new sun.security.x509.CertificateSerialNumber
            dup
        31: .line 1440
            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
        32: .line 1439
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        33: .line 1441
            aload 15 /* info */
            ldc "version"
        34: .line 1442
            new sun.security.x509.CertificateVersion
            dup
            iconst_2
            invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
        35: .line 1441
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        36: .line 1443
            aload 15 /* info */
            ldc "algorithmID"
        37: .line 1444
            new sun.security.x509.CertificateAlgorithmId
            dup
            aload 17 /* algID */
            invokespecial sun.security.x509.CertificateAlgorithmId.<init>:(Lsun/security/x509/AlgorithmId;)V
        38: .line 1443
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        39: .line 1445
            aload 15 /* info */
            ldc "issuer"
            aload 9 /* issuer */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        40: .line 1447
            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 18 /* reader */
        start local 18 // java.io.BufferedReader reader
        41: .line 1448
            iconst_0
            istore 19 /* canRead */
        start local 19 // boolean canRead
        42: .line 1449
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 20 /* sb */
        start local 20 // java.lang.StringBuffer sb
        43: .line 1451
      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.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer
      StackMap stack:
            aload 18 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 21 /* s */
        start local 21 // java.lang.String s
        44: .line 1452
            aload 21 /* s */
            ifnonnull 45
            goto 53
        45: .line 1455
      StackMap locals: java.lang.String
      StackMap stack:
            aload 21 /* s */
            ldc "-----BEGIN"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 48
            aload 21 /* s */
            ldc "REQUEST"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iflt 48
        46: .line 1456
            iconst_1
            istore 19 /* canRead */
        47: .line 1458
            goto 43
      StackMap locals:
      StackMap stack:
        48: aload 21 /* s */
            ldc "-----END"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 50
            aload 21 /* s */
            ldc "REQUEST"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iflt 50
        49: .line 1459
            goto 53
        50: .line 1460
      StackMap locals:
      StackMap stack:
            iload 19 /* canRead */
            ifeq 43
        51: .line 1461
            aload 20 /* sb */
            aload 21 /* s */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 21 // java.lang.String s
        52: .line 1450
            goto 43
        53: .line 1464
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 20 /* sb */
            invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
            invokestatic sun.security.util.Pem.decode:(Ljava/lang/String;)[B
            astore 21 /* rawReq */
        start local 21 // byte[] rawReq
        54: .line 1465
            new sun.security.pkcs10.PKCS10
            dup
            aload 21 /* rawReq */
            invokespecial sun.security.pkcs10.PKCS10.<init>:([B)V
            astore 22 /* req */
        start local 22 // sun.security.pkcs10.PKCS10 req
        55: .line 1467
            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 22 /* req */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
        56: .line 1469
            aload 15 /* info */
            ldc "key"
            new sun.security.x509.CertificateX509Key
            dup
            aload 22 /* 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
        57: .line 1470
            aload 15 /* info */
            ldc "subject"
        58: .line 1471
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            ifnonnull 59
            aload 22 /* 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.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
      StackMap stack: sun.security.x509.X509CertInfo java.lang.String
        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
        60: .line 1470
      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.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
      StackMap stack: sun.security.x509.X509CertInfo java.lang.String sun.security.x509.X500Name
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        61: .line 1472
            aconst_null
            astore 23 /* reqex */
        start local 23 // sun.security.x509.CertificateExtensions reqex
        62: .line 1473
            aload 22 /* 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 24 /* attrs */
        start local 24 // java.util.Iterator attrs
        63: .line 1474
            goto 67
        64: .line 1475
      StackMap locals: sun.security.x509.CertificateExtensions java.util.Iterator
      StackMap stack:
            aload 24 /* attrs */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs10.PKCS10Attribute
            astore 25 /* attr */
        start local 25 // sun.security.pkcs10.PKCS10Attribute attr
        65: .line 1476
            aload 25 /* 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 67
        66: .line 1477
            aload 25 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
            astore 23 /* reqex */
        end local 25 // sun.security.pkcs10.PKCS10Attribute attr
        67: .line 1474
      StackMap locals:
      StackMap stack:
            aload 24 /* attrs */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 64
        68: .line 1480
            aload 0 /* this */
        69: .line 1481
            aload 23 /* reqex */
        70: .line 1482
            aconst_null
        71: .line 1483
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        72: .line 1484
            aload 22 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
        73: .line 1485
            aload 5 /* signerCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        74: .line 1480
            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 25 /* ext */
        start local 25 // sun.security.x509.CertificateExtensions ext
        75: .line 1486
            aload 15 /* info */
            ldc "extensions"
            aload 25 /* ext */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        76: .line 1487
            new sun.security.x509.X509CertImpl
            dup
            aload 15 /* info */
            invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
            astore 26 /* cert */
        start local 26 // sun.security.x509.X509CertImpl cert
        77: .line 1488
            aload 26 /* cert */
            aload 13 /* privateKey */
            aload 16 /* params */
            aload 2 /* sigAlgName */
            aconst_null
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;)V
        78: .line 1489
            aload 0 /* this */
            aload 26 /* cert */
            aload 4 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        79: .line 1490
            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 30
            arraylength
            istore 29
            iconst_0
            istore 28
            goto 86
      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.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId 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:
        80: aload 30
            iload 28
            aaload
            astore 27 /* ca */
        start local 27 // java.security.cert.Certificate ca
        81: .line 1491
            aload 27 /* ca */
            instanceof java.security.cert.X509Certificate
            ifeq 85
        82: .line 1492
            aload 27 /* ca */
            checkcast java.security.cert.X509Certificate
            astore 31 /* xca */
        start local 31 // java.security.cert.X509Certificate xca
        83: .line 1493
            aload 31 /* xca */
            invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifne 85
        84: .line 1494
            aload 0 /* this */
            aload 31 /* xca */
            aload 4 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        end local 31 // java.security.cert.X509Certificate xca
        end local 27 // java.security.cert.Certificate ca
        85: .line 1490
      StackMap locals:
      StackMap stack:
            iinc 28 1
      StackMap locals:
      StackMap stack:
        86: iload 28
            iload 29
            if_icmplt 80
        87: .line 1499
            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
        88: .line 1500
            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 26 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        89: .line 1501
            return
        end local 26 // sun.security.x509.X509CertImpl cert
        end local 25 // sun.security.x509.CertificateExtensions ext
        end local 24 // java.util.Iterator attrs
        end local 23 // sun.security.x509.CertificateExtensions reqex
        end local 22 // sun.security.pkcs10.PKCS10 req
        end local 21 // byte[] rawReq
        end local 20 // java.lang.StringBuffer sb
        end local 19 // boolean canRead
        end local 18 // java.io.BufferedReader reader
        end local 17 // sun.security.x509.AlgorithmId algID
        end local 16 // java.security.spec.AlgorithmParameterSpec params
        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   90     0            this  Lsun/security/tools/keytool/Main;
            0   90     1           alias  Ljava/lang/String;
            0   90     2      sigAlgName  Ljava/lang/String;
            0   90     3              in  Ljava/io/InputStream;
            0   90     4             out  Ljava/io/PrintStream;
            4    6     5            form  Ljava/text/MessageFormat;
            5    6     6          source  [Ljava/lang/Object;
            7   90     5      signerCert  Ljava/security/cert/Certificate;
            8   90     6         encoded  [B
            9   90     7  signerCertImpl  Lsun/security/x509/X509CertImpl;
           12   90     8  signerCertInfo  Lsun/security/x509/X509CertInfo;
           13   90     9          issuer  Lsun/security/x509/X500Name;
           14   90    10       firstDate  Ljava/util/Date;
           15   90    11        lastDate  Ljava/util/Date;
           19   90    12        interval  Lsun/security/x509/CertificateValidity;
           21   90    13      privateKey  Ljava/security/PrivateKey;
           24   90    14       signature  Ljava/security/Signature;
           26   90    15            info  Lsun/security/x509/X509CertInfo;
           28   90    16          params  Ljava/security/spec/AlgorithmParameterSpec;
           29   90    17           algID  Lsun/security/x509/AlgorithmId;
           41   90    18          reader  Ljava/io/BufferedReader;
           42   90    19         canRead  Z
           43   90    20              sb  Ljava/lang/StringBuffer;
           44   52    21               s  Ljava/lang/String;
           54   90    21          rawReq  [B
           55   90    22             req  Lsun/security/pkcs10/PKCS10;
           62   90    23           reqex  Lsun/security/x509/CertificateExtensions;
           63   90    24           attrs  Ljava/util/Iterator<Lsun/security/pkcs10/PKCS10Attribute;>;
           65   67    25            attr  Lsun/security/pkcs10/PKCS10Attribute;
           75   90    25             ext  Lsun/security/x509/CertificateExtensions;
           77   90    26            cert  Lsun/security/x509/X509CertImpl;
           81   85    27              ca  Ljava/security/cert/Certificate;
           83   85    31             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 1505
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
            ifnonnull 2
         1: .line 1506
            new java.lang.Exception
            dup
            ldc "Must provide -id when -gencrl"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1508
      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 1509
            aload 2 /* signerCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 3 /* encoded */
        start local 3 // byte[] encoded
         4: .line 1510
            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 1511
            aload 4 /* signerCertImpl */
         6: .line 1512
            ldc "x509.info"
         7: .line 1511
            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 1513
            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 1516
            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 1517
            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 1518
            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 1519
            new sun.security.x509.CertificateValidity
            aload 7 /* firstDate */
        13: .line 1520
            aload 8 /* lastDate */
        14: .line 1519
            invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
        15: .line 1524
            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 1523
            astore 9 /* privateKey */
        start local 9 // java.security.PrivateKey privateKey
        17: .line 1525
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
            ifnonnull 19
        18: .line 1526
            aload 0 /* this */
            aload 9 /* privateKey */
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/security/PrivateKey;)Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
        19: .line 1529
      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 1530
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        21: goto 33
        22: .line 1531
      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 1532
            aload 12 /* id */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* d */
        start local 13 // int d
        24: .line 1533
            iload 13 /* d */
            iflt 31
        25: .line 1534
            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 1535
            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 1536
            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 1537
            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 1536
            aastore
        end local 14 // sun.security.x509.CRLExtensions ext
        30: .line 1538
            goto 32
        31: .line 1539
      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 1530
      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 1542
            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 1543
            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 1544
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 41
        37: .line 1545
            aload 1 /* out */
            ldc "-----BEGIN X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        38: .line 1546
            aload 1 /* out */
            bipush 64
            getstatic sun.security.tools.keytool.Main.CRLF:[B
            invokestatic java.util.Base64.getMimeEncoder:(I[B)Ljava/util/Base64$Encoder;
            aload 11 /* crl */
            invokevirtual sun.security.x509.X509CRLImpl.getEncodedInternal:()[B
            invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 1547
            aload 1 /* out */
            ldc "-----END X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        40: .line 1548
            goto 42
        41: .line 1549
      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 1551
      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 1552
            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=12, 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 1561
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1562
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1565
      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 1566
            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 1567
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 1568
            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 1571
      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 1572
            aload 6 /* cert */
            ifnonnull 13
         8: .line 1573
            new java.text.MessageFormat
            dup
         9: .line 1574
            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 1573
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        11: .line 1575
            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 1576
            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 1578
      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 1579
            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 1581
            aload 7 /* request */
            invokevirtual sun.security.pkcs10.PKCS10.getAttributes:()Lsun/security/pkcs10/PKCS10Attributes;
            ldc "extensions"
        16: .line 1582
            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 1581
            invokevirtual sun.security.pkcs10.PKCS10Attributes.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 1585
            aload 2 /* sigAlgName */
            ifnonnull 20
        19: .line 1586
            aload 5 /* privKey */
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/security/PrivateKey;)Ljava/lang/String;
            astore 2 /* sigAlgName */
        20: .line 1589
      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 1590
            aload 9 /* signature */
            aload 5 /* privKey */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
        22: .line 1592
            aload 2 /* sigAlgName */
            aload 5 /* privKey */
            invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
        23: .line 1591
            astore 10 /* params */
        start local 10 // java.security.spec.AlgorithmParameterSpec params
        24: .line 1593
            aload 10 /* params */
            ifnull 26
        25: .line 1594
            aload 9 /* signature */
            aload 10 /* params */
            invokevirtual java.security.Signature.setParameter:(Ljava/security/spec/AlgorithmParameterSpec;)V
        26: .line 1597
      StackMap locals: java.security.Signature java.security.spec.AlgorithmParameterSpec
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            ifnonnull 28
        27: .line 1598
            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 29
        28: .line 1599
      StackMap locals:
      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
        29: .line 1597
      StackMap locals:
      StackMap stack: sun.security.x509.X500Name
            astore 11 /* subject */
        start local 11 // sun.security.x509.X500Name subject
        30: .line 1602
            aload 7 /* request */
            aload 11 /* subject */
            aload 9 /* signature */
            invokevirtual sun.security.pkcs10.PKCS10.encodeAndSign:(Lsun/security/x509/X500Name;Ljava/security/Signature;)V
        31: .line 1603
            aload 7 /* request */
            aload 3 /* out */
            invokevirtual sun.security.pkcs10.PKCS10.print:(Ljava/io/PrintStream;)V
        32: .line 1605
            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
        33: .line 1606
            return
        end local 11 // sun.security.x509.X500Name subject
        end local 10 // java.security.spec.AlgorithmParameterSpec params
        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   34     0        this  Lsun/security/tools/keytool/Main;
            0   34     1       alias  Ljava/lang/String;
            0   34     2  sigAlgName  Ljava/lang/String;
            0   34     3         out  Ljava/io/PrintStream;
            3   34     4        objs  Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
            4   34     5     privKey  Ljava/security/PrivateKey;
            7   34     6        cert  Ljava/security/cert/Certificate;
           11   13     7        form  Ljava/text/MessageFormat;
           12   13     8      source  [Ljava/lang/Object;
           14   34     7     request  Lsun/security/pkcs10/PKCS10;
           15   34     8         ext  Lsun/security/x509/CertificateExtensions;
           21   34     9   signature  Ljava/security/Signature;
           24   34    10      params  Ljava/security/spec/AlgorithmParameterSpec;
           30   34    11     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 1612
            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 1613
            new java.text.MessageFormat
            dup
         2: .line 1614
            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 1613
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         4: .line 1615
            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 1616
            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 1618
      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 1619
            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 1627
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 4
         1: .line 1628
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 4
         2: .line 1629
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
            ifne 4
         3: .line 1630
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
         4: .line 1632
      StackMap locals:
      StackMap stack:
            aload 1 /* alias */
            ifnonnull 6
         5: .line 1633
            ldc "mykey"
            astore 1 /* alias */
         6: .line 1635
      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 12
         7: .line 1636
            new java.text.MessageFormat
            dup
         8: .line 1637
            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;
         9: .line 1636
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        10: .line 1638
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        11: .line 1639
            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
        12: .line 1642
      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
        13: .line 1643
            aload 3 /* cert */
            ifnonnull 19
        14: .line 1644
            new java.text.MessageFormat
            dup
        15: .line 1645
            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;
        16: .line 1644
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        17: .line 1646
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        18: .line 1647
            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
        19: .line 1649
      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
        20: .line 1650
            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
        21: .line 1651
            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   22     0    this  Lsun/security/tools/keytool/Main;
            0   22     1   alias  Ljava/lang/String;
            0   22     2     out  Ljava/io/PrintStream;
           10   12     3    form  Ljava/text/MessageFormat;
           11   12     4  source  [Ljava/lang/Object;
           13   22     3    cert  Ljava/security/cert/X509Certificate;
           17   19     4    form  Ljava/text/MessageFormat;
           18   19     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 1660
            aload 3 /* origPass */
            ifnull 2
            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 1661
            aload 3 /* origPass */
            areturn
         2: .line 1662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 50
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 50
         3: .line 1665
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         4: goto 41
         5: .line 1666
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         6: .line 1667
            ldc "Enter.key.password.for.alias."
         7: .line 1666
            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 1668
            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 1669
            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.print:(Ljava/lang/String;)V
        10: .line 1670
            aload 3 /* origPass */
            ifnull 22
        11: .line 1671
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        12: .line 1672
            aload 2 /* orig */
            ifnonnull 17
        13: .line 1673
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        14: .line 1674
            ldc ".RETURN.if.same.as.keystore.password."
        15: .line 1673
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        16: .line 1675
            goto 22
        17: .line 1676
      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;
        18: .line 1677
            ldc ".RETURN.if.same.as.for.otherAlias."
        19: .line 1676
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        20: .line 1678
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* orig */
            aastore
            astore 7 /* src */
        start local 7 // java.lang.Object[] src
        21: .line 1679
            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
        22: .line 1682
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        23: .line 1683
            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
        24: .line 1684
            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
        25: .line 1685
            aload 7 /* entered */
            ifnonnull 27
            aload 3 /* origPass */
            ifnull 27
        26: .line 1686
            aload 3 /* origPass */
            areturn
        27: .line 1687
      StackMap locals: char[]
      StackMap stack:
            aload 7 /* entered */
            ifnull 37
            aload 7 /* entered */
            arraylength
            bipush 6
            if_icmplt 37
        28: .line 1688
            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
        29: .line 1689
            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
        30: .line 1690
            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
        31: .line 1691
            aload 7 /* entered */
            aload 8 /* passAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 36
        32: .line 1692
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        33: .line 1693
            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;
        34: .line 1692
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        35: .line 1694
            goto 40
        36: .line 1696
      StackMap locals: char[]
      StackMap stack:
            aload 7 /* entered */
            areturn
        end local 8 // char[] passAgain
        37: .line 1698
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        38: .line 1699
            ldc "Key.password.is.too.short.must.be.at.least.6.characters"
        39: .line 1698
            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
        40: .line 1665
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
      StackMap locals:
      StackMap stack:
        41: iload 4 /* count */
            iconst_3
            if_icmplt 5
        42: .line 1702
            iload 4 /* count */
            iconst_3
            if_icmpne 50
        43: .line 1703
            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 47
        44: .line 1704
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        45: .line 1705
            ldc "Too.many.failures.Key.entry.not.cloned"
        46: .line 1704
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 1707
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        48: .line 1708
            ldc "Too.many.failures.key.not.added.to.keystore"
        49: .line 1707
            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
        50: .line 1712
      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   51     0       this  Lsun/security/tools/keytool/Main;
            0   51     1      alias  Ljava/lang/String;
            0   51     2       orig  Ljava/lang/String;
            0   51     3   origPass  [C
            4   50     4      count  I
            8   40     5       form  Ljava/text/MessageFormat;
            9   40     6     source  [Ljava/lang/Object;
           21   22     7        src  [Ljava/lang/Object;
           24   40     7    entered  [C
           30   37     8  passAgain  [C
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      alias     
      orig      
      origPass  

  private char[] promptForCredential();
    descriptor: ()[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 1720
            invokestatic java.lang.System.console:()Ljava/io/Console;
            ifnonnull 4
         1: .line 1721
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 1 /* importPass */
        start local 1 // char[] importPass
         2: .line 1722
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 1 /* importPass */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1723
            aload 1 /* importPass */
            areturn
        end local 1 // char[] importPass
         4: .line 1727
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         5: goto 20
         6: .line 1728
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
         7: .line 1729
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Enter.the.password.to.be.stored."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 1728
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         9: .line 1730
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        10: .line 1731
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 2 /* entered */
        start local 2 // char[] entered
        11: .line 1732
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 2 /* entered */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 1733
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Re.enter.password."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        13: .line 1734
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 3 /* passAgain */
        start local 3 // char[] passAgain
        14: .line 1735
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 3 /* passAgain */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 1736
            aload 2 /* entered */
            aload 3 /* passAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 18
        16: .line 1737
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            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;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        17: .line 1738
            goto 19
        18: .line 1740
      StackMap locals: char[] char[]
      StackMap stack:
            aload 2 /* entered */
            areturn
        end local 3 // char[] passAgain
        end local 2 // char[] entered
        19: .line 1727
      StackMap locals:
      StackMap stack:
            iinc 1 /* count */ 1
      StackMap locals:
      StackMap stack:
        20: iload 1 /* count */
            iconst_3
            if_icmplt 6
        21: .line 1743
            iload 1 /* count */
            iconst_3
            if_icmpne 25
        22: .line 1744
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        23: .line 1745
            ldc "Too.many.failures.key.not.added.to.keystore"
        24: .line 1744
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1748
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // int count
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lsun/security/tools/keytool/Main;
            2    4     1  importPass  [C
            5   26     1       count  I
           11   19     2     entered  [C
           14   19     3   passAgain  [C
    Exceptions:
      throws java.lang.Exception

  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=8, 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 keyAlgName
        start local 3 // int keysize
         0: .line 1758
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1759
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1761
      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 1762
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 1763
            ldc "Secret.key.not.generated.alias.alias.already.exists"
         5: .line 1762
            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 1764
            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 1765
            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 1769
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* useDefaultPBEAlgorithm */
        start local 4 // boolean useDefaultPBEAlgorithm
         9: .line 1770
            aconst_null
            astore 5 /* secKey */
        start local 5 // javax.crypto.SecretKey secKey
        10: .line 1772
            aload 2 /* keyAlgName */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "PBE"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 26
        11: .line 1773
            ldc "PBE"
            invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
            astore 6 /* factory */
        start local 6 // javax.crypto.SecretKeyFactory factory
        12: .line 1777
            aload 6 /* factory */
            new javax.crypto.spec.PBEKeySpec
            dup
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.promptForCredential:()[C
            invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C)V
            invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
        13: .line 1776
            astore 5 /* secKey */
        14: .line 1780
            ldc "PBE"
            aload 2 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 16
        15: .line 1781
            iconst_0
            istore 4 /* useDefaultPBEAlgorithm */
        16: .line 1784
      StackMap locals: int javax.crypto.SecretKey javax.crypto.SecretKeyFactory
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 46
        17: .line 1785
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        18: .line 1786
            ldc "Generated.keyAlgName.secret.key"
        19: .line 1785
            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
        20: .line 1788
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 4 /* useDefaultPBEAlgorithm */
            ifeq 21
            ldc "PBE"
            goto 22
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String int int javax.crypto.SecretKey javax.crypto.SecretKeyFactory java.text.MessageFormat
      StackMap stack: java.lang.Object[] java.lang.Object[] int
        21: aload 5 /* secKey */
            invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String int int javax.crypto.SecretKey javax.crypto.SecretKeyFactory java.text.MessageFormat
      StackMap stack: java.lang.Object[] java.lang.Object[] int java.lang.String
        22: aastore
        23: .line 1787
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        24: .line 1789
            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
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        end local 6 // javax.crypto.SecretKeyFactory factory
        25: .line 1791
            goto 46
        26: .line 1792
      StackMap locals:
      StackMap stack:
            aload 2 /* keyAlgName */
            invokestatic javax.crypto.KeyGenerator.getInstance:(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
            astore 6 /* keygen */
        start local 6 // javax.crypto.KeyGenerator keygen
        27: .line 1793
            iload 3 /* keysize */
            iconst_m1
            if_icmpne 37
        28: .line 1794
            ldc "DES"
            aload 2 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 31
        29: .line 1795
            bipush 56
            istore 3 /* keysize */
        30: .line 1796
            goto 37
      StackMap locals: javax.crypto.KeyGenerator
      StackMap stack:
        31: ldc "DESede"
            aload 2 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 34
        32: .line 1797
            sipush 168
            istore 3 /* keysize */
        33: .line 1798
            goto 37
        34: .line 1799
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        35: .line 1800
            ldc "Please.provide.keysize.for.secret.key.generation"
        36: .line 1799
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 1803
      StackMap locals:
      StackMap stack:
            aload 6 /* keygen */
            iload 3 /* keysize */
            invokevirtual javax.crypto.KeyGenerator.init:(I)V
        38: .line 1804
            aload 6 /* keygen */
            invokevirtual javax.crypto.KeyGenerator.generateKey:()Ljavax/crypto/SecretKey;
            astore 5 /* secKey */
        39: .line 1806
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        40: .line 1807
            ldc "Generated.keysize.bit.keyAlgName.secret.key"
        41: .line 1806
            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
        42: .line 1808
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 3 /* keysize */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
        43: .line 1809
            aload 5 /* secKey */
            invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
            aastore
        44: .line 1808
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        45: .line 1810
            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
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        end local 6 // javax.crypto.KeyGenerator keygen
        46: .line 1813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 48
        47: .line 1814
            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
        48: .line 1817
      StackMap locals:
      StackMap stack:
            iload 4 /* useDefaultPBEAlgorithm */
            ifeq 51
        49: .line 1818
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 5 /* 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
        50: .line 1819
            goto 54
        51: .line 1820
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            new java.security.KeyStore$SecretKeyEntry
            dup
            aload 5 /* secKey */
            invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
        52: .line 1821
            new java.security.KeyStore$PasswordProtection
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            aload 2 /* keyAlgName */
            aconst_null
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([CLjava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)V
        53: .line 1820
            invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
        54: .line 1823
      StackMap locals:
      StackMap stack:
            return
        end local 5 // javax.crypto.SecretKey secKey
        end local 4 // boolean useDefaultPBEAlgorithm
        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   55     0                    this  Lsun/security/tools/keytool/Main;
            0   55     1                   alias  Ljava/lang/String;
            0   55     2              keyAlgName  Ljava/lang/String;
            0   55     3                 keysize  I
            6    8     4                    form  Ljava/text/MessageFormat;
            7    8     5                  source  [Ljava/lang/Object;
            9   55     4  useDefaultPBEAlgorithm  Z
           10   55     5                  secKey  Ljavax/crypto/SecretKey;
           12   25     6                 factory  Ljavax/crypto/SecretKeyFactory;
           20   25     7                    form  Ljava/text/MessageFormat;
           24   25     8                  source  [Ljava/lang/Object;
           27   46     6                  keygen  Ljavax/crypto/KeyGenerator;
           42   46     7                    form  Ljava/text/MessageFormat;
           45   46     8                  source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      keyAlgName  
      keysize     

  private static java.lang.String getCompatibleSigAlgName(java.security.PrivateKey);
    descriptor: (Ljava/security/PrivateKey;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.security.PrivateKey key
         0: .line 1831
            aload 0 /* key */
            invokestatic sun.security.x509.AlgorithmId.getDefaultSigAlgForKey:(Ljava/security/PrivateKey;)Ljava/lang/String;
            astore 1 /* result */
        start local 1 // java.lang.String result
         1: .line 1832
            aload 1 /* result */
            ifnull 3
         2: .line 1833
            aload 1 /* result */
            areturn
         3: .line 1835
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 1836
            ldc "Cannot.derive.signature.algorithm"
         5: .line 1835
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String result
        end local 0 // java.security.PrivateKey key
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     key  Ljava/security/PrivateKey;
            1    6     1  result  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      key   

  private void doGenKeyPair(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=14, args_size=7
        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 groupName
        start local 6 // java.lang.String sigAlgName
         0: .line 1847
            aload 5 /* groupName */
            ifnull 3
         1: .line 1848
            iload 4 /* keysize */
            iconst_m1
            if_icmpeq 18
         2: .line 1849
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "groupname.keysize.coexist"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1852
      StackMap locals:
      StackMap stack:
            iload 4 /* keysize */
            iconst_m1
            if_icmpne 13
         4: .line 1853
            ldc "EC"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         5: .line 1854
            getstatic sun.security.util.SecurityProviderConstants.DEF_EC_KEY_SIZE:I
            istore 4 /* keysize */
         6: .line 1855
            goto 18
      StackMap locals:
      StackMap stack:
         7: ldc "RSA"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 1856
            getstatic sun.security.util.SecurityProviderConstants.DEF_RSA_KEY_SIZE:I
            istore 4 /* keysize */
         9: .line 1857
            goto 18
      StackMap locals:
      StackMap stack:
        10: ldc "DSA"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 18
        11: .line 1858
            getstatic sun.security.util.SecurityProviderConstants.DEF_DSA_KEY_SIZE:I
            istore 4 /* keysize */
        12: .line 1860
            goto 18
        13: .line 1861
      StackMap locals:
      StackMap stack:
            ldc "EC"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 18
        14: .line 1862
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
        15: .line 1863
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "deprecate.keysize.for.ec"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        16: .line 1864
            aload 0 /* this */
            iload 4 /* keysize */
            invokevirtual sun.security.tools.keytool.Main.ecGroupNameForSize:(I)Ljava/lang/String;
            aastore
        17: .line 1862
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 1869
      StackMap locals:
      StackMap stack:
            aload 1 /* alias */
            ifnonnull 20
        19: .line 1870
            ldc "mykey"
            astore 1 /* alias */
        20: .line 1873
      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 26
        21: .line 1874
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        22: .line 1875
            ldc "Key.pair.not.generated.alias.alias.already.exists"
        23: .line 1874
            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
        24: .line 1876
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        25: .line 1877
            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
        26: .line 1881
      StackMap locals:
      StackMap stack:
            new sun.security.tools.keytool.CertAndKeyGen
            dup
            aload 3 /* keyAlgName */
            aload 6 /* 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
        27: .line 1880
            astore 7 /* keypair */
        start local 7 // sun.security.tools.keytool.CertAndKeyGen keypair
        28: .line 1886
            aload 2 /* dname */
            ifnonnull 32
        29: .line 1887
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        30: .line 1888
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.getX500Name:()Lsun/security/x509/X500Name;
            astore 8 /* x500Name */
        start local 8 // sun.security.x509.X500Name x500Name
        31: .line 1889
            goto 33
        end local 8 // sun.security.x509.X500Name x500Name
        32: .line 1890
      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 8 /* x500Name */
        start local 8 // sun.security.x509.X500Name x500Name
        33: .line 1893
      StackMap locals: sun.security.x509.X500Name
      StackMap stack:
            aload 5 /* groupName */
            ifnull 36
        34: .line 1894
            aload 7 /* keypair */
            aload 5 /* groupName */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(Ljava/lang/String;)V
        35: .line 1895
            goto 37
        36: .line 1897
      StackMap locals:
      StackMap stack:
            aload 7 /* keypair */
            iload 4 /* keysize */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(I)V
        37: .line 1900
      StackMap locals:
      StackMap stack:
            aload 7 /* keypair */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPrivateKey:()Ljava/security/PrivateKey;
            astore 9 /* privKey */
        start local 9 // java.security.PrivateKey privKey
        38: .line 1902
            aload 0 /* this */
        39: .line 1903
            aconst_null
        40: .line 1904
            aconst_null
        41: .line 1905
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        42: .line 1906
            aload 7 /* keypair */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPublicKeyAnyway:()Ljava/security/PublicKey;
        43: .line 1907
            aconst_null
        44: .line 1902
            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 10 /* ext */
        start local 10 // sun.security.x509.CertificateExtensions ext
        45: .line 1909
            iconst_1
            anewarray java.security.cert.X509Certificate
            astore 11 /* chain */
        start local 11 // java.security.cert.X509Certificate[] chain
        46: .line 1910
            aload 11 /* chain */
            iconst_0
            aload 7 /* keypair */
        47: .line 1911
            aload 8 /* 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 10 /* ext */
        48: .line 1910
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getSelfCertificate:(Lsun/security/x509/X500Name;Ljava/util/Date;JLsun/security/x509/CertificateExtensions;)Ljava/security/cert/X509Certificate;
            aastore
        49: .line 1913
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        50: .line 1914
            ldc "Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for"
        51: .line 1913
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 12 /* form */
        start local 12 // java.text.MessageFormat form
        52: .line 1915
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
        53: .line 1916
            aload 5 /* groupName */
            ifnonnull 54
            iload 4 /* keysize */
            goto 55
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String sun.security.tools.keytool.CertAndKeyGen sun.security.x509.X500Name java.security.PrivateKey sun.security.x509.CertificateExtensions java.security.cert.X509Certificate[] java.text.MessageFormat
      StackMap stack: java.lang.Object[] java.lang.Object[] int
        54: aload 9 /* privKey */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String sun.security.tools.keytool.CertAndKeyGen sun.security.x509.X500Name java.security.PrivateKey sun.security.x509.CertificateExtensions java.security.cert.X509Certificate[] java.text.MessageFormat
      StackMap stack: java.lang.Object[] java.lang.Object[] int int
        55: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
        56: .line 1917
            aload 0 /* this */
            aload 9 /* privKey */
            invokevirtual sun.security.tools.keytool.Main.fullDisplayAlgName:(Ljava/security/Key;)Ljava/lang/String;
            aastore
            dup
            iconst_2
        57: .line 1918
            aload 11 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
        58: .line 1919
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_4
        59: .line 1920
            aload 8 /* x500Name */
            aastore
        60: .line 1915
            astore 13 /* source */
        start local 13 // java.lang.Object[] source
        61: .line 1921
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 12 /* form */
            aload 13 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        62: .line 1923
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 64
        63: .line 1924
            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
        64: .line 1926
      StackMap locals: java.lang.Object[]
      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 11 /* chain */
            iconst_0
            aaload
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        65: .line 1927
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 9 /* privKey */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            aload 11 /* chain */
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        66: .line 1928
            return
        end local 13 // java.lang.Object[] source
        end local 12 // java.text.MessageFormat form
        end local 11 // java.security.cert.X509Certificate[] chain
        end local 10 // sun.security.x509.CertificateExtensions ext
        end local 9 // java.security.PrivateKey privKey
        end local 8 // sun.security.x509.X500Name x500Name
        end local 7 // sun.security.tools.keytool.CertAndKeyGen keypair
        end local 6 // java.lang.String sigAlgName
        end local 5 // java.lang.String groupName
        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   67     0        this  Lsun/security/tools/keytool/Main;
            0   67     1       alias  Ljava/lang/String;
            0   67     2       dname  Ljava/lang/String;
            0   67     3  keyAlgName  Ljava/lang/String;
            0   67     4     keysize  I
            0   67     5   groupName  Ljava/lang/String;
            0   67     6  sigAlgName  Ljava/lang/String;
           24   26     7        form  Ljava/text/MessageFormat;
           25   26     8      source  [Ljava/lang/Object;
           28   67     7     keypair  Lsun/security/tools/keytool/CertAndKeyGen;
           31   32     8    x500Name  Lsun/security/x509/X500Name;
           33   67     8    x500Name  Lsun/security/x509/X500Name;
           38   67     9     privKey  Ljava/security/PrivateKey;
           45   67    10         ext  Lsun/security/x509/CertificateExtensions;
           46   67    11       chain  [Ljava/security/cert/X509Certificate;
           52   67    12        form  Ljava/text/MessageFormat;
           61   67    13      source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      dname       
      keyAlgName  
      keysize     
      groupName   
      sigAlgName  

  private java.lang.String ecGroupNameForSize(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // int size
         0: .line 1931
            ldc "EC"
            invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
            astore 2 /* ap */
        start local 2 // java.security.AlgorithmParameters ap
         1: .line 1932
            aload 2 /* ap */
            new sun.security.util.ECKeySizeParameterSpec
            dup
            iload 1 /* size */
            invokespecial sun.security.util.ECKeySizeParameterSpec.<init>:(I)V
            invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
         2: .line 1934
            aload 2 /* ap */
            invokevirtual java.security.AlgorithmParameters.toString:()Ljava/lang/String;
            ldc " "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            iconst_0
            aaload
            areturn
        end local 2 // java.security.AlgorithmParameters ap
        end local 1 // int size
        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  size  I
            1    3     2    ap  Ljava/security/AlgorithmParameters;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      size  

  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 1946
            aload 1 /* orig */
            ifnonnull 2
         1: .line 1947
            ldc "mykey"
            astore 1 /* orig */
         2: .line 1950
      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 1951
            new java.text.MessageFormat
            dup
         4: .line 1952
            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 1951
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         6: .line 1953
            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 1954
            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 1957
      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 1958
            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 1959
            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 1961
            aconst_null
            astore 6 /* pp */
        start local 6 // java.security.KeyStore$PasswordProtection pp
        12: .line 1963
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 19
        13: .line 1964
            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 1965
      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 1966
            goto 18
        16: .line 1967
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPassNew:[C
            ifnonnull 18
        17: .line 1968
            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 1971
      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 1973
      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 1974
            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 1982
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1983
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1985
      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 1986
            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 1987
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 1988
            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 1991
      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 1992
            new java.text.MessageFormat
            dup
         8: .line 1993
            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 1992
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        10: .line 1994
            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 1995
            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 1997
      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 1998
            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 1997
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        15: .line 1999
            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 2009
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         1: .line 2010
            ldc "No.entries.from.identity.database.added"
         2: .line 2009
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 2011
            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=6, 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 2019
            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 2020
            new java.text.MessageFormat
            dup
         2: .line 2021
            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 2020
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         4: .line 2022
            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 2023
            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 2026
      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 2027
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
         8: .line 2028
            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 2027
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        10: .line 2029
            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 2030
            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 2032
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 31
        13: .line 2033
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        14: .line 2034
            ldc "Creation.date.keyStore.getCreationDate.alias."
        15: .line 2033
            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 2035
            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 2036
            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 2038
            goto 31
        19: .line 2039
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 26
        20: .line 2040
            new java.text.MessageFormat
            dup
        21: .line 2041
            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 2040
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        23: .line 2042
            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 2043
            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 2044
            goto 31
        26: .line 2045
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        27: .line 2046
            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 2045
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        29: .line 2047
            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 2048
            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 2052
      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 2053
            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 2054
      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 2055
            aload 3 /* out */
            new java.text.MessageFormat
            dup
        35: .line 2056
            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 2055
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        37: .line 2057
            goto 116
        38: .line 2058
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "SecretKeyEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 2060
            goto 116
      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 87
        41: .line 2061
            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 2062
      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 2063
            aload 3 /* out */
            new java.text.MessageFormat
            dup
        44: .line 2064
            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 2063
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        46: .line 2065
            goto 48
        47: .line 2066
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "PrivateKeyEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        48: .line 2070
      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 2071
            aload 4 /* chain */
            ifnull 81
        50: .line 2072
            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 2073
      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 2074
            ldc "Certificate.chain.length."
        53: .line 2073
            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 2074
            aload 4 /* chain */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 2073
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        56: .line 2075
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        57: goto 72
        58: .line 2076
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
        59: .line 2077
            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 2076
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        61: .line 2078
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 5 /* i */
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        62: .line 2079
            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 2080
            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 2081
            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 2082
            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 2083
            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 2084
            goto 70
        69: .line 2085
      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 2087
      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 2075
            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 2089
            goto 116
        74: .line 2091
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
        75: .line 2092
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.fingerprint.SHA.256."
            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 2093
            aload 0 /* this */
            ldc "SHA-256"
            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 2092
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        78: .line 2091
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        79: .line 2094
            aload 0 /* this */
            aload 1 /* label */
            aload 4 /* chain */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;[Ljava/security/cert/Certificate;)V
        80: .line 2096
            goto 116
        81: .line 2097
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        82: .line 2098
            ldc "Certificate.chain.length."
        83: .line 2097
            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 2098
            iconst_0
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        85: .line 2097
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.security.cert.Certificate[] chain
        86: .line 2100
            goto 116
      StackMap locals:
      StackMap stack:
        87: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
        88: .line 2101
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
        89: .line 2100
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
        90: .line 2101
            ifeq 115
        91: .line 2103
            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
        92: .line 2104
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "trustedCertEntry"
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        93: .line 2105
            new java.lang.StringBuilder
            dup
            new java.text.MessageFormat
            dup
        94: .line 2106
            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;
        95: .line 2105
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        96: .line 2106
            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;
        97: .line 2105
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* mf */
        start local 6 // java.lang.String mf
        98: .line 2107
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 102
            aload 4 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 102
        99: .line 2108
            aload 3 /* out */
            aload 6 /* mf */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       100: .line 2109
            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
       101: .line 2110
            goto 113
      StackMap locals: java.security.cert.Certificate java.lang.Object[] java.lang.String
      StackMap stack:
       102: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 106
       103: .line 2111
            aload 3 /* out */
            aload 6 /* mf */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       104: .line 2112
            aload 0 /* this */
            aload 4 /* cert */
            aload 3 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
       105: .line 2113
            goto 113
      StackMap locals:
      StackMap stack:
       106: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 109
       107: .line 2114
            aload 3 /* out */
            aload 4 /* cert */
            invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       108: .line 2115
            goto 113
       109: .line 2116
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "trustedCertEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       110: .line 2117
            aload 3 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.fingerprint.SHA.256."
            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
       111: .line 2118
            aload 0 /* this */
            ldc "SHA-256"
            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;
       112: .line 2117
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       113: .line 2120
      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
       114: .line 2121
            goto 116
       115: .line 2122
      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
       116: .line 2124
      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  117     0    this  Lsun/security/tools/keytool/Main;
            0  117     1   label  Ljava/lang/String;
            0  117     2   alias  Ljava/lang/String;
            0  117     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   86     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;
           92  114     4    cert  Ljava/security/cert/Certificate;
           93  114     5  source  [Ljava/lang/Object;
           98  114     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 2127
            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 2128
            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 2129
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 2132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            ifnull 20
         4: .line 2133
            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 2134
            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 2135
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         7: .line 2136
            ldc "Source.keystore.file.exists.but.is.empty."
         8: .line 2135
            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 2137
            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 2135
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 2139
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* srcksfile */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
        12: .line 2140
            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 2141
            iconst_1
            ireturn
        14: .line 2145
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 2146
            ldc "importing.keystore.status"
        16: .line 2145
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 2146
            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 2145
            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 2147
            iconst_0
            ireturn
        end local 1 // java.io.File srcksfile
        20: .line 2150
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        21: .line 2151
            ldc "Please.specify.srckeystore"
        22: .line 2150
            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=8, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 2161
            aconst_null
            astore 1 /* is */
        start local 1 // java.io.InputStream is
         1: .line 2162
            aconst_null
            astore 2 /* srcksfile */
        start local 2 // java.io.File srcksfile
         2: .line 2163
            iconst_0
            istore 3 /* srcIsPasswordless */
        start local 3 // boolean srcIsPasswordless
         3: .line 2165
            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 5
         4: .line 2166
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 14
         5: .line 2167
      StackMap locals: java.io.InputStream java.io.File int
      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 16
         6: .line 2168
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         7: .line 2169
            ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
         8: .line 2168
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 2169
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            aastore
        10: .line 2168
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 2170
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        12: .line 2171
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        13: .line 2173
            goto 16
        14: .line 2174
      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 */
        15: .line 2175
            new java.io.FileInputStream
            dup
            aload 2 /* srcksfile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 1 /* is */
        16: .line 2181
      StackMap locals:
      StackMap stack:
            aload 2 /* srcksfile */
            ifnull 23
            aload 1 /* is */
            ifnull 23
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
            ifnonnull 23
        17: .line 2182
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            ifnonnull 23
        18: .line 2183
            aload 2 /* srcksfile */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            invokestatic java.security.KeyStore.getInstance:(Ljava/io/File;[C)Ljava/security/KeyStore;
            astore 4 /* store */
        start local 4 // java.security.KeyStore store
        19: .line 2184
            aload 0 /* this */
            aload 4 /* store */
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
        20: .line 2185
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            ldc "pkcs12"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 29
        21: .line 2186
            aload 2 /* srcksfile */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.isPasswordless:(Ljava/io/File;)Z
            istore 3 /* srcIsPasswordless */
        22: .line 2188
            goto 29
        end local 4 // java.security.KeyStore store
        23: .line 2189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            ifnonnull 25
        24: .line 2190
            aload 0 /* this */
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
        25: .line 2192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
            ifnonnull 28
        26: .line 2193
            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 4 /* store */
        start local 4 // java.security.KeyStore store
        27: .line 2194
            goto 29
        end local 4 // java.security.KeyStore store
        28: .line 2195
      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 4 /* store */
        start local 4 // java.security.KeyStore store
        29: .line 2199
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 37
        30: .line 2200
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
            ifne 37
        31: .line 2201
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 37
        32: .line 2202
            iload 3 /* srcIsPasswordless */
            ifne 37
        33: .line 2203
            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
        34: .line 2204
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        35: .line 2205
            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
        36: .line 2206
            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
        37: .line 2210
      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 46
        38: .line 2211
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 46
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnull 46
        39: .line 2212
            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 46
        40: .line 2213
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        41: .line 2214
            ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
        42: .line 2213
            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
        43: .line 2215
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-srckeypass"
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        44: .line 2216
            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
        45: .line 2217
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        46: .line 2221
      StackMap locals:
      StackMap stack:
            aload 4 /* 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
        47: .line 2222
            goto 52
        end local 4 // java.security.KeyStore store
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File int
      StackMap stack: java.lang.Throwable
        48: astore 7
        49: .line 2223
            aload 1 /* is */
            ifnull 51
        50: .line 2224
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        51: .line 2226
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File int top top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        start local 4 // java.security.KeyStore store
        52: .line 2223
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File int java.security.KeyStore
      StackMap stack:
            aload 1 /* is */
            ifnull 54
        53: .line 2224
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        54: .line 2228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 68
        55: .line 2229
            iload 3 /* srcIsPasswordless */
            ifne 68
        56: .line 2230
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 68
        57: .line 2233
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        58: .line 2234
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        59: .line 2235
            ldc ".WARNING.WARNING.WARNING."
        60: .line 2234
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        61: .line 2236
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        62: .line 2237
            ldc ".The.integrity.of.the.information.stored.in.the.srckeystore."
        63: .line 2236
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        64: .line 2238
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        65: .line 2239
            ldc ".WARNING.WARNING.WARNING."
        66: .line 2238
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        67: .line 2240
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        68: .line 2243
      StackMap locals:
      StackMap stack:
            aload 4 /* store */
            areturn
        end local 4 // java.security.KeyStore store
        end local 3 // boolean srcIsPasswordless
        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   69     0               this  Lsun/security/tools/keytool/Main;
            1   69     1                 is  Ljava/io/InputStream;
            2   69     2          srcksfile  Ljava/io/File;
            3   69     3  srcIsPasswordless  Z
           19   23     4              store  Ljava/security/KeyStore;
           27   28     4              store  Ljava/security/KeyStore;
           29   48     4              store  Ljava/security/KeyStore;
           52   69     4              store  Ljava/security/KeyStore;
           43   46     5               form  Ljava/text/MessageFormat;
           44   46     6             source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          16    48      48  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 2253
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 3
         1: .line 2254
            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 2255
            goto 8
         3: .line 2256
      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
            ifnull 7
         4: .line 2257
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 2258
            ldc "if.alias.not.specified.destalias.and.srckeypass.must.not.be.specified"
         6: .line 2257
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* srcKS */
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStoreAll:(Ljava/security/KeyStore;)V
         8: .line 2263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 18
         9: .line 2266
            iconst_1
            istore 2 /* n */
        start local 2 // int n
        10: .line 2267
      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 2268
            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 2269
            aload 3 /* bkFile */
            invokevirtual java.io.File.exists:()Z
            ifne 17
        15: .line 2270
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Path.of:(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 2271
            goto 18
        end local 3 // java.io.File bkFile
        17: .line 2266
      StackMap locals:
      StackMap stack:
            iinc 2 /* n */ 1
            goto 10
        end local 2 // int n
        18: .line 2284
      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=11, 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 2295
            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 2297
            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 2298
            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 2299
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 12
         6: .line 2300
            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 2301
            ldc "Warning.Overwriting.existing.alias.alias.in.destination.keystore"
         8: .line 2300
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
         9: .line 2301
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        10: .line 2300
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 2302
            goto 29
        12: .line 2303
      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 2304
            ldc "Existing.entry.alias.alias.exists.overwrite.no."
        14: .line 2303
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        15: .line 2304
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        16: .line 2303
            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 2305
            ldc "NO"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        18: .line 2306
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        19: .line 2307
            ldc "Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry."
        20: .line 2306
            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 2308
            ldc ""
            aload 3 /* newAlias */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        22: .line 2309
            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 2310
            ldc "Entry.for.alias.alias.not.imported."
        24: .line 2309
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        25: .line 2311
            aload 4 /* source */
        26: .line 2310
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        27: .line 2309
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        28: .line 2312
            iconst_0
            ireturn
        end local 5 // java.lang.String reply
        end local 4 // java.lang.Object[] source
        29: .line 2318
      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 2319
            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 2321
            aconst_null
            astore 6 /* pp */
        start local 6 // java.security.KeyStore$PasswordProtection pp
        32: .line 2327
            aconst_null
            astore 7 /* newPass */
        start local 7 // char[] newPass
        33: .line 2328
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 37
        34: .line 2329
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            astore 7 /* newPass */
        35: .line 2330
            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 */
        36: .line 2331
            goto 43
      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 char[]
      StackMap stack:
        37: aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            ifnull 43
        38: .line 2332
            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 40
        39: .line 2333
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            goto 41
      StackMap locals:
      StackMap stack:
        40: aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast char[]
        41: .line 2332
      StackMap locals:
      StackMap stack: char[]
            astore 7 /* newPass */
        42: .line 2334
            new java.security.KeyStore$PasswordProtection
            dup
            aload 7 /* newPass */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 6 /* pp */
        43: .line 2338
      StackMap locals:
      StackMap stack:
            aload 1 /* srckeystore */
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 8 /* c */
        start local 8 // java.security.cert.Certificate c
        44: .line 2339
            aload 8 /* c */
            ifnull 46
        45: .line 2340
            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 8 /* c */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        46: .line 2342
      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
        47: .line 2345
            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 52
        48: .line 2346
            aload 7 /* newPass */
            ifnull 52
            aload 7 /* newPass */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 52
        49: .line 2347
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        50: .line 2348
            ldc "The.destination.pkcs12.keystore.has.different.storepass.and.keypass.Please.retry.with.destkeypass.specified."
        51: .line 2347
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        52: .line 2351
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 8 // java.security.cert.Certificate c
        53: .line 2352
      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 char[]
      StackMap stack: java.security.KeyStoreException
            astore 8 /* kse */
        start local 8 // java.security.KeyStoreException kse
        54: .line 2353
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* alias */
            aastore
            dup
            iconst_1
            aload 8 /* kse */
            invokevirtual java.security.KeyStoreException.toString:()Ljava/lang/String;
            aastore
            astore 9 /* source2 */
        start local 9 // java.lang.Object[] source2
        55: .line 2354
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        56: .line 2355
            ldc "Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported."
        57: .line 2354
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
        58: .line 2356
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 10 /* form */
            aload 9 /* source2 */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        59: .line 2357
            iconst_2
            ireturn
        end local 10 // java.text.MessageFormat form
        end local 9 // java.lang.Object[] source2
        end local 8 // java.security.KeyStoreException kse
        end local 7 // char[] newPass
        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   60     0         this  Lsun/security/tools/keytool/Main;
            0   60     1  srckeystore  Ljava/security/KeyStore;
            0   60     2        alias  Ljava/lang/String;
            3   60     3     newAlias  Ljava/lang/String;
            5   29     4       source  [Ljava/lang/Object;
           17   29     5        reply  Ljava/lang/String;
           30   60     4         objs  Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
           31   60     5        entry  Ljava/security/KeyStore$Entry;
           32   60     6           pp  Ljava/security/KeyStore$PasswordProtection;
           33   60     7      newPass  [C
           44   53     8            c  Ljava/security/cert/Certificate;
           54   60     8          kse  Ljava/security/KeyStoreException;
           55   60     9      source2  [Ljava/lang/Object;
           58   60    10         form  Ljava/text/MessageFormat;
      Exception table:
        from    to  target  type
          43    52      53  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 2363
            iconst_0
            istore 2 /* ok */
        start local 2 // int ok
         1: .line 2364
            aload 1 /* srckeystore */
            invokevirtual java.security.KeyStore.size:()I
            istore 3 /* count */
        start local 3 // int count
         2: .line 2365
            aload 1 /* srckeystore */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
         3: .line 2366
            goto 17
         4: .line 2367
      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 2368
            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 2369
            iload 6 /* result */
            iconst_1
            if_icmpne 12
         7: .line 2370
            iinc 2 /* ok */ 1
         8: .line 2371
            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 2372
            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 2373
            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 2374
            goto 17
      StackMap locals: java.lang.String int
      StackMap stack:
        12: iload 6 /* result */
            iconst_2
            if_icmpne 17
        13: .line 2375
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifne 17
        14: .line 2376
            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 2377
            ldc "YES"
            aload 7 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 2378
            goto 18
        end local 7 // java.lang.String reply
        end local 6 // int result
        end local 5 // java.lang.String alias
        17: .line 2366
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 4 // java.util.Enumeration e
        18: .line 2383
      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 2384
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        20: .line 2385
            ldc "Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled"
        21: .line 2384
            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 2386
            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 2387
            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=5, locals=6, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.PrintStream out
         0: .line 2395
            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 2396
            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 2397
            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 2396
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2398
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
         5: .line 2401
            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 2402
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         7: .line 2403
            ldc "Your.keystore.contains.keyStore.size.entry"
         8: .line 2402
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
         9: .line 2403
            goto 13
        10: .line 2404
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        11: .line 2405
            ldc "Your.keystore.contains.keyStore.size.entries"
        12: .line 2404
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        13: .line 2401
      StackMap locals:
      StackMap stack: java.text.MessageFormat
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
        14: .line 2406
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 3 /* source */
        start local 3 // java.lang.Object[] source
        15: .line 2407
            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 2408
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        17: .line 2410
            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 2411
            goto 29
        19: .line 2412
      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 2413
            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 2414
            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 2415
      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 2416
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        24: .line 2417
            ldc "STAR"
        25: .line 2416
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        26: .line 2418
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        27: .line 2419
            ldc "STARNN"
        28: .line 2418
            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 2411
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 19
        end local 4 // java.util.Enumeration e
        30: .line 2422
            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 2425
            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 2451
            aconst_null
            astore 1 /* in */
        start local 1 // java.io.InputStream in
         1: .line 2452
            aconst_null
            astore 2 /* uri */
        start local 2 // java.net.URI uri
         2: .line 2453
            aload 0 /* src */
            ifnonnull 5
         3: .line 2454
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 1 /* in */
         4: .line 2455
            goto 16
         5: .line 2457
      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 2458
            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 2461
            aload 2 /* uri */
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 1 /* in */
         8: .line 2463
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 3 /* e */
        start local 3 // java.lang.Exception e
        10: .line 2465
            new java.io.FileInputStream
            dup
            aload 0 /* src */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 1 /* in */
        11: .line 2466
            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 2467
            aload 2 /* uri */
            ifnull 14
            aload 2 /* uri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ifnonnull 15
        14: .line 2468
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 4 /* e2 */
            athrow
        15: .line 2470
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 4 // java.lang.Exception e2
        end local 3 // java.lang.Exception e
        16: .line 2475
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            ifnull 33
        17: .line 2481
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* bout */
        start local 3 // java.io.ByteArrayOutputStream bout
        18: .line 2482
            sipush 4096
            newarray 8
            astore 4 /* b */
        start local 4 // byte[] b
        19: .line 2484
      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 2485
            iload 5 /* len */
            ifge 21
            goto 23
        21: .line 2486
      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 2483
            goto 19
        23: .line 2488
      StackMap locals:
      StackMap stack:
            ldc "X509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
        24: .line 2489
            new java.io.ByteArrayInputStream
            dup
            aload 3 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        25: .line 2488
            invokevirtual java.security.cert.CertificateFactory.generateCRLs:(Ljava/io/InputStream;)Ljava/util/Collection;
            astore 7
        26: .line 2491
            aload 1 /* in */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 28
        27: .line 2492
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
        28: .line 2488
      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 2490
      StackMap locals: java.lang.String java.io.InputStream java.net.URI
      StackMap stack: java.lang.Throwable
            astore 6
        30: .line 2491
            aload 1 /* in */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 32
        31: .line 2492
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
        32: .line 2494
      StackMap locals: java.lang.String java.io.InputStream java.net.URI top top top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        33: .line 2497
      StackMap locals: java.lang.String java.io.InputStream java.net.URI
      StackMap stack:
            new java.security.cert.URICertStoreParameters
            dup
            aload 2 /* uri */
            invokespecial java.security.cert.URICertStoreParameters.<init>:(Ljava/net/URI;)V
        34: .line 2496
            astore 3 /* params */
        start local 3 // java.security.cert.URICertStoreParameters params
        35: .line 2498
            ldc "LDAP"
            aload 3 /* params */
            invokestatic java.security.cert.CertStore.getInstance:(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
            astore 4 /* s */
        start local 4 // java.security.cert.CertStore s
        36: .line 2499
            aload 4 /* s */
            new java.security.cert.X509CRLSelector
            dup
            invokespecial java.security.cert.X509CRLSelector.<init>:()V
            invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
            areturn
        end local 4 // java.security.cert.CertStore s
        end local 3 // java.security.cert.URICertStoreParameters params
        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   37     0     src  Ljava/lang/String;
            1   37     1      in  Ljava/io/InputStream;
            2   37     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
           35   37     3  params  Ljava/security/cert/URICertStoreParameters;
           36   37     4       s  Ljava/security/cert/CertStore;
      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 2509
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* crls */
        start local 1 // java.util.List crls
         1: .line 2511
            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 2510
            astore 2 /* ext */
        start local 2 // sun.security.x509.CRLDistributionPointsExtension ext
         3: .line 2512
            aload 2 /* ext */
            ifnonnull 4
            aload 1 /* crls */
            areturn
         4: .line 2514
      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 2513
            astore 3 /* distPoints */
        start local 3 // java.util.List distPoints
         6: .line 2515
            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 2516
            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 2517
            aload 6 /* names */
            ifnull 21
        10: .line 2518
            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 2519
            aload 7 /* name */
            invokevirtual sun.security.x509.GeneralName.getType:()I
            bipush 6
            if_icmpne 20
        13: .line 2520
            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 2521
            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 2522
            aload 10 /* crl */
            instanceof java.security.cert.X509CRL
            ifeq 18
        17: .line 2523
            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 2521
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        19: .line 2526
            goto 21
        end local 9 // sun.security.x509.URIName uriName
        end local 7 // sun.security.x509.GeneralName name
        20: .line 2518
      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 2515
      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 2531
            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 2536
            aload 1 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            astore 2 /* xcrl */
        start local 2 // sun.security.x509.X509CRLImpl xcrl
         1: .line 2537
            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 2538
            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 2539
            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 2540
            aload 6 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 12
         6: .line 2541
            aload 6 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 7 /* xcert */
        start local 7 // java.security.cert.X509Certificate xcert
         7: .line 2542
            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 2544
            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 2545
            aload 4 /* s */
        10: areturn
        11: .line 2546
      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 2538
      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 2551
            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 2556
            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 2557
            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 2558
            aconst_null
            astore 5 /* issuer */
        start local 5 // java.lang.String issuer
         4: .line 2559
            aconst_null
            astore 6 /* signer */
        start local 6 // java.security.cert.Certificate signer
         5: .line 2560
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 17
         6: .line 2561
            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 2562
            aload 5 /* issuer */
            ifnull 17
         8: .line 2563
            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 2564
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        10: .line 2565
            ldc "verified.by.s.in.s.weak"
        11: .line 2564
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 2566
            aload 5 /* issuer */
            aastore
            dup
            iconst_1
        13: .line 2567
            ldc "cacerts"
            aastore
            dup
            iconst_2
        14: .line 2568
            aload 0 /* this */
            aload 6 /* signer */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/Key;)Ljava/lang/String;
            aastore
        15: .line 2564
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        16: .line 2569
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        17: .line 2572
      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 2573
            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 2574
            aload 5 /* issuer */
            ifnull 29
        20: .line 2575
            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 2576
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        22: .line 2577
            ldc "verified.by.s.in.s.weak"
        23: .line 2576
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        24: .line 2578
            aload 5 /* issuer */
            aastore
            dup
            iconst_1
        25: .line 2579
            ldc "keystore"
            aastore
            dup
            iconst_2
        26: .line 2580
            aload 0 /* this */
            aload 6 /* signer */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/Key;)Ljava/lang/String;
            aastore
        27: .line 2576
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        28: .line 2581
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        29: .line 2584
      StackMap locals:
      StackMap stack:
            aload 5 /* issuer */
            ifnonnull 39
        30: .line 2585
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        31: .line 2586
            ldc "STAR"
        32: .line 2585
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 2587
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        34: .line 2588
            ldc "warning.not.verified.make.sure.keystore.is.correct"
        35: .line 2587
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 2589
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 2590
            ldc "STARNN"
        38: .line 2589
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 2592
      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 2556
      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 2594
            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 2598
            aload 1 /* crl */
            checkcast java.security.cert.X509CRL
            astore 3 /* xcrl */
        start local 3 // java.security.cert.X509CRL xcrl
         1: .line 2599
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 6
         2: .line 2600
            aload 2 /* out */
            ldc "-----BEGIN X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 2601
            aload 2 /* out */
            bipush 64
            getstatic sun.security.tools.keytool.Main.CRLF:[B
            invokestatic java.util.Base64.getMimeEncoder:(I[B)Ljava/util/Base64$Encoder;
            aload 3 /* xcrl */
            invokevirtual java.security.cert.X509CRL.getEncoded:()[B
            invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2602
            aload 2 /* out */
            ldc "-----END X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 2603
            goto 12
         6: .line 2605
      StackMap locals: java.security.cert.X509CRL
      StackMap stack:
            aload 1 /* crl */
            instanceof sun.security.x509.X509CRLImpl
            ifeq 10
         7: .line 2606
            aload 1 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            astore 5 /* x509crl */
        start local 5 // sun.security.x509.X509CRLImpl x509crl
         8: .line 2607
            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 2608
            goto 11
        end local 4 // java.lang.String s
        10: .line 2609
      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 2611
      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 2613
      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=13, 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 2618
            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 2619
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuffer sb
         2: .line 2620
            iconst_0
            istore 5 /* started */
        start local 5 // boolean started
         3: .line 2622
      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 2623
            aload 6 /* s */
            ifnonnull 5
            goto 13
         5: .line 2624
      StackMap locals: java.lang.String
      StackMap stack:
            iload 5 /* started */
            ifne 9
         6: .line 2625
            aload 6 /* s */
            ldc "-----"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         7: .line 2626
            iconst_1
            istore 5 /* started */
         8: .line 2628
            goto 3
         9: .line 2629
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            ldc "-----"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 2630
            goto 13
        11: .line 2632
      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 2621
            goto 3
        13: .line 2635
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs10.PKCS10
            dup
            new java.lang.String
            dup
            aload 4 /* sb */
            invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
            invokestatic sun.security.util.Pem.decode:(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 2637
            aload 6 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
            astore 7 /* pkey */
        start local 7 // java.security.PublicKey pkey
        15: .line 2638
            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 2639
            aload 6 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectName:()Lsun/security/x509/X500Name;
            aastore
            dup
            iconst_1
        17: .line 2640
            aload 7 /* pkey */
            invokeinterface java.security.PublicKey.getFormat:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        18: .line 2641
            aload 0 /* this */
            aload 7 /* pkey */
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/Key;)Ljava/lang/String;
            aastore
            dup
            iconst_3
        19: .line 2642
            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 2638
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        21: .line 2643
            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 40
      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 2644
            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 2645
            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 2646
            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 2647
            aload 11 /* exts */
            ifnull 40
        27: .line 2648
            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 2650
            goto 40
        29: .line 2651
      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 */
            new java.lang.StringBuilder
            dup
            ldc "Attribute: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
            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
        30: .line 2653
            new sun.security.pkcs.PKCS9Attribute
            dup
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
        31: .line 2654
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
        32: .line 2653
            invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
        33: .line 2652
            astore 11 /* pkcs9Attr */
        start local 11 // sun.security.pkcs.PKCS9Attribute pkcs9Attr
        34: .line 2655
            aload 2 /* out */
            new java.lang.StringBuilder
            dup
            aload 11 /* pkcs9Attr */
            invokevirtual sun.security.pkcs.PKCS9Attribute.getName:()Ljava/lang/String;
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        35: .line 2656
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
            astore 12 /* attrVal */
        start local 12 // java.lang.Object attrVal
        36: .line 2657
            aload 2 /* out */
            aload 12 /* attrVal */
            instanceof java.lang.String[]
            ifeq 38
        37: .line 2658
            aload 12 /* attrVal */
            checkcast java.lang.String[]
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            goto 39
        38: .line 2659
      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 sun.security.pkcs.PKCS9Attribute java.lang.Object
      StackMap stack: java.io.PrintStream
            aload 12 /* attrVal */
        39: .line 2657
      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 sun.security.pkcs.PKCS9Attribute java.lang.Object
      StackMap stack: java.io.PrintStream java.lang.Object
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 12 // java.lang.Object attrVal
        end local 11 // sun.security.pkcs.PKCS9Attribute pkcs9Attr
        end local 10 // sun.security.util.ObjectIdentifier oid
        end local 8 // sun.security.pkcs10.PKCS10Attribute attr
        40: .line 2643
      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
        41: .line 2662
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 43
        42: .line 2663
            aload 2 /* out */
            aload 6 /* req */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        43: .line 2665
      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
        44: .line 2666
            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   45     0       this  Lsun/security/tools/keytool/Main;
            0   45     1         in  Ljava/io/InputStream;
            0   45     2        out  Ljava/io/PrintStream;
            1   45     3     reader  Ljava/io/BufferedReader;
            2   45     4         sb  Ljava/lang/StringBuffer;
            3   45     5    started  Z
            4   12     6          s  Ljava/lang/String;
           14   45     6        req  Lsun/security/pkcs10/PKCS10;
           15   45     7       pkey  Ljava/security/PublicKey;
           23   40     8       attr  Lsun/security/pkcs10/PKCS10Attribute;
           24   40    10        oid  Lsun/security/util/ObjectIdentifier;
           26   28    11       exts  Lsun/security/x509/CertificateExtensions;
           34   40    11  pkcs9Attr  Lsun/security/pkcs/PKCS9Attribute;
           36   40    12    attrVal  Ljava/lang/Object;
    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=5, 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 2675
            aconst_null
            astore 3 /* c */
        start local 3 // java.util.Collection c
         1: .line 2677
            aload 0 /* this */
            aload 1 /* in */
            invokevirtual sun.security.tools.keytool.Main.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
            astore 3 /* c */
         2: .line 2678
            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 2679
            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 2681
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 7
         6: .line 2682
            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 2684
      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 2685
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 28
        10: .line 2686
      StackMap locals: java.security.cert.Certificate[] int
      StackMap stack:
            aconst_null
            astore 6 /* x509Cert */
        start local 6 // java.security.cert.X509Certificate x509Cert
        11: .line 2688
            aload 4 /* certs */
            iload 5 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            astore 6 /* x509Cert */
        12: .line 2689
            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 2690
            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 2692
      StackMap locals:
      StackMap stack:
            aload 4 /* certs */
            arraylength
            iconst_1
            if_icmple 21
        16: .line 2693
            new java.text.MessageFormat
            dup
        17: .line 2694
            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 2693
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        19: .line 2695
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 5 /* i */
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        20: .line 2696
            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 2698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 23
        22: .line 2699
            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 24
        23: .line 2701
      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
        24: .line 2702
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            aload 4 /* certs */
            arraylength
            iconst_1
            isub
            if_icmpge 26
        25: .line 2703
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        26: .line 2705
      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
        27: .line 2685
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 5 /* i */
            aload 4 /* certs */
            arraylength
            if_icmplt 10
        end local 5 // int i
        29: .line 2707
            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   30     0      this  Lsun/security/tools/keytool/Main;
            0   30     1        in  Ljava/io/InputStream;
            0   30     2       out  Ljava/io/PrintStream;
            1   30     3         c  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
            4    5     4        ce  Ljava/security/cert/CertificateException;
            8   30     4     certs  [Ljava/security/cert/Certificate;
            9   29     5         i  I
           11   27     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 java.util.Collection<? extends java.security.cert.Certificate> generateCertificates(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.InputStream in
         0: .line 2711
            aload 1 /* in */
            invokevirtual java.io.InputStream.readAllBytes:()[B
            astore 2 /* data */
        start local 2 // byte[] data
         1: .line 2713
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
         2: .line 2714
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* data */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
         3: .line 2713
            areturn
         4: .line 2715
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[]
      StackMap stack: java.security.cert.CertificateException
            astore 3 /* e */
        start local 3 // java.security.cert.CertificateException e
         5: .line 2716
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            ifnull 11
         6: .line 2718
            ldc "X.509"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
         7: .line 2719
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* data */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
         8: .line 2718
            areturn
         9: .line 2720
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[] java.security.cert.CertificateException
      StackMap stack: java.lang.Exception
            astore 4 /* e2 */
        start local 4 // java.lang.Exception e2
        10: .line 2721
            aload 3 /* e */
            aload 4 /* e2 */
            invokevirtual java.security.cert.CertificateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception e2
        11: .line 2724
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // java.security.cert.CertificateException e
        end local 2 // byte[] data
        end local 1 // java.io.InputStream in
        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    in  Ljava/io/InputStream;
            1   12     2  data  [B
            5   12     3     e  Ljava/security/cert/CertificateException;
           10   11     4    e2  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.security.cert.CertificateException
           6     8       9  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertificateException, java.io.IOException
    Signature: (Ljava/io/InputStream;)Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
    MethodParameters:
      Name  Flags
      in    

  private java.security.cert.Certificate generateCertificate(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.InputStream in
         0: .line 2730
            aload 1 /* in */
            invokevirtual java.io.InputStream.readAllBytes:()[B
            astore 2 /* data */
        start local 2 // byte[] data
         1: .line 2732
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
         2: .line 2733
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* data */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
         3: .line 2732
            areturn
         4: .line 2734
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[]
      StackMap stack: java.security.cert.CertificateException
            astore 3 /* e */
        start local 3 // java.security.cert.CertificateException e
         5: .line 2735
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            ifnull 11
         6: .line 2737
            ldc "X.509"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
         7: .line 2738
            new java.io.ByteArrayInputStream
            dup
            aload 2 /* data */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
         8: .line 2737
            areturn
         9: .line 2739
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[] java.security.cert.CertificateException
      StackMap stack: java.lang.Exception
            astore 4 /* e2 */
        start local 4 // java.lang.Exception e2
        10: .line 2740
            aload 3 /* e */
            aload 4 /* e2 */
            invokevirtual java.security.cert.CertificateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception e2
        11: .line 2743
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // java.security.cert.CertificateException e
        end local 2 // byte[] data
        end local 1 // java.io.InputStream in
        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    in  Ljava/io/InputStream;
            1   12     2  data  [B
            5   12     3     e  Ljava/security/cert/CertificateException;
           10   11     4    e2  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     3       4  Class java.security.cert.CertificateException
           6     8       9  Class java.lang.Exception
    Exceptions:
      throws java.security.cert.CertificateException, java.io.IOException
    MethodParameters:
      Name  Flags
      in    

  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 2748
            iload 2 /* num */
            iconst_1
            if_icmpne 2
         1: .line 2749
            aload 0 /* label */
            areturn
         2: .line 2751
      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 2756
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
            ifnull 67
         1: .line 2759
            ldc "jdk.jar.disabledAlgorithms"
            ldc ""
            invokestatic java.security.Security.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 2761
            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
         3: .line 2762
            aload 2 /* jf */
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 3 /* entries */
        start local 3 // java.util.Enumeration entries
         4: .line 2763
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* ss */
        start local 4 // java.util.Set ss
         5: .line 2764
            sipush 8192
            newarray 8
            astore 5 /* buffer */
        start local 5 // byte[] buffer
         6: .line 2765
            iconst_0
            istore 6 /* pos */
        start local 6 // int pos
         7: .line 2766
            goto 62
         8: .line 2767
      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
         9: .line 2768
            aconst_null
            astore 8
            aconst_null
            astore 9
        10: 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
        11: .line 2769
      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 11
        12: .line 2774
            aload 10 /* is */
            ifnull 18
            aload 10 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 8
            aload 10 /* is */
            ifnull 14
            aload 10 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 10 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        14: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 9
            aload 8
            ifnonnull 16
            aload 9
            astore 8
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 8
            aload 9
            if_acmpeq 17
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 8
            athrow
        18: .line 2775
      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
        19: .line 2776
            aload 8 /* signers */
            ifnull 62
        20: .line 2777
            aload 8 /* signers */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 61
      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:
        21: aload 12
            iload 10
            aaload
            astore 9 /* signer */
        start local 9 // java.security.CodeSigner signer
        22: .line 2778
            aload 4 /* ss */
            aload 9 /* signer */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 60
        23: .line 2779
            aload 4 /* ss */
            aload 9 /* signer */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        24: .line 2780
            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
        25: .line 2781
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        26: .line 2782
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        27: .line 2783
            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
        28: .line 2784
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        29: .line 2787
            aload 9 /* signer */
            invokevirtual java.security.CodeSigner.getSignerCertPath:()Ljava/security/cert/CertPath;
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
        30: .line 2786
            astore 13 /* certs */
        start local 13 // java.util.List certs
        31: .line 2788
            iconst_0
            istore 14 /* cc */
        start local 14 // int cc
        32: .line 2789
            aload 13 /* certs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 42
      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:
        33: 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
        34: .line 2790
            aload 15 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 17 /* x */
        start local 17 // java.security.cert.X509Certificate x
        35: .line 2791
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 39
        36: .line 2792
            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
        37: .line 2793
            aload 0 /* this */
            aload 17 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        38: .line 2794
            goto 40
        39: .line 2795
      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
        40: .line 2797
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        41: .line 2798
            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
        42: .line 2789
      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 33
        43: .line 2800
            aload 9 /* signer */
            invokevirtual java.security.CodeSigner.getTimestamp:()Ljava/security/Timestamp;
            astore 15 /* ts */
        start local 15 // java.security.Timestamp ts
        44: .line 2801
            aload 15 /* ts */
            ifnull 60
        45: .line 2802
            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
        46: .line 2803
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        47: .line 2804
            aload 15 /* ts */
            invokevirtual java.security.Timestamp.getSignerCertPath:()Ljava/security/cert/CertPath;
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 13 /* certs */
        48: .line 2805
            iconst_0
            istore 14 /* cc */
        49: .line 2806
            aload 13 /* certs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 59
      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:
        50: 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
        51: .line 2807
            aload 16 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 18 /* x */
        start local 18 // java.security.cert.X509Certificate x
        52: .line 2808
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 56
        53: .line 2809
            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
        54: .line 2810
            aload 0 /* this */
            aload 18 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        55: .line 2811
            goto 57
        56: .line 2812
      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
        57: .line 2814
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        58: .line 2815
            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
        59: .line 2806
      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 50
        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
        60: .line 2777
      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:
        61: iload 10
            iload 11
            if_icmplt 21
        end local 8 // java.security.CodeSigner[] signers
        end local 7 // java.util.jar.JarEntry je
        62: .line 2766
      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 8
        63: .line 2822
            aload 2 /* jf */
            invokevirtual java.util.jar.JarFile.close:()V
        64: .line 2823
            aload 4 /* ss */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 110
        65: .line 2824
            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
        66: .line 2826
            goto 110
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
      StackMap stack:
        67: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
            ifnull 99
        68: .line 2827
            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
            invokestatic sun.security.provider.certpath.ssl.SSLServerCertStore.getInstance:(Ljava/net/URI;)Ljava/security/cert/CertStore;
            astore 2 /* cs */
        start local 2 // java.security.cert.CertStore cs
        69: .line 2830
            aload 2 /* cs */
            aconst_null
            invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
            astore 3 /* chain */
        start local 3 // java.util.Collection chain
        70: .line 2831
            aload 3 /* chain */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 82
        71: .line 2834
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        72: .line 2835
            ldc "No.certificate.from.the.SSL.server"
        73: .line 2834
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.util.Collection chain
        74: .line 2837
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.CertStore
      StackMap stack: java.security.cert.CertStoreException
            astore 4 /* cse */
        start local 4 // java.security.cert.CertStoreException cse
        75: .line 2838
            aload 4 /* cse */
            invokevirtual java.security.cert.CertStoreException.getCause:()Ljava/lang/Throwable;
            instanceof java.io.IOException
            ifeq 81
        76: .line 2839
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        77: .line 2840
            ldc "No.certificate.from.the.SSL.server"
        78: .line 2839
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        79: .line 2841
            aload 4 /* cse */
            invokevirtual java.security.cert.CertStoreException.getCause:()Ljava/lang/Throwable;
        80: .line 2839
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        81: .line 2843
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.CertStore top java.security.cert.CertStoreException
      StackMap stack:
            aload 4 /* cse */
            athrow
        end local 4 // java.security.cert.CertStoreException cse
        start local 3 // java.util.Collection chain
        82: .line 2847
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.CertStore java.util.Collection
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        83: .line 2848
            aload 3 /* chain */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 97
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.CertStore java.util.Collection int top java.util.Iterator
      StackMap stack:
        84: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            astore 5 /* cert */
        start local 5 // java.security.cert.Certificate cert
        85: .line 2850
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 88
        86: .line 2851
            aload 0 /* this */
            aload 5 /* cert */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        87: .line 2852
            goto 92
        88: .line 2853
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream 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 4 /* i */
            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 2854
            aload 1 /* out */
            ldc "===================================="
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        90: .line 2855
            aload 0 /* this */
            aload 5 /* 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 2856
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        92: .line 2858
      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 4 /* i */
            iinc 4 /* i */ 1
            aload 3 /* chain */
            invokeinterface java.util.Collection.size:()I
            invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
            aload 5 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        93: .line 2859
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        94: astore 7 /* e */
        start local 7 // java.lang.Exception e
        95: .line 2860
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 97
        96: .line 2861
            aload 7 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 7 // java.lang.Exception e
        end local 5 // java.security.cert.Certificate cert
        97: .line 2848
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.CertStore java.util.Collection int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 84
        end local 4 // int i
        end local 3 // java.util.Collection chain
        end local 2 // java.security.cert.CertStore cs
        98: .line 2865
            goto 110
        99: .line 2866
      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 2867
            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 2868
            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 2869
            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 2871
      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 2874
      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;
            3   66     2        jf  Ljava/util/jar/JarFile;
            4   66     3   entries  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
            5   66     4        ss  Ljava/util/Set<Ljava/security/CodeSigner;>;
            6   66     5    buffer  [B
            7   66     6       pos  I
            9   62     7        je  Ljava/util/jar/JarEntry;
           11   14    10        is  Ljava/io/InputStream;
           19   62     8   signers  [Ljava/security/CodeSigner;
           22   60     9    signer  Ljava/security/CodeSigner;
           31   60    13     certs  Ljava/util/List<+Ljava/security/cert/Certificate;>;
           32   60    14        cc  I
           34   42    15      cert  Ljava/security/cert/Certificate;
           35   42    17         x  Ljava/security/cert/X509Certificate;
           44   60    15        ts  Ljava/security/Timestamp;
           51   59    16      cert  Ljava/security/cert/Certificate;
           52   59    18         x  Ljava/security/cert/X509Certificate;
           69   98     2        cs  Ljava/security/cert/CertStore;
           70   74     3     chain  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
           82   98     3     chain  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
           75   82     4       cse  Ljava/security/cert/CertStoreException;
           83   98     4         i  I
           85   97     5      cert  Ljava/security/cert/Certificate;
           95   97     7         e  Ljava/lang/Exception;
          102  105     4  inStream  Ljava/io/FileInputStream;
      Exception table:
        from    to  target  type
          11    12      13  any
          10    15      15  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 doChangeStorePasswd();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 2877
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.storePassNew:[C
         1: .line 2878
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            ifnonnull 3
         2: .line 2879
            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
         3: .line 2881
      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 13
         4: .line 2883
            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 2
            goto 12
      StackMap locals: sun.security.tools.keytool.Main top java.util.Iterator
      StackMap stack:
         5: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* alias */
        start local 1 // java.lang.String alias
         6: .line 2884
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.isCertificateEntry:(Ljava/lang/String;)Z
            ifne 12
         7: .line 2889
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            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.recoverEntry:(Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair;
         8: .line 2888
            astore 3 /* objs */
        start local 3 // sun.security.tools.keytool.Pair objs
         9: .line 2890
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 3 /* objs */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.security.KeyStore$Entry
        10: .line 2891
            new java.security.KeyStore$PasswordProtection
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
        11: .line 2890
            invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
        end local 3 // sun.security.tools.keytool.Pair objs
        end local 1 // java.lang.String alias
        12: .line 2883
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        13: .line 2895
      StackMap locals: sun.security.tools.keytool.Main
      StackMap stack:
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lsun/security/tools/keytool/Main;
            6   12     1  alias  Ljava/lang/String;
            9   12     3   objs  Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
    Exceptions:
      throws java.lang.Exception

  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=18, 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 2904
            aload 1 /* alias */
            ifnonnull 2
         1: .line 2905
            ldc "mykey"
            astore 1 /* alias */
         2: .line 2908
      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 2909
            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 2910
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 2911
            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 2914
      StackMap locals: sun.security.tools.keytool.Pair java.security.PrivateKey
      StackMap stack:
            aload 3 /* sigAlgName */
            ifnonnull 8
         7: .line 2915
            aload 5 /* privKey */
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/security/PrivateKey;)Ljava/lang/String;
            astore 3 /* sigAlgName */
         8: .line 2919
      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 2920
            aload 6 /* oldCert */
            ifnonnull 15
        10: .line 2921
            new java.text.MessageFormat
            dup
        11: .line 2922
            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 2921
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        13: .line 2923
            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 2924
            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 2926
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 6 /* oldCert */
            instanceof java.security.cert.X509Certificate
            ifne 21
        16: .line 2927
            new java.text.MessageFormat
            dup
        17: .line 2928
            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 2927
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        19: .line 2929
            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 2930
            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 2935
      StackMap locals:
      StackMap stack:
            aload 6 /* oldCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 7 /* encoded */
        start local 7 // byte[] encoded
        22: .line 2936
            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 2937
            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 2942
            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 2943
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 11 /* lastDate */
        start local 11 // java.util.Date lastDate
        26: .line 2944
            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 2945
            new sun.security.x509.CertificateValidity
            dup
            aload 10 /* firstDate */
        28: .line 2946
            aload 11 /* lastDate */
        29: .line 2945
            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 2947
            aload 9 /* certInfo */
            ldc "validity"
            aload 12 /* interval */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        31: .line 2950
            aload 9 /* certInfo */
            ldc "serialNumber"
            new sun.security.x509.CertificateSerialNumber
            dup
        32: .line 2951
            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 2950
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        34: .line 2955
            aload 2 /* dname */
            ifnonnull 37
        35: .line 2957
            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 2959
            goto 41
        end local 13 // sun.security.x509.X500Name owner
        37: .line 2961
      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 2962
            aload 9 /* certInfo */
            ldc "subject.dname"
        39: .line 2963
            aload 13 /* owner */
        40: .line 2962
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        41: .line 2966
      StackMap locals: sun.security.x509.X500Name
      StackMap stack:
            aload 9 /* certInfo */
            ldc "issuer.dname"
        42: .line 2967
            aload 13 /* owner */
        43: .line 2966
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        44: .line 2973
            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 2975
            aload 3 /* sigAlgName */
            aload 5 /* privKey */
            invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
        46: .line 2974
            astore 15 /* params */
        start local 15 // java.security.spec.AlgorithmParameterSpec params
        47: .line 2976
            aload 14 /* newCert */
            aload 5 /* privKey */
            aload 15 /* params */
            aload 3 /* sigAlgName */
            aconst_null
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;)V
        48: .line 2977
            aload 14 /* newCert */
            ldc "x509.algorithm"
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.AlgorithmId
            astore 16 /* sigAlgid */
        start local 16 // sun.security.x509.AlgorithmId sigAlgid
        49: .line 2978
            aload 9 /* certInfo */
            ldc "algorithmID.algorithm"
        50: .line 2979
            aload 16 /* sigAlgid */
        51: .line 2978
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        52: .line 2981
            aload 9 /* certInfo */
            ldc "version"
        53: .line 2982
            new sun.security.x509.CertificateVersion
            dup
            iconst_2
            invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
        54: .line 2981
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        55: .line 2984
            aload 0 /* this */
        56: .line 2985
            aconst_null
        57: .line 2986
            aload 9 /* certInfo */
            ldc "extensions"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
        58: .line 2987
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        59: .line 2988
            aload 6 /* oldCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        60: .line 2989
            aconst_null
        61: .line 2984
            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 17 /* ext */
        start local 17 // sun.security.x509.CertificateExtensions ext
        62: .line 2990
            aload 9 /* certInfo */
            ldc "extensions"
            aload 17 /* ext */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        63: .line 2992
            new sun.security.x509.X509CertImpl
            dup
            aload 9 /* certInfo */
            invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
            astore 14 /* newCert */
        64: .line 2993
            aload 14 /* newCert */
            aload 5 /* privKey */
            aload 15 /* params */
            aload 3 /* sigAlgName */
            aconst_null
            invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;)V
        65: .line 2996
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 5 /* privKey */
        66: .line 2997
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 67
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            goto 68
      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 java.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId sun.security.x509.CertificateExtensions
      StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey
        67: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
        68: .line 2998
      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 java.security.spec.AlgorithmParameterSpec 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
        69: .line 2996
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        70: .line 3000
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 74
        71: .line 3001
            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
        72: .line 3002
            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
        73: .line 3003
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        74: .line 3005
      StackMap locals:
      StackMap stack:
            return
        end local 17 // sun.security.x509.CertificateExtensions ext
        end local 16 // sun.security.x509.AlgorithmId sigAlgid
        end local 15 // java.security.spec.AlgorithmParameterSpec params
        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   75     0        this  Lsun/security/tools/keytool/Main;
            0   75     1       alias  Ljava/lang/String;
            0   75     2       dname  Ljava/lang/String;
            0   75     3  sigAlgName  Ljava/lang/String;
            3   75     4        objs  Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
            4   75     5     privKey  Ljava/security/PrivateKey;
            9   75     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   75     7     encoded  [B
           23   75     8    certImpl  Lsun/security/x509/X509CertImpl;
           24   75     9    certInfo  Lsun/security/x509/X509CertInfo;
           25   75    10   firstDate  Ljava/util/Date;
           26   75    11    lastDate  Ljava/util/Date;
           30   75    12    interval  Lsun/security/x509/CertificateValidity;
           36   37    13       owner  Lsun/security/x509/X500Name;
           38   75    13       owner  Lsun/security/x509/X500Name;
           45   75    14     newCert  Lsun/security/x509/X509CertImpl;
           47   75    15      params  Ljava/security/spec/AlgorithmParameterSpec;
           49   75    16    sigAlgid  Lsun/security/x509/AlgorithmId;
           62   75    17         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 3024
            aload 1 /* alias */
            ifnonnull 2
         1: .line 3025
            ldc "mykey"
            astore 1 /* alias */
         2: .line 3028
      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 3029
            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 3030
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 3031
            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 3034
      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 3035
            aload 5 /* userCert */
            ifnonnull 13
         8: .line 3036
            new java.text.MessageFormat
            dup
         9: .line 3037
            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 3036
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        11: .line 3038
            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 3039
            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 3043
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual sun.security.tools.keytool.Main.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
            astore 6 /* c */
        start local 6 // java.util.Collection c
        14: .line 3044
            aload 6 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 16
        15: .line 3045
            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 3047
      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 3049
            aload 7 /* replyCerts */
            arraylength
            iconst_1
            if_icmpne 20
        18: .line 3051
            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 3052
            goto 21
        end local 8 // java.security.cert.Certificate[] newChain
        20: .line 3054
      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 3059
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 8 /* newChain */
            ifnull 28
        22: .line 3060
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 4 /* privKey */
        23: .line 3061
            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 3062
      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 3060
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        27: .line 3063
            iconst_1
            ireturn
        28: .line 3065
      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 3077
            aload 1 /* alias */
            ifnonnull 2
         1: .line 3078
            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 3080
      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 3081
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 3082
            ldc "Certificate.not.imported.alias.alias.already.exists"
         5: .line 3081
            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 3083
            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 3084
            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 3088
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
         9: .line 3090
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual sun.security.tools.keytool.Main.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            astore 3 /* cert */
        10: .line 3091
            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 3092
            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 3095
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 17
        14: .line 3096
            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 3097
            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 3098
            iconst_1
            ireturn
        17: .line 3102
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* selfSigned */
        start local 4 // boolean selfSigned
        18: .line 3103
            aload 3 /* cert */
            invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifeq 21
        19: .line 3104
            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 3105
            iconst_1
            istore 4 /* selfSigned */
        21: .line 3109
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 5 /* reply */
        start local 5 // java.lang.String reply
        22: .line 3110
            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 3111
            aload 6 /* trustalias */
            ifnull 35
        24: .line 3112
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        25: .line 3113
            ldc "Certificate.already.exists.in.keystore.under.alias.trustalias."
        26: .line 3112
            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 3114
            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 3115
            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 3116
            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 3117
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        31: .line 3118
            aload 0 /* this */
        32: .line 3119
            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 3118
            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 3120
            goto 55
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        35: iload 4 /* selfSigned */
            ifeq 55
        36: .line 3121
            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 3122
            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 3123
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        39: .line 3124
            ldc "Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias."
        40: .line 3123
            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 3125
            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 3126
            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 3127
            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 3128
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        45: .line 3129
            aload 0 /* this */
        46: .line 3130
            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 3129
            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 3132
      StackMap locals:
      StackMap stack:
            aload 6 /* trustalias */
            ifnonnull 55
        49: .line 3135
            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 3136
            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 3137
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        52: .line 3138
            aload 0 /* this */
        53: .line 3139
            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 3138
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        55: .line 3142
      StackMap locals:
      StackMap stack:
            aload 5 /* reply */
            ifnull 60
        56: .line 3143
            ldc "YES"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 59
        57: .line 3144
            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 3145
            iconst_1
            ireturn
        59: .line 3147
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        60: .line 3154
      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 3155
            aload 7 /* chain */
            ifnull 75
        62: .line 3156
            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 3157
            iconst_1
            ireturn
        end local 7 // java.security.cert.Certificate[] chain
        64: .line 3159
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        65: .line 3162
            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 3163
            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 3164
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        68: .line 3165
            aload 0 /* this */
        69: .line 3166
            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 3165
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        71: .line 3167
            ldc "YES"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 74
        72: .line 3168
            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 3169
            iconst_1
            ireturn
        74: .line 3171
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        75: .line 3175
      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 3188
            aconst_null
            astore 3 /* entered */
        start local 3 // char[] entered
         1: .line 3189
            aconst_null
            astore 4 /* reentered */
        start local 4 // char[] reentered
         2: .line 3191
            iconst_0
            istore 5 /* count */
        start local 5 // int count
         3: goto 40
         4: .line 3192
      StackMap locals: char[] char[] int
      StackMap stack:
            new java.text.MessageFormat
            dup
         5: .line 3193
            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 3192
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
         7: .line 3194
            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 3195
            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 3196
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 3 /* entered */
        10: .line 3197
            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 3198
            aload 3 /* entered */
            ifnull 12
            aload 3 /* entered */
            arraylength
            bipush 6
            if_icmpge 16
        12: .line 3199
      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 3200
            ldc "Password.is.too.short.must.be.at.least.6.characters"
        14: .line 3199
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 3201
            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 3202
            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 3203
            goto 33
        19: .line 3204
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        20: .line 3205
            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 3204
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        22: .line 3206
            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 3207
            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 3208
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 4 /* reentered */
        25: .line 3209
            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 3210
            aload 3 /* entered */
            aload 4 /* reentered */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 31
        27: .line 3211
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        28: .line 3212
            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 3211
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        30: .line 3213
            goto 33
        31: .line 3214
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 4 /* reentered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        32: .line 3215
            aload 3 /* entered */
            areturn
        end local 8 // java.lang.Object[] src
        33: .line 3218
      StackMap locals:
      StackMap stack:
            aload 3 /* entered */
            ifnull 36
        34: .line 3219
            aload 3 /* entered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        35: .line 3220
            aconst_null
            astore 3 /* entered */
        36: .line 3222
      StackMap locals:
      StackMap stack:
            aload 4 /* reentered */
            ifnull 39
        37: .line 3223
            aload 4 /* reentered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        38: .line 3224
            aconst_null
            astore 4 /* reentered */
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        39: .line 3191
      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 3227
            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 3236
            aload 1 /* prompt */
            ifnull 7
         1: .line 3237
            new java.text.MessageFormat
            dup
         2: .line 3238
            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 3237
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         4: .line 3239
            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 3240
            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 3241
            goto 8
         7: .line 3242
      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 3244
      StackMap locals:
      StackMap stack:
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         9: .line 3245
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
        10: .line 3244
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        11: .line 3245
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
        12: .line 3244
            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 3254
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* prompt */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 3255
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         2: .line 3256
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
         3: .line 3255
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
         4: .line 3256
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
         5: .line 3255
            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 3267
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         1: .line 3268
            aconst_null
            astore 5 /* keyPass */
        start local 5 // char[] keyPass
         2: .line 3271
      StackMap locals: int char[]
      StackMap stack:
            aload 3 /* otherKeyPass */
            ifnull 14
         3: .line 3272
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 3273
            ldc "Enter.key.password.for.alias."
         5: .line 3272
            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 3274
            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 3275
            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 3277
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 3278
            ldc ".RETURN.if.same.as.for.otherAlias."
        10: .line 3277
            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 3279
            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 3280
            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 3281
            goto 19
        14: .line 3282
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 3283
            ldc "Enter.key.password.for.alias."
        16: .line 3282
            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 3284
            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 3285
            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 3287
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        20: .line 3288
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 5 /* keyPass */
        21: .line 3289
            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 3290
            aload 5 /* keyPass */
            ifnonnull 24
        23: .line 3291
            aload 3 /* otherKeyPass */
            astore 5 /* keyPass */
        24: .line 3293
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
        25: .line 3294
            aload 5 /* keyPass */
            ifnonnull 27
            iload 4 /* count */
            iconst_3
        26: .line 3270
            if_icmplt 2
        27: .line 3296
      StackMap locals:
      StackMap stack:
            aload 5 /* keyPass */
            ifnonnull 29
        28: .line 3297
            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 3300
      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 3304
            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 3305
            aload 1 /* alg */
            areturn
         2: .line 3307
      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 fullDisplayAlgName(java.security.Key);
    descriptor: (Ljava/security/Key;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.Key key
         0: .line 3312
            aload 1 /* key */
            invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
            astore 2 /* result */
        start local 2 // java.lang.String result
         1: .line 3313
            aload 1 /* key */
            instanceof java.security.interfaces.ECKey
            ifeq 5
         2: .line 3314
            aload 1 /* key */
            checkcast java.security.interfaces.ECKey
            invokeinterface java.security.interfaces.ECKey.getParams:()Ljava/security/spec/ECParameterSpec;
            astore 3 /* paramSpec */
        start local 3 // java.security.spec.ECParameterSpec paramSpec
         3: .line 3315
            aload 3 /* paramSpec */
            instanceof sun.security.util.NamedCurve
            ifeq 5
         4: .line 3316
            new java.lang.StringBuilder
            dup
            aload 2 /* result */
            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 3 /* paramSpec */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            ldc " "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            iconst_0
            aaload
            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;
            astore 2 /* result */
        end local 3 // java.security.spec.ECParameterSpec paramSpec
         5: .line 3319
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String result
        end local 1 // java.security.Key key
        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        key  Ljava/security/Key;
            1    6     2     result  Ljava/lang/String;
            3    5     3  paramSpec  Ljava/security/spec/ECParameterSpec;
    MethodParameters:
      Name  Flags
      key   

  private java.lang.String withWeak(java.security.Key);
    descriptor: (Ljava/security/Key;)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.security.Key key
         0: .line 3323
            aload 1 /* key */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
            istore 2 /* kLen */
        start local 2 // int kLen
         1: .line 3324
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.tools.keytool.Main.fullDisplayAlgName:(Ljava/security/Key;)Ljava/lang/String;
            astore 3 /* displayAlg */
        start local 3 // java.lang.String displayAlg
         2: .line 3325
            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 6
         3: .line 3326
            iload 2 /* kLen */
            iflt 5
         4: .line 3327
            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
            iload 2 /* kLen */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 3 /* displayAlg */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         5: .line 3329
      StackMap locals: int java.lang.String
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "unknown.size.1"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* displayAlg */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         6: .line 3332
      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
            iload 2 /* kLen */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 3 /* displayAlg */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String displayAlg
        end local 2 // int kLen
        end local 1 // java.security.Key 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/Key;
            1    7     2        kLen  I
            2    7     3  displayAlg  Ljava/lang/String;
    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 3343
            new java.text.MessageFormat
            dup
         1: .line 3344
            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 3343
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         3: .line 3345
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 4 /* pkey */
        start local 4 // java.security.PublicKey pkey
         4: .line 3346
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
            astore 5 /* sigName */
        start local 5 // java.lang.String sigName
         5: .line 3348
            aload 0 /* this */
            aload 1 /* cert */
            invokevirtual sun.security.tools.keytool.Main.isTrustedCert:(Ljava/security/cert/Certificate;)Z
            ifne 7
         6: .line 3349
            aload 0 /* this */
            aload 5 /* sigName */
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sigName */
         7: .line 3351
      StackMap locals: java.text.MessageFormat java.security.PublicKey java.lang.String
      StackMap stack:
            bipush 10
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            invokeinterface java.security.Principal.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         8: .line 3352
            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 3353
            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 3354
            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 3355
            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 3356
            aload 0 /* this */
            ldc "SHA-1"
            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 3357
            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 7
        14: .line 3358
            aload 5 /* sigName */
            aastore
            dup
            bipush 8
        15: .line 3359
            aload 0 /* this */
            aload 4 /* pkey */
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/Key;)Ljava/lang/String;
            aastore
            dup
            bipush 9
        16: .line 3360
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getVersion:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        17: .line 3351
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        18: .line 3362
            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
        19: .line 3364
            aload 1 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 26
        20: .line 3365
            aload 1 /* cert */
            checkcast sun.security.x509.X509CertImpl
            astore 7 /* impl */
        start local 7 // sun.security.x509.X509CertImpl impl
        21: .line 3366
            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
        22: .line 3370
            aload 8 /* certInfo */
            ldc "extensions"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
        23: .line 3369
            checkcast sun.security.x509.CertificateExtensions
            astore 9 /* exts */
        start local 9 // sun.security.x509.CertificateExtensions exts
        24: .line 3371
            aload 9 /* exts */
            ifnull 26
        25: .line 3372
            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
        26: .line 3375
      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   27     0      this  Lsun/security/tools/keytool/Main;
            0   27     1      cert  Ljava/security/cert/X509Certificate;
            0   27     2       out  Ljava/io/PrintStream;
            3   27     3      form  Ljava/text/MessageFormat;
            4   27     4      pkey  Ljava/security/PublicKey;
            5   27     5   sigName  Ljava/lang/String;
           18   27     6    source  [Ljava/lang/Object;
           21   26     7      impl  Lsun/security/x509/X509CertImpl;
           22   26     8  certInfo  Lsun/security/x509/X509CertInfo;
           24   26     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 3379
            iconst_0
            istore 3 /* extnum */
        start local 3 // int extnum
         1: .line 3380
            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 3381
            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 3382
            goto 20
         4: .line 3383
      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 3384
            iload 3 /* extnum */
            ifne 11
         8: .line 3385
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
         9: .line 3386
            aload 2 /* out */
            aload 0 /* title */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 3387
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        11: .line 3389
      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 3390
            aload 6 /* ext */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lsun/security/x509/Extension;
            if_acmpne 19
        13: .line 3391
            aload 6 /* ext */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            astore 7 /* v */
        start local 7 // byte[] v
        14: .line 3392
            aload 7 /* v */
            arraylength
            ifne 17
        15: .line 3393
            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 3394
            goto 19
        17: .line 3395
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.util.HexDumpEncoder
            dup
            invokespecial sun.security.util.HexDumpEncoder.<init>:()V
            aload 6 /* ext */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            aload 2 /* out */
            invokevirtual sun.security.util.HexDumpEncoder.encodeBuffer:([BLjava/io/OutputStream;)V
        18: .line 3396
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        end local 7 // byte[] v
        19: .line 3399
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        end local 6 // sun.security.x509.Extension ext
        20: .line 3382
      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 3401
            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 3414
            aload 1 /* ks */
            aload 0 /* cert */
            invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
            ifnull 2
         1: .line 3415
            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 3417
      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 3418
            goto 11
         4: .line 3419
      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 3420
            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 3421
            aload 4 /* trustedCert */
            ifnull 11
         7: .line 3423
            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 3424
            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 3425
      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 3418
      StackMap locals:
      StackMap stack:
            aload 2 /* aliases */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 2 // java.util.Enumeration aliases
        12: .line 3430
            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 3438
            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 3439
            ldc "Unknown"
            astore 2 /* commonName */
        start local 2 // java.lang.String commonName
         2: .line 3440
            ldc "Unknown"
            astore 3 /* organizationalUnit */
        start local 3 // java.lang.String organizationalUnit
         3: .line 3441
            ldc "Unknown"
            astore 4 /* organization */
        start local 4 // java.lang.String organization
         4: .line 3442
            ldc "Unknown"
            astore 5 /* city */
        start local 5 // java.lang.String city
         5: .line 3443
            ldc "Unknown"
            astore 6 /* state */
        start local 6 // java.lang.String state
         6: .line 3444
            ldc "Unknown"
            astore 7 /* country */
        start local 7 // java.lang.String country
         7: .line 3446
            aconst_null
            astore 9 /* userInput */
        start local 9 // java.lang.String userInput
         8: .line 3448
            bipush 20
            istore 10 /* maxRetry */
        start local 10 // int maxRetry
         9: .line 3450
      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 3451
            new java.lang.RuntimeException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        11: .line 3452
            ldc "Too.many.retries.program.terminated"
        12: .line 3451
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 3454
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
        14: .line 3455
            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 3456
            aload 2 /* commonName */
        16: .line 3454
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* commonName */
        17: .line 3457
            aload 0 /* this */
            aload 1 /* in */
        18: .line 3458
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        19: .line 3459
            ldc "What.is.the.name.of.your.organizational.unit."
        20: .line 3458
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        21: .line 3460
            aload 3 /* organizationalUnit */
        22: .line 3457
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* organizationalUnit */
        23: .line 3461
            aload 0 /* this */
            aload 1 /* in */
        24: .line 3462
            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 3463
            aload 4 /* organization */
        26: .line 3461
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* organization */
        27: .line 3464
            aload 0 /* this */
            aload 1 /* in */
        28: .line 3465
            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 3466
            aload 5 /* city */
        30: .line 3464
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* city */
        31: .line 3467
            aload 0 /* this */
            aload 1 /* in */
        32: .line 3468
            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 3469
            aload 6 /* state */
        34: .line 3467
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* state */
        35: .line 3470
            aload 0 /* this */
            aload 1 /* in */
        36: .line 3471
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 3472
            ldc "What.is.the.two.letter.country.code.for.this.unit."
        38: .line 3471
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        39: .line 3473
            aload 7 /* country */
        40: .line 3470
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* country */
        41: .line 3474
            new sun.security.x509.X500Name
            dup
            aload 2 /* commonName */
            aload 3 /* organizationalUnit */
            aload 4 /* organization */
        42: .line 3475
            aload 5 /* city */
            aload 6 /* state */
            aload 7 /* country */
        43: .line 3474
            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 3476
            new java.text.MessageFormat
            dup
        45: .line 3477
            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 3476
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        47: .line 3478
            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 3479
            aload 0 /* this */
        49: .line 3480
            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 3479
            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 3481
            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 3482
            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 3484
      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 3485
            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 3492
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* prompt */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 3493
            new java.text.MessageFormat
            dup
         2: .line 3494
            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 3493
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         4: .line 3495
            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 3496
            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 3497
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         7: .line 3499
            aload 1 /* in */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
         8: .line 3500
            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 3501
      StackMap locals: java.text.MessageFormat java.lang.Object[] java.lang.String
      StackMap stack:
            aload 3 /* defaultValue */
            astore 6 /* value */
        10: .line 3503
      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=3, 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 3513
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 5
         1: .line 3514
            aload 2 /* out */
            ldc "-----BEGIN CERTIFICATE-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 3515
            aload 2 /* out */
            bipush 64
            getstatic sun.security.tools.keytool.Main.CRLF:[B
            invokestatic java.util.Base64.getMimeEncoder:(I[B)Ljava/util/Base64$Encoder;
            aload 1 /* cert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 3516
            aload 2 /* out */
            ldc "-----END CERTIFICATE-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 3517
            goto 6
         5: .line 3518
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            aload 1 /* cert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            invokevirtual java.io.PrintStream.write:([B)V
         6: .line 3520
      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    7     0  this  Lsun/security/tools/keytool/Main;
            0    7     1  cert  Ljava/security/cert/Certificate;
            0    7     2   out  Ljava/io/PrintStream;
    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 3526
            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 3527
            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 3526
            astore 3 /* hexChars */
        start local 3 // char[] hexChars
         3: .line 3528
            iload 1 /* b */
            sipush 240
            iand
            iconst_4
            ishr
            istore 4 /* high */
        start local 4 // int high
         4: .line 3529
            iload 1 /* b */
            bipush 15
            iand
            istore 5 /* low */
        start local 5 // int low
         5: .line 3530
            aload 2 /* buf */
            aload 3 /* hexChars */
            iload 4 /* high */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 3531
            aload 2 /* buf */
            aload 3 /* hexChars */
            iload 5 /* low */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 3532
            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 3538
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         1: .line 3539
            aload 1 /* block */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: .line 3540
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 3541
      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 3542
            iload 4 /* i */
            iload 3 /* len */
            iconst_1
            isub
            if_icmpge 7
         6: .line 3543
            aload 2 /* buf */
            ldc ":"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 3540
      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 3546
            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 3560
            aconst_null
            astore 4 /* key */
        start local 4 // java.security.Key key
         1: .line 3562
            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 3563
            new java.text.MessageFormat
            dup
         3: .line 3564
            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 3563
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         5: .line 3565
            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 3566
            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 3568
      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 3569
            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 3570
            new java.text.MessageFormat
            dup
        10: .line 3571
            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 3570
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        12: .line 3572
            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 3573
            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 3576
      StackMap locals:
      StackMap stack:
            aload 3 /* keyPass */
            ifnonnull 26
        15: .line 3578
            aload 2 /* storePass */
            ifnull 23
        16: .line 3580
            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 */
        17: .line 3581
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 2 /* storePass */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        18: .line 3582
            aload 4 /* key */
            aload 2 /* storePass */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
        19: areturn
        20: .line 3583
      StackMap locals:
      StackMap stack: java.security.UnrecoverableKeyException
            astore 5 /* e */
        start local 5 // java.security.UnrecoverableKeyException e
        21: .line 3584
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 23
        22: .line 3585
            aload 5 /* e */
            athrow
        end local 5 // java.security.UnrecoverableKeyException e
        23: .line 3590
      StackMap locals:
      StackMap stack:
            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 */
        24: .line 3591
            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 */
        25: .line 3592
            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
        26: .line 3594
      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 */
        27: .line 3595
            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   28     0       this  Lsun/security/tools/keytool/Main;
            0   28     1      alias  Ljava/lang/String;
            0   28     2  storePass  [C
            0   28     3    keyPass  [C
            1   28     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;
           21   23     5          e  Ljava/security/UnrecoverableKeyException;
      Exception table:
        from    to  target  type
          16    19      20  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=7, 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 3611
            aload 1 /* ks */
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 6
         1: .line 3612
            new java.text.MessageFormat
            dup
         2: .line 3613
            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 3612
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         4: .line 3614
            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 3615
            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 3622
      StackMap locals:
      StackMap stack:
            aload 1 /* ks */
            aload 2 /* alias */
            aconst_null
            invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
            astore 5 /* entry */
        start local 5 // java.security.KeyStore$Entry entry
         7: .line 3623
            aload 5 /* entry */
            aconst_null
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
         8: areturn
        end local 5 // java.security.KeyStore$Entry entry
         9: .line 3624
      StackMap locals:
      StackMap stack: java.security.UnrecoverableEntryException
            astore 5 /* une */
        start local 5 // java.security.UnrecoverableEntryException une
        10: .line 3625
            ldc "PKCS11"
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 12
        11: .line 3626
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 3628
      StackMap locals: java.security.UnrecoverableEntryException
      StackMap stack:
            aload 5 /* une */
            athrow
        end local 5 // java.security.UnrecoverableEntryException une
        13: .line 3635
      StackMap locals:
      StackMap stack:
            aload 4 /* pkey */
            ifnull 17
        14: .line 3636
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* pkey */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        start local 5 // java.security.KeyStore$PasswordProtection pp
        15: .line 3637
            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
        16: .line 3638
            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
        17: .line 3642
      StackMap locals:
      StackMap stack:
            aload 3 /* pstore */
            ifnull 25
        18: .line 3644
            new java.security.KeyStore$PasswordProtection
            dup
            aload 3 /* pstore */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        start local 5 // java.security.KeyStore$PasswordProtection pp
        19: .line 3645
            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 3646
            aload 6 /* entry */
            aload 3 /* pstore */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
        21: areturn
        end local 6 // java.security.KeyStore$Entry entry
        end local 5 // java.security.KeyStore$PasswordProtection pp
        22: .line 3647
      StackMap locals:
      StackMap stack: java.security.UnrecoverableEntryException
            astore 5 /* une */
        start local 5 // java.security.UnrecoverableEntryException une
        23: .line 3648
            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 3652
            aload 5 /* une */
            athrow
        end local 5 // java.security.UnrecoverableEntryException une
        25: .line 3658
      StackMap locals:
      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 3659
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* pkey */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        start local 5 // java.security.KeyStore$PasswordProtection pp
        27: .line 3660
            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
        28: .line 3661
            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    9     5   entry  Ljava/security/KeyStore$Entry;
           10   13     5     une  Ljava/security/UnrecoverableEntryException;
           15   17     5      pp  Ljava/security/KeyStore$PasswordProtection;
           16   17     6   entry  Ljava/security/KeyStore$Entry;
           19   22     5      pp  Ljava/security/KeyStore$PasswordProtection;
           20   22     6   entry  Ljava/security/KeyStore$Entry;
           23   25     5     une  Ljava/security/UnrecoverableEntryException;
           27   29     5      pp  Ljava/security/KeyStore$PasswordProtection;
           28   29     6   entry  Ljava/security/KeyStore$Entry;
      Exception table:
        from    to  target  type
           6     8       9  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 3670
            aload 2 /* cert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 3 /* encCertInfo */
        start local 3 // byte[] encCertInfo
         1: .line 3671
            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 3672
            aload 4 /* md */
            aload 3 /* encCertInfo */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 5 /* digest */
        start local 5 // byte[] digest
         3: .line 3673
            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 3680
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         1: .line 3681
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         2: .line 3682
            ldc ".WARNING.WARNING.WARNING."
         3: .line 3681
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 3683
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 3684
            ldc ".The.integrity.of.the.information.stored.in.your.keystore."
         6: .line 3683
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 3685
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         8: .line 3686
            ldc ".WARNING.WARNING.WARNING."
         9: .line 3685
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 3687
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        11: .line 3688
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/security/tools/keytool/Main;

  private java.security.cert.Certificate[] validateReply(java.lang.String, java.security.cert.Certificate, java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.Certificate userCert
        start local 3 // java.security.cert.Certificate[] replyCerts
         0: .line 3705
            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 3711
            aload 2 /* userCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 5 /* userPubKey */
        start local 5 // java.security.PublicKey userPubKey
         2: .line 3714
            new java.util.HashSet
            dup
            aload 3 /* replyCerts */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 6 /* nodup */
        start local 6 // java.util.HashSet nodup
         3: .line 3715
            aload 6 /* nodup */
            aload 6 /* nodup */
            invokevirtual java.util.HashSet.size:()I
            anewarray java.security.cert.Certificate
            invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            astore 3 /* replyCerts */
         4: .line 3717
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 3718
      StackMap locals: int java.security.PublicKey java.util.HashSet
      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 8
         7: .line 3719
            goto 10
         8: .line 3717
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            if_icmplt 6
        10: .line 3722
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            if_icmpne 16
        11: .line 3723
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        12: .line 3724
            ldc "Certificate.reply.does.not.contain.public.key.for.alias."
        13: .line 3723
            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
        14: .line 3725
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        15: .line 3726
            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
        16: .line 3729
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            iconst_0
            aaload
            astore 7 /* tmpCert */
        start local 7 // java.security.cert.Certificate tmpCert
        17: .line 3730
            aload 3 /* replyCerts */
            iconst_0
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            aastore
        18: .line 3731
            aload 3 /* replyCerts */
            iload 4 /* i */
            aload 7 /* tmpCert */
            aastore
        19: .line 3733
            aload 3 /* replyCerts */
            iconst_0
            aaload
            checkcast java.security.cert.X509Certificate
            astore 8 /* thisCert */
        start local 8 // java.security.cert.X509Certificate thisCert
        20: .line 3735
            iconst_1
            istore 4 /* i */
            goto 36
        21: .line 3738
      StackMap locals: java.security.cert.Certificate java.security.cert.X509Certificate
      StackMap stack:
            iload 4 /* i */
            istore 9 /* j */
        start local 9 // int j
        22: goto 30
        23: .line 3739
      StackMap locals: int
      StackMap stack:
            aload 8 /* thisCert */
            aload 3 /* replyCerts */
            iload 9 /* j */
            aaload
            checkcast java.security.cert.X509Certificate
            invokestatic sun.security.tools.KeyStoreUtil.signedBy:(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)Z
            ifeq 29
        24: .line 3740
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            astore 7 /* tmpCert */
        25: .line 3741
            aload 3 /* replyCerts */
            iload 4 /* i */
            aload 3 /* replyCerts */
            iload 9 /* j */
            aaload
            aastore
        26: .line 3742
            aload 3 /* replyCerts */
            iload 9 /* j */
            aload 7 /* tmpCert */
            aastore
        27: .line 3743
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            astore 8 /* thisCert */
        28: .line 3744
            goto 31
        29: .line 3738
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        30: iload 9 /* j */
            aload 3 /* replyCerts */
            arraylength
            if_icmplt 23
        31: .line 3747
      StackMap locals:
      StackMap stack:
            iload 9 /* j */
            aload 3 /* replyCerts */
            arraylength
            if_icmpne 35
        32: .line 3748
            new java.lang.Exception
            dup
        33: .line 3749
            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;
        34: .line 3748
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // int j
        35: .line 3735
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            isub
            if_icmplt 21
        37: .line 3753
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 39
        38: .line 3754
            aload 3 /* replyCerts */
            areturn
        39: .line 3758
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            isub
            aaload
            astore 9 /* topCert */
        start local 9 // java.security.cert.Certificate topCert
        40: .line 3759
            iconst_1
            istore 10 /* fromKeyStore */
        start local 10 // boolean fromKeyStore
        41: .line 3760
            aload 9 /* 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 11 /* root */
        start local 11 // sun.security.tools.keytool.Pair root
        42: .line 3761
            aload 11 /* root */
            ifnonnull 45
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 45
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 45
        43: .line 3762
            aload 9 /* 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 11 /* root */
        44: .line 3763
            iconst_0
            istore 10 /* fromKeyStore */
        45: .line 3765
      StackMap locals: java.security.cert.Certificate int sun.security.tools.keytool.Pair
      StackMap stack:
            aload 11 /* root */
            ifnonnull 59
        46: .line 3766
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        47: .line 3767
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        48: .line 3768
            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;
        49: .line 3767
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        50: .line 3769
            aload 0 /* this */
            aload 9 /* 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
        51: .line 3770
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        52: .line 3771
            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
        53: .line 3772
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        54: .line 3773
            aload 0 /* this */
        55: .line 3774
            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;
        56: .line 3773
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* reply */
        start local 12 // java.lang.String reply
        57: .line 3775
            ldc "NO"
            aload 12 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 75
        58: .line 3776
            aconst_null
            areturn
        end local 12 // java.lang.String reply
        59: .line 3779
      StackMap locals:
      StackMap stack:
            aload 11 /* root */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            aload 9 /* topCert */
            if_acmpeq 75
        60: .line 3782
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            iadd
            anewarray java.security.cert.Certificate
        61: .line 3781
            astore 12 /* tmpCerts */
        start local 12 // java.security.cert.Certificate[] tmpCerts
        62: .line 3783
            aload 3 /* replyCerts */
            iconst_0
            aload 12 /* tmpCerts */
            iconst_0
        63: .line 3784
            aload 3 /* replyCerts */
            arraylength
        64: .line 3783
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        65: .line 3785
            aload 12 /* tmpCerts */
            aload 12 /* tmpCerts */
            arraylength
            iconst_1
            isub
            aload 11 /* root */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            aastore
        66: .line 3786
            aload 12 /* tmpCerts */
            astore 3 /* replyCerts */
        67: .line 3787
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            iload 10 /* fromKeyStore */
            ifeq 69
        68: .line 3788
            ldc "alias.in.keystore"
            goto 70
        69: .line 3789
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.util.HashSet 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"
        70: .line 3787
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.util.HashSet 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
        71: .line 3790
            aload 11 /* root */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            aastore
        72: .line 3787
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        73: .line 3791
            aload 11 /* root */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.Certificate
        74: .line 3787
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 12 // java.security.cert.Certificate[] tmpCerts
        75: .line 3794
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            areturn
        end local 11 // sun.security.tools.keytool.Pair root
        end local 10 // boolean fromKeyStore
        end local 9 // java.security.cert.Certificate topCert
        end local 8 // java.security.cert.X509Certificate thisCert
        end local 7 // java.security.cert.Certificate tmpCert
        end local 6 // java.util.HashSet nodup
        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   76     0          this  Lsun/security/tools/keytool/Main;
            0   76     1         alias  Ljava/lang/String;
            0   76     2      userCert  Ljava/security/cert/Certificate;
            0   76     3    replyCerts  [Ljava/security/cert/Certificate;
            5   76     4             i  I
            2   76     5    userPubKey  Ljava/security/PublicKey;
            3   76     6         nodup  Ljava/util/HashSet<Ljava/security/cert/Certificate;>;
           14   16     7          form  Ljava/text/MessageFormat;
           15   16     8        source  [Ljava/lang/Object;
           17   76     7       tmpCert  Ljava/security/cert/Certificate;
           20   76     8      thisCert  Ljava/security/cert/X509Certificate;
           22   35     9             j  I
           40   76     9       topCert  Ljava/security/cert/Certificate;
           41   76    10  fromKeyStore  Z
           42   76    11          root  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/Certificate;>;
           57   59    12         reply  Ljava/lang/String;
           62   75    12      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 3813
            aload 1 /* userCert */
            ifnull 11
         1: .line 3816
            aload 1 /* userCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 3 /* origPubKey */
        start local 3 // java.security.PublicKey origPubKey
         2: .line 3817
            aload 2 /* certToVerify */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 4 /* replyPubKey */
        start local 4 // java.security.PublicKey replyPubKey
         3: .line 3818
            aload 3 /* origPubKey */
            aload 4 /* replyPubKey */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
         4: .line 3819
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 3820
            ldc "Public.keys.in.reply.and.keystore.don.t.match"
         6: .line 3819
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 3825
      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 3826
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 3827
            ldc "Certificate.reply.and.certificate.in.keystore.are.identical"
        10: .line 3826
            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 3835
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* certs */
        start local 3 // java.util.Hashtable certs
        12: .line 3836
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            ifle 15
        13: .line 3837
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 3 /* certs */
        14: .line 3838
            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 3840
      StackMap locals: java.util.Hashtable
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 20
        16: .line 3841
            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 3842
            aload 3 /* certs */
            ifnonnull 19
        18: .line 3843
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 3 /* certs */
        19: .line 3845
      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 3850
      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 3851
            aload 0 /* this */
        22: .line 3852
            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 3853
            aload 2 /* certToVerify */
            checkcast java.security.cert.X509Certificate
        24: .line 3852
            invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        25: .line 3854
            aload 4 /* chain */
            aload 3 /* certs */
        26: .line 3851
            invokevirtual sun.security.tools.keytool.Main.buildChain:(Lsun/security/tools/keytool/Pair;Ljava/util/Vector;Ljava/util/Hashtable;)Z
        27: .line 3854
            ifeq 42
        28: .line 3855
            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 3856
            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 3855
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        32: .line 3859
            aload 4 /* chain */
            invokevirtual java.util.Vector.size:()I
            anewarray java.security.cert.Certificate
        33: .line 3858
            astore 5 /* newChain */
        start local 5 // java.security.cert.Certificate[] newChain
        34: .line 3863
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        35: .line 3864
            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 3865
      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 3866
            iinc 6 /* j */ 1
        39: .line 3864
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        40: iload 7 /* i */
            ifge 37
        end local 7 // int i
        41: .line 3868
            aload 5 /* newChain */
            areturn
        end local 6 // int j
        end local 5 // java.security.cert.Certificate[] newChain
        42: .line 3870
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
        43: .line 3871
            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 3870
            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 3897
            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 3900
            aload 2 /* chain */
            aload 1 /* certToVerify */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         2: .line 3901
            iconst_1
            ireturn
         3: .line 3904
      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 3907
            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 3908
            aload 5 /* vec */
            ifnonnull 7
         6: .line 3909
            iconst_0
            ireturn
         7: .line 3915
      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 3916
            goto 18
         9: .line 3917
      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 3918
            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 3920
            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 3921
            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 3922
            goto 18
        15: .line 3924
      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 3925
            aload 2 /* chain */
            aload 1 /* certToVerify */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        17: .line 3926
            iconst_1
            ireturn
        end local 8 // java.security.PublicKey issuerPubKey
        end local 7 // sun.security.tools.keytool.Pair issuerCert
        18: .line 3916
      StackMap locals:
      StackMap stack:
            aload 6 /* issuerCerts */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        end local 6 // java.util.Enumeration issuerCerts
        19: .line 3929
            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 3940
            aconst_null
            astore 2 /* reply */
        start local 2 // java.lang.String reply
         1: .line 3941
            bipush 20
            istore 3 /* maxRetry */
        start local 3 // int maxRetry
         2: .line 3943
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 3 /* maxRetry */
            iinc 3 /* maxRetry */ -1
            ifge 6
         3: .line 3944
            new java.lang.RuntimeException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 3945
            ldc "Too.many.retries.program.terminated"
         5: .line 3944
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 3947
      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 3948
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         8: .line 3949
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         9: .line 3950
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
        10: .line 3949
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        11: .line 3950
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
        12: .line 3949
            astore 2 /* reply */
        13: .line 3951
            aload 2 /* reply */
            ifnull 17
        14: .line 3952
            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 17
        15: .line 3953
            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 17
        16: .line 3954
            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 19
        17: .line 3955
      StackMap locals:
      StackMap stack:
            ldc "NO"
            astore 2 /* reply */
        18: .line 3956
            goto 25
      StackMap locals:
      StackMap stack:
        19: 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 21
        20: .line 3957
            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 23
        21: .line 3958
      StackMap locals:
      StackMap stack:
            ldc "YES"
            astore 2 /* reply */
        22: .line 3959
            goto 25
        23: .line 3960
      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
        24: .line 3961
            aconst_null
            astore 2 /* reply */
        25: .line 3963
      StackMap locals:
      StackMap stack:
            aload 2 /* reply */
            ifnull 2
        26: .line 3964
            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   27     0      this  Lsun/security/tools/keytool/Main;
            0   27     1    prompt  Ljava/lang/String;
            1   27     2     reply  Ljava/lang/String;
            2   27     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 3977
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 3 /* aliases */
        start local 3 // java.util.Enumeration aliases
         1: .line 3978
            goto 23
         2: .line 3979
      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 3980
            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 3981
            aload 5 /* cert */
            ifnull 23
         5: .line 3982
            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 3983
            new sun.security.tools.keytool.Pair
            dup
         7: .line 3985
            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 3986
            ldc "alias.in.cacerts"
            goto 10
         9: .line 3987
      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 3985
      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 3988
            aload 4 /* alias */
            aastore
        12: .line 3984
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        13: .line 3989
            aload 5 /* cert */
            checkcast java.security.cert.X509Certificate
        14: .line 3983
            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 3990
            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 3991
            aload 8 /* vec */
            ifnonnull 20
        17: .line 3992
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 8 /* vec */
        18: .line 3993
            aload 8 /* vec */
            aload 7 /* pair */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        19: .line 3994
            goto 22
        20: .line 3995
      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 3996
            aload 8 /* vec */
            aload 7 /* pair */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        22: .line 3999
      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 3978
      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 4002
            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 4009
            new java.util.GregorianCalendar
            dup
            invokespecial java.util.GregorianCalendar.<init>:()V
            astore 1 /* c */
        start local 1 // java.util.Calendar c
         1: .line 4010
            aload 0 /* s */
            ifnull 68
         2: .line 4011
            new java.io.IOException
            dup
         3: .line 4012
            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 4011
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         5: .line 4013
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         6: .line 4014
            iload 3 /* len */
            ifne 8
         7: .line 4015
            aload 2 /* ioe */
            athrow
         8: .line 4017
      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 4019
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* start */
        start local 4 // int start
        10: .line 4020
            goto 36
        11: .line 4021
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* sign */
        start local 5 // int sign
        12: .line 4022
            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 4023
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 5 /* sign */
            goto 16
        14: .line 4024
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 5 /* sign */
            goto 16
        15: .line 4025
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        16: .line 4027
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            iconst_1
            iadd
            istore 6 /* i */
        start local 6 // int i
        17: .line 4028
            goto 21
        18: .line 4029
      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 4030
            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 4028
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 3 /* len */
            if_icmplt 18
        22: .line 4032
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 4 /* start */
            iconst_1
            iadd
            if_icmpne 23
            aload 2 /* ioe */
            athrow
        23: .line 4033
      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 4034
            iload 6 /* i */
            iload 3 /* len */
            if_icmplt 25
            aload 2 /* ioe */
            athrow
        25: .line 4035
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 8 /* unit */
        start local 8 // int unit
        26: .line 4036
            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 4037
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 8 /* unit */
            goto 34
        28: .line 4038
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 8 /* unit */
            goto 34
        29: .line 4039
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 8 /* unit */
            goto 34
        30: .line 4040
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 8 /* unit */
            goto 34
        31: .line 4041
      StackMap locals:
      StackMap stack:
            bipush 12
            istore 8 /* unit */
            goto 34
        32: .line 4042
      StackMap locals:
      StackMap stack:
            bipush 13
            istore 8 /* unit */
            goto 34
        33: .line 4043
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        34: .line 4045
      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 4046
            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 4020
      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 4048
            goto 68
        38: .line 4050
      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 4051
            iload 3 /* len */
            bipush 19
            if_icmpne 45
        41: .line 4052
            aload 0 /* s */
            iconst_0
            bipush 10
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* date */
        42: .line 4053
            aload 0 /* s */
            bipush 11
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* time */
        43: .line 4054
            aload 0 /* s */
            bipush 10
            invokevirtual java.lang.String.charAt:(I)C
            bipush 32
            if_icmpeq 52
        44: .line 4055
            aload 2 /* ioe */
            athrow
        45: .line 4056
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 3 /* len */
            bipush 10
            if_icmpne 48
        46: .line 4057
            aload 0 /* s */
            astore 4 /* date */
        47: .line 4058
            goto 52
      StackMap locals:
      StackMap stack:
        48: iload 3 /* len */
            bipush 8
            if_icmpne 51
        49: .line 4059
            aload 0 /* s */
            astore 5 /* time */
        50: .line 4060
            goto 52
        51: .line 4061
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        52: .line 4063
      StackMap locals:
      StackMap stack:
            aload 4 /* date */
            ifnull 60
        53: .line 4064
            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 4065
            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 4066
            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 4067
            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 4065
            invokevirtual java.util.Calendar.set:(III)V
        58: .line 4068
            goto 60
        59: .line 4069
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        60: .line 4072
      StackMap locals:
      StackMap stack:
            aload 5 /* time */
            ifnull 68
        61: .line 4073
            aload 5 /* time */
            ldc "\\d\\d:\\d\\d:\\d\\d"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifeq 67
        62: .line 4074
            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 4075
            aload 1 /* c */
            bipush 12
            aload 5 /* time */
            iconst_3
            iconst_5
            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 4076
            aload 1 /* c */
            bipush 13
            aload 5 /* time */
            bipush 6
            bipush 8
            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 4077
            aload 1 /* c */
            bipush 14
            iconst_0
            invokevirtual java.util.Calendar.set:(II)V
        66: .line 4078
            goto 68
        67: .line 4079
      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 4084
      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 4097
            aload 1 /* list */
            arraylength
            newarray 10
            astore 2 /* match */
        start local 2 // int[] match
         1: .line 4098
            iconst_0
            istore 3 /* nmatch */
        start local 3 // int nmatch
         2: .line 4099
            ldc 2147483647
            istore 4 /* experiment */
        start local 4 // int experiment
         3: .line 4100
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 28
         5: .line 4101
      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 4102
            aload 6 /* one */
            ifnonnull 9
         7: .line 4103
            iload 5 /* i */
            istore 4 /* experiment */
         8: .line 4104
            goto 27
         9: .line 4106
      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 4107
            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 4108
            aload 2 /* match */
            iload 3 /* nmatch */
            iinc 3 /* nmatch */ 1
            iload 5 /* i */
            iastore
        12: .line 4109
            goto 27
        13: .line 4110
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuilder sb
        14: .line 4111
            iconst_1
            istore 8 /* first */
        start local 8 // boolean first
        15: .line 4112
            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.StringBuilder int top int int char[]
      StackMap stack:
        16: aload 12
            iload 10
            caload
            istore 9 /* c */
        start local 9 // char c
        17: .line 4113
            iload 8 /* first */
            ifeq 21
        18: .line 4114
            aload 7 /* sb */
            iload 9 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        19: .line 4115
            iconst_0
            istore 8 /* first */
        20: .line 4116
            goto 23
        21: .line 4117
      StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuilder int int int int char[]
      StackMap stack:
            iload 9 /* c */
            invokestatic java.lang.Character.isLowerCase:(C)Z
            ifne 23
        22: .line 4118
            aload 7 /* sb */
            iload 9 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 9 // char c
        23: .line 4112
      StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuilder int top int int char[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        24: iload 10
            iload 11
            if_icmplt 16
        25: .line 4122
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 0 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 27
        26: .line 4123
            aload 2 /* match */
            iload 3 /* nmatch */
            iinc 3 /* nmatch */ 1
            iload 5 /* i */
            iastore
        end local 8 // boolean first
        end local 7 // java.lang.StringBuilder sb
        end local 6 // java.lang.String one
        27: .line 4100
      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 4127
            iload 3 /* nmatch */
            ifne 31
        30: .line 4128
            iconst_m1
            ireturn
        31: .line 4129
      StackMap locals:
      StackMap stack:
            iload 3 /* nmatch */
            iconst_1
            if_icmpne 33
        32: .line 4130
            aload 2 /* match */
            iconst_0
            iaload
            ireturn
        33: .line 4133
      StackMap locals:
      StackMap stack:
            aload 2 /* match */
            iconst_1
            iaload
            iload 4 /* experiment */
            if_icmple 35
        34: .line 4134
            aload 2 /* match */
            iconst_0
            iaload
            ireturn
        35: .line 4136
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* sb */
        start local 5 // java.lang.StringBuilder sb
        36: .line 4137
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 4138
            ldc "command.{0}.is.ambiguous."
        38: .line 4137
            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 4139
            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 4140
            aload 5 /* sb */
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 4141
            aload 5 /* sb */
            ldc "\n    "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        42: .line 4142
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        43: goto 47
        44: .line 4143
      StackMap locals: java.lang.String java.lang.String[] int[] int int java.lang.StringBuilder java.text.MessageFormat java.lang.Object[] int
      StackMap stack:
            aload 5 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        45: .line 4144
            aload 5 /* sb */
            aload 1 /* list */
            aload 2 /* match */
            iload 8 /* i */
            iaload
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 4142
            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 4146
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            aload 5 /* sb */
            invokevirtual java.lang.StringBuilder.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.StringBuilder 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/StringBuilder;
           15   27     8       first  Z
           17   23     9           c  C
           36   49     5          sb  Ljava/lang/StringBuilder;
           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 4159
            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 4160
            iload 4 /* p */
            ifge 7
         2: .line 4161
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         3: .line 4162
            ldc "Unrecognized.GeneralName.type."
         4: .line 4161
            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 4162
            aload 1 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 4161
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 4164
      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 4165
      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 4166
      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 4167
      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 4168
      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 4169
      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 4171
      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 4188
            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 4189
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.BasicConstraints_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         2: .line 4190
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.KeyUsage_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         3: .line 4191
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.ExtendedKeyUsage_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         4: .line 4192
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.SubjectAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         5: .line 4193
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.IssuerAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         6: .line 4194
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.SubjectInfoAccess_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         7: .line 4195
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.AuthInfoAccess_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         8: .line 4196
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.CRLDistributionPoints_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         9: .line 4197
      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 static void setExt(sun.security.x509.CertificateExtensions, sun.security.x509.Extension);
    descriptor: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.x509.CertificateExtensions result
        start local 1 // sun.security.x509.Extension ex
         0: .line 4204
            aload 0 /* result */
            aload 1 /* ex */
            invokevirtual sun.security.x509.Extension.getId:()Ljava/lang/String;
            aload 1 /* ex */
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 4205
            return
        end local 1 // sun.security.x509.Extension ex
        end local 0 // sun.security.x509.CertificateExtensions result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lsun/security/x509/CertificateExtensions;
            0    2     1      ex  Lsun/security/x509/Extension;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      result  
      ex      

  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=9, locals=29, args_size=6
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // sun.security.x509.CertificateExtensions requestedEx
        start local 2 // sun.security.x509.CertificateExtensions existingEx
        start local 3 // java.util.List extstrs
        start local 4 // java.security.PublicKey pkey
        start local 5 // java.security.PublicKey akey
         0: .line 4237
            aload 2 /* existingEx */
            ifnull 2
            aload 1 /* requestedEx */
            ifnull 2
         1: .line 4239
            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 4242
      StackMap locals:
      StackMap stack:
            new sun.security.x509.CertificateExtensions
            dup
            invokespecial sun.security.x509.CertificateExtensions.<init>:()V
            astore 6 /* result */
        start local 6 // sun.security.x509.CertificateExtensions result
         3: .line 4243
            aload 2 /* existingEx */
            ifnull 8
         4: .line 4244
            aload 2 /* existingEx */
            invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 7
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions top java.util.Iterator
      StackMap stack:
         5: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            astore 7 /* ex */
        start local 7 // sun.security.x509.Extension ex
         6: .line 4245
            aload 6 /* result */
            aload 7 /* ex */
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
        end local 7 // sun.security.x509.Extension ex
         7: .line 4244
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 4251
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 1 /* requestedEx */
            ifnull 63
         9: .line 4254
            new sun.security.x509.CertificateExtensions
            dup
            invokespecial sun.security.x509.CertificateExtensions.<init>:()V
            astore 7 /* request2 */
        start local 7 // sun.security.x509.CertificateExtensions request2
        10: .line 4255
            aload 1 /* requestedEx */
            invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 13
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions top java.util.Iterator
      StackMap stack:
        11: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            astore 8 /* ex */
        start local 8 // sun.security.x509.Extension ex
        12: .line 4256
            aload 7 /* request2 */
            aload 8 /* ex */
            invokevirtual sun.security.x509.Extension.getId:()Ljava/lang/String;
            aload 8 /* ex */
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 8 // sun.security.x509.Extension ex
        13: .line 4255
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 4258
            aload 3 /* extstrs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 62
      StackMap locals:
      StackMap stack:
        15: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* extstr */
        start local 8 // java.lang.String extstr
        16: .line 4259
            aload 8 /* 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 62
        17: .line 4261
            aload 8 /* 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;
        18: .line 4260
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 10 /* list */
        start local 10 // java.util.List list
        19: .line 4263
            aload 10 /* list */
            ldc "all"
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 24
        20: .line 4264
            aload 7 /* request2 */
            invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 12
            goto 23
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
        21: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.x509.Extension
            astore 11 /* ex */
        start local 11 // sun.security.x509.Extension ex
        22: .line 4265
            aload 6 /* result */
            aload 11 /* ex */
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
        end local 11 // sun.security.x509.Extension ex
        23: .line 4264
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        24: .line 4269
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List
      StackMap stack:
            aload 10 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 60
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
        25: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* item */
        start local 11 // java.lang.String item
        26: .line 4270
            aload 11 /* item */
            ldc "all"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
            goto 60
        27: .line 4275
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator
      StackMap stack:
            iconst_m1
            istore 14 /* action */
        start local 14 // int action
        28: .line 4276
            aconst_null
            astore 15 /* type */
        start local 15 // java.lang.String type
        29: .line 4277
            aload 11 /* item */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 33
        30: .line 4278
            iconst_0
            istore 13 /* add */
        start local 13 // boolean add
        31: .line 4279
            aload 11 /* item */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 15 /* type */
        32: .line 4280
            goto 47
        end local 13 // boolean add
        33: .line 4281
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator top int java.lang.String
      StackMap stack:
            iconst_1
            istore 13 /* add */
        start local 13 // boolean add
        34: .line 4282
            aload 11 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 16 /* colonpos */
        start local 16 // int colonpos
        35: .line 4283
            iload 16 /* colonpos */
            iflt 46
        36: .line 4284
            aload 11 /* item */
            iconst_0
            iload 16 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 15 /* type */
        37: .line 4285
            aload 11 /* item */
            iload 16 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        38: .line 4286
            ldc "critical"
            aastore
            dup
            iconst_1
            ldc "non-critical"
            aastore
        39: .line 4285
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 14 /* action */
        40: .line 4287
            iload 14 /* action */
            iconst_m1
            if_icmpne 47
        41: .line 4288
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        42: .line 4289
            ldc "Illegal.value."
        43: .line 4288
            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
        44: .line 4289
            aload 11 /* item */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        45: .line 4288
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        46: .line 4292
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator int int java.lang.String int
      StackMap stack:
            aload 11 /* item */
            astore 15 /* type */
        end local 16 // int colonpos
        47: .line 4295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 15 /* type */
            invokevirtual sun.security.tools.keytool.Main.findOidForExtName:(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            astore 16 /* n */
        start local 16 // java.lang.String n
        48: .line 4296
            iload 13 /* add */
            ifeq 59
        49: .line 4297
            aload 7 /* request2 */
            aload 16 /* n */
            invokevirtual sun.security.x509.CertificateExtensions.get:(Ljava/lang/String;)Lsun/security/x509/Extension;
            astore 17 /* e */
        start local 17 // sun.security.x509.Extension e
        50: .line 4298
            aload 17 /* e */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifne 51
            iload 14 /* action */
            ifeq 52
        51: .line 4299
      StackMap locals: java.lang.String sun.security.x509.Extension
      StackMap stack:
            aload 17 /* e */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 57
            iload 14 /* action */
            iconst_1
            if_icmpne 57
        52: .line 4301
      StackMap locals:
      StackMap stack:
            aload 17 /* e */
            invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
        53: .line 4302
            aload 17 /* e */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 54
            iconst_0
            goto 55
      StackMap locals:
      StackMap stack: sun.security.util.ObjectIdentifier
        54: iconst_1
        55: .line 4303
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions 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 17 /* e */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
        56: .line 4300
            invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
            astore 17 /* e */
        57: .line 4305
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            aload 17 /* e */
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
        end local 17 // sun.security.x509.Extension e
        58: .line 4306
            goto 60
        59: .line 4307
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            aload 16 /* n */
            invokevirtual sun.security.x509.CertificateExtensions.delete:(Ljava/lang/String;)V
        end local 16 // java.lang.String n
        end local 15 // java.lang.String type
        end local 14 // int action
        end local 13 // boolean add
        end local 11 // java.lang.String item
        60: .line 4269
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        61: .line 4310
            goto 63
        end local 10 // java.util.List list
        end local 8 // java.lang.String extstr
        62: .line 4258
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 7 // sun.security.x509.CertificateExtensions request2
        63: .line 4314
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions
      StackMap stack:
            aload 3 /* extstrs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            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 sun.security.x509.CertificateExtensions top java.util.Iterator
      StackMap stack:
        64: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* extstr */
        start local 7 // java.lang.String extstr
        65: .line 4316
            iconst_0
            istore 11 /* isCritical */
        start local 11 // boolean isCritical
        66: .line 4318
            aload 7 /* extstr */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* eqpos */
        start local 12 // int eqpos
        67: .line 4319
            iload 12 /* eqpos */
            iflt 71
        68: .line 4320
            aload 7 /* extstr */
            iconst_0
            iload 12 /* eqpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
        69: .line 4321
            aload 7 /* extstr */
            iload 12 /* eqpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* value */
        start local 10 // java.lang.String value
        70: .line 4322
            goto 73
        end local 10 // java.lang.String value
        end local 9 // java.lang.String name
        71: .line 4323
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator top top int int
      StackMap stack:
            aload 7 /* extstr */
            astore 9 /* name */
        start local 9 // java.lang.String name
        72: .line 4324
            aconst_null
            astore 10 /* value */
        start local 10 // java.lang.String value
        73: .line 4327
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int
      StackMap stack:
            aload 9 /* name */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* colonpos */
        start local 13 // int colonpos
        74: .line 4328
            iload 13 /* colonpos */
            iflt 78
        75: .line 4329
            aload 9 /* name */
            iload 13 /* 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 77
        76: .line 4330
            iconst_1
            istore 11 /* isCritical */
        77: .line 4332
      StackMap locals: int
      StackMap stack:
            aload 9 /* name */
            iconst_0
            iload 13 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        78: .line 4335
      StackMap locals:
      StackMap stack:
            aload 9 /* name */
            ldc "honored"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 80
        79: .line 4336
            goto 337
        80: .line 4338
      StackMap locals:
      StackMap stack:
            aload 9 /* 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 14 /* exttype */
        start local 14 // int exttype
        81: .line 4339
            iload 14 /* exttype */
            tableswitch { // -1 - 8
                   -1: 296
                    0: 82
                    1: 117
                    2: 151
                    3: 189
                    4: 189
                    5: 216
                    6: 216
                    7: 332
                    8: 272
              default: 332
          }
        82: .line 4341
      StackMap locals: int
      StackMap stack:
            iconst_m1
            istore 15 /* pathLen */
        start local 15 // int pathLen
        83: .line 4342
            iconst_0
            istore 16 /* isCA */
        start local 16 // boolean isCA
        84: .line 4343
            aload 10 /* value */
            ifnonnull 87
        85: .line 4344
            iconst_1
            istore 16 /* isCA */
        86: .line 4345
            goto 113
        87: .line 4347
      StackMap locals: int int
      StackMap stack:
            aload 10 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 15 /* pathLen */
        88: .line 4348
            iconst_1
            istore 16 /* isCA */
        89: .line 4349
            goto 113
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        90: pop
        91: .line 4351
            aload 10 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 112
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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:
        92: aload 20
            iload 18
            aaload
            astore 17 /* part */
        start local 17 // java.lang.String part
        93: .line 4352
            aload 17 /* part */
            ldc ":"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 21 /* nv */
        start local 21 // java.lang.String[] nv
        94: .line 4353
            aload 21 /* nv */
            arraylength
            iconst_2
            if_icmpeq 100
        95: .line 4354
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        96: .line 4355
            ldc "Illegal.value."
        97: .line 4354
            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
        98: .line 4355
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        99: .line 4354
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       100: .line 4357
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 21 /* nv */
            iconst_0
            aaload
            ldc "ca"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 103
       101: .line 4358
            aload 21 /* nv */
            iconst_1
            aaload
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 16 /* isCA */
       102: .line 4359
            goto 111
      StackMap locals:
      StackMap stack:
       103: aload 21 /* nv */
            iconst_0
            aaload
            ldc "pathlen"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 106
       104: .line 4360
            aload 21 /* nv */
            iconst_1
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 15 /* pathLen */
       105: .line 4361
            goto 111
       106: .line 4362
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       107: .line 4363
            ldc "Illegal.value."
       108: .line 4362
            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
       109: .line 4363
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       110: .line 4362
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 21 // java.lang.String[] nv
        end local 17 // java.lang.String part
       111: .line 4351
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 18 1
      StackMap locals:
      StackMap stack:
       112: iload 18
            iload 19
            if_icmplt 92
       113: .line 4369
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int
      StackMap stack:
            aload 6 /* result */
            new sun.security.x509.BasicConstraintsExtension
            dup
            iload 11 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iload 16 /* isCA */
       114: .line 4370
            iload 15 /* pathLen */
            invokespecial sun.security.x509.BasicConstraintsExtension.<init>:(Ljava/lang/Boolean;ZI)V
       115: .line 4369
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
       116: .line 4371
            goto 337
        end local 16 // boolean isCA
        end local 15 // int pathLen
       117: .line 4373
      StackMap locals:
      StackMap stack:
            aload 10 /* value */
            ifnull 146
       118: .line 4374
            bipush 9
            newarray 4
            astore 17 /* ok */
        start local 17 // boolean[] ok
       119: .line 4375
            aload 10 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 138
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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:
       120: aload 21
            iload 19
            aaload
            astore 18 /* s */
        start local 18 // java.lang.String s
       121: .line 4376
            aload 18 /* s */
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
       122: .line 4377
            ldc "digitalSignature"
            aastore
            dup
            iconst_1
       123: .line 4378
            ldc "nonRepudiation"
            aastore
            dup
            iconst_2
       124: .line 4379
            ldc "keyEncipherment"
            aastore
            dup
            iconst_3
       125: .line 4380
            ldc "dataEncipherment"
            aastore
            dup
            iconst_4
       126: .line 4381
            ldc "keyAgreement"
            aastore
            dup
            iconst_5
       127: .line 4382
            ldc "keyCertSign"
            aastore
            dup
            bipush 6
       128: .line 4383
            ldc "cRLSign"
            aastore
            dup
            bipush 7
       129: .line 4384
            ldc "encipherOnly"
            aastore
            dup
            bipush 8
       130: .line 4385
            ldc "decipherOnly"
            aastore
            dup
            bipush 9
       131: .line 4386
            ldc "contentCommitment"
            aastore
       132: .line 4376
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 22 /* p */
        start local 22 // int p
       133: .line 4388
            iload 22 /* p */
            ifge 135
       134: .line 4389
            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 18 /* 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
       135: .line 4391
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 22 /* p */
            bipush 9
            if_icmpne 136
            iconst_1
            istore 22 /* p */
       136: .line 4392
      StackMap locals:
      StackMap stack:
            aload 17 /* ok */
            iload 22 /* p */
            iconst_1
            bastore
        end local 22 // int p
        end local 18 // java.lang.String s
       137: .line 4375
            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 sun.security.x509.CertificateExtensions 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:
       138: iload 19
            iload 20
            if_icmplt 120
       139: .line 4394
            new sun.security.x509.KeyUsageExtension
            dup
            aload 17 /* ok */
            invokespecial sun.security.x509.KeyUsageExtension.<init>:([Z)V
            astore 18 /* kue */
        start local 18 // sun.security.x509.KeyUsageExtension kue
       140: .line 4397
            aload 6 /* result */
       141: .line 4398
            aload 18 /* kue */
            invokevirtual sun.security.x509.KeyUsageExtension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
       142: .line 4399
            iload 11 /* isCritical */
       143: .line 4400
            aload 18 /* kue */
            invokevirtual sun.security.x509.KeyUsageExtension.getExtensionValue:()[B
       144: .line 4397
            invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
        end local 18 // sun.security.x509.KeyUsageExtension kue
        end local 17 // boolean[] ok
       145: .line 4401
            goto 337
       146: .line 4402
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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;
       147: .line 4403
            ldc "Illegal.value."
       148: .line 4402
            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
       149: .line 4403
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       150: .line 4402
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       151: .line 4407
      StackMap locals:
      StackMap stack:
            aload 10 /* value */
            ifnull 184
       152: .line 4408
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 17 /* v */
        start local 17 // java.util.Vector v
       153: .line 4409
            aload 10 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 181
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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:
       154: aload 21
            iload 19
            aaload
            astore 18 /* s */
        start local 18 // java.lang.String s
       155: .line 4410
            aload 18 /* s */
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
       156: .line 4411
            ldc "anyExtendedKeyUsage"
            aastore
            dup
            iconst_1
       157: .line 4412
            ldc "serverAuth"
            aastore
            dup
            iconst_2
       158: .line 4413
            ldc "clientAuth"
            aastore
            dup
            iconst_3
       159: .line 4414
            ldc "codeSigning"
            aastore
            dup
            iconst_4
       160: .line 4415
            ldc "emailProtection"
            aastore
            dup
            iconst_5
       161: .line 4416
            ldc ""
            aastore
            dup
            bipush 6
       162: .line 4417
            ldc ""
            aastore
            dup
            bipush 7
       163: .line 4418
            ldc ""
            aastore
            dup
            bipush 8
       164: .line 4419
            ldc "timeStamping"
            aastore
            dup
            bipush 9
       165: .line 4420
            ldc "OCSPSigning"
            aastore
       166: .line 4410
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 22 /* p */
        start local 22 // int p
       167: .line 4422
            iload 22 /* p */
            ifge 176
       168: .line 4424
            aload 17 /* v */
            new sun.security.util.ObjectIdentifier
            dup
            aload 18 /* s */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
       169: .line 4425
            goto 180
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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
       170: pop
       171: .line 4426
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       172: .line 4427
            ldc "Unknown.extendedkeyUsage.type."
       173: .line 4426
            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
       174: .line 4427
            aload 18 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       175: .line 4426
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       176: .line 4429
      StackMap locals:
      StackMap stack:
            iload 22 /* p */
            ifne 179
       177: .line 4430
            aload 17 /* 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
       178: .line 4431
            goto 180
       179: .line 4432
      StackMap locals:
      StackMap stack:
            aload 17 /* 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 22 /* 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 22 // int p
        end local 18 // java.lang.String s
       180: .line 4409
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 19 1
      StackMap locals:
      StackMap stack:
       181: iload 19
            iload 20
            if_icmplt 154
       182: .line 4435
            aload 6 /* result */
            new sun.security.x509.ExtendedKeyUsageExtension
            dup
            iload 11 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 17 /* v */
            invokespecial sun.security.x509.ExtendedKeyUsageExtension.<init>:(Ljava/lang/Boolean;Ljava/util/Vector;)V
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
        end local 17 // java.util.Vector v
       183: .line 4436
            goto 337
       184: .line 4437
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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;
       185: .line 4438
            ldc "Illegal.value."
       186: .line 4437
            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
       187: .line 4438
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       188: .line 4437
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       189: .line 4443
      StackMap locals:
      StackMap stack:
            aload 10 /* value */
            ifnull 211
       190: .line 4444
            aload 10 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 17 /* ps */
        start local 17 // java.lang.String[] ps
       191: .line 4445
            new sun.security.x509.GeneralNames
            dup
            invokespecial sun.security.x509.GeneralNames.<init>:()V
            astore 18 /* gnames */
        start local 18 // sun.security.x509.GeneralNames gnames
       192: .line 4446
            aload 17 /* ps */
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 201
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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:
       193: aload 22
            iload 20
            aaload
            astore 19 /* item */
        start local 19 // java.lang.String item
       194: .line 4447
            aload 19 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* colonpos */
       195: .line 4448
            iload 13 /* colonpos */
            ifge 197
       196: .line 4449
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal item "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* 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 7 /* 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
       197: .line 4451
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 19 /* item */
            iconst_0
            iload 13 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 23 /* t */
        start local 23 // java.lang.String t
       198: .line 4452
            aload 19 /* item */
            iload 13 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 24 /* v */
        start local 24 // java.lang.String v
       199: .line 4453
            aload 18 /* gnames */
            aload 0 /* this */
            aload 23 /* t */
            aload 24 /* 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 24 // java.lang.String v
        end local 23 // java.lang.String t
        end local 19 // java.lang.String item
       200: .line 4446
            iinc 20 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 sun.security.x509.CertificateExtensions 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:
       201: iload 20
            iload 21
            if_icmplt 193
       202: .line 4455
            iload 14 /* exttype */
            iconst_3
            if_icmpne 207
       203: .line 4456
            aload 6 /* result */
            new sun.security.x509.SubjectAlternativeNameExtension
            dup
       204: .line 4457
            iload 11 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 18 /* gnames */
            invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
       205: .line 4456
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
       206: .line 4458
            goto 337
       207: .line 4459
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 6 /* result */
            new sun.security.x509.IssuerAlternativeNameExtension
            dup
       208: .line 4460
            iload 11 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 18 /* gnames */
            invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
       209: .line 4459
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
        end local 18 // sun.security.x509.GeneralNames gnames
        end local 17 // java.lang.String[] ps
       210: .line 4462
            goto 337
       211: .line 4463
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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;
       212: .line 4464
            ldc "Illegal.value."
       213: .line 4463
            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 4464
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       215: .line 4463
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       216: .line 4469
      StackMap locals:
      StackMap stack:
            iload 11 /* isCritical */
            ifeq 222
       217: .line 4470
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       218: .line 4471
            ldc "This.extension.cannot.be.marked.as.critical."
       219: .line 4470
            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
       220: .line 4471
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       221: .line 4470
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       222: .line 4473
      StackMap locals:
      StackMap stack:
            aload 10 /* value */
            ifnull 267
       223: .line 4475
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
       224: .line 4474
            astore 17 /* accessDescriptions */
        start local 17 // java.util.List accessDescriptions
       225: .line 4476
            aload 10 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 18 /* ps */
        start local 18 // java.lang.String[] ps
       226: .line 4477
            aload 18 /* ps */
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 261
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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:
       227: aload 22
            iload 20
            aaload
            astore 19 /* item */
        start local 19 // java.lang.String item
       228: .line 4478
            aload 19 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* colonpos */
       229: .line 4479
            aload 19 /* item */
            bipush 58
            iload 13 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 23 /* colonpos2 */
        start local 23 // int colonpos2
       230: .line 4480
            iload 13 /* colonpos */
            iflt 231
            iload 23 /* colonpos2 */
            ifge 236
       231: .line 4481
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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;
       232: .line 4482
            ldc "Illegal.value."
       233: .line 4481
            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
       234: .line 4482
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       235: .line 4481
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       236: .line 4484
      StackMap locals:
      StackMap stack:
            aload 19 /* item */
            iconst_0
            iload 13 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 24 /* m */
        start local 24 // java.lang.String m
       237: .line 4485
            aload 19 /* item */
            iload 13 /* colonpos */
            iconst_1
            iadd
            iload 23 /* colonpos2 */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 25 /* t */
        start local 25 // java.lang.String t
       238: .line 4486
            aload 19 /* item */
            iload 23 /* colonpos2 */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 26 /* v */
        start local 26 // java.lang.String v
       239: .line 4487
            aload 24 /* m */
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
       240: .line 4488
            ldc ""
            aastore
            dup
            iconst_1
       241: .line 4489
            ldc "ocsp"
            aastore
            dup
            iconst_2
       242: .line 4490
            ldc "caIssuers"
            aastore
            dup
            iconst_3
       243: .line 4491
            ldc "timeStamping"
            aastore
            dup
            iconst_4
       244: .line 4492
            ldc ""
            aastore
            dup
            iconst_5
       245: .line 4493
            ldc "caRepository"
            aastore
       246: .line 4487
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 27 /* p */
        start local 27 // int p
       247: .line 4496
            iload 27 /* p */
            ifge 256
       248: .line 4498
            new sun.security.util.ObjectIdentifier
            dup
            aload 24 /* m */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 28 /* oid */
        start local 28 // sun.security.util.ObjectIdentifier oid
       249: .line 4499
            goto 257
        end local 28 // 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 sun.security.x509.CertificateExtensions 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
       250: pop
       251: .line 4500
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       252: .line 4501
            ldc "Unknown.AccessDescription.type."
       253: .line 4500
            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
       254: .line 4501
            aload 24 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       255: .line 4500
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       256: .line 4504
      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 27 /* 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 28 /* oid */
        start local 28 // sun.security.util.ObjectIdentifier oid
       257: .line 4506
      StackMap locals: sun.security.util.ObjectIdentifier
      StackMap stack:
            aload 17 /* accessDescriptions */
            new sun.security.x509.AccessDescription
            dup
       258: .line 4507
            aload 28 /* oid */
            aload 0 /* this */
            aload 25 /* t */
            aload 26 /* 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
       259: .line 4506
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 28 // sun.security.util.ObjectIdentifier oid
        end local 27 // int p
        end local 26 // java.lang.String v
        end local 25 // java.lang.String t
        end local 24 // java.lang.String m
        end local 23 // int colonpos2
        end local 19 // java.lang.String item
       260: .line 4477
            iinc 20 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 sun.security.x509.CertificateExtensions 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:
       261: iload 20
            iload 21
            if_icmplt 227
       262: .line 4509
            iload 14 /* exttype */
            iconst_5
            if_icmpne 265
       263: .line 4510
            aload 6 /* result */
            new sun.security.x509.SubjectInfoAccessExtension
            dup
            aload 17 /* accessDescriptions */
            invokespecial sun.security.x509.SubjectInfoAccessExtension.<init>:(Ljava/util/List;)V
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
       264: .line 4511
            goto 337
       265: .line 4512
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 6 /* result */
            new sun.security.x509.AuthorityInfoAccessExtension
            dup
            aload 17 /* accessDescriptions */
            invokespecial sun.security.x509.AuthorityInfoAccessExtension.<init>:(Ljava/util/List;)V
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
        end local 18 // java.lang.String[] ps
        end local 17 // java.util.List accessDescriptions
       266: .line 4514
            goto 337
       267: .line 4515
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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;
       268: .line 4516
            ldc "Illegal.value."
       269: .line 4515
            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
       270: .line 4516
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       271: .line 4515
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       272: .line 4520
      StackMap locals:
      StackMap stack:
            aload 10 /* value */
            ifnull 291
       273: .line 4521
            aload 10 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 17 /* ps */
        start local 17 // java.lang.String[] ps
       274: .line 4522
            new sun.security.x509.GeneralNames
            dup
            invokespecial sun.security.x509.GeneralNames.<init>:()V
            astore 18 /* gnames */
        start local 18 // sun.security.x509.GeneralNames gnames
       275: .line 4523
            aload 17 /* ps */
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 284
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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:
       276: aload 22
            iload 20
            aaload
            astore 19 /* item */
        start local 19 // java.lang.String item
       277: .line 4524
            aload 19 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* colonpos */
       278: .line 4525
            iload 13 /* colonpos */
            ifge 280
       279: .line 4526
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal item "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 19 /* 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 7 /* 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
       280: .line 4528
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 19 /* item */
            iconst_0
            iload 13 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 23 /* t */
        start local 23 // java.lang.String t
       281: .line 4529
            aload 19 /* item */
            iload 13 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 24 /* v */
        start local 24 // java.lang.String v
       282: .line 4530
            aload 18 /* gnames */
            aload 0 /* this */
            aload 23 /* t */
            aload 24 /* 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 24 // java.lang.String v
        end local 23 // java.lang.String t
        end local 19 // java.lang.String item
       283: .line 4523
            iinc 20 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 sun.security.x509.CertificateExtensions 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:
       284: iload 20
            iload 21
            if_icmplt 276
       285: .line 4532
            aload 6 /* result */
            new sun.security.x509.CRLDistributionPointsExtension
            dup
       286: .line 4533
            iload 11 /* isCritical */
       287: .line 4534
            new sun.security.x509.DistributionPoint
            dup
            aload 18 /* gnames */
            aconst_null
            aconst_null
            invokespecial sun.security.x509.DistributionPoint.<init>:(Lsun/security/x509/GeneralNames;[ZLsun/security/x509/GeneralNames;)V
       288: .line 4533
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokespecial sun.security.x509.CRLDistributionPointsExtension.<init>:(ZLjava/util/List;)V
       289: .line 4532
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
        end local 18 // sun.security.x509.GeneralNames gnames
        end local 17 // java.lang.String[] ps
       290: .line 4535
            goto 337
       291: .line 4536
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 4537
            ldc "Illegal.value."
       293: .line 4536
            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 4537
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       295: .line 4536
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       296: .line 4541
      StackMap locals:
      StackMap stack:
            new sun.security.util.ObjectIdentifier
            dup
            aload 9 /* name */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 17 /* oid */
        start local 17 // sun.security.util.ObjectIdentifier oid
       297: .line 4542
            aconst_null
            astore 18 /* data */
        start local 18 // byte[] data
       298: .line 4543
            aload 10 /* value */
            ifnull 326
       299: .line 4544
            aload 10 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_2
            idiv
            iconst_1
            iadd
            newarray 8
            astore 18 /* data */
       300: .line 4545
            iconst_0
            istore 19 /* pos */
        start local 19 // int pos
       301: .line 4546
            aload 10 /* value */
            invokevirtual java.lang.String.toCharArray:()[C
            dup
            astore 23
            arraylength
            istore 22
            iconst_0
            istore 21
            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 sun.security.x509.CertificateExtensions 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 23
            iload 21
            caload
            istore 20 /* c */
        start local 20 // char c
       303: .line 4548
            iload 20 /* c */
            bipush 48
            if_icmplt 306
            iload 20 /* c */
            bipush 57
            if_icmpgt 306
       304: .line 4549
            iload 20 /* c */
            bipush 48
            isub
            istore 24 /* hex */
        start local 24 // int hex
       305: .line 4550
            goto 311
        end local 24 // 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 sun.security.x509.CertificateExtensions 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 20 /* c */
            bipush 65
            if_icmplt 309
            iload 20 /* c */
            bipush 70
            if_icmpgt 309
       307: .line 4551
            iload 20 /* c */
            bipush 65
            isub
            bipush 10
            iadd
            istore 24 /* hex */
        start local 24 // int hex
       308: .line 4552
            goto 311
        end local 24 // int hex
      StackMap locals:
      StackMap stack:
       309: iload 20 /* c */
            bipush 97
            if_icmplt 316
            iload 20 /* c */
            bipush 102
            if_icmpgt 316
       310: .line 4553
            iload 20 /* c */
            bipush 97
            isub
            bipush 10
            iadd
            istore 24 /* hex */
        start local 24 // int hex
       311: .line 4557
      StackMap locals: int
      StackMap stack:
            iload 19 /* pos */
            iconst_2
            irem
            ifne 314
       312: .line 4558
            aload 18 /* data */
            iload 19 /* pos */
            iconst_2
            idiv
            iload 24 /* hex */
            iconst_4
            ishl
            i2b
            bastore
       313: .line 4559
            goto 315
       314: .line 4560
      StackMap locals:
      StackMap stack:
            aload 18 /* data */
            iload 19 /* pos */
            iconst_2
            idiv
            dup2
            baload
            iload 24 /* hex */
            iadd
            i2b
            bastore
       315: .line 4562
      StackMap locals:
      StackMap stack:
            iinc 19 /* pos */ 1
        end local 24 // int hex
        end local 20 // char c
       316: .line 4546
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 21 1
      StackMap locals:
      StackMap stack:
       317: iload 21
            iload 22
            if_icmplt 302
       318: .line 4564
            iload 19 /* pos */
            iconst_2
            irem
            ifeq 324
       319: .line 4565
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       320: .line 4566
            ldc "Odd.number.of.hex.digits.found."
       321: .line 4565
            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 4566
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       323: .line 4565
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       324: .line 4568
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 18 /* data */
            iload 19 /* pos */
            iconst_2
            idiv
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 18 /* data */
        end local 19 // int pos
       325: .line 4569
            goto 327
       326: .line 4570
      StackMap locals:
      StackMap stack:
            iconst_0
            newarray 8
            astore 18 /* data */
       327: .line 4572
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            new sun.security.x509.Extension
            dup
            aload 17 /* oid */
            iload 11 /* isCritical */
       328: .line 4573
            new sun.security.util.DerValue
            dup
            iconst_4
            aload 18 /* data */
            invokespecial sun.security.util.DerValue.<init>:(B[B)V
       329: .line 4574
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.x509.Extension.<init>:(Lsun/security/util/ObjectIdentifier;Z[B)V
       330: .line 4572
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
       331: .line 4575
            goto 337
        end local 18 // byte[] data
        end local 17 // sun.security.util.ObjectIdentifier oid
       332: .line 4577
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions 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 4578
            ldc "Unknown.extension.type."
       334: .line 4577
            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 4578
            aload 7 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       336: .line 4577
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // int exttype
        end local 13 // int colonpos
        end local 12 // int eqpos
        end local 11 // boolean isCritical
        end local 10 // java.lang.String value
        end local 9 // java.lang.String name
        end local 7 // java.lang.String extstr
       337: .line 4314
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 64
       338: .line 4582
            aload 6 /* result */
            new sun.security.x509.SubjectKeyIdentifierExtension
            dup
       339: .line 4583
            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
            invokespecial sun.security.x509.SubjectKeyIdentifierExtension.<init>:([B)V
       340: .line 4582
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
       341: .line 4584
            aload 5 /* akey */
            ifnull 348
            aload 4 /* pkey */
            aload 5 /* akey */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 348
       342: .line 4585
            aload 6 /* result */
            new sun.security.x509.AuthorityKeyIdentifierExtension
            dup
       343: .line 4586
            new sun.security.x509.KeyIdentifier
            dup
            aload 5 /* akey */
            invokespecial sun.security.x509.KeyIdentifier.<init>:(Ljava/security/PublicKey;)V
            aconst_null
            aconst_null
            invokespecial sun.security.x509.AuthorityKeyIdentifierExtension.<init>:(Lsun/security/x509/KeyIdentifier;Lsun/security/x509/GeneralNames;Lsun/security/x509/SerialNumber;)V
       344: .line 4585
            invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
       345: .line 4588
            goto 348
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions
      StackMap stack: java.io.IOException
       346: astore 7 /* e */
        start local 7 // java.io.IOException e
       347: .line 4589
            new java.lang.RuntimeException
            dup
            aload 7 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException e
       348: .line 4591
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            areturn
        end local 6 // sun.security.x509.CertificateExtensions result
        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 existingEx
        end local 1 // sun.security.x509.CertificateExtensions requestedEx
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  349     0                this  Lsun/security/tools/keytool/Main;
            0  349     1         requestedEx  Lsun/security/x509/CertificateExtensions;
            0  349     2          existingEx  Lsun/security/x509/CertificateExtensions;
            0  349     3             extstrs  Ljava/util/List<Ljava/lang/String;>;
            0  349     4                pkey  Ljava/security/PublicKey;
            0  349     5                akey  Ljava/security/PublicKey;
            3  349     6              result  Lsun/security/x509/CertificateExtensions;
            6    7     7                  ex  Lsun/security/x509/Extension;
           10   63     7            request2  Lsun/security/x509/CertificateExtensions;
           12   13     8                  ex  Lsun/security/x509/Extension;
           16   62     8              extstr  Ljava/lang/String;
           19   62    10                list  Ljava/util/List<Ljava/lang/String;>;
           22   23    11                  ex  Lsun/security/x509/Extension;
           26   60    11                item  Ljava/lang/String;
           31   33    13                 add  Z
           34   60    13                 add  Z
           28   60    14              action  I
           29   60    15                type  Ljava/lang/String;
           35   47    16            colonpos  I
           48   60    16                   n  Ljava/lang/String;
           50   58    17                   e  Lsun/security/x509/Extension;
           65  337     7              extstr  Ljava/lang/String;
           69   71     9                name  Ljava/lang/String;
           72  337     9                name  Ljava/lang/String;
           70   71    10               value  Ljava/lang/String;
           73  337    10               value  Ljava/lang/String;
           66  337    11          isCritical  Z
           67  337    12               eqpos  I
           74  337    13            colonpos  I
           81  337    14             exttype  I
           83  117    15             pathLen  I
           84  117    16                isCA  Z
           93  111    17                part  Ljava/lang/String;
           94  111    21                  nv  [Ljava/lang/String;
          119  145    17                  ok  [Z
          121  137    18                   s  Ljava/lang/String;
          133  137    22                   p  I
          140  145    18                 kue  Lsun/security/x509/KeyUsageExtension;
          153  183    17                   v  Ljava/util/Vector<Lsun/security/util/ObjectIdentifier;>;
          155  180    18                   s  Ljava/lang/String;
          167  180    22                   p  I
          191  210    17                  ps  [Ljava/lang/String;
          192  210    18              gnames  Lsun/security/x509/GeneralNames;
          194  200    19                item  Ljava/lang/String;
          198  200    23                   t  Ljava/lang/String;
          199  200    24                   v  Ljava/lang/String;
          225  266    17  accessDescriptions  Ljava/util/List<Lsun/security/x509/AccessDescription;>;
          226  266    18                  ps  [Ljava/lang/String;
          228  260    19                item  Ljava/lang/String;
          230  260    23           colonpos2  I
          237  260    24                   m  Ljava/lang/String;
          238  260    25                   t  Ljava/lang/String;
          239  260    26                   v  Ljava/lang/String;
          247  260    27                   p  I
          249  250    28                 oid  Lsun/security/util/ObjectIdentifier;
          257  260    28                 oid  Lsun/security/util/ObjectIdentifier;
          274  290    17                  ps  [Ljava/lang/String;
          275  290    18              gnames  Lsun/security/x509/GeneralNames;
          277  283    19                item  Ljava/lang/String;
          281  283    23                   t  Ljava/lang/String;
          282  283    24                   v  Ljava/lang/String;
          297  332    17                 oid  Lsun/security/util/ObjectIdentifier;
          298  332    18                data  [B
          301  325    19                 pos  I
          303  316    20                   c  C
          305  306    24                 hex  I
          308  309    24                 hex  I
          311  316    24                 hex  I
          347  348     7                   e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          87    89      90  Class java.lang.NumberFormatException
         168   169     170  Class java.lang.Exception
         248   249     250  Class java.lang.Exception
           8   345     346  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
      requestedEx  
      existingEx   
      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 4595
            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 4596
            iconst_1
            ireturn
         2: .line 4598
      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 4599
            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 4605
            aload 2 /* sigAlg */
            ifnull 7
            getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
         1: .line 4606
            getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
            aload 2 /* sigAlg */
            aconst_null
         2: .line 4605
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
         3: .line 4606
            ifne 7
         4: .line 4607
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
         5: .line 4608
            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 4607
            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 4610
      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 4611
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
         9: .line 4612
            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 4613
            aload 1 /* label */
            aastore
            dup
            iconst_1
        11: .line 4614
            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 4615
            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 4614
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aastore
        14: .line 4611
            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 4617
      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 4621
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 10
         2: .line 4622
      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 4623
            aload 4 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 9
         4: .line 4624
            aload 4 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 5 /* xc */
        start local 5 // java.security.cert.X509Certificate xc
         5: .line 4625
            aload 1 /* label */
            astore 6 /* fullLabel */
        start local 6 // java.lang.String fullLabel
         6: .line 4626
            aload 2 /* certs */
            arraylength
            iconst_1
            if_icmple 8
         7: .line 4627
            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 4629
      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 4621
      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 4632
            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 4636
            aload 2 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 6
         1: .line 4637
            aload 2 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 3 /* xc */
        start local 3 // java.security.cert.X509Certificate xc
         2: .line 4639
            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 4640
            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 4642
      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 4645
            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 4646
            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 4649
            aload 2 /* crl */
            instanceof sun.security.x509.X509CRLImpl
            ifeq 3
         1: .line 4650
            aload 2 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            astore 4 /* impl */
        start local 4 // sun.security.x509.X509CRLImpl impl
         2: .line 4651
            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 4653
      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 4656
            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 4657
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "\nWarning:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 4658
            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 4659
            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 4658
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 4661
            iload 1 /* newLine */
            ifeq 8
         7: .line 4663
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         8: .line 4666
      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 4667
            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=11, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 4673
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnull 53
         1: .line 4674
            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 4675
            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 4674
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 4676
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         5: .line 4677
            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 4678
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         7: .line 4679
            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 4680
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         9: .line 4684
            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 4685
            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 4688
            iconst_0
            istore 3 /* lenLeft */
        start local 3 // int lenLeft
        12: .line 4690
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        13: goto 27
        14: .line 4691
      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 4692
            aload 1 /* left */
            iload 4 /* j */
            aload 5 /* opt */
            invokevirtual sun.security.tools.keytool.Main$Option.toString:()Ljava/lang/String;
            aastore
        16: .line 4693
            aload 5 /* opt */
            getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
            ifnull 18
        17: .line 4694
            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
        18: .line 4696
      StackMap locals: sun.security.tools.keytool.Main$Option
      StackMap stack:
            aload 1 /* left */
            iload 4 /* j */
            aaload
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* lefts */
        start local 6 // java.lang.String[] lefts
        19: .line 4697
            aload 6 /* lefts */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 24
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.lang.String[] int int sun.security.tools.keytool.Main$Option java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        20: aload 10
            iload 8
            aaload
            astore 7 /* s */
        start local 7 // java.lang.String s
        21: .line 4698
            aload 7 /* s */
            invokevirtual java.lang.String.length:()I
            iload 3 /* lenLeft */
            if_icmple 23
        22: .line 4699
            aload 7 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* lenLeft */
        end local 7 // java.lang.String s
        23: .line 4697
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        24: iload 8
            iload 9
            if_icmplt 20
        25: .line 4702
            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 6 // java.lang.String[] lefts
        end local 5 // sun.security.tools.keytool.Main$Option opt
        26: .line 4690
            iinc 4 /* j */ 1
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.lang.String[] int int
      StackMap stack:
        27: iload 4 /* j */
            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
            if_icmplt 14
        end local 4 // int j
        28: .line 4704
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        29: goto 47
        30: .line 4705
      StackMap locals:
      StackMap stack:
            aload 1 /* left */
            iload 4 /* j */
            aaload
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 5 /* lefts */
        start local 5 // java.lang.String[] lefts
        31: .line 4706
            aload 2 /* right */
            iload 4 /* j */
            aaload
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* rights */
        start local 6 // java.lang.String[] rights
        32: .line 4707
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        33: goto 45
        34: .line 4708
      StackMap locals: java.lang.String[] java.lang.String[] int
      StackMap stack:
            iload 7 /* i */
            aload 5 /* lefts */
            arraylength
            if_icmpge 35
            aload 5 /* lefts */
            iload 7 /* i */
            aaload
            goto 36
      StackMap locals:
      StackMap stack:
        35: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
        36: astore 8 /* s1 */
        start local 8 // java.lang.String s1
        37: .line 4709
            iload 7 /* i */
            aload 6 /* rights */
            arraylength
            if_icmpge 38
            aload 6 /* rights */
            iload 7 /* i */
            aaload
            goto 39
      StackMap locals: java.lang.String
      StackMap stack:
        38: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
        39: astore 9 /* s2 */
        start local 9 // java.lang.String s2
        40: .line 4710
            iload 7 /* i */
            ifne 43
        41: .line 4711
            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
            aload 8 /* s1 */
            aastore
            dup
            iconst_1
            aload 9 /* s2 */
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        42: .line 4712
            goto 44
        43: .line 4713
      StackMap locals: java.lang.String
      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
            aload 8 /* s1 */
            aastore
            dup
            iconst_1
            aload 9 /* s2 */
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 9 // java.lang.String s2
        end local 8 // java.lang.String s1
        44: .line 4707
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 7 /* i */
            aload 5 /* lefts */
            arraylength
            if_icmpge 46
            iload 7 /* i */
            aload 6 /* rights */
            arraylength
            if_icmplt 34
        end local 7 // int i
        end local 6 // java.lang.String[] rights
        end local 5 // java.lang.String[] lefts
        46: .line 4704
      StackMap locals:
      StackMap stack:
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        47: iload 4 /* j */
            aload 1 /* left */
            arraylength
            if_icmplt 30
        end local 4 // int j
        48: .line 4717
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        49: .line 4718
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        50: .line 4719
            ldc "Use.keytool.help.for.all.available.commands"
        51: .line 4718
            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
        52: .line 4720
            goto 72
        53: .line 4721
      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;
        54: .line 4722
            ldc "Key.and.Certificate.Management.Tool"
        55: .line 4721
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        56: .line 4723
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        57: .line 4724
            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
        58: .line 4725
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        59: .line 4726
            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 64
      StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
        60: aload 4
            iload 2
            aaload
            astore 1 /* c */
        start local 1 // sun.security.tools.keytool.Main$Command c
        61: .line 4727
            aload 1 /* c */
            getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 62
            goto 65
        62: .line 4728
      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
        63: .line 4726
            iinc 2 1
      StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
        64: iload 2
            iload 3
            if_icmplt 60
        65: .line 4730
      StackMap locals: sun.security.tools.keytool.Main
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        66: .line 4731
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        67: .line 4732
            ldc "Use.keytool.help.for.all.available.commands"
        68: .line 4731
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        69: .line 4733
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        70: .line 4734
            ldc "Use.keytool.command.name.help.for.usage.of.command.name"
        71: .line 4733
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        72: .line 4736
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   73     0     this  Lsun/security/tools/keytool/Main;
           10   52     1     left  [Ljava/lang/String;
           11   52     2    right  [Ljava/lang/String;
           12   52     3  lenLeft  I
           13   28     4        j  I
           15   26     5      opt  Lsun/security/tools/keytool/Main$Option;
           19   26     6    lefts  [Ljava/lang/String;
           21   23     7        s  Ljava/lang/String;
           29   48     4        j  I
           31   46     5    lefts  [Ljava/lang/String;
           32   46     6   rights  [Ljava/lang/String;
           33   46     7        i  I
           37   44     8       s1  Ljava/lang/String;
           40   44     9       s2  Ljava/lang/String;
           61   63     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 4739
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
         1: .line 4740
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 3
         2: .line 4741
            new java.lang.RuntimeException
            dup
            ldc "NO BIG ERROR, SORRY"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 4743
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         4: .line 4745
            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 4748
            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 4749
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.text.MessageFormat
            dup
         2: .line 4750
            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 4749
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 4751
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
         5: .line 4752
            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 4755
            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 4756
            aload 3 /* output */
            ifnull 2
            aload 3 /* output */
            areturn
         2: .line 4757
      StackMap locals: char[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
         3: .line 4758
            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       

  private static boolean lambda$0(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String x
         0: .line 498
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 0 /* x */
            ldc "-debug"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.String x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  Ljava/lang/String;
}
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 final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  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
  public Encoder = java.util.Base64$Encoder of java.util.Base64
  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