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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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 112
            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 181
            new sun.security.util.DisabledAlgorithmConstraints
            dup
         2: .line 182
            ldc "jdk.certpath.disabledAlgorithms"
         3: .line 181
            invokespecial sun.security.util.DisabledAlgorithmConstraints.<init>:(Ljava/lang/String;)V
         4: .line 180
            putstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
         5: .line 185
            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 184
            putstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
         7: .line 340
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            putstatic sun.security.tools.keytool.Main.PARAM_STRING:[Ljava/lang/Class;
         8: .line 350
            ldc "sun.security.tools.keytool.Resources"
         9: .line 349
            invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
        10: .line 348
            putstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        11: .line 351
            invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
            putstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
        12: .line 354
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            iconst_0
            invokevirtual java.text.Collator.setStrength:(I)V
        13: .line 3966
            bipush 9
            anewarray java.lang.String
            dup
            iconst_0
        14: .line 3967
            ldc "BasicConstraints"
            aastore
            dup
            iconst_1
        15: .line 3968
            ldc "KeyUsage"
            aastore
            dup
            iconst_2
        16: .line 3969
            ldc "ExtendedKeyUsage"
            aastore
            dup
            iconst_3
        17: .line 3970
            ldc "SubjectAlternativeName"
            aastore
            dup
            iconst_4
        18: .line 3971
            ldc "IssuerAlternativeName"
            aastore
            dup
            iconst_5
        19: .line 3972
            ldc "SubjectInfoAccess"
            aastore
            dup
            bipush 6
        20: .line 3973
            ldc "AuthorityInfoAccess"
            aastore
            dup
            bipush 8
        21: .line 3975
            ldc "CRLDistributionPoints"
            aastore
        22: .line 3966
            putstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
        23: .line 3976
            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 357
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 114
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.debug:Z
         2: .line 115
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
         3: .line 116
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
         4: .line 117
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
         5: .line 118
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.verbose:Z
         6: .line 119
            aload 0 /* this */
            iconst_m1
            putfield sun.security.tools.keytool.Main.keysize:I
         7: .line 120
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.rfc:Z
         8: .line 121
            aload 0 /* this */
            ldc 90
            putfield sun.security.tools.keytool.Main.validity:J
         9: .line 122
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
        10: .line 123
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
        11: .line 124
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
        12: .line 125
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
        13: .line 126
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
        14: .line 127
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
        15: .line 128
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
        16: .line 136
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
        17: .line 137
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
        18: .line 138
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
        19: .line 139
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
        20: .line 140
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
        21: .line 141
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
        22: .line 142
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePassNew:[C
        23: .line 143
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyPass:[C
        24: .line 144
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
        25: .line 145
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.newPass:[C
        26: .line 146
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.destKeyPass:[C
        27: .line 147
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        28: .line 148
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        29: .line 149
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
        30: .line 150
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
        31: .line 151
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
        32: .line 152
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
        33: .line 153
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
        34: .line 154
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.token:Z
        35: .line 155
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.nullStream:Z
        36: .line 156
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.kssave:Z
        37: .line 157
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.noprompt:Z
        38: .line 158
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
        39: .line 159
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.nowarn:Z
        40: .line 160
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.protectedPath:Z
        41: .line 161
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
        42: .line 162
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
        43: .line 163
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
        44: .line 164
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcstorePass:[C
        45: .line 165
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
        46: .line 166
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
        47: .line 167
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
        48: .line 169
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
        49: .line 170
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        50: .line 174
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.inplaceImport:Z
        51: .line 175
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
        52: .line 178
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
        53: .line 357
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   54     0  this  Lsun/security/tools/keytool/Main;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 360
            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 361
            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 362
            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 366
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual sun.security.tools.keytool.Main.parseArgs:([Ljava/lang/String;)V
         1: .line 367
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnull 32
         2: .line 368
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.doCommands:(Ljava/io/PrintStream;)V
         3: .line 370
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: astore 3 /* e */
        start local 3 // java.lang.Exception e
         5: .line 371
            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 372
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 8
         7: .line 373
            aload 3 /* e */
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
         8: .line 375
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifne 11
         9: .line 376
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        10: .line 377
            goto 12
        11: .line 378
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // java.lang.Exception e
        12: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        13: .line 382
            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 383
            aload 5 /* pass */
            ifnull 18
        16: .line 384
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        17: .line 385
            aconst_null
            astore 5
        end local 5 // char[] pass
        18: .line 382
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        19: .line 389
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 41
        20: .line 390
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
            goto 41
        21: .line 380
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
      StackMap stack: java.lang.Throwable
            astore 4
        22: .line 381
            aload 0 /* this */
            iconst_0
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        23: .line 382
            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 383
            aload 5 /* pass */
            ifnull 28
        26: .line 384
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        27: .line 385
            aconst_null
            astore 5
        end local 5 // char[] pass
        28: .line 382
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        29: .line 389
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 31
        30: .line 390
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        31: .line 392
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        32: .line 381
      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 382
            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 383
            aload 5 /* pass */
            ifnull 38
        36: .line 384
            aload 5 /* pass */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        37: .line 385
            aconst_null
            astore 5
        end local 5 // char[] pass
        38: .line 382
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        39: .line 389
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 41
        40: .line 390
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        41: .line 393
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
      StackMap stack:
            return
        end local 2 // java.io.PrintStream out
        end local 1 // java.lang.String[] args
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0  this  Lsun/security/tools/keytool/Main;
            0   42     1  args  [Ljava/lang/String;
            0   42     2   out  Ljava/io/PrintStream;
            5   12     3     e  Ljava/lang/Exception;
           15   18     5  pass  [C
           25   28     5  pass  [C
           35   38     5  pass  [C
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
           0    12      21  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      args  
      out   

  void parseArgs(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String[] args
         0: .line 400
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 401
            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 403
            iconst_0
            istore 2 /* i */
            goto 184
         5: .line 405
      StackMap locals: int
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            aaload
            astore 4 /* flags */
        start local 4 // java.lang.String flags
         6: .line 408
            iload 2 /* i */
            aload 1 /* args */
            arraylength
            iconst_1
            isub
            if_icmpne 14
         7: .line 409
            invokestatic sun.security.tools.keytool.Main$Option.values:()[Lsun/security/tools/keytool/Main$Option;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 13
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String top int int sun.security.tools.keytool.Main$Option[]
      StackMap stack:
         8: aload 8
            iload 6
            aaload
            astore 5 /* option */
        start local 5 // sun.security.tools.keytool.Main$Option option
         9: .line 411
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            aload 5 /* option */
            invokevirtual sun.security.tools.keytool.Main$Option.toString:()Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 12
        10: .line 412
            aload 5 /* option */
            getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
            ifnull 14
            aload 0 /* this */
            aload 4 /* flags */
            invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
        11: .line 413
            goto 14
        end local 5 // sun.security.tools.keytool.Main$Option option
        12: .line 409
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        13: iload 6
            iload 7
            if_icmplt 8
        14: .line 421
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String
      StackMap stack:
            aconst_null
            astore 5 /* modifier */
        start local 5 // java.lang.String modifier
        15: .line 422
            aload 4 /* flags */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* pos */
        start local 6 // int pos
        16: .line 423
            iload 6 /* pos */
            ifle 19
        17: .line 424
            aload 4 /* flags */
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* modifier */
        18: .line 425
            aload 4 /* flags */
            iconst_0
            iload 6 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* flags */
        19: .line 430
      StackMap locals: java.lang.String int
      StackMap stack:
            iconst_0
            istore 7 /* isCommand */
        start local 7 // boolean isCommand
        20: .line 431
            invokestatic sun.security.tools.keytool.Main$Command.values:()[Lsun/security/tools/keytool/Main$Command;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 27
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.lang.String int int top int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
        21: aload 11
            iload 9
            aaload
            astore 8 /* c */
        start local 8 // sun.security.tools.keytool.Main$Command c
        22: .line 432
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            aload 8 /* c */
            invokevirtual sun.security.tools.keytool.Main$Command.toString:()Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 26
        23: .line 433
            aload 0 /* this */
            aload 8 /* c */
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        24: .line 434
            iconst_1
            istore 7 /* isCommand */
        25: .line 435
            goto 28
        end local 8 // sun.security.tools.keytool.Main$Command c
        26: .line 431
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        27: iload 9
            iload 10
            if_icmplt 21
        28: .line 439
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.lang.String int int
      StackMap stack:
            iload 7 /* isCommand */
            ifne 183
        29: .line 441
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-export"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 32
        30: .line 442
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main$Command.EXPORTCERT:Lsun/security/tools/keytool/Main$Command;
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        31: .line 443
            goto 183
      StackMap locals:
      StackMap stack:
        32: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-genkey"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 35
        33: .line 444
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        34: .line 445
            goto 183
      StackMap locals:
      StackMap stack:
        35: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-import"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 38
        36: .line 446
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        37: .line 447
            goto 183
      StackMap locals:
      StackMap stack:
        38: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-importpassword"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 41
        39: .line 448
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
        40: .line 449
            goto 183
      StackMap locals:
      StackMap stack:
        41: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-help"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 44
        42: .line 450
            iconst_1
            istore 3 /* help */
        43: .line 451
            goto 183
      StackMap locals:
      StackMap stack:
        44: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-nowarn"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 47
        45: .line 452
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.nowarn:Z
        46: .line 453
            goto 183
        47: .line 458
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-keystore"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 49
        48: .line 459
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destkeystore"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 51
        49: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
        50: .line 461
            goto 183
      StackMap locals:
      StackMap stack:
        51: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-storepass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 53
        52: .line 462
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-deststorepass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 56
        53: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.storePass:[C
        54: .line 464
            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
        55: .line 465
            goto 183
      StackMap locals:
      StackMap stack:
        56: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-storetype"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 58
        57: .line 466
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-deststoretype"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 60
        58: .line 467
      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;
        59: .line 468
            goto 183
      StackMap locals:
      StackMap stack:
        60: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcstorepass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 64
        61: .line 469
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.srcstorePass:[C
        62: .line 470
            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
        63: .line 471
            goto 183
      StackMap locals:
      StackMap stack:
        64: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcstoretype"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 67
        65: .line 472
            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;
        66: .line 473
            goto 183
      StackMap locals:
      StackMap stack:
        67: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srckeypass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 71
        68: .line 474
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        69: .line 475
            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
        70: .line 476
            goto 183
      StackMap locals:
      StackMap stack:
        71: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcprovidername"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 74
        72: .line 477
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
        73: .line 478
            goto 183
      StackMap locals:
      StackMap stack:
        74: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-providername"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 76
        75: .line 479
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destprovidername"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 78
        76: .line 480
      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;
        77: .line 481
            goto 183
      StackMap locals:
      StackMap stack:
        78: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-providerpath"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 81
        79: .line 482
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
        80: .line 483
            goto 183
      StackMap locals:
      StackMap stack:
        81: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-keypass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 85
        82: .line 484
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.keyPass:[C
        83: .line 485
            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
        84: .line 486
            goto 183
      StackMap locals:
      StackMap stack:
        85: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-new"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 89
        86: .line 487
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.newPass:[C
        87: .line 488
            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
        88: .line 489
            goto 183
      StackMap locals:
      StackMap stack:
        89: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destkeypass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 93
        90: .line 490
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* modifier */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
            putfield sun.security.tools.keytool.Main.destKeyPass:[C
        91: .line 491
            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
        92: .line 492
            goto 183
      StackMap locals:
      StackMap stack:
        93: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-alias"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 95
        94: .line 493
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcalias"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 97
        95: .line 494
      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;
        96: .line 495
            goto 183
      StackMap locals:
      StackMap stack:
        97: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-dest"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 99
        98: .line 496
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destalias"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 101
        99: .line 497
      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;
       100: .line 498
            goto 183
      StackMap locals:
      StackMap stack:
       101: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-dname"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 104
       102: .line 499
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
       103: .line 500
            goto 183
      StackMap locals:
      StackMap stack:
       104: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-keysize"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 107
       105: .line 501
            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
       106: .line 502
            goto 183
      StackMap locals:
      StackMap stack:
       107: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-keyalg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 110
       108: .line 503
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       109: .line 504
            goto 183
      StackMap locals:
      StackMap stack:
       110: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-sigalg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 113
       111: .line 505
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
       112: .line 506
            goto 183
      StackMap locals:
      StackMap stack:
       113: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-startdate"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 116
       114: .line 507
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
       115: .line 508
            goto 183
      StackMap locals:
      StackMap stack:
       116: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-validity"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 119
       117: .line 509
            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
       118: .line 510
            goto 183
      StackMap locals:
      StackMap stack:
       119: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-ext"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 122
       120: .line 511
            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
       121: .line 512
            goto 183
      StackMap locals:
      StackMap stack:
       122: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-id"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 125
       123: .line 513
            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
       124: .line 514
            goto 183
      StackMap locals:
      StackMap stack:
       125: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-file"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 128
       126: .line 515
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
       127: .line 516
            goto 183
      StackMap locals:
      StackMap stack:
       128: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-infile"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 131
       129: .line 517
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
       130: .line 518
            goto 183
      StackMap locals:
      StackMap stack:
       131: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-outfile"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 134
       132: .line 519
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
       133: .line 520
            goto 183
      StackMap locals:
      StackMap stack:
       134: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-sslserver"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 137
       135: .line 521
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
       136: .line 522
            goto 183
      StackMap locals:
      StackMap stack:
       137: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-jarfile"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 140
       138: .line 523
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
       139: .line 524
            goto 183
      StackMap locals:
      StackMap stack:
       140: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srckeystore"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 143
       141: .line 525
            aload 0 /* this */
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
       142: .line 526
            goto 183
      StackMap locals:
      StackMap stack:
       143: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-provider"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 145
       144: .line 527
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-providerclass"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 159
       145: .line 528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            ifnonnull 147
       146: .line 529
            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;
       147: .line 531
      StackMap locals:
      StackMap stack:
            aload 1 /* args */
            iinc 2 /* i */ 1
            iload 2 /* i */
            aaload
            astore 8 /* providerClass */
        start local 8 // java.lang.String providerClass
       148: .line 532
            aconst_null
            astore 9 /* providerArg */
        start local 9 // java.lang.String providerArg
       149: .line 534
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_1
            iadd
            if_icmple 155
       150: .line 535
            aload 1 /* args */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            astore 4 /* flags */
       151: .line 536
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-providerarg"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 155
       152: .line 537
            aload 1 /* args */
            arraylength
            iload 2 /* i */
            iconst_2
            iadd
            if_icmpne 153
            aload 0 /* this */
            aload 4 /* flags */
            invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
       153: .line 538
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* args */
            iload 2 /* i */
            iconst_2
            iadd
            aaload
            astore 9 /* providerArg */
       154: .line 539
            iinc 2 /* i */ 2
       155: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
       156: .line 543
            aload 8 /* providerClass */
            aload 9 /* providerArg */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
       157: .line 542
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.String providerArg
        end local 8 // java.lang.String providerClass
       158: .line 544
            goto 183
       159: .line 549
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-v"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 162
       160: .line 550
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.verbose:Z
       161: .line 551
            goto 183
      StackMap locals:
      StackMap stack:
       162: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-debug"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 165
       163: .line 552
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.debug:Z
       164: .line 553
            goto 183
      StackMap locals:
      StackMap stack:
       165: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-rfc"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 168
       166: .line 554
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.rfc:Z
       167: .line 555
            goto 183
      StackMap locals:
      StackMap stack:
       168: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-noprompt"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 171
       169: .line 556
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.noprompt:Z
       170: .line 557
            goto 183
      StackMap locals:
      StackMap stack:
       171: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-trustcacerts"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 174
       172: .line 558
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
       173: .line 559
            goto 183
      StackMap locals:
      StackMap stack:
       174: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-protected"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 176
       175: .line 560
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-destprotected"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 178
       176: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.protectedPath:Z
       177: .line 562
            goto 183
      StackMap locals:
      StackMap stack:
       178: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 4 /* flags */
            ldc "-srcprotected"
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 181
       179: .line 563
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
       180: .line 564
            goto 183
       181: .line 565
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Illegal.option."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* flags */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       182: .line 566
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        end local 7 // boolean isCommand
        end local 6 // int pos
        end local 5 // java.lang.String modifier
        end local 4 // java.lang.String flags
       183: .line 403
      StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
       184: iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmpge 185
            aload 1 /* args */
            iload 2 /* i */
            aaload
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
       185: .line 570
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 1 /* args */
            arraylength
            if_icmpge 188
       186: .line 571
            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
       187: .line 572
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       188: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnonnull 195
       189: .line 576
            iload 3 /* help */
            ifeq 192
       190: .line 577
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
       191: .line 578
            goto 198
       192: .line 579
      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
       193: .line 580
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
       194: .line 582
            goto 198
      StackMap locals:
      StackMap stack:
       195: iload 3 /* help */
            ifeq 198
       196: .line 583
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
       197: .line 584
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
       198: .line 586
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean help
        end local 2 // int i
        end local 1 // java.lang.String[] args
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  199     0           this  Lsun/security/tools/keytool/Main;
            0  199     1           args  [Ljava/lang/String;
            1  199     2              i  I
            4  199     3           help  Z
            6  183     4          flags  Ljava/lang/String;
            9   12     5         option  Lsun/security/tools/keytool/Main$Option;
           15  183     5       modifier  Ljava/lang/String;
           16  183     6            pos  I
           20  183     7      isCommand  Z
           22   26     8              c  Lsun/security/tools/keytool/Main$Command;
          148  158     8  providerClass  Ljava/lang/String;
          149  158     9    providerArg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

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

  void doCommands(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=11, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.PrintStream out
         0: .line 597
            ldc "PKCS11"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 2
         1: .line 598
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.token:Z
         3: .line 600
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnonnull 5
         4: .line 601
            aload 0 /* this */
            ldc "NONE"
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
         5: .line 604
      StackMap locals:
      StackMap stack:
            ldc "NONE"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 605
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.nullStream:Z
         7: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 15
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 15
         8: .line 609
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 610
            ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
        10: .line 609
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        11: .line 610
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        12: .line 609
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        13: .line 611
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        14: .line 612
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        15: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 22
        16: .line 616
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 17
            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 22
        17: .line 617
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        18: .line 618
            ldc ".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}"
        19: .line 617
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        20: .line 618
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        21: .line 617
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 28
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 23
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnonnull 23
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 28
        23: .line 622
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        24: .line 623
            ldc ".keypass.and.new.can.not.be.specified.if.storetype.is.{0}"
        25: .line 622
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 623
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aastore
        27: .line 622
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifeq 34
        29: .line 627
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 31
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 31
        30: .line 628
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnonnull 31
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 34
        31: .line 629
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        32: .line 630
            ldc "if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified"
        33: .line 629
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        34: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
            ifeq 39
        35: .line 635
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 36
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 39
        36: .line 636
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 637
            ldc "if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified"
        38: .line 636
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 641
      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 45
        40: .line 642
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 42
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 42
        41: .line 643
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnonnull 42
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 45
        42: .line 644
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        43: .line 645
            ldc "if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified"
        44: .line 644
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 649
      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 50
        46: .line 650
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 47
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 50
        47: .line 651
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        48: .line 652
            ldc "if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified"
        49: .line 651
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            lconst_0
            lcmp
            ifgt 54
        51: .line 657
            new java.lang.Exception
            dup
        52: .line 658
            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;
        53: .line 657
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 662
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            ifnull 88
        55: .line 663
            aconst_null
            astore 2 /* cl */
        start local 2 // java.lang.ClassLoader cl
        56: .line 664
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
            ifnull 66
        57: .line 665
            aconst_null
            astore 3 /* path */
        start local 3 // java.lang.String path
        58: .line 667
            aload 3 /* path */
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        59: .line 666
            invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        60: .line 669
            aload 3 /* path */
            ldc "env.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        61: .line 668
            invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        62: .line 670
            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 */
        63: .line 672
            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
        64: .line 673
            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
        65: .line 674
            goto 67
        66: .line 675
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* cl */
        67: .line 678
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 87
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
      StackMap stack:
        68: 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
        69: .line 679
            aload 3 /* provider */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* provName */
        start local 5 // java.lang.String provName
        70: .line 681
            aload 2 /* cl */
            ifnull 73
        71: .line 682
            aload 2 /* cl */
            aload 5 /* provName */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* provClass */
        start local 6 // java.lang.Class provClass
        72: .line 683
            goto 74
        end local 6 // java.lang.Class provClass
        73: .line 684
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader sun.security.tools.keytool.Pair java.util.Iterator java.lang.String
      StackMap stack:
            aload 5 /* provName */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* provClass */
        start local 6 // java.lang.Class provClass
        74: .line 687
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* provider */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* provArg */
        start local 7 // java.lang.String provArg
        75: .line 689
            aload 7 /* provArg */
            ifnonnull 78
        76: .line 690
            aload 6 /* provClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 8 /* obj */
        start local 8 // java.lang.Object obj
        77: .line 691
            goto 80
        end local 8 // java.lang.Object obj
        78: .line 692
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* provClass */
            getstatic sun.security.tools.keytool.Main.PARAM_STRING:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 9 /* c */
        start local 9 // java.lang.reflect.Constructor c
        79: .line 693
            aload 9 /* c */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* provArg */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* obj */
        end local 9 // java.lang.reflect.Constructor c
        start local 8 // java.lang.Object obj
        80: .line 695
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* obj */
            instanceof java.security.Provider
            ifne 86
        81: .line 696
            new java.text.MessageFormat
            dup
        82: .line 697
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "provName.not.a.provider"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        83: .line 696
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        84: .line 698
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* provName */
            aastore
            astore 10 /* source */
        start local 10 // java.lang.Object[] source
        85: .line 699
            new java.lang.Exception
            dup
            aload 9 /* form */
            aload 10 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.Object[] source
        end local 9 // java.text.MessageFormat form
        86: .line 701
      StackMap locals:
      StackMap stack:
            aload 8 /* obj */
            checkcast java.security.Provider
            invokestatic java.security.Security.addProvider:(Ljava/security/Provider;)I
            pop
        end local 8 // java.lang.Object obj
        end local 7 // java.lang.String provArg
        end local 6 // java.lang.Class provClass
        end local 5 // java.lang.String provName
        end local 3 // sun.security.tools.keytool.Pair provider
        87: .line 678
      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 68
        end local 2 // java.lang.ClassLoader cl
        88: .line 705
      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 93
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 93
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 93
        89: .line 706
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        90: .line 707
            ldc "Must.not.specify.both.v.and.rfc.with.list.command"
        91: .line 706
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        92: .line 708
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        93: .line 712
      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 97
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 97
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            arraylength
            bipush 6
            if_icmpge 97
        94: .line 713
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        95: .line 714
            ldc "Key.password.must.be.at.least.6.characters"
        96: .line 713
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        97: .line 716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnull 101
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            arraylength
            bipush 6
            if_icmpge 101
        98: .line 717
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        99: .line 718
            ldc "New.password.must.be.at.least.6.characters"
       100: .line 717
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       101: .line 720
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 105
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            arraylength
            bipush 6
            if_icmpge 105
       102: .line 721
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       103: .line 722
            ldc "New.password.must.be.at.least.6.characters"
       104: .line 721
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       105: .line 726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnonnull 109
       106: .line 727
            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;
       107: .line 728
            ldc ".keystore"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       108: .line 727
            putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
       109: .line 731
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* srcKeyStore */
        start local 2 // java.security.KeyStore srcKeyStore
       110: .line 732
            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 116
       111: .line 733
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.inplaceImportCheck:()Z
            putfield sun.security.tools.keytool.Main.inplaceImport:Z
       112: .line 734
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 116
       113: .line 737
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
            astore 2 /* srcKeyStore */
       114: .line 738
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 116
       115: .line 739
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            putfield sun.security.tools.keytool.Main.storePass:[C
       116: .line 752
      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 139
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 139
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifne 139
       117: .line 754
            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;
       118: .line 756
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 124
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual java.io.File.length:()J
            lconst_0
            lcmp
            ifne 124
       119: .line 757
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       120: .line 758
            ldc "Keystore.file.exists.but.is.empty."
       121: .line 757
            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
       122: .line 758
            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;
       123: .line 757
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       124: .line 760
      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;
       125: .line 761
            goto 139
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
       126: pop
       127: .line 762
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 139
       128: .line 763
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENSECKEY:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 139
       129: .line 764
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 139
       130: .line 765
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 139
       131: .line 766
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 139
       132: .line 767
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 139
       133: .line 768
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 139
       134: .line 769
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       135: .line 770
            ldc "Keystore.file.does.not.exist."
       136: .line 769
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       137: .line 770
            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;
       138: .line 769
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       139: .line 775
      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 140
            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 146
       140: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            ifnonnull 146
       141: .line 777
            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;
       142: .line 778
            ldc ""
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 146
       143: .line 779
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       144: .line 780
            ldc "Must.specify.destination.alias"
       145: .line 779
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       146: .line 784
      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 150
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 150
       147: .line 785
            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;
       148: .line 786
            ldc ""
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 150
       149: .line 787
            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
       150: .line 792
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            ifnonnull 152
       151: .line 793
            aload 0 /* this */
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
       152: .line 795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            ifnonnull 155
       153: .line 796
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       154: .line 797
            goto 156
       155: .line 798
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       156: .line 821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 163
       157: .line 822
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 160
       158: .line 823
            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
       159: .line 824
            goto 161
       160: .line 825
      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
       161: .line 827
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 163
       162: .line 828
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
       163: .line 832
      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 167
            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 167
       164: .line 833
            new java.lang.UnsupportedOperationException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       165: .line 834
            ldc ".keypasswd.commands.not.supported.if.storetype.is.PKCS12"
       166: .line 833
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
       167: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 170
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 170
       168: .line 841
            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
       169: .line 842
            goto 239
      StackMap locals:
      StackMap stack:
       170: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 175
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 175
       171: .line 845
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnonnull 239
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            arraylength
            bipush 6
            if_icmpge 239
       172: .line 846
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       173: .line 847
            ldc "Keystore.password.must.be.at.least.6.characters"
       174: .line 846
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       175: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 239
       176: .line 853
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 224
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 224
       177: .line 854
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.CERTREQ:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 190
       178: .line 855
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.DELETE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 190
       179: .line 856
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 190
       180: .line 857
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.GENSECKEY:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 190
       181: .line 858
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 190
       182: .line 859
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 190
       183: .line 860
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 190
       184: .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.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 190
       185: .line 862
            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 190
       186: .line 863
            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 190
       187: .line 864
            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 190
       188: .line 865
            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 190
       189: .line 866
            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 224
       190: .line 867
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* count */
        start local 3 // int count
       191: .line 869
      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 196
       192: .line 870
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       193: .line 871
            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;
       194: .line 870
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       195: .line 872
            goto 199
       196: .line 873
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       197: .line 874
            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;
       198: .line 873
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
       199: .line 876
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
       200: .line 877
            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
       201: .line 878
            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
       202: .line 882
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 207
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 203
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            arraylength
            bipush 6
            if_icmpge 207
       203: .line 883
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       204: .line 884
            ldc "Keystore.password.is.too.short.must.be.at.least.6.characters"
       205: .line 883
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       206: .line 885
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
       207: .line 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 216
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 216
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnonnull 216
       208: .line 891
            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
       209: .line 892
            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
       210: .line 893
            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
       211: .line 894
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 4 /* storePassAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 216
       212: .line 895
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       213: .line 896
            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;
       214: .line 895
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       215: .line 897
            aload 0 /* this */
            aconst_null
            putfield sun.security.tools.keytool.Main.storePass:[C
        end local 4 // char[] storePassAgain
       216: .line 901
      StackMap locals:
      StackMap stack:
            iinc 3 /* count */ 1
       217: .line 902
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 219
            iload 3 /* count */
            iconst_3
       218: .line 868
            if_icmplt 191
       219: .line 905
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 232
       220: .line 906
            getstatic java.lang.System.err:Ljava/io/PrintStream;
       221: .line 907
            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;
       222: .line 906
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       223: .line 908
            return
        end local 3 // int count
       224: .line 910
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 232
       225: .line 911
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 232
       226: .line 912
            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 232
       227: .line 914
            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 232
       228: .line 915
            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
       229: .line 916
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
       230: .line 917
            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
       231: .line 918
            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
       232: .line 924
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 235
       233: .line 925
            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
       234: .line 926
            goto 239
      StackMap locals:
      StackMap stack:
       235: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            ifnull 239
       236: .line 927
            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;
       237: .line 928
            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
       238: .line 929
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
       239: .line 933
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnull 255
            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 255
       240: .line 934
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       241: .line 935
            ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
       242: .line 934
            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
       243: .line 936
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 247
            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 247
       244: .line 937
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-keypass"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       245: .line 938
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       246: .line 939
            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
       247: .line 941
      StackMap locals: java.text.MessageFormat
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            ifnull 251
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 251
       248: .line 942
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-new"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       249: .line 943
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       250: .line 944
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            putfield sun.security.tools.keytool.Main.newPass:[C
        end local 4 // java.lang.Object[] source
       251: .line 946
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 255
            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 255
       252: .line 947
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-destkeypass"
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       253: .line 948
            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
       254: .line 949
            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
       255: .line 954
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpeq 257
            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 257
       256: .line 955
            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 257
            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 258
       257: .line 956
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "X509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            putfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
       258: .line 962
      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 260
       259: .line 963
            aload 0 /* this */
            iconst_0
            putfield sun.security.tools.keytool.Main.trustcacerts:Z
       260: .line 966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 262
       261: .line 967
            aload 0 /* this */
            invokestatic sun.security.tools.KeyStoreUtil.getCacertsKeyStore:()Ljava/security/KeyStore;
            putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
       262: .line 971
      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 284
       263: .line 972
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 275
       264: .line 973
            aconst_null
            astore 3
            aconst_null
            astore 4
       265: new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
       266: .line 974
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
       267: .line 973
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* ps */
        start local 5 // java.io.PrintStream ps
       268: .line 975
            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
       269: .line 976
            aload 5 /* ps */
            ifnull 276
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
            goto 276
      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
       270: astore 3
            aload 5 /* ps */
            ifnull 271
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 5 // java.io.PrintStream ps
      StackMap locals:
      StackMap stack:
       271: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       272: astore 4
            aload 3
            ifnonnull 273
            aload 4
            astore 3
            goto 274
      StackMap locals:
      StackMap stack:
       273: aload 3
            aload 4
            if_acmpeq 274
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       274: aload 3
            athrow
       275: .line 978
      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
       276: .line 980
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 497
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 497
       277: .line 981
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       278: .line 982
            ldc "Certification.request.stored.in.file.filename."
       279: .line 981
            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
       280: .line 983
            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
       281: .line 984
            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
       282: .line 985
            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
       283: .line 987
            goto 497
      StackMap locals:
      StackMap stack:
       284: 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 288
       285: .line 988
            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
       286: .line 989
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       287: .line 990
            goto 497
      StackMap locals:
      StackMap stack:
       288: 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 309
       289: .line 991
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 301
       290: .line 992
            aconst_null
            astore 3
            aconst_null
            astore 4
       291: new java.io.PrintStream
            dup
            new java.io.FileOutputStream
            dup
       292: .line 993
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
       293: .line 992
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* ps */
        start local 5 // java.io.PrintStream ps
       294: .line 994
            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
       295: .line 995
            aload 5 /* ps */
            ifnull 302
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
            goto 302
      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
       296: astore 3
            aload 5 /* ps */
            ifnull 297
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 5 // java.io.PrintStream ps
      StackMap locals:
      StackMap stack:
       297: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       298: astore 4
            aload 3
            ifnonnull 299
            aload 4
            astore 3
            goto 300
      StackMap locals:
      StackMap stack:
       299: aload 3
            aload 4
            if_acmpeq 300
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       300: aload 3
            athrow
       301: .line 997
      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
       302: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 497
       303: .line 1000
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       304: .line 1001
            ldc "Certificate.stored.in.file.filename."
       305: .line 1000
            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
       306: .line 1002
            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
       307: .line 1003
            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
       308: .line 1005
            goto 497
      StackMap locals:
      StackMap stack:
       309: 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 315
       310: .line 1006
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 312
       311: .line 1007
            aload 0 /* this */
            ldc "DSA"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       312: .line 1009
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keysize:I
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
            invokevirtual sun.security.tools.keytool.Main.doGenKeyPair:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
       313: .line 1010
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       314: .line 1011
            goto 497
      StackMap locals:
      StackMap stack:
       315: 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 321
       316: .line 1012
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 318
       317: .line 1013
            aload 0 /* this */
            ldc "DES"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       318: .line 1015
      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
       319: .line 1016
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       320: .line 1017
            goto 497
      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.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 327
       322: .line 1018
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
            ifnonnull 324
       323: .line 1019
            aload 0 /* this */
            ldc "PBE"
            putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
       324: .line 1022
      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
       325: .line 1023
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       326: .line 1024
            goto 497
      StackMap locals:
      StackMap stack:
       327: 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 340
       328: .line 1025
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 338
       329: .line 1026
            aconst_null
            astore 3
            aconst_null
            astore 4
       330: 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
       331: .line 1027
            aload 0 /* this */
            aload 5 /* inStream */
            invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
       332: .line 1028
            aload 5 /* inStream */
            ifnull 497
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
            goto 497
      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
       333: astore 3
            aload 5 /* inStream */
            ifnull 334
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream inStream
      StackMap locals:
      StackMap stack:
       334: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       335: astore 4
            aload 3
            ifnonnull 336
            aload 4
            astore 3
            goto 337
      StackMap locals:
      StackMap stack:
       336: aload 3
            aload 4
            if_acmpeq 337
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       337: aload 3
            athrow
       338: .line 1030
      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
       339: .line 1032
            goto 497
      StackMap locals:
      StackMap stack:
       340: 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 383
       341: .line 1033
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 3 /* inStream */
        start local 3 // java.io.InputStream inStream
       342: .line 1034
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 344
       343: .line 1035
            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 */
       344: .line 1037
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 345
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            goto 346
      StackMap locals:
      StackMap stack:
       345: ldc "mykey"
      StackMap locals:
      StackMap stack: java.lang.String
       346: astore 4 /* importAlias */
        start local 4 // java.lang.String importAlias
       347: .line 1039
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       348: .line 1040
            aload 4 /* importAlias */
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
       349: .line 1039
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       350: .line 1040
            ifeq 361
       351: .line 1041
            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
       352: .line 1042
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 357
       353: .line 1043
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       354: .line 1044
            ldc "Certificate.reply.was.installed.in.keystore"
       355: .line 1043
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       356: .line 1045
            goto 380
       357: .line 1046
      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;
       358: .line 1047
            ldc "Certificate.reply.was.not.installed.in.keystore"
       359: .line 1046
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       360: .line 1049
            goto 380
      StackMap locals:
      StackMap stack:
       361: 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 366
       362: .line 1050
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 4 /* importAlias */
       363: .line 1051
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
       364: .line 1050
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       365: .line 1051
            ifeq 380
       366: .line 1052
      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
       367: .line 1053
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 372
       368: .line 1054
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       369: .line 1055
            ldc "Certificate.was.added.to.keystore"
       370: .line 1054
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       371: .line 1056
            goto 380
       372: .line 1057
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       373: .line 1058
            ldc "Certificate.was.not.added.to.keystore"
       374: .line 1057
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       375: .line 1061
            goto 380
      StackMap locals:
      StackMap stack: java.lang.Throwable
       376: astore 5
       377: .line 1062
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 379
       378: .line 1063
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       379: .line 1065
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
       380: .line 1062
      StackMap locals:
      StackMap stack:
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 497
       381: .line 1063
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 4 // java.lang.String importAlias
        end local 3 // java.io.InputStream inStream
       382: .line 1066
            goto 497
      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.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 389
       384: .line 1068
            aload 2 /* srcKeyStore */
            ifnonnull 386
       385: .line 1069
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
            astore 2 /* srcKeyStore */
       386: .line 1071
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* srcKeyStore */
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStore:(Ljava/security/KeyStore;)V
       387: .line 1072
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       388: .line 1073
            goto 497
      StackMap locals:
      StackMap stack:
       389: 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 408
       390: .line 1074
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
       391: .line 1077
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 393
       392: .line 1078
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       393: .line 1080
      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 399
       394: .line 1081
            new java.text.MessageFormat
            dup
       395: .line 1082
            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;
       396: .line 1081
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
       397: .line 1083
            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
       398: .line 1084
            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
       399: .line 1086
      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 405
       400: .line 1087
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       401: .line 1088
            ldc "Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key"
       402: .line 1087
            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
       403: .line 1089
            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
       404: .line 1090
            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
       405: .line 1093
      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
       406: .line 1094
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       407: .line 1095
            goto 497
      StackMap locals:
      StackMap stack:
       408: 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 416
       409: .line 1096
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 411
       410: .line 1097
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       411: .line 1099
      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
       412: .line 1101
            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 414
       413: .line 1102
            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
       414: .line 1104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       415: .line 1105
            goto 497
      StackMap locals:
      StackMap stack:
       416: 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 421
       417: .line 1106
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.keyPassNew:[C
       418: .line 1107
            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
       419: .line 1108
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       420: .line 1109
            goto 497
      StackMap locals:
      StackMap stack:
       421: 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 430
       422: .line 1110
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 425
       423: .line 1111
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 425
       424: .line 1112
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
       425: .line 1115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 428
       426: .line 1116
            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
       427: .line 1117
            goto 497
       428: .line 1118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintEntries:(Ljava/io/PrintStream;)V
       429: .line 1120
            goto 497
      StackMap locals:
      StackMap stack:
       430: 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 433
       431: .line 1121
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintCert:(Ljava/io/PrintStream;)V
       432: .line 1122
            goto 497
      StackMap locals:
      StackMap stack:
       433: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.SELFCERT:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 437
       434: .line 1123
            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
       435: .line 1124
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       436: .line 1125
            goto 497
      StackMap locals:
      StackMap stack:
       437: 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 443
       438: .line 1126
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.newPass:[C
            putfield sun.security.tools.keytool.Main.storePassNew:[C
       439: .line 1127
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            ifnonnull 441
       440: .line 1128
            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
       441: .line 1130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield sun.security.tools.keytool.Main.kssave:Z
       442: .line 1131
            goto 497
      StackMap locals:
      StackMap stack:
       443: 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 466
       444: .line 1132
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 446
       445: .line 1133
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       446: .line 1135
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 3 /* inStream */
        start local 3 // java.io.InputStream inStream
       447: .line 1136
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
            ifnull 449
       448: .line 1137
            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 */
       449: .line 1139
      StackMap locals: java.io.InputStream
      StackMap stack:
            aconst_null
            astore 4 /* ps */
        start local 4 // java.io.PrintStream ps
       450: .line 1140
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
            ifnull 453
       451: .line 1141
            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 */
       452: .line 1142
            aload 4 /* ps */
            astore 1 /* out */
       453: .line 1145
      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
       454: .line 1146
            goto 461
      StackMap locals:
      StackMap stack: java.lang.Throwable
       455: astore 5
       456: .line 1147
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 458
       457: .line 1148
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       458: .line 1150
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4 /* ps */
            ifnull 460
       459: .line 1151
            aload 4 /* ps */
            invokevirtual java.io.PrintStream.close:()V
       460: .line 1153
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
       461: .line 1147
      StackMap locals:
      StackMap stack:
            aload 3 /* inStream */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 463
       462: .line 1148
            aload 3 /* inStream */
            invokevirtual java.io.InputStream.close:()V
       463: .line 1150
      StackMap locals:
      StackMap stack:
            aload 4 /* ps */
            ifnull 497
       464: .line 1151
            aload 4 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 4 // java.io.PrintStream ps
        end local 3 // java.io.InputStream inStream
       465: .line 1154
            goto 497
      StackMap locals:
      StackMap stack:
       466: 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 482
       467: .line 1155
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnonnull 469
       468: .line 1156
            aload 0 /* this */
            ldc "mykey"
            putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
       469: .line 1158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 480
       470: .line 1159
            aconst_null
            astore 3
            aconst_null
            astore 4
       471: .line 1160
            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
       472: .line 1159
            astore 5 /* ps */
        start local 5 // java.io.PrintStream ps
       473: .line 1161
            aload 0 /* this */
            aload 5 /* ps */
            invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
       474: .line 1162
            aload 5 /* ps */
            ifnull 497
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
            goto 497
      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
       475: astore 3
            aload 5 /* ps */
            ifnull 476
            aload 5 /* ps */
            invokevirtual java.io.PrintStream.close:()V
        end local 5 // java.io.PrintStream ps
      StackMap locals:
      StackMap stack:
       476: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       477: astore 4
            aload 3
            ifnonnull 478
            aload 4
            astore 3
            goto 479
      StackMap locals:
      StackMap stack:
       478: aload 3
            aload 4
            if_acmpeq 479
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       479: aload 3
            athrow
       480: .line 1164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
       481: .line 1166
            goto 497
      StackMap locals:
      StackMap stack:
       482: 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 495
       483: .line 1167
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
            ifnull 493
       484: .line 1168
            aconst_null
            astore 3
            aconst_null
            astore 4
       485: 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
       486: .line 1169
            aload 0 /* this */
            aload 5 /* inStream */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintCertReq:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
       487: .line 1170
            aload 5 /* inStream */
            ifnull 497
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
            goto 497
      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
       488: astore 3
            aload 5 /* inStream */
            ifnull 489
            aload 5 /* inStream */
            invokevirtual java.io.InputStream.close:()V
        end local 5 // java.io.InputStream inStream
      StackMap locals:
      StackMap stack:
       489: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       490: astore 4
            aload 3
            ifnonnull 491
            aload 4
            astore 3
            goto 492
      StackMap locals:
      StackMap stack:
       491: aload 3
            aload 4
            if_acmpeq 492
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       492: aload 3
            athrow
       493: .line 1172
      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
       494: .line 1174
            goto 497
      StackMap locals:
      StackMap stack:
       495: 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 497
       496: .line 1175
            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
       497: .line 1179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.kssave:Z
            ifeq 526
       498: .line 1180
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 506
       499: .line 1181
            new java.text.MessageFormat
            dup
       500: .line 1182
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".Storing.ksfname."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       501: .line 1181
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
       502: .line 1183
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 503
            ldc "keystore"
            goto 504
      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
       503: 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
       504: aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
       505: .line 1184
            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
       506: .line 1187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifeq 509
       507: .line 1188
            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
       508: .line 1189
            goto 526
       509: .line 1190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            ifnull 510
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePassNew:[C
            goto 511
      StackMap locals:
      StackMap stack:
       510: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
      StackMap locals:
      StackMap stack: char[]
       511: astore 3 /* pass */
        start local 3 // char[] pass
       512: .line 1191
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifeq 515
       513: .line 1192
            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
       514: .line 1193
            goto 526
       515: .line 1194
      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
       516: .line 1195
            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
       517: .line 1196
            aconst_null
            astore 5
            aconst_null
            astore 6
       518: 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
       519: .line 1197
            aload 7 /* fout */
            aload 4 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokevirtual java.io.FileOutputStream.write:([B)V
       520: .line 1198
            aload 7 /* fout */
            ifnull 526
            aload 7 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 526
      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
       521: astore 5
            aload 7 /* fout */
            ifnull 522
            aload 7 /* fout */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 7 // java.io.FileOutputStream fout
      StackMap locals:
      StackMap stack:
       522: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       523: astore 6
            aload 5
            ifnonnull 524
            aload 6
            astore 5
            goto 525
      StackMap locals:
      StackMap stack:
       524: aload 5
            aload 6
            if_acmpeq 525
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       525: aload 5
            athrow
        end local 4 // java.io.ByteArrayOutputStream bout
        end local 3 // char[] pass
       526: .line 1203
      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 563
       527: .line 1204
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 563
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.nullStream:Z
            ifne 563
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            ifnull 563
       528: .line 1207
            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
       529: .line 1208
            aload 3 /* f */
            invokevirtual java.io.File.exists:()Z
            ifeq 563
       530: .line 1211
            aload 0 /* this */
            aload 3 /* f */
            invokevirtual sun.security.tools.keytool.Main.keyStoreType:(Ljava/io/File;)Ljava/lang/String;
            astore 4 /* realType */
        start local 4 // java.lang.String realType
       531: .line 1212
            aload 4 /* realType */
            ldc "JKS"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 533
       532: .line 1213
            aload 4 /* realType */
            ldc "JCEKS"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 548
       533: .line 1214
      StackMap locals: java.io.File java.lang.String
      StackMap stack:
            iconst_1
            istore 5 /* allCerts */
        start local 5 // boolean allCerts
       534: .line 1215
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            invokestatic java.util.Collections.list:(Ljava/util/Enumeration;)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 7
            goto 542
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File java.lang.String int top java.util.Iterator
      StackMap stack:
       535: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* a */
        start local 6 // java.lang.String a
       536: .line 1216
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
       537: .line 1217
            aload 6 /* a */
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
       538: .line 1216
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
       539: .line 1217
            ifne 542
       540: .line 1218
            iconst_0
            istore 5 /* allCerts */
       541: .line 1219
            goto 543
        end local 6 // java.lang.String a
       542: .line 1215
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 535
       543: .line 1223
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File java.lang.String int
      StackMap stack:
            iload 5 /* allCerts */
            ifne 548
       544: .line 1224
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
       545: .line 1225
            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
       546: .line 1226
            aload 4 /* realType */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
            aastore
       547: .line 1224
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // boolean allCerts
       548: .line 1229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 563
       549: .line 1231
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.tools.keytool.Main.keyStoreType:(Ljava/io/File;)Ljava/lang/String;
       550: .line 1230
            astore 5 /* realSourceStoreType */
        start local 5 // java.lang.String realSourceStoreType
       551: .line 1233
            aload 4 /* realType */
            aload 5 /* realSourceStoreType */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 553
       552: .line 1234
            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 554
       553: .line 1235
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "migrate.keystore.warning"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
       554: .line 1232
      StackMap locals:
      StackMap stack: java.lang.String
            astore 6 /* format */
        start local 6 // java.lang.String format
       555: .line 1236
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
       556: .line 1237
            aload 6 /* format */
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
       557: .line 1238
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            aastore
            dup
            iconst_1
       558: .line 1239
            aload 5 /* realSourceStoreType */
            aastore
            dup
            iconst_2
       559: .line 1240
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
            aastore
            dup
            iconst_3
       560: .line 1241
            aload 4 /* realType */
            aastore
       561: .line 1237
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       562: .line 1236
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String format
        end local 5 // java.lang.String realSourceStoreType
        end local 4 // java.lang.String realType
        end local 3 // java.io.File f
       563: .line 1245
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.KeyStore srcKeyStore
        end local 1 // java.io.PrintStream out
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  564     0                 this  Lsun/security/tools/keytool/Main;
            0  564     1                  out  Ljava/io/PrintStream;
           56   88     2                   cl  Ljava/lang/ClassLoader;
           58   65     3                 path  Ljava/lang/String;
           64   65     4                 urls  [Ljava/net/URL;
           69   87     3             provider  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;
           70   87     5             provName  Ljava/lang/String;
           72   73     6            provClass  Ljava/lang/Class<*>;
           74   87     6            provClass  Ljava/lang/Class<*>;
           75   87     7              provArg  Ljava/lang/String;
           77   78     8                  obj  Ljava/lang/Object;
           80   87     8                  obj  Ljava/lang/Object;
           79   80     9                    c  Ljava/lang/reflect/Constructor<*>;
           84   86     9                 form  Ljava/text/MessageFormat;
           85   86    10               source  [Ljava/lang/Object;
          110  564     2          srcKeyStore  Ljava/security/KeyStore;
          191  224     3                count  I
          210  216     4       storePassAgain  [C
          243  255     3                 form  Ljava/text/MessageFormat;
          245  247     4               source  [Ljava/lang/Object;
          249  251     4               source  [Ljava/lang/Object;
          253  255     4               source  [Ljava/lang/Object;
          268  271     5                   ps  Ljava/io/PrintStream;
          280  283     3                 form  Ljava/text/MessageFormat;
          281  283     4               source  [Ljava/lang/Object;
          294  297     5                   ps  Ljava/io/PrintStream;
          306  308     3                 form  Ljava/text/MessageFormat;
          307  308     4               source  [Ljava/lang/Object;
          331  334     5             inStream  Ljava/io/InputStream;
          342  382     3             inStream  Ljava/io/InputStream;
          347  382     4          importAlias  Ljava/lang/String;
          397  399     3                 form  Ljava/text/MessageFormat;
          398  399     4               source  [Ljava/lang/Object;
          403  405     3                 form  Ljava/text/MessageFormat;
          404  405     4               source  [Ljava/lang/Object;
          447  465     3             inStream  Ljava/io/InputStream;
          450  465     4                   ps  Ljava/io/PrintStream;
          473  476     5                   ps  Ljava/io/PrintStream;
          486  489     5             inStream  Ljava/io/InputStream;
          502  506     3                 form  Ljava/text/MessageFormat;
          505  506     4               source  [Ljava/lang/Object;
          512  526     3                 pass  [C
          516  526     4                 bout  Ljava/io/ByteArrayOutputStream;
          519  522     7                 fout  Ljava/io/FileOutputStream;
          529  563     3                    f  Ljava/io/File;
          531  563     4             realType  Ljava/lang/String;
          534  548     5             allCerts  Z
          536  542     6                    a  Ljava/lang/String;
          551  563     5  realSourceStoreType  Ljava/lang/String;
          555  563     6               format  Ljava/lang/String;
      Exception table:
        from    to  target  type
         117   125     126  Class java.io.FileNotFoundException
         268   269     270  any
         265   272     272  any
         294   295     296  any
         291   298     298  any
         331   332     333  any
         330   335     335  any
         347   376     376  any
         453   455     455  any
         473   474     475  any
         471   477     477  any
         486   487     488  any
         485   490     490  any
         519   520     521  any
         518   523     523  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      out   

  private java.lang.String keyStoreType(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.File f
         0: .line 1248
            ldc -17957139
            istore 2 /* MAGIC */
        start local 2 // int MAGIC
         1: .line 1249
            ldc -825307442
            istore 3 /* JCEKS_MAGIC */
        start local 3 // int JCEKS_MAGIC
         2: .line 1250
            aconst_null
            astore 4
            aconst_null
            astore 5
         3: new java.io.DataInputStream
            dup
         4: .line 1251
            new java.io.FileInputStream
            dup
            aload 1 /* f */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
         5: .line 1250
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 6 /* dis */
        start local 6 // java.io.DataInputStream dis
         6: .line 1252
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 7 /* xMagic */
        start local 7 // int xMagic
         7: .line 1253
            iload 7 /* xMagic */
            iload 2 /* MAGIC */
            if_icmpne 10
         8: .line 1260
            aload 6 /* dis */
            ifnull 9
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
         9: .line 1254
      StackMap locals: sun.security.tools.keytool.Main java.io.File int int java.lang.Throwable java.lang.Throwable java.io.DataInputStream int
      StackMap stack:
            ldc "JKS"
            areturn
        10: .line 1255
      StackMap locals:
      StackMap stack:
            iload 7 /* xMagic */
            iload 3 /* JCEKS_MAGIC */
            if_icmpne 13
        11: .line 1260
            aload 6 /* dis */
            ifnull 12
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
        12: .line 1256
      StackMap locals:
      StackMap stack:
            ldc "JCEKS"
            areturn
        13: .line 1260
      StackMap locals:
      StackMap stack:
            aload 6 /* dis */
            ifnull 14
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
        14: .line 1258
      StackMap locals:
      StackMap stack:
            ldc "Non JKS/JCEKS"
            areturn
        end local 7 // int xMagic
      StackMap locals: sun.security.tools.keytool.Main java.io.File int int java.lang.Throwable java.lang.Throwable java.io.DataInputStream
      StackMap stack: java.lang.Throwable
        15: astore 4
        16: .line 1260
            aload 6 /* dis */
            ifnull 17
            aload 6 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
        end local 6 // java.io.DataInputStream dis
      StackMap locals:
      StackMap stack:
        17: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 5
            aload 4
            ifnonnull 19
            aload 5
            astore 4
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 4
            aload 5
            if_acmpeq 20
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 4
            athrow
        end local 3 // int JCEKS_MAGIC
        end local 2 // int MAGIC
        end local 1 // java.io.File f
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lsun/security/tools/keytool/Main;
            0   21     1            f  Ljava/io/File;
            1   21     2        MAGIC  I
            2   21     3  JCEKS_MAGIC  I
            6   17     6          dis  Ljava/io/DataInputStream;
            7   15     7       xMagic  I
      Exception table:
        from    to  target  type
           6     8      15  any
          10    11      15  any
           3     9      18  any
          10    12      18  any
          13    14      18  any
          15    18      18  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      f     

  private void doGenCert(java.lang.String, java.lang.String, java.io.InputStream, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=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 1272
            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 1273
            new java.text.MessageFormat
            dup
         2: .line 1274
            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 1273
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         4: .line 1275
            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 1276
            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 1278
      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 1279
            aload 5 /* signerCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 6 /* encoded */
        start local 6 // byte[] encoded
         8: .line 1280
            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 1281
            aload 7 /* signerCertImpl */
        10: .line 1282
            ldc "x509.info"
        11: .line 1281
            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 1283
            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 1286
            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 1287
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 11 /* lastDate */
        start local 11 // java.util.Date lastDate
        15: .line 1288
            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 1289
            new sun.security.x509.CertificateValidity
            dup
            aload 10 /* firstDate */
        17: .line 1290
            aload 11 /* lastDate */
        18: .line 1289
            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 1293
            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 1292
            astore 13 /* privateKey */
        start local 13 // java.security.PrivateKey privateKey
        21: .line 1294
            aload 2 /* sigAlgName */
            ifnonnull 23
        22: .line 1295
            aload 13 /* privateKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* sigAlgName */
        23: .line 1297
      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 1299
            aload 2 /* sigAlgName */
            aload 13 /* privateKey */
            invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
        25: .line 1298
            astore 15 /* params */
        start local 15 // java.security.spec.AlgorithmParameterSpec params
        26: .line 1301
            aload 14 /* signature */
            aload 13 /* privateKey */
            aload 15 /* params */
            aconst_null
            invokestatic sun.security.util.SignatureUtil.initSignWithParam:(Ljava/security/Signature;Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
        27: .line 1303
            new sun.security.x509.X509CertInfo
            dup
            invokespecial sun.security.x509.X509CertInfo.<init>:()V
            astore 16 /* info */
        start local 16 // sun.security.x509.X509CertInfo info
        28: .line 1304
            aload 2 /* sigAlgName */
            aload 15 /* 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 1305
            aload 16 /* info */
            ldc "validity"
            aload 12 /* interval */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        30: .line 1306
            aload 16 /* info */
            ldc "serialNumber"
            new sun.security.x509.CertificateSerialNumber
            dup
        31: .line 1307
            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 1306
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        33: .line 1308
            aload 16 /* info */
            ldc "version"
        34: .line 1309
            new sun.security.x509.CertificateVersion
            dup
            iconst_2
            invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
        35: .line 1308
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        36: .line 1310
            aload 16 /* info */
            ldc "algorithmID"
        37: .line 1311
            new sun.security.x509.CertificateAlgorithmId
            dup
            aload 17 /* algID */
            invokespecial sun.security.x509.CertificateAlgorithmId.<init>:(Lsun/security/x509/AlgorithmId;)V
        38: .line 1310
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        39: .line 1312
            aload 16 /* info */
            ldc "issuer"
            aload 9 /* issuer */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        40: .line 1314
            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 1315
            iconst_0
            istore 19 /* canRead */
        start local 19 // boolean canRead
        42: .line 1316
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 20 /* sb */
        start local 20 // java.lang.StringBuffer sb
        43: .line 1318
      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 java.security.spec.AlgorithmParameterSpec sun.security.x509.X509CertInfo 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 1319
            aload 21 /* s */
            ifnonnull 45
            goto 53
        45: .line 1322
      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 1323
            iconst_1
            istore 19 /* canRead */
        47: .line 1325
            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 1326
            goto 53
        50: .line 1327
      StackMap locals:
      StackMap stack:
            iload 19 /* canRead */
            ifeq 43
        51: .line 1328
            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 1317
            goto 43
        53: .line 1331
      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 1332
            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 1334
            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 1336
            aload 16 /* 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 1337
            aload 16 /* info */
            ldc "subject"
        58: .line 1338
            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 java.security.spec.AlgorithmParameterSpec sun.security.x509.X509CertInfo 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 1337
      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 java.security.spec.AlgorithmParameterSpec sun.security.x509.X509CertInfo 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 1339
            aconst_null
            astore 23 /* reqex */
        start local 23 // sun.security.x509.CertificateExtensions reqex
        62: .line 1340
            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 1341
            goto 67
        64: .line 1342
      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 1343
            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 1344
            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 1341
      StackMap locals:
      StackMap stack:
            aload 24 /* attrs */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 64
        68: .line 1347
            aload 0 /* this */
        69: .line 1348
            aload 23 /* reqex */
        70: .line 1349
            aconst_null
        71: .line 1350
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        72: .line 1351
            aload 22 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
        73: .line 1352
            aload 5 /* signerCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        74: .line 1347
            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 1353
            aload 16 /* info */
            ldc "extensions"
            aload 25 /* ext */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        76: .line 1354
            new sun.security.x509.X509CertImpl
            dup
            aload 16 /* 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 1355
            aload 26 /* cert */
            aload 13 /* privateKey */
            aload 15 /* 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 1356
            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 1357
            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 java.security.spec.AlgorithmParameterSpec sun.security.x509.X509CertInfo 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 1358
            aload 27 /* ca */
            instanceof java.security.cert.X509Certificate
            ifeq 85
        82: .line 1359
            aload 27 /* ca */
            checkcast java.security.cert.X509Certificate
            astore 31 /* xca */
        start local 31 // java.security.cert.X509Certificate xca
        83: .line 1360
            aload 31 /* xca */
            invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifne 85
        84: .line 1361
            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 1357
      StackMap locals:
      StackMap stack:
            iinc 28 1
      StackMap locals:
      StackMap stack:
        86: iload 28
            iload 29
            if_icmplt 80
        87: .line 1366
            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 1367
            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 1368
            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 // sun.security.x509.X509CertInfo info
        end local 15 // java.security.spec.AlgorithmParameterSpec params
        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          params  Ljava/security/spec/AlgorithmParameterSpec;
           28   90    16            info  Lsun/security/x509/X509CertInfo;
           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 1372
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
            ifnonnull 2
         1: .line 1373
            new java.lang.Exception
            dup
            ldc "Must provide -id when -gencrl"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1375
      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 1376
            aload 2 /* signerCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 3 /* encoded */
        start local 3 // byte[] encoded
         4: .line 1377
            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 1378
            aload 4 /* signerCertImpl */
         6: .line 1379
            ldc "x509.info"
         7: .line 1378
            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 1380
            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 1383
            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 1384
            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 1385
            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 1386
            new sun.security.x509.CertificateValidity
            aload 7 /* firstDate */
        13: .line 1387
            aload 8 /* lastDate */
        14: .line 1386
            invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
        15: .line 1391
            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 1390
            astore 9 /* privateKey */
        start local 9 // java.security.PrivateKey privateKey
        17: .line 1392
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
            ifnonnull 19
        18: .line 1393
            aload 0 /* this */
            aload 9 /* privateKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
        19: .line 1396
      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 1397
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        21: goto 33
        22: .line 1398
      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 1399
            aload 12 /* id */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* d */
        start local 13 // int d
        24: .line 1400
            iload 13 /* d */
            iflt 31
        25: .line 1401
            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 1402
            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 1403
            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 1404
            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 1403
            aastore
        end local 14 // sun.security.x509.CRLExtensions ext
        30: .line 1405
            goto 32
        31: .line 1406
      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 1397
      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 1409
            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 1410
            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 1411
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 41
        37: .line 1412
            aload 1 /* out */
            ldc "-----BEGIN X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        38: .line 1413
            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 1414
            aload 1 /* out */
            ldc "-----END X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        40: .line 1415
            goto 42
        41: .line 1416
      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 1418
      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 1419
            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 1428
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1429
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1432
      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 1433
            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 1434
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 1435
            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 1438
      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 1439
            aload 6 /* cert */
            ifnonnull 13
         8: .line 1440
            new java.text.MessageFormat
            dup
         9: .line 1441
            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 1440
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        11: .line 1442
            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 1443
            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 1445
      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 1446
            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 1448
            aload 7 /* request */
            invokevirtual sun.security.pkcs10.PKCS10.getAttributes:()Lsun/security/pkcs10/PKCS10Attributes;
            ldc "extensions"
        16: .line 1449
            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 1448
            invokevirtual sun.security.pkcs10.PKCS10Attributes.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 1452
            aload 2 /* sigAlgName */
            ifnonnull 20
        19: .line 1453
            aload 5 /* privKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* sigAlgName */
        20: .line 1456
      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 1458
            aload 2 /* sigAlgName */
            aload 5 /* privKey */
            invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
        22: .line 1457
            astore 10 /* params */
        start local 10 // java.security.spec.AlgorithmParameterSpec params
        23: .line 1459
            aload 9 /* signature */
            aload 5 /* privKey */
            aload 10 /* params */
            aconst_null
            invokestatic sun.security.util.SignatureUtil.initSignWithParam:(Ljava/security/Signature;Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
        24: .line 1461
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
            ifnonnull 26
        25: .line 1462
            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 27
        26: .line 1463
      StackMap locals: java.security.Signature java.security.spec.AlgorithmParameterSpec
      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
        27: .line 1461
      StackMap locals:
      StackMap stack: sun.security.x509.X500Name
            astore 11 /* subject */
        start local 11 // sun.security.x509.X500Name subject
        28: .line 1466
            aload 7 /* request */
            aload 11 /* subject */
            aload 9 /* signature */
            invokevirtual sun.security.pkcs10.PKCS10.encodeAndSign:(Lsun/security/x509/X500Name;Ljava/security/Signature;)V
        29: .line 1467
            aload 7 /* request */
            aload 3 /* out */
            invokevirtual sun.security.pkcs10.PKCS10.print:(Ljava/io/PrintStream;)V
        30: .line 1469
            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
        31: .line 1470
            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   32     0        this  Lsun/security/tools/keytool/Main;
            0   32     1       alias  Ljava/lang/String;
            0   32     2  sigAlgName  Ljava/lang/String;
            0   32     3         out  Ljava/io/PrintStream;
            3   32     4        objs  Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
            4   32     5     privKey  Ljava/security/PrivateKey;
            7   32     6        cert  Ljava/security/cert/Certificate;
           11   13     7        form  Ljava/text/MessageFormat;
           12   13     8      source  [Ljava/lang/Object;
           14   32     7     request  Lsun/security/pkcs10/PKCS10;
           15   32     8         ext  Lsun/security/x509/CertificateExtensions;
           21   32     9   signature  Ljava/security/Signature;
           23   32    10      params  Ljava/security/spec/AlgorithmParameterSpec;
           28   32    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 1476
            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 1477
            new java.text.MessageFormat
            dup
         2: .line 1478
            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 1477
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         4: .line 1479
            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 1480
            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 1482
      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 1483
            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 1491
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            ifnonnull 3
         1: .line 1492
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 3
         2: .line 1493
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
         3: .line 1495
      StackMap locals:
      StackMap stack:
            aload 1 /* alias */
            ifnonnull 5
         4: .line 1496
            ldc "mykey"
            astore 1 /* alias */
         5: .line 1498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 11
         6: .line 1499
            new java.text.MessageFormat
            dup
         7: .line 1500
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.does.not.exist"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
         8: .line 1499
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         9: .line 1501
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        10: .line 1502
            new java.lang.Exception
            dup
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        11: .line 1505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
        12: .line 1506
            aload 3 /* cert */
            ifnonnull 18
        13: .line 1507
            new java.text.MessageFormat
            dup
        14: .line 1508
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Alias.alias.has.no.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        15: .line 1507
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        16: .line 1509
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        17: .line 1510
            new java.lang.Exception
            dup
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        18: .line 1512
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            aload 3 /* cert */
            aload 2 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        19: .line 1513
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        20: .line 1514
            return
        end local 3 // java.security.cert.X509Certificate cert
        end local 2 // java.io.PrintStream out
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lsun/security/tools/keytool/Main;
            0   21     1   alias  Ljava/lang/String;
            0   21     2     out  Ljava/io/PrintStream;
            9   11     3    form  Ljava/text/MessageFormat;
           10   11     4  source  [Ljava/lang/Object;
           12   21     3    cert  Ljava/security/cert/X509Certificate;
           16   18     4    form  Ljava/text/MessageFormat;
           17   18     5  source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      alias  
      out    

  private char[] promptForKeyPass(java.lang.String, java.lang.String, char[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[C)[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String orig
        start local 3 // char[] origPass
         0: .line 1523
            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 1524
            aload 3 /* origPass */
            areturn
         2: .line 1525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 48
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.protectedPath:Z
            ifne 48
         3: .line 1528
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         4: goto 39
         5: .line 1529
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         6: .line 1530
            ldc "Enter.key.password.for.alias."
         7: .line 1529
            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 1531
            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 1532
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 1533
            aload 2 /* orig */
            ifnonnull 15
        11: .line 1534
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        12: .line 1535
            ldc ".RETURN.if.same.as.keystore.password."
        13: .line 1534
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        14: .line 1536
            goto 20
        15: .line 1537
      StackMap locals: java.text.MessageFormat java.lang.Object[]
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        16: .line 1538
            ldc ".RETURN.if.same.as.for.otherAlias."
        17: .line 1537
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        18: .line 1539
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* orig */
            aastore
            astore 7 /* src */
        start local 7 // java.lang.Object[] src
        19: .line 1540
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 5 /* form */
            aload 7 /* src */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        end local 7 // java.lang.Object[] src
        20: .line 1542
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        21: .line 1543
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 7 /* entered */
        start local 7 // char[] entered
        22: .line 1544
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 7 /* entered */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        23: .line 1545
            aload 7 /* entered */
            ifnonnull 25
        24: .line 1546
            aload 3 /* origPass */
            areturn
        25: .line 1547
      StackMap locals: char[]
      StackMap stack:
            aload 7 /* entered */
            arraylength
            bipush 6
            if_icmplt 35
        26: .line 1548
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Re.enter.new.password."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        27: .line 1549
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 8 /* passAgain */
        start local 8 // char[] passAgain
        28: .line 1550
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 8 /* passAgain */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        29: .line 1551
            aload 7 /* entered */
            aload 8 /* passAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 34
        30: .line 1552
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        31: .line 1553
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "They.don.t.match.Try.again"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        32: .line 1552
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 1554
            goto 38
        34: .line 1556
      StackMap locals: char[]
      StackMap stack:
            aload 7 /* entered */
            areturn
        end local 8 // char[] passAgain
        35: .line 1558
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        36: .line 1559
            ldc "Key.password.is.too.short.must.be.at.least.6.characters"
        37: .line 1558
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // char[] entered
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        38: .line 1528
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
      StackMap locals:
      StackMap stack:
        39: iload 4 /* count */
            iconst_3
            if_icmplt 5
        40: .line 1562
            iload 4 /* count */
            iconst_3
            if_icmpne 48
        41: .line 1563
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 45
        42: .line 1564
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        43: .line 1565
            ldc "Too.many.failures.Key.entry.not.cloned"
        44: .line 1564
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 1567
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        46: .line 1568
            ldc "Too.many.failures.key.not.added.to.keystore"
        47: .line 1567
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // int count
        48: .line 1572
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // char[] origPass
        end local 2 // java.lang.String orig
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   49     0       this  Lsun/security/tools/keytool/Main;
            0   49     1      alias  Ljava/lang/String;
            0   49     2       orig  Ljava/lang/String;
            0   49     3   origPass  [C
            4   48     4      count  I
            8   38     5       form  Ljava/text/MessageFormat;
            9   38     6     source  [Ljava/lang/Object;
           19   20     7        src  [Ljava/lang/Object;
           22   38     7    entered  [C
           28   35     8  passAgain  [C
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      alias     
      orig      
      origPass  

  private 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 1580
            invokestatic java.lang.System.console:()Ljava/io/Console;
            ifnonnull 4
         1: .line 1581
            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 1582
            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 1583
            aload 1 /* importPass */
            areturn
        end local 1 // char[] importPass
         4: .line 1587
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         5: goto 20
         6: .line 1588
      StackMap locals: int
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
         7: .line 1589
            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 1588
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         9: .line 1590
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        10: .line 1591
            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 1592
            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 1593
            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 1594
            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 1595
            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 1596
            aload 2 /* entered */
            aload 3 /* passAgain */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 18
        16: .line 1597
            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 1598
            goto 19
        18: .line 1600
      StackMap locals: char[] char[]
      StackMap stack:
            aload 2 /* entered */
            areturn
        end local 3 // char[] passAgain
        end local 2 // char[] entered
        19: .line 1587
      StackMap locals:
      StackMap stack:
            iinc 1 /* count */ 1
      StackMap locals:
      StackMap stack:
        20: iload 1 /* count */
            iconst_3
            if_icmplt 6
        21: .line 1603
            iload 1 /* count */
            iconst_3
            if_icmpne 25
        22: .line 1604
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        23: .line 1605
            ldc "Too.many.failures.key.not.added.to.keystore"
        24: .line 1604
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 1608
      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 1618
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1619
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1621
      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 1622
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 1623
            ldc "Secret.key.not.generated.alias.alias.already.exists"
         5: .line 1622
            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 1624
            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 1625
            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 1629
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* useDefaultPBEAlgorithm */
        start local 4 // boolean useDefaultPBEAlgorithm
         9: .line 1630
            aconst_null
            astore 5 /* secKey */
        start local 5 // javax.crypto.SecretKey secKey
        10: .line 1632
            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 1633
            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 1637
            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 1636
            astore 5 /* secKey */
        14: .line 1640
            ldc "PBE"
            aload 2 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 16
        15: .line 1641
            iconst_0
            istore 4 /* useDefaultPBEAlgorithm */
        16: .line 1644
      StackMap locals: int javax.crypto.SecretKey javax.crypto.SecretKeyFactory
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 47
        17: .line 1645
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        18: .line 1646
            ldc "Generated.keyAlgName.secret.key"
        19: .line 1645
            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 1648
            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 1647
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        24: .line 1649
            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 1651
            goto 47
        26: .line 1652
      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 1653
            iload 3 /* keysize */
            iconst_m1
            if_icmpne 37
        28: .line 1654
            ldc "DES"
            aload 2 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 31
        29: .line 1655
            bipush 56
            istore 3 /* keysize */
        30: .line 1656
            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 1657
            sipush 168
            istore 3 /* keysize */
        33: .line 1658
            goto 37
        34: .line 1659
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        35: .line 1660
            ldc "Please.provide.keysize.for.secret.key.generation"
        36: .line 1659
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 1663
      StackMap locals:
      StackMap stack:
            aload 6 /* keygen */
            iload 3 /* keysize */
            invokevirtual javax.crypto.KeyGenerator.init:(I)V
        38: .line 1664
            aload 6 /* keygen */
            invokevirtual javax.crypto.KeyGenerator.generateKey:()Ljavax/crypto/SecretKey;
            astore 5 /* secKey */
        39: .line 1666
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 47
        40: .line 1667
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        41: .line 1668
            ldc "Generated.keysize.bit.keyAlgName.secret.key"
        42: .line 1667
            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
        43: .line 1669
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            iload 3 /* keysize */
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
        44: .line 1670
            aload 5 /* secKey */
            invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
            aastore
        45: .line 1669
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        46: .line 1671
            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
        47: .line 1675
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 49
        48: .line 1676
            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
        49: .line 1679
      StackMap locals:
      StackMap stack:
            iload 4 /* useDefaultPBEAlgorithm */
            ifeq 52
        50: .line 1680
            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
        51: .line 1681
            goto 55
        52: .line 1682
      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
        53: .line 1683
            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
        54: .line 1682
            invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
        55: .line 1685
      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   56     0                    this  Lsun/security/tools/keytool/Main;
            0   56     1                   alias  Ljava/lang/String;
            0   56     2              keyAlgName  Ljava/lang/String;
            0   56     3                 keysize  I
            6    8     4                    form  Ljava/text/MessageFormat;
            7    8     5                  source  [Ljava/lang/Object;
            9   56     4  useDefaultPBEAlgorithm  Z
           10   56     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   47     6                  keygen  Ljavax/crypto/KeyGenerator;
           43   47     7                    form  Ljava/text/MessageFormat;
           46   47     8                  source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      keyAlgName  
      keysize     

  private static java.lang.String getCompatibleSigAlgName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String keyAlgName
         0: .line 1693
            ldc "DSA"
            aload 0 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 1694
            ldc "SHA256WithDSA"
            areturn
         2: .line 1695
      StackMap locals:
      StackMap stack:
            ldc "RSA"
            aload 0 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 1696
            ldc "SHA256WithRSA"
            areturn
         4: .line 1697
      StackMap locals:
      StackMap stack:
            ldc "EC"
            aload 0 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 1698
            ldc "SHA256withECDSA"
            areturn
         6: .line 1700
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         7: .line 1701
            ldc "Cannot.derive.signature.algorithm"
         8: .line 1700
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String keyAlgName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  keyAlgName  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      keyAlgName  

  private void doGenKeyPair(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=13, args_size=6
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.String dname
        start local 3 // java.lang.String keyAlgName
        start local 4 // int keysize
        start local 5 // java.lang.String sigAlgName
         0: .line 1711
            iload 4 /* keysize */
            iconst_m1
            if_icmpne 12
         1: .line 1712
            ldc "EC"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 1713
            getstatic sun.security.util.SecurityProviderConstants.DEF_EC_KEY_SIZE:I
            istore 4 /* keysize */
         3: .line 1714
            goto 12
      StackMap locals:
      StackMap stack:
         4: ldc "RSA"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         5: .line 1715
            getstatic sun.security.util.SecurityProviderConstants.DEF_RSA_KEY_SIZE:I
            istore 4 /* keysize */
         6: .line 1716
            goto 12
      StackMap locals:
      StackMap stack:
         7: ldc "RSASSA-PSS"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 1717
            getstatic sun.security.util.SecurityProviderConstants.DEF_RSASSA_PSS_KEY_SIZE:I
            istore 4 /* keysize */
         9: .line 1718
            goto 12
      StackMap locals:
      StackMap stack:
        10: ldc "DSA"
            aload 3 /* keyAlgName */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 12
        11: .line 1719
            getstatic sun.security.util.SecurityProviderConstants.DEF_DSA_KEY_SIZE:I
            istore 4 /* keysize */
        12: .line 1723
      StackMap locals:
      StackMap stack:
            aload 1 /* alias */
            ifnonnull 14
        13: .line 1724
            ldc "mykey"
            astore 1 /* alias */
        14: .line 1727
      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 20
        15: .line 1728
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        16: .line 1729
            ldc "Key.pair.not.generated.alias.alias.already.exists"
        17: .line 1728
            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
        18: .line 1730
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        19: .line 1731
            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
        20: .line 1734
      StackMap locals:
      StackMap stack:
            aload 5 /* sigAlgName */
            ifnonnull 22
        21: .line 1735
            aload 3 /* keyAlgName */
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sigAlgName */
        22: .line 1738
      StackMap locals:
      StackMap stack:
            new sun.security.tools.keytool.CertAndKeyGen
            dup
            aload 3 /* keyAlgName */
            aload 5 /* sigAlgName */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
            invokespecial sun.security.tools.keytool.CertAndKeyGen.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        23: .line 1737
            astore 6 /* keypair */
        start local 6 // sun.security.tools.keytool.CertAndKeyGen keypair
        24: .line 1743
            aload 2 /* dname */
            ifnonnull 27
        25: .line 1744
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.getX500Name:()Lsun/security/x509/X500Name;
            astore 7 /* x500Name */
        start local 7 // sun.security.x509.X500Name x500Name
        26: .line 1745
            goto 28
        end local 7 // sun.security.x509.X500Name x500Name
        27: .line 1746
      StackMap locals: sun.security.tools.keytool.CertAndKeyGen
      StackMap stack:
            new sun.security.x509.X500Name
            dup
            aload 2 /* dname */
            invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
            astore 7 /* x500Name */
        start local 7 // sun.security.x509.X500Name x500Name
        28: .line 1749
      StackMap locals: sun.security.x509.X500Name
      StackMap stack:
            aload 6 /* keypair */
            iload 4 /* keysize */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(I)V
        29: .line 1750
            aload 6 /* keypair */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPrivateKey:()Ljava/security/PrivateKey;
            astore 8 /* privKey */
        start local 8 // java.security.PrivateKey privKey
        30: .line 1752
            aload 0 /* this */
        31: .line 1753
            aconst_null
        32: .line 1754
            aconst_null
        33: .line 1755
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        34: .line 1756
            aload 6 /* keypair */
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPublicKeyAnyway:()Ljava/security/PublicKey;
        35: .line 1757
            aconst_null
        36: .line 1752
            invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
            astore 9 /* ext */
        start local 9 // sun.security.x509.CertificateExtensions ext
        37: .line 1759
            iconst_1
            anewarray java.security.cert.X509Certificate
            astore 10 /* chain */
        start local 10 // java.security.cert.X509Certificate[] chain
        38: .line 1760
            aload 10 /* chain */
            iconst_0
            aload 6 /* keypair */
        39: .line 1761
            aload 7 /* x500Name */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getStartDate:(Ljava/lang/String;)Ljava/util/Date;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            ldc 24
            lmul
            ldc 60
            lmul
            ldc 60
            lmul
            aload 9 /* ext */
        40: .line 1760
            invokevirtual sun.security.tools.keytool.CertAndKeyGen.getSelfCertificate:(Lsun/security/x509/X500Name;Ljava/util/Date;JLsun/security/x509/CertificateExtensions;)Ljava/security/cert/X509Certificate;
            aastore
        41: .line 1763
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 52
        42: .line 1764
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        43: .line 1765
            ldc "Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for"
        44: .line 1764
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        45: .line 1766
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            iload 4 /* keysize */
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            dup
            iconst_1
        46: .line 1767
            aload 8 /* privKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        47: .line 1768
            aload 10 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
        48: .line 1769
            new java.lang.Long
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.validity:J
            invokespecial java.lang.Long.<init>:(J)V
            aastore
            dup
            iconst_4
        49: .line 1770
            aload 7 /* x500Name */
            aastore
        50: .line 1766
            astore 12 /* source */
        start local 12 // java.lang.Object[] source
        51: .line 1771
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 11 /* form */
            aload 12 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 12 // java.lang.Object[] source
        end local 11 // java.text.MessageFormat form
        52: .line 1774
      StackMap locals: java.security.PrivateKey sun.security.x509.CertificateExtensions java.security.cert.X509Certificate[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 54
        53: .line 1775
            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
        54: .line 1777
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.generated.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 10 /* chain */
            iconst_0
            aaload
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        55: .line 1778
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 8 /* privKey */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            aload 10 /* chain */
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        56: .line 1779
            return
        end local 10 // java.security.cert.X509Certificate[] chain
        end local 9 // sun.security.x509.CertificateExtensions ext
        end local 8 // java.security.PrivateKey privKey
        end local 7 // sun.security.x509.X500Name x500Name
        end local 6 // sun.security.tools.keytool.CertAndKeyGen keypair
        end local 5 // java.lang.String sigAlgName
        end local 4 // int keysize
        end local 3 // java.lang.String keyAlgName
        end local 2 // java.lang.String dname
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   57     0        this  Lsun/security/tools/keytool/Main;
            0   57     1       alias  Ljava/lang/String;
            0   57     2       dname  Ljava/lang/String;
            0   57     3  keyAlgName  Ljava/lang/String;
            0   57     4     keysize  I
            0   57     5  sigAlgName  Ljava/lang/String;
           18   20     6        form  Ljava/text/MessageFormat;
           19   20     7      source  [Ljava/lang/Object;
           24   57     6     keypair  Lsun/security/tools/keytool/CertAndKeyGen;
           26   27     7    x500Name  Lsun/security/x509/X500Name;
           28   57     7    x500Name  Lsun/security/x509/X500Name;
           30   57     8     privKey  Ljava/security/PrivateKey;
           37   57     9         ext  Lsun/security/x509/CertificateExtensions;
           38   57    10       chain  [Ljava/security/cert/X509Certificate;
           45   52    11        form  Ljava/text/MessageFormat;
           51   52    12      source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      dname       
      keyAlgName  
      keysize     
      sigAlgName  

  private void doCloneEntry(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String orig
        start local 2 // java.lang.String dest
        start local 3 // boolean changePassword
         0: .line 1790
            aload 1 /* orig */
            ifnonnull 2
         1: .line 1791
            ldc "mykey"
            astore 1 /* orig */
         2: .line 1794
      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 1795
            new java.text.MessageFormat
            dup
         4: .line 1796
            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 1795
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         6: .line 1797
            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 1798
            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 1801
      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 1802
            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 1803
            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 1805
            aconst_null
            astore 6 /* pp */
        start local 6 // java.security.KeyStore$PasswordProtection pp
        12: .line 1807
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnull 19
        13: .line 1808
            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 1809
      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 1810
            goto 18
        16: .line 1811
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPassNew:[C
            ifnonnull 18
        17: .line 1812
            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 1815
      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 1817
      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 1818
            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 1826
            aload 1 /* alias */
            ifnonnull 2
         1: .line 1827
            ldc "mykey"
            astore 1 /* alias */
         2: .line 1829
      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 1830
            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 1831
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 1832
            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 1835
      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 1836
            new java.text.MessageFormat
            dup
         8: .line 1837
            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 1836
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        10: .line 1838
            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 1839
            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 1841
      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 1842
            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 1841
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        15: .line 1843
            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 1853
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         1: .line 1854
            ldc "No.entries.from.identity.database.added"
         2: .line 1853
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 1855
            return
        end local 1 // java.io.InputStream in
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/tools/keytool/Main;
            0    4     1    in  Ljava/io/InputStream;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      in    

  private void doPrintEntry(java.lang.String, java.lang.String, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String label
        start local 2 // java.lang.String alias
        start local 3 // java.io.PrintStream out
         0: .line 1863
            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 1864
            new java.text.MessageFormat
            dup
         2: .line 1865
            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 1864
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         4: .line 1866
            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 1867
            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 1870
      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 1871
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
         8: .line 1872
            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 1871
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        10: .line 1873
            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 1874
            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 1876
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 31
        13: .line 1877
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        14: .line 1878
            ldc "Creation.date.keyStore.getCreationDate.alias."
        15: .line 1877
            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 1879
            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 1880
            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 1882
            goto 31
        19: .line 1883
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 26
        20: .line 1884
            new java.text.MessageFormat
            dup
        21: .line 1885
            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 1884
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        23: .line 1886
            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 1887
            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 1888
            goto 31
        26: .line 1889
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        27: .line 1890
            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 1889
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        29: .line 1891
            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 1892
            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 1896
      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 1897
            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 1898
      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 1899
            aload 3 /* out */
            new java.text.MessageFormat
            dup
        35: .line 1900
            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 1899
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        37: .line 1901
            goto 110
        38: .line 1902
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "SecretKeyEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 1904
            goto 110
      StackMap locals:
      StackMap stack:
        40: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ifeq 81
        41: .line 1905
            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 1906
      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 1907
            aload 3 /* out */
            new java.text.MessageFormat
            dup
        44: .line 1908
            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 1907
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.Object[] source
        46: .line 1909
            goto 48
        47: .line 1910
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "PrivateKeyEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        48: .line 1914
      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 1915
            aload 4 /* chain */
            ifnull 110
        50: .line 1916
            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 1917
      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 1918
            ldc "Certificate.chain.length."
        53: .line 1917
            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 1918
            aload 4 /* chain */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 1917
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        56: .line 1919
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        57: goto 72
        58: .line 1920
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
        59: .line 1921
            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 1920
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        61: .line 1922
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            iload 5 /* i */
            iconst_1
            iadd
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        62: .line 1923
            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 1924
            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 1925
            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 1926
            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 1927
            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 1928
            goto 70
        69: .line 1929
      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 1931
      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 1919
            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 1933
            goto 110
        74: .line 1935
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
        75: .line 1936
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.fingerprint.SHA1."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        76: .line 1937
            aload 0 /* this */
            ldc "SHA1"
            aload 4 /* chain */
            iconst_0
            aaload
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        77: .line 1936
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        78: .line 1935
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        79: .line 1938
            aload 0 /* this */
            aload 1 /* label */
            aload 4 /* chain */
            iconst_0
            aaload
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 4 // java.security.cert.Certificate[] chain
        80: .line 1941
            goto 110
      StackMap locals:
      StackMap stack:
        81: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
        82: .line 1942
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
        83: .line 1941
            invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
        84: .line 1942
            ifeq 109
        85: .line 1944
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 4 /* cert */
        start local 4 // java.security.cert.Certificate cert
        86: .line 1945
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "trustedCertEntry"
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        87: .line 1946
            new java.lang.StringBuilder
            dup
            new java.text.MessageFormat
            dup
        88: .line 1947
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Entry.type.type."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        89: .line 1946
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        90: .line 1947
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        91: .line 1946
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* mf */
        start local 6 // java.lang.String mf
        92: .line 1948
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 96
            aload 4 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 96
        93: .line 1949
            aload 3 /* out */
            aload 6 /* mf */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        94: .line 1950
            aload 0 /* this */
            aload 4 /* cert */
            checkcast java.security.cert.X509Certificate
            aload 3 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        95: .line 1951
            goto 107
      StackMap locals: java.security.cert.Certificate java.lang.Object[] java.lang.String
      StackMap stack:
        96: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 100
        97: .line 1952
            aload 3 /* out */
            aload 6 /* mf */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        98: .line 1953
            aload 0 /* this */
            aload 4 /* cert */
            aload 3 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        99: .line 1954
            goto 107
      StackMap locals:
      StackMap stack:
       100: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 103
       101: .line 1955
            aload 3 /* out */
            aload 4 /* cert */
            invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       102: .line 1956
            goto 107
       103: .line 1957
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            ldc "trustedCertEntry, "
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       104: .line 1958
            aload 3 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.fingerprint.SHA1."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       105: .line 1959
            aload 0 /* this */
            ldc "SHA1"
            aload 4 /* cert */
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       106: .line 1958
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       107: .line 1961
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* label */
            aload 4 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 6 // java.lang.String mf
        end local 5 // java.lang.Object[] source
        end local 4 // java.security.cert.Certificate cert
       108: .line 1962
            goto 110
       109: .line 1963
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Unknown.Entry.Type"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
       110: .line 1965
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.PrintStream out
        end local 2 // java.lang.String alias
        end local 1 // java.lang.String label
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0  111     0    this  Lsun/security/tools/keytool/Main;
            0  111     1   label  Ljava/lang/String;
            0  111     2   alias  Ljava/lang/String;
            0  111     3     out  Ljava/io/PrintStream;
            4    6     4    form  Ljava/text/MessageFormat;
            5    6     5  source  [Ljava/lang/Object;
           10   18     4    form  Ljava/text/MessageFormat;
           11   18     5  source  [Ljava/lang/Object;
           17   18     6     src  [Ljava/lang/Object;
           23   25     4    form  Ljava/text/MessageFormat;
           24   25     5  source  [Ljava/lang/Object;
           29   31     4    form  Ljava/text/MessageFormat;
           30   31     5  source  [Ljava/lang/Object;
           34   37     4  source  [Ljava/lang/Object;
           43   46     4  source  [Ljava/lang/Object;
           49   80     4   chain  [Ljava/security/cert/Certificate;
           57   73     5       i  I
           61   71     6    form  Ljava/text/MessageFormat;
           62   71     7  source  [Ljava/lang/Object;
           86  108     4    cert  Ljava/security/cert/Certificate;
           87  108     5  source  [Ljava/lang/Object;
           92  108     6      mf  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
       Name  Flags
      label  
      alias  
      out    

  boolean inplaceImportCheck();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 1968
            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 1969
            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 1970
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 1973
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            ifnull 20
         4: .line 1974
            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 1975
            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 1976
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         7: .line 1977
            ldc "Source.keystore.file.exists.but.is.empty."
         8: .line 1976
            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 1978
            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 1976
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1980
      StackMap locals: java.io.File
      StackMap stack:
            aload 1 /* srcksfile */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
        12: .line 1981
            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 1982
            iconst_1
            ireturn
        14: .line 1986
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 1987
            ldc "importing.keystore.status"
        16: .line 1986
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 1987
            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 1986
            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 1988
            iconst_0
            ireturn
        end local 1 // java.io.File srcksfile
        20: .line 1991
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        21: .line 1992
            ldc "Please.specify.srckeystore"
        22: .line 1991
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lsun/security/tools/keytool/Main;
            5   20     1  srcksfile  Ljava/io/File;
    Exceptions:
      throws java.lang.Exception

  java.security.KeyStore loadSourceKeyStore();
    descriptor: ()Ljava/security/KeyStore;
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 2002
            aconst_null
            astore 1 /* is */
        start local 1 // java.io.InputStream is
         1: .line 2003
            aconst_null
            astore 2 /* srcksfile */
        start local 2 // java.io.File srcksfile
         2: .line 2005
            ldc "PKCS11"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 4
         3: .line 2006
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 13
         4: .line 2007
      StackMap locals: java.io.InputStream java.io.File
      StackMap stack:
            ldc "NONE"
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
         5: .line 2008
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         6: .line 2009
            ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
         7: .line 2008
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 2009
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            aastore
         9: .line 2008
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 2010
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        11: .line 2011
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
        12: .line 2013
            goto 15
        13: .line 2014
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* srcksfile */
        14: .line 2015
            new java.io.FileInputStream
            dup
            aload 2 /* srcksfile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 1 /* is */
        15: .line 2020
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            ifnonnull 17
        16: .line 2021
            aload 0 /* this */
            invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
            putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
        17: .line 2023
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
            ifnonnull 20
        18: .line 2024
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
            astore 3 /* store */
        start local 3 // java.security.KeyStore store
        19: .line 2025
            goto 21
        end local 3 // java.security.KeyStore store
        20: .line 2026
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
            astore 3 /* store */
        start local 3 // java.security.KeyStore store
        21: .line 2029
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 28
        22: .line 2030
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
            ifne 28
        23: .line 2031
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 28
        24: .line 2032
            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
        25: .line 2033
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        26: .line 2034
            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
        27: .line 2035
            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
        28: .line 2039
      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 37
        29: .line 2040
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srckeyPass:[C
            ifnull 37
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnull 37
        30: .line 2041
            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 37
        31: .line 2042
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        32: .line 2043
            ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
        33: .line 2042
            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
        34: .line 2044
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "-srckeypass"
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        35: .line 2045
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 4 /* form */
            aload 5 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 2046
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            putfield sun.security.tools.keytool.Main.srckeyPass:[C
        end local 5 // java.lang.Object[] source
        end local 4 // java.text.MessageFormat form
        37: .line 2050
      StackMap locals:
      StackMap stack:
            aload 3 /* store */
            aload 1 /* is */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
        38: .line 2051
            goto 43
        end local 3 // java.security.KeyStore store
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File
      StackMap stack: java.lang.Throwable
        39: astore 6
        40: .line 2052
            aload 1 /* is */
            ifnull 42
        41: .line 2053
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        42: .line 2055
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File top top top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        start local 3 // java.security.KeyStore store
        43: .line 2052
      StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File java.security.KeyStore
      StackMap stack:
            aload 1 /* is */
            ifnull 45
        44: .line 2053
            aload 1 /* is */
            invokevirtual java.io.InputStream.close:()V
        45: .line 2057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstorePass:[C
            ifnonnull 58
        46: .line 2058
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifne 58
        47: .line 2061
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        48: .line 2062
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        49: .line 2063
            ldc ".WARNING.WARNING.WARNING."
        50: .line 2062
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        51: .line 2064
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        52: .line 2065
            ldc ".The.integrity.of.the.information.stored.in.the.srckeystore."
        53: .line 2064
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        54: .line 2066
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        55: .line 2067
            ldc ".WARNING.WARNING.WARNING."
        56: .line 2066
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        57: .line 2068
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        58: .line 2071
      StackMap locals:
      StackMap stack:
            aload 3 /* store */
            areturn
        end local 3 // java.security.KeyStore store
        end local 2 // java.io.File srcksfile
        end local 1 // java.io.InputStream is
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   59     0       this  Lsun/security/tools/keytool/Main;
            1   59     1         is  Ljava/io/InputStream;
            2   59     2  srcksfile  Ljava/io/File;
           19   20     3      store  Ljava/security/KeyStore;
           21   39     3      store  Ljava/security/KeyStore;
           43   59     3      store  Ljava/security/KeyStore;
           34   37     4       form  Ljava/text/MessageFormat;
           35   37     5     source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          15    39      39  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 2081
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
            ifnull 3
         1: .line 2082
            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 2083
            goto 8
         3: .line 2084
      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 2085
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 2086
            ldc "if.alias.not.specified.destalias.and.srckeypass.must.not.be.specified"
         6: .line 2085
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 2088
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* srcKS */
            invokevirtual sun.security.tools.keytool.Main.doImportKeyStoreAll:(Ljava/security/KeyStore;)V
         8: .line 2091
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.inplaceImport:Z
            ifeq 18
         9: .line 2094
            iconst_1
            istore 2 /* n */
        start local 2 // int n
        10: .line 2095
      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 2096
            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 2097
            aload 3 /* bkFile */
            invokevirtual java.io.File.exists:()Z
            ifne 17
        15: .line 2098
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            aload 3 /* bkFile */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            iconst_0
            anewarray java.nio.file.CopyOption
            invokestatic java.nio.file.Files.copy:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
            pop
        16: .line 2099
            goto 18
        end local 3 // java.io.File bkFile
        17: .line 2094
      StackMap locals:
      StackMap stack:
            iinc 2 /* n */ 1
            goto 10
        end local 2 // int n
        18: .line 2112
      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 2123
            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 2125
            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 2126
            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 2127
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 12
         6: .line 2128
            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 2129
            ldc "Warning.Overwriting.existing.alias.alias.in.destination.keystore"
         8: .line 2128
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
         9: .line 2129
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        10: .line 2128
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 2130
            goto 29
        12: .line 2131
      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 2132
            ldc "Existing.entry.alias.alias.exists.overwrite.no."
        14: .line 2131
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        15: .line 2132
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        16: .line 2131
            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 2133
            ldc "NO"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        18: .line 2134
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        19: .line 2135
            ldc "Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry."
        20: .line 2134
            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 2136
            ldc ""
            aload 3 /* newAlias */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        22: .line 2137
            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 2138
            ldc "Entry.for.alias.alias.not.imported."
        24: .line 2137
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        25: .line 2139
            aload 4 /* source */
        26: .line 2138
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
        27: .line 2137
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        28: .line 2140
            iconst_0
            ireturn
        end local 5 // java.lang.String reply
        end local 4 // java.lang.Object[] source
        29: .line 2146
      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 2147
            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 2149
            aconst_null
            astore 6 /* pp */
        start local 6 // java.security.KeyStore$PasswordProtection pp
        32: .line 2155
            aconst_null
            astore 7 /* newPass */
        start local 7 // char[] newPass
        33: .line 2156
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            ifnull 37
        34: .line 2157
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.destKeyPass:[C
            astore 7 /* newPass */
        35: .line 2158
            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 2159
            goto 40
      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 40
        38: .line 2160
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast char[]
            astore 7 /* newPass */
        39: .line 2161
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* objs */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast char[]
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 6 /* pp */
        40: .line 2165
      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
        41: .line 2166
            aload 8 /* c */
            ifnull 43
        42: .line 2167
            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
        43: .line 2169
      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
        44: .line 2172
            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 49
        45: .line 2173
            aload 7 /* newPass */
            ifnull 49
            aload 7 /* newPass */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storePass:[C
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 49
        46: .line 2174
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        47: .line 2175
            ldc "The.destination.pkcs12.keystore.has.different.storepass.and.keypass.Please.retry.with.destkeypass.specified."
        48: .line 2174
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 2178
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 8 // java.security.cert.Certificate c
        50: .line 2179
      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
        51: .line 2180
            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
        52: .line 2181
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        53: .line 2182
            ldc "Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported."
        54: .line 2181
            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
        55: .line 2183
            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
        56: .line 2184
            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   57     0         this  Lsun/security/tools/keytool/Main;
            0   57     1  srckeystore  Ljava/security/KeyStore;
            0   57     2        alias  Ljava/lang/String;
            3   57     3     newAlias  Ljava/lang/String;
            5   29     4       source  [Ljava/lang/Object;
           17   29     5        reply  Ljava/lang/String;
           30   57     4         objs  Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
           31   57     5        entry  Ljava/security/KeyStore$Entry;
           32   57     6           pp  Ljava/security/KeyStore$PasswordProtection;
           33   57     7      newPass  [C
           41   50     8            c  Ljava/security/cert/Certificate;
           51   57     8          kse  Ljava/security/KeyStoreException;
           52   57     9      source2  [Ljava/lang/Object;
           55   57    10         form  Ljava/text/MessageFormat;
      Exception table:
        from    to  target  type
          40    49      50  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 2190
            iconst_0
            istore 2 /* ok */
        start local 2 // int ok
         1: .line 2191
            aload 1 /* srckeystore */
            invokevirtual java.security.KeyStore.size:()I
            istore 3 /* count */
        start local 3 // int count
         2: .line 2192
            aload 1 /* srckeystore */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
         3: .line 2193
            goto 17
         4: .line 2194
      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 2195
            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 2196
            iload 6 /* result */
            iconst_1
            if_icmpne 12
         7: .line 2197
            iinc 2 /* ok */ 1
         8: .line 2198
            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 2199
            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 2200
            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 2201
            goto 17
      StackMap locals: java.lang.String int
      StackMap stack:
        12: iload 6 /* result */
            iconst_2
            if_icmpne 17
        13: .line 2202
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifne 17
        14: .line 2203
            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 2204
            ldc "YES"
            aload 7 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 2205
            goto 18
        end local 7 // java.lang.String reply
        end local 6 // int result
        end local 5 // java.lang.String alias
        17: .line 2193
      StackMap locals:
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 4 // java.util.Enumeration e
        18: .line 2210
      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 2211
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        20: .line 2212
            ldc "Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled"
        21: .line 2211
            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 2213
            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 2214
            return
        end local 5 // java.text.MessageFormat form
        end local 4 // java.lang.Object[] source
        end local 3 // int count
        end local 2 // int ok
        end local 1 // java.security.KeyStore srckeystore
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lsun/security/tools/keytool/Main;
            0   24     1  srckeystore  Ljava/security/KeyStore;
            1   24     2           ok  I
            2   24     3        count  I
            3   18     4            e  Ljava/util/Enumeration<Ljava/lang/String;>;
            5   17     5        alias  Ljava/lang/String;
            6   17     6       result  I
            9   11     7       source  [Ljava/lang/Object;
           10   11     8         form  Ljava/text/MessageFormat;
           15   17     7        reply  Ljava/lang/String;
           19   24     4       source  [Ljava/lang/Object;
           22   24     5         form  Ljava/text/MessageFormat;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
             Name  Flags
      srckeystore  

  private void doPrintEntries(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.PrintStream out
         0: .line 2223
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            astore 2 /* keystoreTypeToPrint */
        start local 2 // java.lang.String keystoreTypeToPrint
         1: .line 2224
            ldc "JKS"
            aload 2 /* keystoreTypeToPrint */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         2: .line 2225
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            ifnull 6
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifeq 6
         3: .line 2226
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
            invokevirtual sun.security.tools.keytool.Main.keyStoreType:(Ljava/io/File;)Ljava/lang/String;
            astore 3 /* realType */
        start local 3 // java.lang.String realType
         4: .line 2229
            ldc "JKS"
            aload 3 /* realType */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 6
         5: .line 2230
            ldc "PKCS12"
            astore 2 /* keystoreTypeToPrint */
        end local 3 // java.lang.String realType
         6: .line 2234
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Keystore.type."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* keystoreTypeToPrint */
            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
         7: .line 2235
            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
         8: .line 2236
            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;
         9: .line 2235
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 2237
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        11: .line 2240
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            iconst_1
            if_icmpne 16
        12: .line 2241
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        13: .line 2242
            ldc "Your.keystore.contains.keyStore.size.entry"
        14: .line 2241
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        15: .line 2242
            goto 19
        16: .line 2243
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        17: .line 2244
            ldc "Your.keystore.contains.keyStore.size.entries"
        18: .line 2243
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        19: .line 2240
      StackMap locals:
      StackMap stack: java.text.MessageFormat
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        20: .line 2245
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        21: .line 2246
            aload 1 /* out */
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        22: .line 2247
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        23: .line 2249
            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;
            astore 5 /* aliases */
        start local 5 // java.util.List aliases
        24: .line 2250
            aload 5 /* aliases */
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  java/lang/String.compareTo(Ljava/lang/String;)I (5)
                  (Ljava/lang/String;Ljava/lang/String;)I
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
        25: .line 2251
            aload 5 /* aliases */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 36
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.String java.text.MessageFormat java.lang.Object[] java.util.List top java.util.Iterator
      StackMap stack:
        26: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* alias */
        start local 6 // java.lang.String alias
        27: .line 2252
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* 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 6 /* alias */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
        28: .line 2253
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifne 29
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 36
        29: .line 2254
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.String java.text.MessageFormat java.lang.Object[] java.util.List java.lang.String java.util.Iterator
      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
        30: .line 2255
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        31: .line 2256
            ldc "STAR"
        32: .line 2255
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 2257
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        34: .line 2258
            ldc "STARNN"
        35: .line 2257
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // java.lang.String alias
        36: .line 2251
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.String java.text.MessageFormat java.lang.Object[] java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        37: .line 2261
            return
        end local 5 // java.util.List aliases
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        end local 2 // java.lang.String keystoreTypeToPrint
        end local 1 // java.io.PrintStream out
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   38     0                 this  Lsun/security/tools/keytool/Main;
            0   38     1                  out  Ljava/io/PrintStream;
            1   38     2  keystoreTypeToPrint  Ljava/lang/String;
            4    6     3             realType  Ljava/lang/String;
           20   38     3                 form  Ljava/text/MessageFormat;
           21   38     4               source  [Ljava/lang/Object;
           24   38     5              aliases  Ljava/util/List<Ljava/lang/String;>;
           27   36     6                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 2264
            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 2290
            aconst_null
            astore 1 /* in */
        start local 1 // java.io.InputStream in
         1: .line 2291
            aconst_null
            astore 2 /* uri */
        start local 2 // java.net.URI uri
         2: .line 2292
            aload 0 /* src */
            ifnonnull 5
         3: .line 2293
            getstatic java.lang.System.in:Ljava/io/InputStream;
            astore 1 /* in */
         4: .line 2294
            goto 16
         5: .line 2296
      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 2297
            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 2300
            aload 2 /* uri */
            invokevirtual java.net.URI.toURL:()Ljava/net/URL;
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 1 /* in */
         8: .line 2302
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 3 /* e */
        start local 3 // java.lang.Exception e
        10: .line 2304
            new java.io.FileInputStream
            dup
            aload 0 /* src */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            astore 1 /* in */
        11: .line 2305
            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 2306
            aload 2 /* uri */
            ifnull 14
            aload 2 /* uri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            ifnonnull 15
        14: .line 2307
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 4 /* e2 */
            athrow
        15: .line 2309
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 4 // java.lang.Exception e2
        end local 3 // java.lang.Exception e
        16: .line 2314
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            ifnull 33
        17: .line 2320
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 3 /* bout */
        start local 3 // java.io.ByteArrayOutputStream bout
        18: .line 2321
            sipush 4096
            newarray 8
            astore 4 /* b */
        start local 4 // byte[] b
        19: .line 2323
      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 2324
            iload 5 /* len */
            ifge 21
            goto 23
        21: .line 2325
      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 2322
            goto 19
        23: .line 2327
      StackMap locals:
      StackMap stack:
            ldc "X509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
        24: .line 2328
            new java.io.ByteArrayInputStream
            dup
            aload 3 /* bout */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        25: .line 2327
            invokevirtual java.security.cert.CertificateFactory.generateCRLs:(Ljava/io/InputStream;)Ljava/util/Collection;
            astore 7
        26: .line 2330
            aload 1 /* in */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 28
        27: .line 2331
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
        28: .line 2327
      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 2329
      StackMap locals: java.lang.String java.io.InputStream java.net.URI
      StackMap stack: java.lang.Throwable
            astore 6
        30: .line 2330
            aload 1 /* in */
            getstatic java.lang.System.in:Ljava/io/InputStream;
            if_acmpeq 32
        31: .line 2331
            aload 1 /* in */
            invokevirtual java.io.InputStream.close:()V
        32: .line 2333
      StackMap locals: java.lang.String java.io.InputStream java.net.URI top top top java.lang.Throwable
      StackMap stack:
            aload 6
            athrow
        33: .line 2336
      StackMap locals: java.lang.String java.io.InputStream java.net.URI
      StackMap stack:
            ldc "LDAP"
            invokestatic sun.security.provider.certpath.CertStoreHelper.getInstance:(Ljava/lang/String;)Lsun/security/provider/certpath/CertStoreHelper;
            astore 3 /* helper */
        start local 3 // sun.security.provider.certpath.CertStoreHelper helper
        34: .line 2337
            aload 2 /* uri */
            invokevirtual java.net.URI.getPath:()Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
        35: .line 2338
            aload 4 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 36
            aload 4 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* path */
        36: .line 2339
      StackMap locals: sun.security.provider.certpath.CertStoreHelper java.lang.String
      StackMap stack:
            aload 3 /* helper */
            aload 2 /* uri */
            invokevirtual sun.security.provider.certpath.CertStoreHelper.getCertStore:(Ljava/net/URI;)Ljava/security/cert/CertStore;
            astore 5 /* s */
        start local 5 // java.security.cert.CertStore s
        37: .line 2341
            aload 3 /* helper */
            new java.security.cert.X509CRLSelector
            dup
            invokespecial java.security.cert.X509CRLSelector.<init>:()V
            aconst_null
            aload 4 /* path */
            invokevirtual sun.security.provider.certpath.CertStoreHelper.wrap:(Ljava/security/cert/X509CRLSelector;Ljava/util/Collection;Ljava/lang/String;)Ljava/security/cert/X509CRLSelector;
        38: .line 2340
            astore 6 /* sel */
        start local 6 // java.security.cert.X509CRLSelector sel
        39: .line 2342
            aload 5 /* s */
            aload 6 /* sel */
            invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
            areturn
        end local 6 // java.security.cert.X509CRLSelector sel
        end local 5 // java.security.cert.CertStore s
        end local 4 // java.lang.String path
        end local 3 // sun.security.provider.certpath.CertStoreHelper helper
        end local 2 // java.net.URI uri
        end local 1 // java.io.InputStream in
        end local 0 // java.lang.String src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   40     0     src  Ljava/lang/String;
            1   40     1      in  Ljava/io/InputStream;
            2   40     2     uri  Ljava/net/URI;
           10   16     3       e  Ljava/lang/Exception;
           13   16     4      e2  Ljava/lang/Exception;
           18   29     3    bout  Ljava/io/ByteArrayOutputStream;
           19   29     4       b  [B
           20   22     5     len  I
           34   40     3  helper  Lsun/security/provider/certpath/CertStoreHelper;
           35   40     4    path  Ljava/lang/String;
           37   40     5       s  Ljava/security/cert/CertStore;
           39   40     6     sel  Ljava/security/cert/X509CRLSelector;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.Exception
          10    11      12  Class java.lang.Exception
          17    26      29  any
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/String;)Ljava/util/Collection<+Ljava/security/cert/CRL;>;
    MethodParameters:
      Name  Flags
      src   

  public static java.util.List<java.security.cert.CRL> readCRLsFromCert(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=12, args_size=1
        start local 0 // java.security.cert.X509Certificate cert
         0: .line 2352
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* crls */
        start local 1 // java.util.List crls
         1: .line 2354
            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 2353
            astore 2 /* ext */
        start local 2 // sun.security.x509.CRLDistributionPointsExtension ext
         3: .line 2355
            aload 2 /* ext */
            ifnonnull 4
            aload 1 /* crls */
            areturn
         4: .line 2357
      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 2356
            astore 3 /* distPoints */
        start local 3 // java.util.List distPoints
         6: .line 2358
            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 2359
            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 2360
            aload 6 /* names */
            ifnull 21
        10: .line 2361
            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 2362
            aload 7 /* name */
            invokevirtual sun.security.x509.GeneralName.getType:()I
            bipush 6
            if_icmpne 20
        13: .line 2363
            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 2364
            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 2365
            aload 10 /* crl */
            instanceof java.security.cert.X509CRL
            ifeq 18
        17: .line 2366
            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 2364
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        19: .line 2369
            goto 21
        end local 9 // sun.security.x509.URIName uriName
        end local 7 // sun.security.x509.GeneralName name
        20: .line 2361
      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 2358
      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 2374
            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 2379
            aload 1 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            astore 2 /* xcrl */
        start local 2 // sun.security.x509.X509CRLImpl xcrl
         1: .line 2380
            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 2381
            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 2382
            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 2383
            aload 6 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 12
         6: .line 2384
            aload 6 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 7 /* xcert */
        start local 7 // java.security.cert.X509Certificate xcert
         7: .line 2385
            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 2387
            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 2388
            aload 4 /* s */
        10: areturn
        11: .line 2389
      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 2381
      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 2394
            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 2399
            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 2400
            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 2401
            aconst_null
            astore 5 /* issuer */
        start local 5 // java.lang.String issuer
         4: .line 2402
            aconst_null
            astore 6 /* signer */
        start local 6 // java.security.cert.Certificate signer
         5: .line 2403
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 17
         6: .line 2404
            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 2405
            aload 5 /* issuer */
            ifnull 17
         8: .line 2406
            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 2407
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        10: .line 2408
            ldc "verified.by.s.in.s.weak"
        11: .line 2407
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 2409
            aload 5 /* issuer */
            aastore
            dup
            iconst_1
        13: .line 2410
            ldc "cacerts"
            aastore
            dup
            iconst_2
        14: .line 2411
            aload 0 /* this */
            aload 6 /* signer */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
            aastore
        15: .line 2407
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        16: .line 2412
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        17: .line 2415
      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 2416
            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 2417
            aload 5 /* issuer */
            ifnull 29
        20: .line 2418
            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 2419
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        22: .line 2420
            ldc "verified.by.s.in.s.weak"
        23: .line 2419
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        24: .line 2421
            aload 5 /* issuer */
            aastore
            dup
            iconst_1
        25: .line 2422
            ldc "keystore"
            aastore
            dup
            iconst_2
        26: .line 2423
            aload 0 /* this */
            aload 6 /* signer */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
            aastore
        27: .line 2419
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        28: .line 2424
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        29: .line 2427
      StackMap locals:
      StackMap stack:
            aload 5 /* issuer */
            ifnonnull 39
        30: .line 2428
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        31: .line 2429
            ldc "STAR"
        32: .line 2428
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        33: .line 2430
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        34: .line 2431
            ldc "warning.not.verified.make.sure.keystore.is.correct"
        35: .line 2430
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 2432
            aload 2 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 2433
            ldc "STARNN"
        38: .line 2432
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 2435
      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 2399
      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 2437
            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 2441
            aload 1 /* crl */
            checkcast java.security.cert.X509CRL
            astore 3 /* xcrl */
        start local 3 // java.security.cert.X509CRL xcrl
         1: .line 2442
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 6
         2: .line 2443
            aload 2 /* out */
            ldc "-----BEGIN X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 2444
            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 2445
            aload 2 /* out */
            ldc "-----END X509 CRL-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 2446
            goto 12
         6: .line 2448
      StackMap locals: java.security.cert.X509CRL
      StackMap stack:
            aload 1 /* crl */
            instanceof sun.security.x509.X509CRLImpl
            ifeq 10
         7: .line 2449
            aload 1 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            astore 5 /* x509crl */
        start local 5 // sun.security.x509.X509CRLImpl x509crl
         8: .line 2450
            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 2451
            goto 11
        end local 4 // java.lang.String s
        10: .line 2452
      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 2454
      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 2456
      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 2461
            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 2462
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuffer sb
         2: .line 2463
            iconst_0
            istore 5 /* started */
        start local 5 // boolean started
         3: .line 2465
      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 2466
            aload 6 /* s */
            ifnonnull 5
            goto 13
         5: .line 2467
      StackMap locals: java.lang.String
      StackMap stack:
            iload 5 /* started */
            ifne 9
         6: .line 2468
            aload 6 /* s */
            ldc "-----"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         7: .line 2469
            iconst_1
            istore 5 /* started */
         8: .line 2471
            goto 3
         9: .line 2472
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            ldc "-----"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 2473
            goto 13
        11: .line 2475
      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 2464
            goto 3
        13: .line 2478
      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 2480
            aload 6 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
            astore 7 /* pkey */
        start local 7 // java.security.PublicKey pkey
        15: .line 2481
            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 2482
            aload 6 /* req */
            invokevirtual sun.security.pkcs10.PKCS10.getSubjectName:()Lsun/security/x509/X500Name;
            aastore
            dup
            iconst_1
        17: .line 2483
            aload 7 /* pkey */
            invokeinterface java.security.PublicKey.getFormat:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        18: .line 2484
            aload 0 /* this */
            aload 7 /* pkey */
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
            aastore
            dup
            iconst_3
        19: .line 2485
            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 2481
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        21: .line 2486
            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 2487
            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 2488
            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 2489
            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 2490
            aload 11 /* exts */
            ifnull 40
        27: .line 2491
            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 2493
            goto 40
        29: .line 2494
      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 2496
            new sun.security.pkcs.PKCS9Attribute
            dup
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
        31: .line 2497
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
        32: .line 2496
            invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
        33: .line 2495
            astore 11 /* pkcs9Attr */
        start local 11 // sun.security.pkcs.PKCS9Attribute pkcs9Attr
        34: .line 2498
            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 2499
            aload 8 /* attr */
            invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
            astore 12 /* attrVal */
        start local 12 // java.lang.Object attrVal
        36: .line 2500
            aload 2 /* out */
            aload 12 /* attrVal */
            instanceof java.lang.String[]
            ifeq 38
        37: .line 2501
            aload 12 /* attrVal */
            checkcast java.lang.String[]
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            goto 39
        38: .line 2502
      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 2500
      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 2486
      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 2505
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 43
        42: .line 2506
            aload 2 /* out */
            aload 6 /* req */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        43: .line 2508
      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 2509
            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=7, locals=9, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.io.InputStream in
        start local 2 // java.io.PrintStream out
         0: .line 2518
            aconst_null
            astore 3 /* c */
        start local 3 // java.util.Collection c
         1: .line 2520
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
            aload 1 /* in */
            invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
            astore 3 /* c */
         2: .line 2521
            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 2522
            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 2524
      StackMap locals:
      StackMap stack:
            aload 3 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 7
         6: .line 2525
            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 2527
      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 2528
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 28
        10: .line 2529
      StackMap locals: java.security.cert.Certificate[] int
      StackMap stack:
            aconst_null
            astore 6 /* x509Cert */
        start local 6 // java.security.cert.X509Certificate x509Cert
        11: .line 2531
            aload 4 /* certs */
            iload 5 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            astore 6 /* x509Cert */
        12: .line 2532
            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 2533
            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 2535
      StackMap locals:
      StackMap stack:
            aload 4 /* certs */
            arraylength
            iconst_1
            if_icmple 21
        16: .line 2536
            new java.text.MessageFormat
            dup
        17: .line 2537
            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 2536
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        19: .line 2538
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Integer
            dup
            iload 5 /* i */
            iconst_1
            iadd
            invokespecial java.lang.Integer.<init>:(I)V
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        20: .line 2539
            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 2541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 23
        22: .line 2542
            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 2544
      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 2545
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            aload 4 /* certs */
            arraylength
            iconst_1
            isub
            if_icmpge 26
        25: .line 2546
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        26: .line 2548
      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 2528
            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 2550
            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 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 2553
            iload 2 /* num */
            iconst_1
            if_icmpne 2
         1: .line 2554
            aload 0 /* label */
            areturn
         2: .line 2556
      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 2561
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
            ifnull 66
         1: .line 2562
            new java.util.jar.JarFile
            dup
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
            iconst_1
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;Z)V
            astore 2 /* jf */
        start local 2 // java.util.jar.JarFile jf
         2: .line 2563
            aload 2 /* jf */
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 3 /* entries */
        start local 3 // java.util.Enumeration entries
         3: .line 2564
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* ss */
        start local 4 // java.util.Set ss
         4: .line 2565
            sipush 8192
            newarray 8
            astore 5 /* buffer */
        start local 5 // byte[] buffer
         5: .line 2566
            iconst_0
            istore 6 /* pos */
        start local 6 // int pos
         6: .line 2567
            goto 61
         7: .line 2568
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.jar.JarEntry
            astore 7 /* je */
        start local 7 // java.util.jar.JarEntry je
         8: .line 2569
            aconst_null
            astore 8
            aconst_null
            astore 9
         9: aload 2 /* jf */
            aload 7 /* je */
            invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
            astore 10 /* is */
        start local 10 // java.io.InputStream is
        10: .line 2570
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack:
            aload 10 /* is */
            aload 5 /* buffer */
            invokevirtual java.io.InputStream.read:([B)I
            iconst_m1
            if_icmpne 10
        11: .line 2575
            aload 10 /* is */
            ifnull 17
            aload 10 /* is */
            invokevirtual java.io.InputStream.close:()V
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 8
            aload 10 /* is */
            ifnull 13
            aload 10 /* is */
            invokevirtual java.io.InputStream.close:()V
        end local 10 // java.io.InputStream is
      StackMap locals:
      StackMap stack:
        13: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 9
            aload 8
            ifnonnull 15
            aload 9
            astore 8
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 8
            aload 9
            if_acmpeq 16
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 8
            athrow
        17: .line 2576
      StackMap locals:
      StackMap stack:
            aload 7 /* je */
            invokevirtual java.util.jar.JarEntry.getCodeSigners:()[Ljava/security/CodeSigner;
            astore 8 /* signers */
        start local 8 // java.security.CodeSigner[] signers
        18: .line 2577
            aload 8 /* signers */
            ifnull 61
        19: .line 2578
            aload 8 /* signers */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 60
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] top int int java.security.CodeSigner[]
      StackMap stack:
        20: aload 12
            iload 10
            aaload
            astore 9 /* signer */
        start local 9 // java.security.CodeSigner signer
        21: .line 2579
            aload 4 /* ss */
            aload 9 /* signer */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 59
        22: .line 2580
            aload 4 /* ss */
            aload 9 /* signer */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        23: .line 2581
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Signer.d."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iinc 6 /* pos */ 1
            iload 6 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        24: .line 2582
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        25: .line 2583
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        26: .line 2584
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Signature."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        27: .line 2585
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        28: .line 2588
            aload 9 /* signer */
            invokevirtual java.security.CodeSigner.getSignerCertPath:()Ljava/security/cert/CertPath;
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
        29: .line 2587
            astore 13 /* certs */
        start local 13 // java.util.List certs
        30: .line 2589
            iconst_0
            istore 14 /* cc */
        start local 14 // int cc
        31: .line 2590
            aload 13 /* certs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 16
            goto 41
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int top java.util.Iterator
      StackMap stack:
        32: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            astore 15 /* cert */
        start local 15 // java.security.cert.Certificate cert
        33: .line 2591
            aload 15 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 17 /* x */
        start local 17 // java.security.cert.X509Certificate x
        34: .line 2592
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 38
        35: .line 2593
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.owner."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* x */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 2594
            aload 0 /* this */
            aload 17 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        37: .line 2595
            goto 39
        38: .line 2596
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.cert.Certificate java.util.Iterator java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            aload 17 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        39: .line 2598
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        40: .line 2599
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iload 14 /* cc */
            iinc 14 /* cc */ 1
            aload 13 /* certs */
            invokeinterface java.util.List.size:()I
            invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
            aload 17 /* x */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 17 // java.security.cert.X509Certificate x
        end local 15 // java.security.cert.Certificate cert
        41: .line 2590
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int top java.util.Iterator
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        42: .line 2601
            aload 9 /* signer */
            invokevirtual java.security.CodeSigner.getTimestamp:()Ljava/security/Timestamp;
            astore 15 /* ts */
        start local 15 // java.security.Timestamp ts
        43: .line 2602
            aload 15 /* ts */
            ifnull 59
        44: .line 2603
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Timestamp."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        45: .line 2604
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        46: .line 2605
            aload 15 /* ts */
            invokevirtual java.security.Timestamp.getSignerCertPath:()Ljava/security/cert/CertPath;
            invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
            astore 13 /* certs */
        47: .line 2606
            iconst_0
            istore 14 /* cc */
        48: .line 2607
            aload 13 /* certs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 17
            goto 58
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp top java.util.Iterator
      StackMap stack:
        49: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            astore 16 /* cert */
        start local 16 // java.security.cert.Certificate cert
        50: .line 2608
            aload 16 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 18 /* x */
        start local 18 // java.security.cert.X509Certificate x
        51: .line 2609
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 55
        52: .line 2610
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Certificate.owner."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* x */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        53: .line 2611
            aload 0 /* this */
            aload 18 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        54: .line 2612
            goto 56
        55: .line 2613
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp java.security.cert.Certificate java.util.Iterator java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            aload 18 /* x */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        56: .line 2615
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        57: .line 2616
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "the.tsa.certificate"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iload 14 /* cc */
            iinc 14 /* cc */ 1
            aload 13 /* certs */
            invokeinterface java.util.List.size:()I
            invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
            aload 18 /* x */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 18 // java.security.cert.X509Certificate x
        end local 16 // java.security.cert.Certificate cert
        58: .line 2607
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 49
        end local 15 // java.security.Timestamp ts
        end local 14 // int cc
        end local 13 // java.util.List certs
        end local 9 // java.security.CodeSigner signer
        59: .line 2578
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] top int int java.security.CodeSigner[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        60: iload 10
            iload 11
            if_icmplt 20
        end local 8 // java.security.CodeSigner[] signers
        end local 7 // java.util.jar.JarEntry je
        61: .line 2567
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 7
        62: .line 2623
            aload 2 /* jf */
            invokevirtual java.util.jar.JarFile.close:()V
        63: .line 2624
            aload 4 /* ss */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 110
        64: .line 2625
            aload 1 /* out */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Not.a.signed.jar.file"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // int pos
        end local 5 // byte[] buffer
        end local 4 // java.util.Set ss
        end local 3 // java.util.Enumeration entries
        end local 2 // java.util.jar.JarFile jf
        65: .line 2627
            goto 110
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
      StackMap stack:
        66: aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
            ifnull 99
        67: .line 2629
            ldc "SSLServer"
            invokestatic sun.security.provider.certpath.CertStoreHelper.getInstance:(Ljava/lang/String;)Lsun/security/provider/certpath/CertStoreHelper;
            astore 2 /* helper */
        start local 2 // sun.security.provider.certpath.CertStoreHelper helper
        68: .line 2630
            aload 2 /* helper */
            new java.net.URI
            dup
            new java.lang.StringBuilder
            dup
            ldc "https://"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
            invokevirtual sun.security.provider.certpath.CertStoreHelper.getCertStore:(Ljava/net/URI;)Ljava/security/cert/CertStore;
            astore 3 /* cs */
        start local 3 // java.security.cert.CertStore cs
        69: .line 2633
            aload 3 /* cs */
            aconst_null
            invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
            astore 4 /* chain */
        start local 4 // java.util.Collection chain
        70: .line 2634
            aload 4 /* chain */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 82
        71: .line 2637
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        72: .line 2638
            ldc "No.certificate.from.the.SSL.server"
        73: .line 2637
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.util.Collection chain
        74: .line 2640
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore
      StackMap stack: java.security.cert.CertStoreException
            astore 5 /* cse */
        start local 5 // java.security.cert.CertStoreException cse
        75: .line 2641
            aload 5 /* cse */
            invokevirtual java.security.cert.CertStoreException.getCause:()Ljava/lang/Throwable;
            instanceof java.io.IOException
            ifeq 81
        76: .line 2642
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        77: .line 2643
            ldc "No.certificate.from.the.SSL.server"
        78: .line 2642
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        79: .line 2644
            aload 5 /* cse */
            invokevirtual java.security.cert.CertStoreException.getCause:()Ljava/lang/Throwable;
        80: .line 2642
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        81: .line 2646
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore top java.security.cert.CertStoreException
      StackMap stack:
            aload 5 /* cse */
            athrow
        end local 5 // java.security.cert.CertStoreException cse
        start local 4 // java.util.Collection chain
        82: .line 2650
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        83: .line 2651
            aload 4 /* chain */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 97
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection int top java.util.Iterator
      StackMap stack:
        84: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            astore 6 /* cert */
        start local 6 // java.security.cert.Certificate cert
        85: .line 2653
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 88
        86: .line 2654
            aload 0 /* this */
            aload 6 /* cert */
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
        87: .line 2655
            goto 92
        88: .line 2656
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection int java.security.cert.Certificate java.util.Iterator
      StackMap stack:
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc "Certificate #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* i */
            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 2657
            aload 1 /* out */
            ldc "===================================="
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        90: .line 2658
            aload 0 /* this */
            aload 6 /* cert */
            checkcast java.security.cert.X509Certificate
            aload 1 /* out */
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        91: .line 2659
            aload 1 /* out */
            invokevirtual java.io.PrintStream.println:()V
        92: .line 2661
      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 */
            iinc 5 /* i */ 1
            aload 4 /* chain */
            invokeinterface java.util.Collection.size:()I
            invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
            aload 6 /* cert */
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        93: .line 2662
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        94: astore 8 /* e */
        start local 8 // java.lang.Exception e
        95: .line 2663
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 97
        96: .line 2664
            aload 8 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 8 // java.lang.Exception e
        end local 6 // java.security.cert.Certificate cert
        97: .line 2651
      StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 84
        end local 5 // int i
        end local 4 // java.util.Collection chain
        end local 3 // java.security.cert.CertStore cs
        end local 2 // sun.security.provider.certpath.CertStoreHelper helper
        98: .line 2668
            goto 110
        99: .line 2669
      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 2670
            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 2671
            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 2672
            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 2674
      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 2677
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.PrintStream out
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0  111     0      this  Lsun/security/tools/keytool/Main;
            0  111     1       out  Ljava/io/PrintStream;
            2   65     2        jf  Ljava/util/jar/JarFile;
            3   65     3   entries  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
            4   65     4        ss  Ljava/util/Set<Ljava/security/CodeSigner;>;
            5   65     5    buffer  [B
            6   65     6       pos  I
            8   61     7        je  Ljava/util/jar/JarEntry;
           10   13    10        is  Ljava/io/InputStream;
           18   61     8   signers  [Ljava/security/CodeSigner;
           21   59     9    signer  Ljava/security/CodeSigner;
           30   59    13     certs  Ljava/util/List<+Ljava/security/cert/Certificate;>;
           31   59    14        cc  I
           33   41    15      cert  Ljava/security/cert/Certificate;
           34   41    17         x  Ljava/security/cert/X509Certificate;
           43   59    15        ts  Ljava/security/Timestamp;
           50   58    16      cert  Ljava/security/cert/Certificate;
           51   58    18         x  Ljava/security/cert/X509Certificate;
           68   98     2    helper  Lsun/security/provider/certpath/CertStoreHelper;
           69   98     3        cs  Ljava/security/cert/CertStore;
           70   74     4     chain  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
           82   98     4     chain  Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
           75   82     5       cse  Ljava/security/cert/CertStoreException;
           83   98     5         i  I
           85   97     6      cert  Ljava/security/cert/Certificate;
           95   97     8         e  Ljava/lang/Exception;
          102  105     4  inStream  Ljava/io/FileInputStream;
      Exception table:
        from    to  target  type
          10    11      12  any
           9    14      14  any
          69    74      74  Class java.security.cert.CertStoreException
          85    93      94  Class java.lang.Exception
         102   103     104  any
         101   106     106  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      out   final

  private void doSelfCert(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=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 2685
            aload 1 /* alias */
            ifnonnull 2
         1: .line 2686
            ldc "mykey"
            astore 1 /* alias */
         2: .line 2689
      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 2690
            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 2691
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 2692
            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 2695
      StackMap locals: sun.security.tools.keytool.Pair java.security.PrivateKey
      StackMap stack:
            aload 3 /* sigAlgName */
            ifnonnull 8
         7: .line 2696
            aload 5 /* privKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* sigAlgName */
         8: .line 2700
      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 2701
            aload 6 /* oldCert */
            ifnonnull 15
        10: .line 2702
            new java.text.MessageFormat
            dup
        11: .line 2703
            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 2702
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        13: .line 2704
            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 2705
            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 2707
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 6 /* oldCert */
            instanceof java.security.cert.X509Certificate
            ifne 21
        16: .line 2708
            new java.text.MessageFormat
            dup
        17: .line 2709
            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 2708
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        19: .line 2710
            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 2711
            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 2716
      StackMap locals:
      StackMap stack:
            aload 6 /* oldCert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 7 /* encoded */
        start local 7 // byte[] encoded
        22: .line 2717
            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 2718
            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 2723
            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 2724
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 11 /* lastDate */
        start local 11 // java.util.Date lastDate
        26: .line 2725
            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 2726
            new sun.security.x509.CertificateValidity
            dup
            aload 10 /* firstDate */
        28: .line 2727
            aload 11 /* lastDate */
        29: .line 2726
            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 2728
            aload 9 /* certInfo */
            ldc "validity"
            aload 12 /* interval */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        31: .line 2731
            aload 9 /* certInfo */
            ldc "serialNumber"
            new sun.security.x509.CertificateSerialNumber
            dup
        32: .line 2732
            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 2731
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        34: .line 2736
            aload 2 /* dname */
            ifnonnull 37
        35: .line 2738
            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 2740
            goto 41
        end local 13 // sun.security.x509.X500Name owner
        37: .line 2742
      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 2743
            aload 9 /* certInfo */
            ldc "subject.dname"
        39: .line 2744
            aload 13 /* owner */
        40: .line 2743
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        41: .line 2747
      StackMap locals: sun.security.x509.X500Name
      StackMap stack:
            aload 9 /* certInfo */
            ldc "issuer.dname"
        42: .line 2748
            aload 13 /* owner */
        43: .line 2747
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        44: .line 2754
            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 2756
            aload 3 /* sigAlgName */
            aload 5 /* privKey */
            invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
        46: .line 2755
            astore 15 /* params */
        start local 15 // java.security.spec.AlgorithmParameterSpec params
        47: .line 2757
            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 2758
            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 2759
            aload 9 /* certInfo */
            ldc "algorithmID.algorithm"
        50: .line 2760
            aload 16 /* sigAlgid */
        51: .line 2759
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        52: .line 2762
            aload 9 /* certInfo */
            ldc "version"
        53: .line 2763
            new sun.security.x509.CertificateVersion
            dup
            iconst_2
            invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
        54: .line 2762
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        55: .line 2765
            aload 0 /* this */
        56: .line 2766
            aconst_null
        57: .line 2767
            aload 9 /* certInfo */
            ldc "extensions"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.CertificateExtensions
        58: .line 2768
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
        59: .line 2769
            aload 6 /* oldCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        60: .line 2770
            aconst_null
        61: .line 2765
            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 2771
            aload 9 /* certInfo */
            ldc "extensions"
            aload 17 /* ext */
            invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
        63: .line 2773
            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 2774
            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 2777
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 5 /* privKey */
        66: .line 2778
            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 2779
      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 2777
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        70: .line 2781
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.verbose:Z
            ifeq 74
        71: .line 2782
            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 2783
            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 2784
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        74: .line 2786
      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 2805
            aload 1 /* alias */
            ifnonnull 2
         1: .line 2806
            ldc "mykey"
            astore 1 /* alias */
         2: .line 2809
      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 2810
            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 2811
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyPass:[C
            ifnonnull 6
         5: .line 2812
            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 2815
      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 2816
            aload 5 /* userCert */
            ifnonnull 13
         8: .line 2817
            new java.text.MessageFormat
            dup
         9: .line 2818
            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 2817
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        11: .line 2819
            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 2820
            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 2824
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
            aload 2 /* in */
            invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
            astore 6 /* c */
        start local 6 // java.util.Collection c
        14: .line 2825
            aload 6 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 16
        15: .line 2826
            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 2828
      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 2830
            aload 7 /* replyCerts */
            arraylength
            iconst_1
            if_icmpne 20
        18: .line 2832
            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 2833
            goto 21
        end local 8 // java.security.cert.Certificate[] newChain
        20: .line 2835
      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 2840
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 8 /* newChain */
            ifnull 28
        22: .line 2841
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 4 /* privKey */
        23: .line 2842
            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 2843
      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 2841
            invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
        27: .line 2844
            iconst_1
            ireturn
        28: .line 2846
      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 2858
            aload 1 /* alias */
            ifnonnull 2
         1: .line 2859
            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 2861
      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 2862
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 2863
            ldc "Certificate.not.imported.alias.alias.already.exists"
         5: .line 2862
            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 2864
            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 2865
            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 2869
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* cert */
        start local 3 // java.security.cert.X509Certificate cert
         9: .line 2871
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
            aload 2 /* in */
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            astore 3 /* cert */
        10: .line 2872
            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 2873
            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 2876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 17
        14: .line 2877
            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 2878
            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 2879
            iconst_1
            ireturn
        17: .line 2883
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* selfSigned */
        start local 4 // boolean selfSigned
        18: .line 2884
            aload 3 /* cert */
            invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifeq 21
        19: .line 2885
            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 2886
            iconst_1
            istore 4 /* selfSigned */
        21: .line 2890
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 5 /* reply */
        start local 5 // java.lang.String reply
        22: .line 2891
            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 2892
            aload 6 /* trustalias */
            ifnull 35
        24: .line 2893
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        25: .line 2894
            ldc "Certificate.already.exists.in.keystore.under.alias.trustalias."
        26: .line 2893
            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 2895
            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 2896
            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 2897
            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 2898
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        31: .line 2899
            aload 0 /* this */
        32: .line 2900
            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 2899
            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 2901
            goto 55
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        35: iload 4 /* selfSigned */
            ifeq 55
        36: .line 2902
            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 2903
            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 2904
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        39: .line 2905
            ldc "Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias."
        40: .line 2904
            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 2906
            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 2907
            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 2908
            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 2909
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        45: .line 2910
            aload 0 /* this */
        46: .line 2911
            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 2910
            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 2913
      StackMap locals:
      StackMap stack:
            aload 6 /* trustalias */
            ifnonnull 55
        49: .line 2916
            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 2917
            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 2918
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        52: .line 2919
            aload 0 /* this */
        53: .line 2920
            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 2919
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        55: .line 2923
      StackMap locals:
      StackMap stack:
            aload 5 /* reply */
            ifnull 60
        56: .line 2924
            ldc "YES"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 59
        57: .line 2925
            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 2926
            iconst_1
            ireturn
        59: .line 2928
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        60: .line 2935
      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 2936
            aload 7 /* chain */
            ifnull 75
        62: .line 2937
            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 2938
            iconst_1
            ireturn
        end local 7 // java.security.cert.Certificate[] chain
        64: .line 2940
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        65: .line 2943
            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 2944
            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 2945
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        68: .line 2946
            aload 0 /* this */
        69: .line 2947
            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 2946
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* reply */
        71: .line 2948
            ldc "YES"
            aload 5 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 74
        72: .line 2949
            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 2950
            iconst_1
            ireturn
        74: .line 2952
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        75: .line 2956
      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 2969
            aconst_null
            astore 3 /* entered */
        start local 3 // char[] entered
         1: .line 2970
            aconst_null
            astore 4 /* reentered */
        start local 4 // char[] reentered
         2: .line 2972
            iconst_0
            istore 5 /* count */
        start local 5 // int count
         3: goto 40
         4: .line 2973
      StackMap locals: char[] char[] int
      StackMap stack:
            new java.text.MessageFormat
            dup
         5: .line 2974
            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 2973
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
         7: .line 2975
            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 2976
            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 2977
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 3 /* entered */
        10: .line 2978
            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 2979
            aload 3 /* entered */
            ifnull 12
            aload 3 /* entered */
            arraylength
            bipush 6
            if_icmpge 16
        12: .line 2980
      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 2981
            ldc "Password.is.too.short.must.be.at.least.6.characters"
        14: .line 2980
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 2982
            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 2983
            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 2984
            goto 33
        19: .line 2985
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        20: .line 2986
            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 2985
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        22: .line 2987
            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 2988
            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 2989
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 4 /* reentered */
        25: .line 2990
            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 2991
            aload 3 /* entered */
            aload 4 /* reentered */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 31
        27: .line 2992
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        28: .line 2993
            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 2992
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        30: .line 2994
            goto 33
        31: .line 2995
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 4 /* reentered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        32: .line 2996
            aload 3 /* entered */
            areturn
        end local 8 // java.lang.Object[] src
        33: .line 2999
      StackMap locals:
      StackMap stack:
            aload 3 /* entered */
            ifnull 36
        34: .line 3000
            aload 3 /* entered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        35: .line 3001
            aconst_null
            astore 3 /* entered */
        36: .line 3003
      StackMap locals:
      StackMap stack:
            aload 4 /* reentered */
            ifnull 39
        37: .line 3004
            aload 4 /* reentered */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
        38: .line 3005
            aconst_null
            astore 4 /* reentered */
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        39: .line 2972
      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 3008
            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 3017
            aload 1 /* prompt */
            ifnull 7
         1: .line 3018
            new java.text.MessageFormat
            dup
         2: .line 3019
            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 3018
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 2 /* form */
        start local 2 // java.text.MessageFormat form
         4: .line 3020
            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 3021
            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 3022
            goto 8
         7: .line 3023
      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 3025
      StackMap locals:
      StackMap stack:
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         9: .line 3026
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
        10: .line 3025
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        11: .line 3026
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
        12: .line 3025
            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 3035
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* prompt */
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         1: .line 3036
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         2: .line 3037
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
         3: .line 3036
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
         4: .line 3037
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
         5: .line 3036
            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 3048
            iconst_0
            istore 4 /* count */
        start local 4 // int count
         1: .line 3049
            aconst_null
            astore 5 /* keyPass */
        start local 5 // char[] keyPass
         2: .line 3052
      StackMap locals: int char[]
      StackMap stack:
            aload 3 /* otherKeyPass */
            ifnull 14
         3: .line 3053
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 3054
            ldc "Enter.key.password.for.alias."
         5: .line 3053
            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 3055
            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 3056
            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 3058
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 3059
            ldc ".RETURN.if.same.as.for.otherAlias."
        10: .line 3058
            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 3060
            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 3061
            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 3062
            goto 19
        14: .line 3063
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        15: .line 3064
            ldc "Enter.key.password.for.alias."
        16: .line 3063
            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 3065
            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 3066
            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 3068
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
        20: .line 3069
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
            astore 5 /* keyPass */
        21: .line 3070
            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 3071
            aload 5 /* keyPass */
            ifnonnull 24
        23: .line 3072
            aload 3 /* otherKeyPass */
            astore 5 /* keyPass */
        24: .line 3074
      StackMap locals:
      StackMap stack:
            iinc 4 /* count */ 1
        25: .line 3075
            aload 5 /* keyPass */
            ifnonnull 27
            iload 4 /* count */
            iconst_3
        26: .line 3051
            if_icmplt 2
        27: .line 3077
      StackMap locals:
      StackMap stack:
            aload 5 /* keyPass */
            ifnonnull 29
        28: .line 3078
            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 3081
      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 3085
            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 3086
            aload 1 /* alg */
            areturn
         2: .line 3088
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "with.weak"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alg */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String alg
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/tools/keytool/Main;
            0    3     1   alg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      alg   

  private java.lang.String withWeak(java.security.PublicKey);
    descriptor: (Ljava/security/PublicKey;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.PublicKey key
         0: .line 3093
            getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
            getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
            aload 1 /* key */
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
            ifeq 4
         1: .line 3094
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "key.bit"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 3095
            aload 1 /* key */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* key */
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            aastore
         3: .line 3094
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         4: .line 3097
      StackMap locals:
      StackMap stack:
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "key.bit.weak"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 3098
            aload 1 /* key */
            invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* key */
            invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
            aastore
         6: .line 3097
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.security.PublicKey key
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/tools/keytool/Main;
            0    7     1   key  Ljava/security/PublicKey;
    MethodParameters:
      Name  Flags
      key   

  private void printX509Cert(java.security.cert.X509Certificate, java.io.PrintStream);
    descriptor: (Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.X509Certificate cert
        start local 2 // java.io.PrintStream out
         0: .line 3126
            new java.text.MessageFormat
            dup
         1: .line 3127
            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 3126
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         3: .line 3128
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 4 /* pkey */
        start local 4 // java.security.PublicKey pkey
         4: .line 3129
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
            astore 5 /* sigName */
        start local 5 // java.lang.String sigName
         5: .line 3131
            aload 0 /* this */
            aload 1 /* cert */
            invokevirtual sun.security.tools.keytool.Main.isTrustedCert:(Ljava/security/cert/Certificate;)Z
            ifne 7
         6: .line 3132
            aload 0 /* this */
            aload 5 /* sigName */
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* sigName */
         7: .line 3134
      StackMap locals: java.text.MessageFormat java.security.PublicKey java.lang.String
      StackMap stack:
            bipush 11
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
            invokeinterface java.security.Principal.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         8: .line 3135
            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 3136
            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 3137
            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 3138
            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 3139
            aload 0 /* this */
            ldc "MD5"
            aload 1 /* cert */
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            aastore
            dup
            bipush 6
        13: .line 3140
            aload 0 /* this */
            ldc "SHA1"
            aload 1 /* cert */
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            aastore
            dup
            bipush 7
        14: .line 3141
            aload 0 /* this */
            ldc "SHA-256"
            aload 1 /* cert */
            invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
            aastore
            dup
            bipush 8
        15: .line 3142
            aload 5 /* sigName */
            aastore
            dup
            bipush 9
        16: .line 3143
            aload 0 /* this */
            aload 4 /* pkey */
            invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
            aastore
            dup
            bipush 10
        17: .line 3144
            aload 1 /* cert */
            invokevirtual java.security.cert.X509Certificate.getVersion:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        18: .line 3134
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        19: .line 3146
            aload 2 /* out */
            aload 3 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        20: .line 3148
            aload 1 /* cert */
            instanceof sun.security.x509.X509CertImpl
            ifeq 27
        21: .line 3149
            aload 1 /* cert */
            checkcast sun.security.x509.X509CertImpl
            astore 7 /* impl */
        start local 7 // sun.security.x509.X509CertImpl impl
        22: .line 3150
            aload 7 /* impl */
            ldc "x509.info"
            invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast sun.security.x509.X509CertInfo
            astore 8 /* certInfo */
        start local 8 // sun.security.x509.X509CertInfo certInfo
        23: .line 3154
            aload 8 /* certInfo */
            ldc "extensions"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
        24: .line 3153
            checkcast sun.security.x509.CertificateExtensions
            astore 9 /* exts */
        start local 9 // sun.security.x509.CertificateExtensions exts
        25: .line 3155
            aload 9 /* exts */
            ifnull 27
        26: .line 3156
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Extensions."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 9 /* exts */
            aload 2 /* out */
            invokestatic sun.security.tools.keytool.Main.printExtensions:(Ljava/lang/String;Lsun/security/x509/CertificateExtensions;Ljava/io/PrintStream;)V
        end local 9 // sun.security.x509.CertificateExtensions exts
        end local 8 // sun.security.x509.X509CertInfo certInfo
        end local 7 // sun.security.x509.X509CertImpl impl
        27: .line 3159
      StackMap locals: java.lang.Object[]
      StackMap stack:
            return
        end local 6 // java.lang.Object[] source
        end local 5 // java.lang.String sigName
        end local 4 // java.security.PublicKey pkey
        end local 3 // java.text.MessageFormat form
        end local 2 // java.io.PrintStream out
        end local 1 // java.security.cert.X509Certificate cert
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0      this  Lsun/security/tools/keytool/Main;
            0   28     1      cert  Ljava/security/cert/X509Certificate;
            0   28     2       out  Ljava/io/PrintStream;
            3   28     3      form  Ljava/text/MessageFormat;
            4   28     4      pkey  Ljava/security/PublicKey;
            5   28     5   sigName  Ljava/lang/String;
           19   28     6    source  [Ljava/lang/Object;
           22   27     7      impl  Lsun/security/x509/X509CertImpl;
           23   27     8  certInfo  Lsun/security/x509/X509CertInfo;
           25   27     9      exts  Lsun/security/x509/CertificateExtensions;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      cert  
      out   

  private static void printExtensions(java.lang.String, sun.security.x509.CertificateExtensions, java.io.PrintStream);
    descriptor: (Ljava/lang/String;Lsun/security/x509/CertificateExtensions;Ljava/io/PrintStream;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.lang.String title
        start local 1 // sun.security.x509.CertificateExtensions exts
        start local 2 // java.io.PrintStream out
         0: .line 3163
            iconst_0
            istore 3 /* extnum */
        start local 3 // int extnum
         1: .line 3164
            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 3165
            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 3166
            goto 20
         4: .line 3167
      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 3168
            iload 3 /* extnum */
            ifne 11
         8: .line 3169
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
         9: .line 3170
            aload 2 /* out */
            aload 0 /* title */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 3171
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        11: .line 3173
      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 3174
            aload 6 /* ext */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lsun/security/x509/Extension;
            if_acmpne 19
        13: .line 3175
            aload 6 /* ext */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            astore 7 /* v */
        start local 7 // byte[] v
        14: .line 3176
            aload 7 /* v */
            arraylength
            ifne 17
        15: .line 3177
            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 3178
            goto 19
        17: .line 3179
      StackMap locals: byte[]
      StackMap stack:
            new sun.misc.HexDumpEncoder
            dup
            invokespecial sun.misc.HexDumpEncoder.<init>:()V
            aload 6 /* ext */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
            aload 2 /* out */
            invokevirtual sun.misc.HexDumpEncoder.encodeBuffer:([BLjava/io/OutputStream;)V
        18: .line 3180
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        end local 7 // byte[] v
        19: .line 3183
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            invokevirtual java.io.PrintStream.println:()V
        end local 6 // sun.security.x509.Extension ext
        20: .line 3166
      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 3185
            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 3198
            aload 1 /* ks */
            aload 0 /* cert */
            invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
            ifnull 2
         1: .line 3199
            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 3201
      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 3202
            goto 11
         4: .line 3203
      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 3204
            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 3205
            aload 4 /* trustedCert */
            ifnull 11
         7: .line 3207
            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 3208
            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 3209
      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 3202
      StackMap locals:
      StackMap stack:
            aload 2 /* aliases */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 2 // java.util.Enumeration aliases
        12: .line 3214
            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 3222
            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 3223
            ldc "Unknown"
            astore 2 /* commonName */
        start local 2 // java.lang.String commonName
         2: .line 3224
            ldc "Unknown"
            astore 3 /* organizationalUnit */
        start local 3 // java.lang.String organizationalUnit
         3: .line 3225
            ldc "Unknown"
            astore 4 /* organization */
        start local 4 // java.lang.String organization
         4: .line 3226
            ldc "Unknown"
            astore 5 /* city */
        start local 5 // java.lang.String city
         5: .line 3227
            ldc "Unknown"
            astore 6 /* state */
        start local 6 // java.lang.String state
         6: .line 3228
            ldc "Unknown"
            astore 7 /* country */
        start local 7 // java.lang.String country
         7: .line 3230
            aconst_null
            astore 9 /* userInput */
        start local 9 // java.lang.String userInput
         8: .line 3232
            bipush 20
            istore 10 /* maxRetry */
        start local 10 // int maxRetry
         9: .line 3234
      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 3235
            new java.lang.RuntimeException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        11: .line 3236
            ldc "Too.many.retries.program.terminated"
        12: .line 3235
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 3238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* in */
        14: .line 3239
            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 3240
            aload 2 /* commonName */
        16: .line 3238
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* commonName */
        17: .line 3241
            aload 0 /* this */
            aload 1 /* in */
        18: .line 3242
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        19: .line 3243
            ldc "What.is.the.name.of.your.organizational.unit."
        20: .line 3242
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        21: .line 3244
            aload 3 /* organizationalUnit */
        22: .line 3241
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* organizationalUnit */
        23: .line 3245
            aload 0 /* this */
            aload 1 /* in */
        24: .line 3246
            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 3247
            aload 4 /* organization */
        26: .line 3245
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* organization */
        27: .line 3248
            aload 0 /* this */
            aload 1 /* in */
        28: .line 3249
            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 3250
            aload 5 /* city */
        30: .line 3248
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* city */
        31: .line 3251
            aload 0 /* this */
            aload 1 /* in */
        32: .line 3252
            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 3253
            aload 6 /* state */
        34: .line 3251
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* state */
        35: .line 3254
            aload 0 /* this */
            aload 1 /* in */
        36: .line 3255
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 3256
            ldc "What.is.the.two.letter.country.code.for.this.unit."
        38: .line 3255
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        39: .line 3257
            aload 7 /* country */
        40: .line 3254
            invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* country */
        41: .line 3258
            new sun.security.x509.X500Name
            dup
            aload 2 /* commonName */
            aload 3 /* organizationalUnit */
            aload 4 /* organization */
        42: .line 3259
            aload 5 /* city */
            aload 6 /* state */
            aload 7 /* country */
        43: .line 3258
            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 3260
            new java.text.MessageFormat
            dup
        45: .line 3261
            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 3260
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        47: .line 3262
            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 3263
            aload 0 /* this */
        49: .line 3264
            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 3263
            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 3265
            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 3266
            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 3268
      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 3269
            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 3276
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* prompt */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 3277
            new java.text.MessageFormat
            dup
         2: .line 3278
            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 3277
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
         4: .line 3279
            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 3280
            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 3281
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         7: .line 3283
            aload 1 /* in */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
         8: .line 3284
            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 3285
      StackMap locals: java.text.MessageFormat java.lang.Object[] java.lang.String
      StackMap stack:
            aload 3 /* defaultValue */
            astore 6 /* value */
        10: .line 3287
      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 3297
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.rfc:Z
            ifeq 5
         1: .line 3298
            aload 2 /* out */
            ldc "-----BEGIN CERTIFICATE-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 3299
            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 3300
            aload 2 /* out */
            ldc "-----END CERTIFICATE-----"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 3301
            goto 6
         5: .line 3302
      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 3304
      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 3310
            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 3311
            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 3310
            astore 3 /* hexChars */
        start local 3 // char[] hexChars
         3: .line 3312
            iload 1 /* b */
            sipush 240
            iand
            iconst_4
            ishr
            istore 4 /* high */
        start local 4 // int high
         4: .line 3313
            iload 1 /* b */
            bipush 15
            iand
            istore 5 /* low */
        start local 5 // int low
         5: .line 3314
            aload 2 /* buf */
            aload 3 /* hexChars */
            iload 4 /* high */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 3315
            aload 2 /* buf */
            aload 3 /* hexChars */
            iload 5 /* low */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 3316
            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 3322
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         1: .line 3323
            aload 1 /* block */
            arraylength
            istore 3 /* len */
        start local 3 // int len
         2: .line 3324
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 3325
      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 3326
            iload 4 /* i */
            iload 3 /* len */
            iconst_1
            isub
            if_icmpge 7
         6: .line 3327
            aload 2 /* buf */
            ldc ":"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 3324
      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 3330
            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 3344
            aconst_null
            astore 4 /* key */
        start local 4 // java.security.Key key
         1: .line 3346
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 3347
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aconst_null
            invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
            astore 4 /* key */
         3: .line 3348
            aload 4 /* key */
            aconst_null
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
            areturn
         4: .line 3351
      StackMap locals: java.security.Key
      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 10
         5: .line 3352
            new java.text.MessageFormat
            dup
         6: .line 3353
            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;
         7: .line 3352
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         8: .line 3354
            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 3355
            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
        10: .line 3357
      StackMap locals:
      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 17
        11: .line 3358
            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 17
        12: .line 3359
            new java.text.MessageFormat
            dup
        13: .line 3360
            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;
        14: .line 3359
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        15: .line 3361
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        16: .line 3362
            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
        17: .line 3365
      StackMap locals:
      StackMap stack:
            aload 3 /* keyPass */
            ifnonnull 28
        18: .line 3368
            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 */
        19: .line 3370
            aload 2 /* storePass */
            astore 3 /* keyPass */
        20: .line 3371
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
            aload 3 /* keyPass */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        21: .line 3372
            goto 29
      StackMap locals:
      StackMap stack: java.security.UnrecoverableKeyException
        22: astore 5 /* e */
        start local 5 // java.security.UnrecoverableKeyException e
        23: .line 3374
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.token:Z
            ifne 27
        24: .line 3375
            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 */
        25: .line 3376
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            aload 1 /* alias */
            aload 3 /* keyPass */
            invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
            astore 4 /* key */
        26: .line 3377
            goto 29
        27: .line 3378
      StackMap locals: java.security.UnrecoverableKeyException
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // java.security.UnrecoverableKeyException e
        28: .line 3382
      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 */
        29: .line 3385
      StackMap locals:
      StackMap stack:
            aload 4 /* key */
            aload 3 /* keyPass */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
            areturn
        end local 4 // java.security.Key key
        end local 3 // char[] keyPass
        end local 2 // char[] storePass
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   30     0       this  Lsun/security/tools/keytool/Main;
            0   30     1      alias  Ljava/lang/String;
            0   30     2  storePass  [C
            0   30     3    keyPass  [C
            1   30     4        key  Ljava/security/Key;
            8   10     5       form  Ljava/text/MessageFormat;
            9   10     6     source  [Ljava/lang/Object;
           15   17     5       form  Ljava/text/MessageFormat;
           16   17     6     source  [Ljava/lang/Object;
           23   28     5          e  Ljava/security/UnrecoverableKeyException;
      Exception table:
        from    to  target  type
          18    21      22  Class java.security.UnrecoverableKeyException
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
    MethodParameters:
           Name  Flags
      alias      
      storePass  
      keyPass    

  private sun.security.tools.keytool.Pair<java.security.KeyStore$Entry, char[]> recoverEntry(java.security.KeyStore, java.lang.String, char[], char[]);
    descriptor: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.KeyStore ks
        start local 2 // java.lang.String alias
        start local 3 // char[] pstore
        start local 4 // char[] pkey
         0: .line 3400
            aload 1 /* ks */
            aload 2 /* alias */
            invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
            ifne 6
         1: .line 3401
            new java.text.MessageFormat
            dup
         2: .line 3402
            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 3401
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
         4: .line 3403
            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 3404
            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 3407
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* pp */
        start local 5 // java.security.KeyStore$PasswordProtection pp
         7: .line 3414
            aload 1 /* ks */
            aload 2 /* alias */
            aload 5 /* pp */
            invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
            astore 6 /* entry */
        start local 6 // java.security.KeyStore$Entry entry
         8: .line 3415
            aconst_null
            astore 4 /* pkey */
         9: .line 3416
            goto 28
        end local 6 // java.security.KeyStore$Entry entry
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String char[] char[] java.security.KeyStore$PasswordProtection
      StackMap stack: java.security.UnrecoverableEntryException
        10: astore 7 /* une */
        start local 7 // java.security.UnrecoverableEntryException une
        11: .line 3418
            ldc "PKCS11"
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 13
        12: .line 3419
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
            invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 3421
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String char[] char[] java.security.KeyStore$PasswordProtection top java.security.UnrecoverableEntryException
      StackMap stack:
            aload 7 /* une */
            athrow
        14: .line 3426
      StackMap locals:
      StackMap stack:
            aload 4 /* pkey */
            ifnull 18
        15: .line 3430
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* pkey */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        16: .line 3431
            aload 1 /* ks */
            aload 2 /* alias */
            aload 5 /* pp */
            invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
            astore 6 /* entry */
        start local 6 // java.security.KeyStore$Entry entry
        17: .line 3433
            goto 28
        end local 6 // java.security.KeyStore$Entry entry
        18: .line 3438
      StackMap locals:
      StackMap stack:
            new java.security.KeyStore$PasswordProtection
            dup
            aload 3 /* pstore */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        19: .line 3439
            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 3440
            aload 3 /* pstore */
            astore 4 /* pkey */
        21: .line 3441
            goto 28
        end local 6 // java.security.KeyStore$Entry entry
      StackMap locals:
      StackMap stack: java.security.UnrecoverableEntryException
        22: astore 8 /* une2 */
        start local 8 // java.security.UnrecoverableEntryException une2
        23: .line 3442
            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 3447
            aload 8 /* une2 */
            athrow
        25: .line 3452
      StackMap locals: java.security.UnrecoverableEntryException
      StackMap stack:
            aload 0 /* this */
            aload 2 /* alias */
            aconst_null
            aconst_null
            invokevirtual sun.security.tools.keytool.Main.getKeyPasswd:(Ljava/lang/String;Ljava/lang/String;[C)[C
            astore 4 /* pkey */
        26: .line 3453
            new java.security.KeyStore$PasswordProtection
            dup
            aload 4 /* pkey */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            astore 5 /* pp */
        27: .line 3454
            aload 1 /* ks */
            aload 2 /* alias */
            aload 5 /* pp */
            invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
            astore 6 /* entry */
        end local 8 // java.security.UnrecoverableEntryException une2
        end local 7 // java.security.UnrecoverableEntryException une
        start local 6 // java.security.KeyStore$Entry entry
        28: .line 3460
      StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String char[] char[] java.security.KeyStore$PasswordProtection java.security.KeyStore$Entry
      StackMap stack:
            aload 6 /* entry */
            aload 4 /* pkey */
            invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
            areturn
        end local 6 // java.security.KeyStore$Entry entry
        end local 5 // java.security.KeyStore$PasswordProtection pp
        end local 4 // char[] pkey
        end local 3 // char[] pstore
        end local 2 // java.lang.String alias
        end local 1 // java.security.KeyStore ks
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0    this  Lsun/security/tools/keytool/Main;
            0   29     1      ks  Ljava/security/KeyStore;
            0   29     2   alias  Ljava/lang/String;
            0   29     3  pstore  [C
            0   29     4    pkey  [C
            4    6     5    form  Ljava/text/MessageFormat;
            5    6     6  source  [Ljava/lang/Object;
            7   29     5      pp  Ljava/security/KeyStore$PasswordProtection;
            8   10     6   entry  Ljava/security/KeyStore$Entry;
           17   18     6   entry  Ljava/security/KeyStore$Entry;
           20   22     6   entry  Ljava/security/KeyStore$Entry;
           28   29     6   entry  Ljava/security/KeyStore$Entry;
           11   28     7     une  Ljava/security/UnrecoverableEntryException;
           23   28     8    une2  Ljava/security/UnrecoverableEntryException;
      Exception table:
        from    to  target  type
           7     9      10  Class java.security.UnrecoverableEntryException
          18    21      22  Class java.security.UnrecoverableEntryException
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
    MethodParameters:
        Name  Flags
      ks      
      alias   
      pstore  
      pkey    

  private java.lang.String getCertFingerPrint(java.lang.String, java.security.cert.Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String mdAlg
        start local 2 // java.security.cert.Certificate cert
         0: .line 3468
            aload 2 /* cert */
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 3 /* encCertInfo */
        start local 3 // byte[] encCertInfo
         1: .line 3469
            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 3470
            aload 4 /* md */
            aload 3 /* encCertInfo */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 5 /* digest */
        start local 5 // byte[] digest
         3: .line 3471
            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 3478
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         1: .line 3479
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         2: .line 3480
            ldc ".WARNING.WARNING.WARNING."
         3: .line 3479
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 3481
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 3482
            ldc ".The.integrity.of.the.information.stored.in.your.keystore."
         6: .line 3481
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 3483
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         8: .line 3484
            ldc ".WARNING.WARNING.WARNING."
         9: .line 3483
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 3485
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        11: .line 3486
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/security/tools/keytool/Main;

  private java.security.cert.Certificate[] validateReply(java.lang.String, java.security.cert.Certificate, java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.Certificate userCert
        start local 3 // java.security.cert.Certificate[] replyCerts
         0: .line 3503
            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 3509
            aload 2 /* userCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 5 /* userPubKey */
        start local 5 // java.security.PublicKey userPubKey
         2: .line 3510
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 3511
      StackMap locals: int java.security.PublicKey
      StackMap stack:
            aload 5 /* userPubKey */
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 3512
            goto 8
         6: .line 3510
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            if_icmplt 4
         8: .line 3515
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            if_icmpne 14
         9: .line 3516
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        10: .line 3517
            ldc "Certificate.reply.does.not.contain.public.key.for.alias."
        11: .line 3516
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 6 /* form */
        start local 6 // java.text.MessageFormat form
        12: .line 3518
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* alias */
            aastore
            astore 7 /* source */
        start local 7 // java.lang.Object[] source
        13: .line 3519
            new java.lang.Exception
            dup
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        14: .line 3522
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            iconst_0
            aaload
            astore 6 /* tmpCert */
        start local 6 // java.security.cert.Certificate tmpCert
        15: .line 3523
            aload 3 /* replyCerts */
            iconst_0
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            aastore
        16: .line 3524
            aload 3 /* replyCerts */
            iload 4 /* i */
            aload 6 /* tmpCert */
            aastore
        17: .line 3526
            aload 3 /* replyCerts */
            iconst_0
            aaload
            checkcast java.security.cert.X509Certificate
            astore 7 /* thisCert */
        start local 7 // java.security.cert.X509Certificate thisCert
        18: .line 3528
            iconst_1
            istore 4 /* i */
            goto 34
        19: .line 3531
      StackMap locals: java.security.cert.Certificate java.security.cert.X509Certificate
      StackMap stack:
            iload 4 /* i */
            istore 8 /* j */
        start local 8 // int j
        20: goto 28
        21: .line 3532
      StackMap locals: int
      StackMap stack:
            aload 7 /* thisCert */
            aload 3 /* replyCerts */
            iload 8 /* j */
            aaload
            checkcast java.security.cert.X509Certificate
            invokestatic sun.security.tools.KeyStoreUtil.signedBy:(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)Z
            ifeq 27
        22: .line 3533
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            astore 6 /* tmpCert */
        23: .line 3534
            aload 3 /* replyCerts */
            iload 4 /* i */
            aload 3 /* replyCerts */
            iload 8 /* j */
            aaload
            aastore
        24: .line 3535
            aload 3 /* replyCerts */
            iload 8 /* j */
            aload 6 /* tmpCert */
            aastore
        25: .line 3536
            aload 3 /* replyCerts */
            iload 4 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            astore 7 /* thisCert */
        26: .line 3537
            goto 29
        27: .line 3531
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* j */
            aload 3 /* replyCerts */
            arraylength
            if_icmplt 21
        29: .line 3540
      StackMap locals:
      StackMap stack:
            iload 8 /* j */
            aload 3 /* replyCerts */
            arraylength
            if_icmpne 33
        30: .line 3541
            new java.lang.Exception
            dup
        31: .line 3542
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Incomplete.certificate.chain.in.reply"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        32: .line 3541
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // int j
        33: .line 3528
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 4 /* i */
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            isub
            if_icmplt 19
        35: .line 3546
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.noprompt:Z
            ifeq 37
        36: .line 3547
            aload 3 /* replyCerts */
            areturn
        37: .line 3551
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            isub
            aaload
            astore 8 /* topCert */
        start local 8 // java.security.cert.Certificate topCert
        38: .line 3552
            iconst_1
            istore 9 /* fromKeyStore */
        start local 9 // boolean fromKeyStore
        39: .line 3553
            aload 8 /* topCert */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokestatic sun.security.tools.keytool.Main.getSigner:(Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair;
            astore 10 /* root */
        start local 10 // sun.security.tools.keytool.Pair root
        40: .line 3554
            aload 10 /* root */
            ifnonnull 43
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 43
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            ifnull 43
        41: .line 3555
            aload 8 /* topCert */
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
            invokestatic sun.security.tools.keytool.Main.getSigner:(Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair;
            astore 10 /* root */
        42: .line 3556
            iconst_0
            istore 9 /* fromKeyStore */
        43: .line 3558
      StackMap locals: java.security.cert.Certificate int sun.security.tools.keytool.Pair
      StackMap stack:
            aload 10 /* root */
            ifnonnull 57
        44: .line 3559
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        45: .line 3560
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        46: .line 3561
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Top.level.certificate.in.reply."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        47: .line 3560
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        48: .line 3562
            aload 0 /* this */
            aload 8 /* topCert */
            checkcast java.security.cert.X509Certificate
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
        49: .line 3563
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        50: .line 3564
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc ".is.not.trusted."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        51: .line 3565
            aload 0 /* this */
            iconst_1
            invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
        52: .line 3566
            aload 0 /* this */
        53: .line 3567
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Install.reply.anyway.no."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
        54: .line 3566
            invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* reply */
        start local 11 // java.lang.String reply
        55: .line 3568
            ldc "NO"
            aload 11 /* reply */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 73
        56: .line 3569
            aconst_null
            areturn
        end local 11 // java.lang.String reply
        57: .line 3572
      StackMap locals:
      StackMap stack:
            aload 10 /* root */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            aload 8 /* topCert */
            if_acmpeq 73
        58: .line 3575
            aload 3 /* replyCerts */
            arraylength
            iconst_1
            iadd
            anewarray java.security.cert.Certificate
        59: .line 3574
            astore 11 /* tmpCerts */
        start local 11 // java.security.cert.Certificate[] tmpCerts
        60: .line 3576
            aload 3 /* replyCerts */
            iconst_0
            aload 11 /* tmpCerts */
            iconst_0
        61: .line 3577
            aload 3 /* replyCerts */
            arraylength
        62: .line 3576
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        63: .line 3578
            aload 11 /* tmpCerts */
            aload 11 /* tmpCerts */
            arraylength
            iconst_1
            isub
            aload 10 /* root */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            aastore
        64: .line 3579
            aload 11 /* tmpCerts */
            astore 3 /* replyCerts */
        65: .line 3580
            aload 0 /* this */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            iload 9 /* fromKeyStore */
            ifeq 67
        66: .line 3581
            ldc "alias.in.keystore"
            goto 68
        67: .line 3582
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.cert.X509Certificate java.security.cert.Certificate int sun.security.tools.keytool.Pair java.security.cert.Certificate[]
      StackMap stack: sun.security.tools.keytool.Main java.util.ResourceBundle
            ldc "alias.in.cacerts"
        68: .line 3580
      StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.cert.X509Certificate java.security.cert.Certificate int sun.security.tools.keytool.Pair java.security.cert.Certificate[]
      StackMap stack: sun.security.tools.keytool.Main java.util.ResourceBundle java.lang.String
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        69: .line 3583
            aload 10 /* root */
            getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
            aastore
        70: .line 3580
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        71: .line 3584
            aload 10 /* root */
            getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
            checkcast java.security.cert.Certificate
        72: .line 3580
            invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
        end local 11 // java.security.cert.Certificate[] tmpCerts
        73: .line 3587
      StackMap locals:
      StackMap stack:
            aload 3 /* replyCerts */
            areturn
        end local 10 // sun.security.tools.keytool.Pair root
        end local 9 // boolean fromKeyStore
        end local 8 // java.security.cert.Certificate topCert
        end local 7 // java.security.cert.X509Certificate thisCert
        end local 6 // java.security.cert.Certificate tmpCert
        end local 5 // java.security.PublicKey userPubKey
        end local 4 // int i
        end local 3 // java.security.cert.Certificate[] replyCerts
        end local 2 // java.security.cert.Certificate userCert
        end local 1 // java.lang.String alias
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   74     0          this  Lsun/security/tools/keytool/Main;
            0   74     1         alias  Ljava/lang/String;
            0   74     2      userCert  Ljava/security/cert/Certificate;
            0   74     3    replyCerts  [Ljava/security/cert/Certificate;
            3   74     4             i  I
            2   74     5    userPubKey  Ljava/security/PublicKey;
           12   14     6          form  Ljava/text/MessageFormat;
           13   14     7        source  [Ljava/lang/Object;
           15   74     6       tmpCert  Ljava/security/cert/Certificate;
           18   74     7      thisCert  Ljava/security/cert/X509Certificate;
           20   33     8             j  I
           38   74     8       topCert  Ljava/security/cert/Certificate;
           39   74     9  fromKeyStore  Z
           40   74    10          root  Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/Certificate;>;
           55   57    11         reply  Ljava/lang/String;
           60   73    11      tmpCerts  [Ljava/security/cert/Certificate;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
            Name  Flags
      alias       
      userCert    
      replyCerts  

  private java.security.cert.Certificate[] establishCertChain(java.security.cert.Certificate, java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.Certificate userCert
        start local 2 // java.security.cert.Certificate certToVerify
         0: .line 3606
            aload 1 /* userCert */
            ifnull 11
         1: .line 3609
            aload 1 /* userCert */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 3 /* origPubKey */
        start local 3 // java.security.PublicKey origPubKey
         2: .line 3610
            aload 2 /* certToVerify */
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 4 /* replyPubKey */
        start local 4 // java.security.PublicKey replyPubKey
         3: .line 3611
            aload 3 /* origPubKey */
            aload 4 /* replyPubKey */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
         4: .line 3612
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         5: .line 3613
            ldc "Public.keys.in.reply.and.keystore.don.t.match"
         6: .line 3612
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 3618
      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 3619
            new java.lang.Exception
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         9: .line 3620
            ldc "Certificate.reply.and.certificate.in.keystore.are.identical"
        10: .line 3619
            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 3628
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* certs */
        start local 3 // java.util.Hashtable certs
        12: .line 3629
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
            invokevirtual java.security.KeyStore.size:()I
            ifle 15
        13: .line 3630
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 3 /* certs */
        14: .line 3631
            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 3633
      StackMap locals: java.util.Hashtable
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.trustcacerts:Z
            ifeq 20
        16: .line 3634
            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 3635
            aload 3 /* certs */
            ifnonnull 19
        18: .line 3636
            new java.util.Hashtable
            dup
            bipush 11
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 3 /* certs */
        19: .line 3638
      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 3643
      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 3644
            aload 0 /* this */
        22: .line 3645
            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 3646
            aload 2 /* certToVerify */
            checkcast java.security.cert.X509Certificate
        24: .line 3645
            invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
        25: .line 3647
            aload 4 /* chain */
            aload 3 /* certs */
        26: .line 3644
            invokevirtual sun.security.tools.keytool.Main.buildChain:(Lsun/security/tools/keytool/Pair;Ljava/util/Vector;Ljava/util/Hashtable;)Z
        27: .line 3647
            ifeq 42
        28: .line 3648
            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 3649
            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 3648
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        32: .line 3652
            aload 4 /* chain */
            invokevirtual java.util.Vector.size:()I
            anewarray java.security.cert.Certificate
        33: .line 3651
            astore 5 /* newChain */
        start local 5 // java.security.cert.Certificate[] newChain
        34: .line 3656
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        35: .line 3657
            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 3658
      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 3659
            iinc 6 /* j */ 1
        39: .line 3657
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        40: iload 7 /* i */
            ifge 37
        end local 7 // int i
        41: .line 3661
            aload 5 /* newChain */
            areturn
        end local 6 // int j
        end local 5 // java.security.cert.Certificate[] newChain
        42: .line 3663
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
        43: .line 3664
            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 3663
            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 3690
            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 3693
            aload 2 /* chain */
            aload 1 /* certToVerify */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         2: .line 3694
            iconst_1
            ireturn
         3: .line 3697
      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 3700
            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 3701
            aload 5 /* vec */
            ifnonnull 7
         6: .line 3702
            iconst_0
            ireturn
         7: .line 3708
      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 3709
            goto 18
         9: .line 3710
      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 3711
            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 3713
            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 3714
            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 3715
            goto 18
        15: .line 3717
      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 3718
            aload 2 /* chain */
            aload 1 /* certToVerify */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        17: .line 3719
            iconst_1
            ireturn
        end local 8 // java.security.PublicKey issuerPubKey
        end local 7 // sun.security.tools.keytool.Pair issuerCert
        18: .line 3709
      StackMap locals:
      StackMap stack:
            aload 6 /* issuerCerts */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        end local 6 // java.util.Enumeration issuerCerts
        19: .line 3722
            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 3733
            aconst_null
            astore 2 /* reply */
        start local 2 // java.lang.String reply
         1: .line 3734
            bipush 20
            istore 3 /* maxRetry */
        start local 3 // int maxRetry
         2: .line 3736
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 3 /* maxRetry */
            iinc 3 /* maxRetry */ -1
            ifge 6
         3: .line 3737
            new java.lang.RuntimeException
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         4: .line 3738
            ldc "Too.many.retries.program.terminated"
         5: .line 3737
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 3740
      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 3741
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.flush:()V
         8: .line 3742
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
         9: .line 3743
            getstatic java.lang.System.in:Ljava/io/InputStream;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
        10: .line 3742
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
        11: .line 3743
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
        12: .line 3742
            astore 2 /* reply */
        13: .line 3744
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            ldc ""
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 16
        14: .line 3745
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "n"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 16
        15: .line 3746
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "no"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 18
        16: .line 3747
      StackMap locals:
      StackMap stack:
            ldc "NO"
            astore 2 /* reply */
        17: .line 3748
            goto 24
      StackMap locals:
      StackMap stack:
        18: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "y"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifeq 20
        19: .line 3749
            getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
            aload 2 /* reply */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "yes"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
            ifne 22
        20: .line 3750
      StackMap locals:
      StackMap stack:
            ldc "YES"
            astore 2 /* reply */
        21: .line 3751
            goto 24
        22: .line 3752
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Wrong.answer.try.again"
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        23: .line 3753
            aconst_null
            astore 2 /* reply */
        24: .line 3755
      StackMap locals:
      StackMap stack:
            aload 2 /* reply */
            ifnull 2
        25: .line 3756
            aload 2 /* reply */
            areturn
        end local 3 // int maxRetry
        end local 2 // java.lang.String reply
        end local 1 // java.lang.String prompt
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lsun/security/tools/keytool/Main;
            0   26     1    prompt  Ljava/lang/String;
            1   26     2     reply  Ljava/lang/String;
            2   26     3  maxRetry  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      prompt  

  private void keystorecerts2Hashtable(java.security.KeyStore, java.util.Hashtable<java.security.Principal, java.util.Vector<sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>>>);
    descriptor: (Ljava/security/KeyStore;Ljava/util/Hashtable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.KeyStore ks
        start local 2 // java.util.Hashtable hash
         0: .line 3769
            aload 1 /* ks */
            invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
            astore 3 /* aliases */
        start local 3 // java.util.Enumeration aliases
         1: .line 3770
            goto 23
         2: .line 3771
      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 3772
            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 3773
            aload 5 /* cert */
            ifnull 23
         5: .line 3774
            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 3775
            new sun.security.tools.keytool.Pair
            dup
         7: .line 3777
            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 3778
            ldc "alias.in.cacerts"
            goto 10
         9: .line 3779
      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 3777
      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 3780
            aload 4 /* alias */
            aastore
        12: .line 3776
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        13: .line 3781
            aload 5 /* cert */
            checkcast java.security.cert.X509Certificate
        14: .line 3775
            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 3782
            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 3783
            aload 8 /* vec */
            ifnonnull 20
        17: .line 3784
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 8 /* vec */
        18: .line 3785
            aload 8 /* vec */
            aload 7 /* pair */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        19: .line 3786
            goto 22
        20: .line 3787
      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 3788
            aload 8 /* vec */
            aload 7 /* pair */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        22: .line 3791
      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 3770
      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 3794
            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 3801
            new java.util.GregorianCalendar
            dup
            invokespecial java.util.GregorianCalendar.<init>:()V
            astore 1 /* c */
        start local 1 // java.util.Calendar c
         1: .line 3802
            aload 0 /* s */
            ifnull 68
         2: .line 3803
            new java.io.IOException
            dup
         3: .line 3804
            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 3803
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         5: .line 3805
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         6: .line 3806
            iload 3 /* len */
            ifne 8
         7: .line 3807
            aload 2 /* ioe */
            athrow
         8: .line 3809
      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 3811
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* start */
        start local 4 // int start
        10: .line 3812
            goto 36
        11: .line 3813
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 5 /* sign */
        start local 5 // int sign
        12: .line 3814
            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 3815
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 5 /* sign */
            goto 16
        14: .line 3816
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 5 /* sign */
            goto 16
        15: .line 3817
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        16: .line 3819
      StackMap locals:
      StackMap stack:
            iload 4 /* start */
            iconst_1
            iadd
            istore 6 /* i */
        start local 6 // int i
        17: .line 3820
            goto 21
        18: .line 3821
      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 3822
            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 3820
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 3 /* len */
            if_icmplt 18
        22: .line 3824
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 4 /* start */
            iconst_1
            iadd
            if_icmpne 23
            aload 2 /* ioe */
            athrow
        23: .line 3825
      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 3826
            iload 6 /* i */
            iload 3 /* len */
            if_icmplt 25
            aload 2 /* ioe */
            athrow
        25: .line 3827
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 8 /* unit */
        start local 8 // int unit
        26: .line 3828
            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 3829
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 8 /* unit */
            goto 34
        28: .line 3830
      StackMap locals:
      StackMap stack:
            iconst_2
            istore 8 /* unit */
            goto 34
        29: .line 3831
      StackMap locals:
      StackMap stack:
            iconst_5
            istore 8 /* unit */
            goto 34
        30: .line 3832
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 8 /* unit */
            goto 34
        31: .line 3833
      StackMap locals:
      StackMap stack:
            bipush 12
            istore 8 /* unit */
            goto 34
        32: .line 3834
      StackMap locals:
      StackMap stack:
            bipush 13
            istore 8 /* unit */
            goto 34
        33: .line 3835
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        34: .line 3837
      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 3838
            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 3812
      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 3840
            goto 68
        38: .line 3842
      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 3843
            iload 3 /* len */
            bipush 19
            if_icmpne 45
        41: .line 3844
            aload 0 /* s */
            iconst_0
            bipush 10
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* date */
        42: .line 3845
            aload 0 /* s */
            bipush 11
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* time */
        43: .line 3846
            aload 0 /* s */
            bipush 10
            invokevirtual java.lang.String.charAt:(I)C
            bipush 32
            if_icmpeq 52
        44: .line 3847
            aload 2 /* ioe */
            athrow
        45: .line 3848
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 3 /* len */
            bipush 10
            if_icmpne 48
        46: .line 3849
            aload 0 /* s */
            astore 4 /* date */
        47: .line 3850
            goto 52
      StackMap locals:
      StackMap stack:
        48: iload 3 /* len */
            bipush 8
            if_icmpne 51
        49: .line 3851
            aload 0 /* s */
            astore 5 /* time */
        50: .line 3852
            goto 52
        51: .line 3853
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        52: .line 3855
      StackMap locals:
      StackMap stack:
            aload 4 /* date */
            ifnull 60
        53: .line 3856
            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 3857
            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 3858
            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 3859
            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 3857
            invokevirtual java.util.Calendar.set:(III)V
        58: .line 3860
            goto 60
        59: .line 3861
      StackMap locals:
      StackMap stack:
            aload 2 /* ioe */
            athrow
        60: .line 3864
      StackMap locals:
      StackMap stack:
            aload 5 /* time */
            ifnull 68
        61: .line 3865
            aload 5 /* time */
            ldc "\\d\\d:\\d\\d:\\d\\d"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifeq 67
        62: .line 3866
            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 3867
            aload 1 /* c */
            bipush 12
            aload 5 /* time */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.util.Calendar.set:(II)V
        64: .line 3868
            aload 1 /* c */
            bipush 13
            aload 5 /* time */
            iconst_0
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual java.util.Calendar.set:(II)V
        65: .line 3869
            aload 1 /* c */
            bipush 14
            iconst_0
            invokevirtual java.util.Calendar.set:(II)V
        66: .line 3870
            goto 68
        67: .line 3871
      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 3876
      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 3889
            aload 1 /* list */
            arraylength
            newarray 10
            astore 2 /* match */
        start local 2 // int[] match
         1: .line 3890
            iconst_0
            istore 3 /* nmatch */
        start local 3 // int nmatch
         2: .line 3891
            ldc 2147483647
            istore 4 /* experiment */
        start local 4 // int experiment
         3: .line 3892
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 28
         5: .line 3893
      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 3894
            aload 6 /* one */
            ifnonnull 9
         7: .line 3895
            iload 5 /* i */
            istore 4 /* experiment */
         8: .line 3896
            goto 27
         9: .line 3898
      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 3899
            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 3900
            aload 2 /* match */
            iload 3 /* nmatch */
            iinc 3 /* nmatch */ 1
            iload 5 /* i */
            iastore
        12: .line 3901
            goto 27
        13: .line 3902
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuffer sb
        14: .line 3903
            iconst_1
            istore 8 /* first */
        start local 8 // boolean first
        15: .line 3904
            aload 6 /* one */
            invokevirtual java.lang.String.toCharArray:()[C
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 24
      StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuffer int top int int char[]
      StackMap stack:
        16: aload 12
            iload 10
            caload
            istore 9 /* c */
        start local 9 // char c
        17: .line 3905
            iload 8 /* first */
            ifeq 21
        18: .line 3906
            aload 7 /* sb */
            iload 9 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 3907
            iconst_0
            istore 8 /* first */
        20: .line 3908
            goto 23
        21: .line 3909
      StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuffer int int int int char[]
      StackMap stack:
            iload 9 /* c */
            invokestatic java.lang.Character.isLowerCase:(C)Z
            ifne 23
        22: .line 3910
            aload 7 /* sb */
            iload 9 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 9 // char c
        23: .line 3904
      StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuffer int top int int char[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        24: iload 10
            iload 11
            if_icmplt 16
        25: .line 3914
            aload 7 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            aload 0 /* s */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 27
        26: .line 3915
            aload 2 /* match */
            iload 3 /* nmatch */
            iinc 3 /* nmatch */ 1
            iload 5 /* i */
            iastore
        end local 8 // boolean first
        end local 7 // java.lang.StringBuffer sb
        end local 6 // java.lang.String one
        27: .line 3892
      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 3919
            iload 3 /* nmatch */
            ifne 31
        30: .line 3920
            iconst_m1
            ireturn
        31: .line 3921
      StackMap locals:
      StackMap stack:
            iload 3 /* nmatch */
            iconst_1
            if_icmpne 33
        32: .line 3922
            aload 2 /* match */
            iconst_0
            iaload
            ireturn
        33: .line 3925
      StackMap locals:
      StackMap stack:
            aload 2 /* match */
            iconst_1
            iaload
            iload 4 /* experiment */
            if_icmple 35
        34: .line 3926
            aload 2 /* match */
            iconst_0
            iaload
            ireturn
        35: .line 3928
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 5 /* sb */
        start local 5 // java.lang.StringBuffer sb
        36: .line 3929
            new java.text.MessageFormat
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        37: .line 3930
            ldc "command.{0}.is.ambiguous."
        38: .line 3929
            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 3931
            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 3932
            aload 5 /* sb */
            aload 6 /* form */
            aload 7 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        41: .line 3933
            aload 5 /* sb */
            ldc "\n    "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        42: .line 3934
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        43: goto 47
        44: .line 3935
      StackMap locals: java.lang.String java.lang.String[] int[] int int java.lang.StringBuffer java.text.MessageFormat java.lang.Object[] int
      StackMap stack:
            aload 5 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        45: .line 3936
            aload 5 /* sb */
            aload 1 /* list */
            aload 2 /* match */
            iload 8 /* i */
            iaload
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        46: .line 3934
            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 3938
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            aload 5 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.Object[] source
        end local 6 // java.text.MessageFormat form
        end local 5 // java.lang.StringBuffer sb
        end local 4 // int experiment
        end local 3 // int nmatch
        end local 2 // int[] match
        end local 1 // java.lang.String[] list
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   49     0           s  Ljava/lang/String;
            0   49     1        list  [Ljava/lang/String;
            1   49     2       match  [I
            2   49     3      nmatch  I
            3   49     4  experiment  I
            4   29     5           i  I
            6   27     6         one  Ljava/lang/String;
           14   27     7          sb  Ljava/lang/StringBuffer;
           15   27     8       first  Z
           17   23     9           c  C
           36   49     5          sb  Ljava/lang/StringBuffer;
           39   49     6        form  Ljava/text/MessageFormat;
           40   49     7      source  [Ljava/lang/Object;
           43   48     8           i  I
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      s     
      list  

  private sun.security.x509.GeneralName createGeneralName(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.lang.String t
        start local 2 // java.lang.String v
         0: .line 3951
            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 3952
            iload 4 /* p */
            ifge 7
         2: .line 3953
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
         3: .line 3954
            ldc "Unrecognized.GeneralName.type."
         4: .line 3953
            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 3954
            aload 1 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 3953
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 3956
      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 3957
      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 3958
      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 3959
      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 3960
      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 3961
      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 3963
      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 3980
            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 3981
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.BasicConstraints_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         2: .line 3982
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.KeyUsage_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         3: .line 3983
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.ExtendedKeyUsage_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         4: .line 3984
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.SubjectAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         5: .line 3985
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.IssuerAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         6: .line 3986
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.SubjectInfoAccess_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         7: .line 3987
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.AuthInfoAccess_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         8: .line 3988
      StackMap locals:
      StackMap stack:
            getstatic sun.security.x509.PKIXExtensions.CRLDistributionPoints_Id:Lsun/security/util/ObjectIdentifier;
            areturn
         9: .line 3989
      StackMap locals:
      StackMap stack:
            new sun.security.util.ObjectIdentifier
            dup
            aload 1 /* type */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String type
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/tools/keytool/Main;
            0   10     1  type  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      type  

  private sun.security.x509.CertificateExtensions createV3Extensions(sun.security.x509.CertificateExtensions, sun.security.x509.CertificateExtensions, java.util.List<java.lang.String>, java.security.PublicKey, java.security.PublicKey);
    descriptor: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=28, args_size=6
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // sun.security.x509.CertificateExtensions reqex
        start local 2 // sun.security.x509.CertificateExtensions ext
        start local 3 // java.util.List extstrs
        start local 4 // java.security.PublicKey pkey
        start local 5 // java.security.PublicKey akey
         0: .line 4012
            aload 2 /* ext */
            ifnull 2
            aload 1 /* reqex */
            ifnull 2
         1: .line 4014
            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 4016
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            ifnonnull 3
            new sun.security.x509.CertificateExtensions
            dup
            invokespecial sun.security.x509.CertificateExtensions.<init>:()V
            astore 2 /* ext */
         3: .line 4020
      StackMap locals:
      StackMap stack:
            aload 1 /* reqex */
            ifnull 49
         4: .line 4021
            aload 3 /* extstrs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 48
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* extstr */
        start local 6 // java.lang.String extstr
         6: .line 4022
            aload 6 /* extstr */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "honored="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 48
         7: .line 4024
            aload 6 /* extstr */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            bipush 8
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
         8: .line 4023
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 8 /* list */
        start local 8 // java.util.List list
         9: .line 4026
            aload 8 /* list */
            ldc "all"
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 4027
            aload 1 /* reqex */
            astore 2 /* ext */
        11: .line 4030
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List
      StackMap stack:
            aload 8 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 46
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* item */
        start local 9 // java.lang.String item
        13: .line 4031
            aload 9 /* item */
            ldc "all"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
            goto 46
        14: .line 4034
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator
      StackMap stack:
            iconst_1
            istore 11 /* add */
        start local 11 // boolean add
        15: .line 4036
            iconst_m1
            istore 12 /* action */
        start local 12 // int action
        16: .line 4037
            aconst_null
            astore 13 /* type */
        start local 13 // java.lang.String type
        17: .line 4038
            aload 9 /* item */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 21
        18: .line 4039
            iconst_0
            istore 11 /* add */
        19: .line 4040
            aload 9 /* item */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 13 /* type */
        20: .line 4041
            goto 33
        21: .line 4042
      StackMap locals: int int java.lang.String
      StackMap stack:
            aload 9 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* colonpos */
        start local 14 // int colonpos
        22: .line 4043
            iload 14 /* colonpos */
            iflt 33
        23: .line 4044
            aload 9 /* item */
            iconst_0
            iload 14 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 13 /* type */
        24: .line 4045
            aload 9 /* item */
            iload 14 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        25: .line 4046
            ldc "critical"
            aastore
            dup
            iconst_1
            ldc "non-critical"
            aastore
        26: .line 4045
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 12 /* action */
        27: .line 4047
            iload 12 /* action */
            iconst_m1
            if_icmpne 33
        28: .line 4048
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        29: .line 4049
            ldc "Illegal.value."
        30: .line 4048
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 4049
            aload 9 /* item */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 4048
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // int colonpos
        33: .line 4053
      StackMap locals:
      StackMap stack:
            aload 1 /* reqex */
            aload 0 /* this */
            aload 13 /* type */
            invokevirtual sun.security.tools.keytool.Main.findOidForExtName:(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.x509.CertificateExtensions.getNameByOid:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/String;
            astore 14 /* n */
        start local 14 // java.lang.String n
        34: .line 4054
            iload 11 /* add */
            ifeq 45
        35: .line 4055
            aload 1 /* reqex */
            aload 14 /* n */
            invokevirtual sun.security.x509.CertificateExtensions.get:(Ljava/lang/String;)Lsun/security/x509/Extension;
            astore 15 /* e */
        start local 15 // sun.security.x509.Extension e
        36: .line 4056
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifne 37
            iload 12 /* action */
            ifeq 38
        37: .line 4057
      StackMap locals: java.lang.String sun.security.x509.Extension
      StackMap stack:
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 46
            iload 12 /* action */
            iconst_1
            if_icmpne 46
        38: .line 4059
      StackMap locals:
      StackMap stack:
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
        39: .line 4060
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.isCritical:()Z
            ifeq 40
            iconst_0
            goto 41
      StackMap locals:
      StackMap stack: sun.security.util.ObjectIdentifier
        40: iconst_1
        41: .line 4061
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator int int java.lang.String java.lang.String sun.security.x509.Extension
      StackMap stack: sun.security.util.ObjectIdentifier int
            aload 15 /* e */
            invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
        42: .line 4058
            invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
            astore 15 /* e */
        43: .line 4062
            aload 2 /* ext */
            aload 14 /* n */
            aload 15 /* e */
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 15 // sun.security.x509.Extension e
        44: .line 4064
            goto 46
        45: .line 4065
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            aload 14 /* n */
            invokevirtual sun.security.x509.CertificateExtensions.delete:(Ljava/lang/String;)V
        end local 14 // java.lang.String n
        end local 13 // java.lang.String type
        end local 12 // int action
        end local 11 // boolean add
        end local 9 // java.lang.String item
        46: .line 4030
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        47: .line 4068
            goto 49
        end local 8 // java.util.List list
        end local 6 // java.lang.String extstr
        48: .line 4021
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        49: .line 4072
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey
      StackMap stack:
            aload 3 /* extstrs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 337
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
      StackMap stack:
        50: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* extstr */
        start local 6 // java.lang.String extstr
        51: .line 4074
            iconst_0
            istore 10 /* isCritical */
        start local 10 // boolean isCritical
        52: .line 4076
            aload 6 /* extstr */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 11 /* eqpos */
        start local 11 // int eqpos
        53: .line 4077
            iload 11 /* eqpos */
            iflt 57
        54: .line 4078
            aload 6 /* extstr */
            iconst_0
            iload 11 /* eqpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        55: .line 4079
            aload 6 /* extstr */
            iload 11 /* eqpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* value */
        start local 9 // java.lang.String value
        56: .line 4080
            goto 59
        end local 9 // java.lang.String value
        end local 8 // java.lang.String name
        57: .line 4081
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator top top int int
      StackMap stack:
            aload 6 /* extstr */
            astore 8 /* name */
        start local 8 // java.lang.String name
        58: .line 4082
            aconst_null
            astore 9 /* value */
        start local 9 // java.lang.String value
        59: .line 4085
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int
      StackMap stack:
            aload 8 /* name */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* colonpos */
        start local 12 // int colonpos
        60: .line 4086
            iload 12 /* colonpos */
            iflt 64
        61: .line 4087
            aload 8 /* name */
            iload 12 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "critical"
            aastore
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            ifne 63
        62: .line 4088
            iconst_1
            istore 10 /* isCritical */
        63: .line 4090
      StackMap locals: int
      StackMap stack:
            aload 8 /* name */
            iconst_0
            iload 12 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* name */
        64: .line 4093
      StackMap locals:
      StackMap stack:
            aload 8 /* name */
            ldc "honored"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 66
        65: .line 4094
            goto 337
        66: .line 4096
      StackMap locals:
      StackMap stack:
            aload 8 /* name */
            getstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 13 /* exttype */
        start local 13 // int exttype
        67: .line 4097
            iload 13 /* exttype */
            tableswitch { // -1 - 8
                   -1: 296
                    0: 68
                    1: 105
                    2: 139
                    3: 179
                    4: 179
                    5: 210
                    6: 210
                    7: 332
                    8: 270
              default: 332
          }
        68: .line 4099
      StackMap locals: int
      StackMap stack:
            iconst_m1
            istore 14 /* pathLen */
        start local 14 // int pathLen
        69: .line 4100
            iconst_0
            istore 15 /* isCA */
        start local 15 // boolean isCA
        70: .line 4101
            aload 9 /* value */
            ifnonnull 73
        71: .line 4102
            iconst_1
            istore 15 /* isCA */
        72: .line 4103
            goto 99
        73: .line 4105
      StackMap locals: int int
      StackMap stack:
            aload 9 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 14 /* pathLen */
        74: .line 4106
            iconst_1
            istore 15 /* isCA */
        75: .line 4107
            goto 99
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        76: pop
        77: .line 4109
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 19
            arraylength
            istore 18
            iconst_0
            istore 17
            goto 98
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int top int int java.lang.String[]
      StackMap stack:
        78: aload 19
            iload 17
            aaload
            astore 16 /* part */
        start local 16 // java.lang.String part
        79: .line 4110
            aload 16 /* part */
            ldc ":"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 20 /* nv */
        start local 20 // java.lang.String[] nv
        80: .line 4111
            aload 20 /* nv */
            arraylength
            iconst_2
            if_icmpeq 86
        81: .line 4112
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        82: .line 4113
            ldc "Illegal.value."
        83: .line 4112
            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 4113
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        85: .line 4112
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        86: .line 4115
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int java.lang.String int int java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 20 /* nv */
            iconst_0
            aaload
            ldc "ca"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 89
        87: .line 4116
            aload 20 /* nv */
            iconst_1
            aaload
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 15 /* isCA */
        88: .line 4117
            goto 97
      StackMap locals:
      StackMap stack:
        89: aload 20 /* nv */
            iconst_0
            aaload
            ldc "pathlen"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 92
        90: .line 4118
            aload 20 /* nv */
            iconst_1
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 14 /* pathLen */
        91: .line 4119
            goto 97
        92: .line 4120
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        93: .line 4121
            ldc "Illegal.value."
        94: .line 4120
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        95: .line 4121
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        96: .line 4120
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 20 // java.lang.String[] nv
        end local 16 // java.lang.String part
        97: .line 4109
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int top int int java.lang.String[]
      StackMap stack:
            iinc 17 1
      StackMap locals:
      StackMap stack:
        98: iload 17
            iload 18
            if_icmplt 78
        99: .line 4127
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int
      StackMap stack:
            aload 2 /* ext */
            ldc "BasicConstraints"
       100: .line 4128
            new sun.security.x509.BasicConstraintsExtension
            dup
            iload 10 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iload 15 /* isCA */
       101: .line 4129
            iload 14 /* pathLen */
       102: .line 4128
            invokespecial sun.security.x509.BasicConstraintsExtension.<init>:(Ljava/lang/Boolean;ZI)V
       103: .line 4127
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       104: .line 4130
            goto 337
        end local 15 // boolean isCA
        end local 14 // int pathLen
       105: .line 4132
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 134
       106: .line 4133
            bipush 9
            newarray 4
            astore 16 /* ok */
        start local 16 // boolean[] ok
       107: .line 4134
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 126
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] top int int java.lang.String[]
      StackMap stack:
       108: aload 20
            iload 18
            aaload
            astore 17 /* s */
        start local 17 // java.lang.String s
       109: .line 4135
            aload 17 /* s */
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
       110: .line 4136
            ldc "digitalSignature"
            aastore
            dup
            iconst_1
       111: .line 4137
            ldc "nonRepudiation"
            aastore
            dup
            iconst_2
       112: .line 4138
            ldc "keyEncipherment"
            aastore
            dup
            iconst_3
       113: .line 4139
            ldc "dataEncipherment"
            aastore
            dup
            iconst_4
       114: .line 4140
            ldc "keyAgreement"
            aastore
            dup
            iconst_5
       115: .line 4141
            ldc "keyCertSign"
            aastore
            dup
            bipush 6
       116: .line 4142
            ldc "cRLSign"
            aastore
            dup
            bipush 7
       117: .line 4143
            ldc "encipherOnly"
            aastore
            dup
            bipush 8
       118: .line 4144
            ldc "decipherOnly"
            aastore
            dup
            bipush 9
       119: .line 4145
            ldc "contentCommitment"
            aastore
       120: .line 4135
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 21 /* p */
        start local 21 // int p
       121: .line 4147
            iload 21 /* p */
            ifge 123
       122: .line 4148
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Unknown.keyUsage.type."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       123: .line 4150
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] java.lang.String int int java.lang.String[] int
      StackMap stack:
            iload 21 /* p */
            bipush 9
            if_icmpne 124
            iconst_1
            istore 21 /* p */
       124: .line 4151
      StackMap locals:
      StackMap stack:
            aload 16 /* ok */
            iload 21 /* p */
            iconst_1
            bastore
        end local 21 // int p
        end local 17 // java.lang.String s
       125: .line 4134
            iinc 18 1
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] top int int java.lang.String[]
      StackMap stack:
       126: iload 18
            iload 19
            if_icmplt 108
       127: .line 4153
            new sun.security.x509.KeyUsageExtension
            dup
            aload 16 /* ok */
            invokespecial sun.security.x509.KeyUsageExtension.<init>:([Z)V
            astore 17 /* kue */
        start local 17 // sun.security.x509.KeyUsageExtension kue
       128: .line 4156
            aload 2 /* ext */
            ldc "KeyUsage"
       129: .line 4157
            aload 17 /* kue */
            invokevirtual sun.security.x509.KeyUsageExtension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
       130: .line 4158
            iload 10 /* isCritical */
       131: .line 4159
            aload 17 /* kue */
            invokevirtual sun.security.x509.KeyUsageExtension.getExtensionValue:()[B
       132: .line 4156
            invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 17 // sun.security.x509.KeyUsageExtension kue
        end local 16 // boolean[] ok
       133: .line 4160
            goto 337
       134: .line 4161
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       135: .line 4162
            ldc "Illegal.value."
       136: .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
       137: .line 4162
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       138: .line 4161
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       139: .line 4166
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 174
       140: .line 4167
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 16 /* v */
        start local 16 // java.util.Vector v
       141: .line 4168
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 169
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector top int int java.lang.String[]
      StackMap stack:
       142: aload 20
            iload 18
            aaload
            astore 17 /* s */
        start local 17 // java.lang.String s
       143: .line 4169
            aload 17 /* s */
            bipush 10
            anewarray java.lang.String
            dup
            iconst_0
       144: .line 4170
            ldc "anyExtendedKeyUsage"
            aastore
            dup
            iconst_1
       145: .line 4171
            ldc "serverAuth"
            aastore
            dup
            iconst_2
       146: .line 4172
            ldc "clientAuth"
            aastore
            dup
            iconst_3
       147: .line 4173
            ldc "codeSigning"
            aastore
            dup
            iconst_4
       148: .line 4174
            ldc "emailProtection"
            aastore
            dup
            iconst_5
       149: .line 4175
            ldc ""
            aastore
            dup
            bipush 6
       150: .line 4176
            ldc ""
            aastore
            dup
            bipush 7
       151: .line 4177
            ldc ""
            aastore
            dup
            bipush 8
       152: .line 4178
            ldc "timeStamping"
            aastore
            dup
            bipush 9
       153: .line 4179
            ldc "OCSPSigning"
            aastore
       154: .line 4169
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 21 /* p */
        start local 21 // int p
       155: .line 4181
            iload 21 /* p */
            ifge 164
       156: .line 4183
            aload 16 /* v */
            new sun.security.util.ObjectIdentifier
            dup
            aload 17 /* s */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
       157: .line 4184
            goto 168
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector java.lang.String int int java.lang.String[] int
      StackMap stack: java.lang.Exception
       158: pop
       159: .line 4185
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       160: .line 4186
            ldc "Unknown.extendedkeyUsage.type."
       161: .line 4185
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       162: .line 4186
            aload 17 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       163: .line 4185
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       164: .line 4188
      StackMap locals:
      StackMap stack:
            iload 21 /* p */
            ifne 167
       165: .line 4189
            aload 16 /* v */
            new sun.security.util.ObjectIdentifier
            dup
            ldc "2.5.29.37.0"
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
       166: .line 4190
            goto 168
       167: .line 4191
      StackMap locals:
      StackMap stack:
            aload 16 /* v */
            new sun.security.util.ObjectIdentifier
            dup
            new java.lang.StringBuilder
            dup
            ldc "1.3.6.1.5.5.7.3."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 21 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
            pop
        end local 21 // int p
        end local 17 // java.lang.String s
       168: .line 4168
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector top int int java.lang.String[]
      StackMap stack:
            iinc 18 1
      StackMap locals:
      StackMap stack:
       169: iload 18
            iload 19
            if_icmplt 142
       170: .line 4194
            aload 2 /* ext */
            ldc "ExtendedKeyUsage"
       171: .line 4195
            new sun.security.x509.ExtendedKeyUsageExtension
            dup
            iload 10 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 16 /* v */
            invokespecial sun.security.x509.ExtendedKeyUsageExtension.<init>:(Ljava/lang/Boolean;Ljava/util/Vector;)V
       172: .line 4194
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 16 // java.util.Vector v
       173: .line 4196
            goto 337
       174: .line 4197
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       175: .line 4198
            ldc "Illegal.value."
       176: .line 4197
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       177: .line 4198
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       178: .line 4197
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       179: .line 4203
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 205
       180: .line 4204
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 16 /* ps */
        start local 16 // java.lang.String[] ps
       181: .line 4205
            new sun.security.x509.GeneralNames
            dup
            invokespecial sun.security.x509.GeneralNames.<init>:()V
            astore 17 /* gnames */
        start local 17 // sun.security.x509.GeneralNames gnames
       182: .line 4206
            aload 16 /* ps */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 191
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
      StackMap stack:
       183: aload 21
            iload 19
            aaload
            astore 18 /* item */
        start local 18 // java.lang.String item
       184: .line 4207
            aload 18 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* colonpos */
       185: .line 4208
            iload 12 /* colonpos */
            ifge 187
       186: .line 4209
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal item "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* item */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       187: .line 4211
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 18 /* item */
            iconst_0
            iload 12 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 22 /* t */
        start local 22 // java.lang.String t
       188: .line 4212
            aload 18 /* item */
            iload 12 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 23 /* v */
        start local 23 // java.lang.String v
       189: .line 4213
            aload 17 /* gnames */
            aload 0 /* this */
            aload 22 /* t */
            aload 23 /* v */
            invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
            invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
            pop
        end local 23 // java.lang.String v
        end local 22 // java.lang.String t
        end local 18 // java.lang.String item
       190: .line 4206
            iinc 19 1
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
      StackMap stack:
       191: iload 19
            iload 20
            if_icmplt 183
       192: .line 4215
            iload 13 /* exttype */
            iconst_3
            if_icmpne 199
       193: .line 4216
            aload 2 /* ext */
            ldc "SubjectAlternativeName"
       194: .line 4217
            new sun.security.x509.SubjectAlternativeNameExtension
            dup
       195: .line 4218
            iload 10 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 17 /* gnames */
       196: .line 4217
            invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
       197: .line 4216
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       198: .line 4219
            goto 337
       199: .line 4220
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames
      StackMap stack:
            aload 2 /* ext */
            ldc "IssuerAlternativeName"
       200: .line 4221
            new sun.security.x509.IssuerAlternativeNameExtension
            dup
       201: .line 4222
            iload 10 /* isCritical */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 17 /* gnames */
       202: .line 4221
            invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
       203: .line 4220
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 17 // sun.security.x509.GeneralNames gnames
        end local 16 // java.lang.String[] ps
       204: .line 4224
            goto 337
       205: .line 4225
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       206: .line 4226
            ldc "Illegal.value."
       207: .line 4225
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       208: .line 4226
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       209: .line 4225
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       210: .line 4231
      StackMap locals:
      StackMap stack:
            iload 10 /* isCritical */
            ifeq 216
       211: .line 4232
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       212: .line 4233
            ldc "This.extension.cannot.be.marked.as.critical."
       213: .line 4232
            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 4233
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       215: .line 4232
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       216: .line 4235
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 265
       217: .line 4237
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
       218: .line 4236
            astore 16 /* accessDescriptions */
        start local 16 // java.util.List accessDescriptions
       219: .line 4238
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 17 /* ps */
        start local 17 // java.lang.String[] ps
       220: .line 4239
            aload 17 /* ps */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 255
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] top int int java.lang.String[]
      StackMap stack:
       221: aload 21
            iload 19
            aaload
            astore 18 /* item */
        start local 18 // java.lang.String item
       222: .line 4240
            aload 18 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* colonpos */
       223: .line 4241
            aload 18 /* item */
            bipush 58
            iload 12 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(II)I
            istore 22 /* colonpos2 */
        start local 22 // int colonpos2
       224: .line 4242
            iload 12 /* colonpos */
            iflt 225
            iload 22 /* colonpos2 */
            ifge 230
       225: .line 4243
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       226: .line 4244
            ldc "Illegal.value."
       227: .line 4243
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       228: .line 4244
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       229: .line 4243
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       230: .line 4246
      StackMap locals:
      StackMap stack:
            aload 18 /* item */
            iconst_0
            iload 12 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 23 /* m */
        start local 23 // java.lang.String m
       231: .line 4247
            aload 18 /* item */
            iload 12 /* colonpos */
            iconst_1
            iadd
            iload 22 /* colonpos2 */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 24 /* t */
        start local 24 // java.lang.String t
       232: .line 4248
            aload 18 /* item */
            iload 22 /* colonpos2 */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 25 /* v */
        start local 25 // java.lang.String v
       233: .line 4249
            aload 23 /* m */
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
       234: .line 4250
            ldc ""
            aastore
            dup
            iconst_1
       235: .line 4251
            ldc "ocsp"
            aastore
            dup
            iconst_2
       236: .line 4252
            ldc "caIssuers"
            aastore
            dup
            iconst_3
       237: .line 4253
            ldc "timeStamping"
            aastore
            dup
            iconst_4
       238: .line 4254
            ldc ""
            aastore
            dup
            iconst_5
       239: .line 4255
            ldc "caRepository"
            aastore
       240: .line 4249
            invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
            istore 26 /* p */
        start local 26 // int p
       241: .line 4258
            iload 26 /* p */
            ifge 250
       242: .line 4260
            new sun.security.util.ObjectIdentifier
            dup
            aload 23 /* m */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 27 /* oid */
        start local 27 // sun.security.util.ObjectIdentifier oid
       243: .line 4261
            goto 251
        end local 27 // sun.security.util.ObjectIdentifier oid
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int java.lang.String java.lang.String java.lang.String int
      StackMap stack: java.lang.Exception
       244: pop
       245: .line 4262
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       246: .line 4263
            ldc "Unknown.AccessDescription.type."
       247: .line 4262
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       248: .line 4263
            aload 23 /* m */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       249: .line 4262
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       250: .line 4266
      StackMap locals:
      StackMap stack:
            new sun.security.util.ObjectIdentifier
            dup
            new java.lang.StringBuilder
            dup
            ldc "1.3.6.1.5.5.7.48."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 26 /* p */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 27 /* oid */
        start local 27 // sun.security.util.ObjectIdentifier oid
       251: .line 4268
      StackMap locals: sun.security.util.ObjectIdentifier
      StackMap stack:
            aload 16 /* accessDescriptions */
            new sun.security.x509.AccessDescription
            dup
       252: .line 4269
            aload 27 /* oid */
            aload 0 /* this */
            aload 24 /* t */
            aload 25 /* v */
            invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
            invokespecial sun.security.x509.AccessDescription.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/x509/GeneralName;)V
       253: .line 4268
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 27 // sun.security.util.ObjectIdentifier oid
        end local 26 // int p
        end local 25 // java.lang.String v
        end local 24 // java.lang.String t
        end local 23 // java.lang.String m
        end local 22 // int colonpos2
        end local 18 // java.lang.String item
       254: .line 4239
            iinc 19 1
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] top int int java.lang.String[]
      StackMap stack:
       255: iload 19
            iload 20
            if_icmplt 221
       256: .line 4271
            iload 13 /* exttype */
            iconst_5
            if_icmpne 261
       257: .line 4272
            aload 2 /* ext */
            ldc "SubjectInfoAccess"
       258: .line 4273
            new sun.security.x509.SubjectInfoAccessExtension
            dup
            aload 16 /* accessDescriptions */
            invokespecial sun.security.x509.SubjectInfoAccessExtension.<init>:(Ljava/util/List;)V
       259: .line 4272
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       260: .line 4274
            goto 337
       261: .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 java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[]
      StackMap stack:
            aload 2 /* ext */
            ldc "AuthorityInfoAccess"
       262: .line 4276
            new sun.security.x509.AuthorityInfoAccessExtension
            dup
            aload 16 /* accessDescriptions */
            invokespecial sun.security.x509.AuthorityInfoAccessExtension.<init>:(Ljava/util/List;)V
       263: .line 4275
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 17 // java.lang.String[] ps
        end local 16 // java.util.List accessDescriptions
       264: .line 4278
            goto 337
       265: .line 4279
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       266: .line 4280
            ldc "Illegal.value."
       267: .line 4279
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       268: .line 4280
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       269: .line 4279
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       270: .line 4284
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            ifnull 291
       271: .line 4285
            aload 9 /* value */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 16 /* ps */
        start local 16 // java.lang.String[] ps
       272: .line 4286
            new sun.security.x509.GeneralNames
            dup
            invokespecial sun.security.x509.GeneralNames.<init>:()V
            astore 17 /* gnames */
        start local 17 // sun.security.x509.GeneralNames gnames
       273: .line 4287
            aload 16 /* ps */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 282
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
      StackMap stack:
       274: aload 21
            iload 19
            aaload
            astore 18 /* item */
        start local 18 // java.lang.String item
       275: .line 4288
            aload 18 /* item */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 12 /* colonpos */
       276: .line 4289
            iload 12 /* colonpos */
            ifge 278
       277: .line 4290
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal item "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* item */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       278: .line 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 java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 18 /* item */
            iconst_0
            iload 12 /* colonpos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 22 /* t */
        start local 22 // java.lang.String t
       279: .line 4293
            aload 18 /* item */
            iload 12 /* colonpos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 23 /* v */
        start local 23 // java.lang.String v
       280: .line 4294
            aload 17 /* gnames */
            aload 0 /* this */
            aload 22 /* t */
            aload 23 /* v */
            invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
            invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
            pop
        end local 23 // java.lang.String v
        end local 22 // java.lang.String t
        end local 18 // java.lang.String item
       281: .line 4287
            iinc 19 1
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
      StackMap stack:
       282: iload 19
            iload 20
            if_icmplt 274
       283: .line 4296
            aload 2 /* ext */
            ldc "CRLDistributionPoints"
       284: .line 4297
            new sun.security.x509.CRLDistributionPointsExtension
            dup
       285: .line 4298
            iload 10 /* isCritical */
       286: .line 4299
            new sun.security.x509.DistributionPoint
            dup
            aload 17 /* gnames */
            aconst_null
            aconst_null
            invokespecial sun.security.x509.DistributionPoint.<init>:(Lsun/security/x509/GeneralNames;[ZLsun/security/x509/GeneralNames;)V
       287: .line 4298
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
       288: .line 4297
            invokespecial sun.security.x509.CRLDistributionPointsExtension.<init>:(ZLjava/util/List;)V
       289: .line 4296
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 17 // sun.security.x509.GeneralNames gnames
        end local 16 // java.lang.String[] ps
       290: .line 4300
            goto 337
       291: .line 4301
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       292: .line 4302
            ldc "Illegal.value."
       293: .line 4301
            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 4302
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       295: .line 4301
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       296: .line 4306
      StackMap locals:
      StackMap stack:
            new sun.security.util.ObjectIdentifier
            dup
            aload 8 /* name */
            invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
            astore 16 /* oid */
        start local 16 // sun.security.util.ObjectIdentifier oid
       297: .line 4307
            aconst_null
            astore 17 /* data */
        start local 17 // byte[] data
       298: .line 4308
            aload 9 /* value */
            ifnull 326
       299: .line 4309
            aload 9 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_2
            idiv
            iconst_1
            iadd
            newarray 8
            astore 17 /* data */
       300: .line 4310
            iconst_0
            istore 18 /* pos */
        start local 18 // int pos
       301: .line 4311
            aload 9 /* value */
            invokevirtual java.lang.String.toCharArray:()[C
            dup
            astore 22
            arraylength
            istore 21
            iconst_0
            istore 20
            goto 317
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int top int int char[]
      StackMap stack:
       302: aload 22
            iload 20
            caload
            istore 19 /* c */
        start local 19 // char c
       303: .line 4313
            iload 19 /* c */
            bipush 48
            if_icmplt 306
            iload 19 /* c */
            bipush 57
            if_icmpgt 306
       304: .line 4314
            iload 19 /* c */
            bipush 48
            isub
            istore 23 /* hex */
        start local 23 // int hex
       305: .line 4315
            goto 311
        end local 23 // int hex
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int int int int char[]
      StackMap stack:
       306: iload 19 /* c */
            bipush 65
            if_icmplt 309
            iload 19 /* c */
            bipush 70
            if_icmpgt 309
       307: .line 4316
            iload 19 /* c */
            bipush 65
            isub
            bipush 10
            iadd
            istore 23 /* hex */
        start local 23 // int hex
       308: .line 4317
            goto 311
        end local 23 // int hex
      StackMap locals:
      StackMap stack:
       309: iload 19 /* c */
            bipush 97
            if_icmplt 316
            iload 19 /* c */
            bipush 102
            if_icmpgt 316
       310: .line 4318
            iload 19 /* c */
            bipush 97
            isub
            bipush 10
            iadd
            istore 23 /* hex */
        start local 23 // int hex
       311: .line 4322
      StackMap locals: int
      StackMap stack:
            iload 18 /* pos */
            iconst_2
            irem
            ifne 314
       312: .line 4323
            aload 17 /* data */
            iload 18 /* pos */
            iconst_2
            idiv
            iload 23 /* hex */
            iconst_4
            ishl
            i2b
            bastore
       313: .line 4324
            goto 315
       314: .line 4325
      StackMap locals:
      StackMap stack:
            aload 17 /* data */
            iload 18 /* pos */
            iconst_2
            idiv
            dup2
            baload
            iload 23 /* hex */
            iadd
            i2b
            bastore
       315: .line 4327
      StackMap locals:
      StackMap stack:
            iinc 18 /* pos */ 1
        end local 23 // int hex
        end local 19 // char c
       316: .line 4311
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int top int int char[]
      StackMap stack:
            iinc 20 1
      StackMap locals:
      StackMap stack:
       317: iload 20
            iload 21
            if_icmplt 302
       318: .line 4329
            iload 18 /* pos */
            iconst_2
            irem
            ifeq 324
       319: .line 4330
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       320: .line 4331
            ldc "Odd.number.of.hex.digits.found."
       321: .line 4330
            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 4331
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       323: .line 4330
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
       324: .line 4333
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int
      StackMap stack:
            aload 17 /* data */
            iload 18 /* pos */
            iconst_2
            idiv
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 17 /* data */
        end local 18 // int pos
       325: .line 4334
            goto 327
       326: .line 4335
      StackMap locals:
      StackMap stack:
            iconst_0
            newarray 8
            astore 17 /* data */
       327: .line 4337
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            aload 16 /* oid */
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            new sun.security.x509.Extension
            dup
            aload 16 /* oid */
            iload 10 /* isCritical */
       328: .line 4338
            new sun.security.util.DerValue
            dup
            iconst_4
            aload 17 /* data */
            invokespecial sun.security.util.DerValue.<init>:(B[B)V
       329: .line 4339
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.x509.Extension.<init>:(Lsun/security/util/ObjectIdentifier;Z[B)V
       330: .line 4337
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       331: .line 4340
            goto 337
        end local 17 // byte[] data
        end local 16 // sun.security.util.ObjectIdentifier oid
       332: .line 4342
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
      StackMap stack:
            new java.lang.Exception
            dup
            new java.lang.StringBuilder
            dup
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
       333: .line 4343
            ldc "Unknown.extension.type."
       334: .line 4342
            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 4343
            aload 6 /* extstr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       336: .line 4342
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // int exttype
        end local 12 // int colonpos
        end local 11 // int eqpos
        end local 10 // boolean isCritical
        end local 9 // java.lang.String value
        end local 8 // java.lang.String name
        end local 6 // java.lang.String extstr
       337: .line 4072
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 50
       338: .line 4347
            aload 2 /* ext */
            ldc "SubjectKeyIdentifier"
       339: .line 4348
            new sun.security.x509.SubjectKeyIdentifierExtension
            dup
       340: .line 4349
            new sun.security.x509.KeyIdentifier
            dup
            aload 4 /* pkey */
            invokespecial sun.security.x509.KeyIdentifier.<init>:(Ljava/security/PublicKey;)V
            invokevirtual sun.security.x509.KeyIdentifier.getIdentifier:()[B
       341: .line 4348
            invokespecial sun.security.x509.SubjectKeyIdentifierExtension.<init>:([B)V
       342: .line 4347
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       343: .line 4350
            aload 5 /* akey */
            ifnull 352
            aload 4 /* pkey */
            aload 5 /* akey */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 352
       344: .line 4351
            aload 2 /* ext */
            ldc "AuthorityKeyIdentifier"
       345: .line 4352
            new sun.security.x509.AuthorityKeyIdentifierExtension
            dup
       346: .line 4353
            new sun.security.x509.KeyIdentifier
            dup
            aload 5 /* akey */
            invokespecial sun.security.x509.KeyIdentifier.<init>:(Ljava/security/PublicKey;)V
            aconst_null
            aconst_null
       347: .line 4352
            invokespecial sun.security.x509.AuthorityKeyIdentifierExtension.<init>:(Lsun/security/x509/KeyIdentifier;Lsun/security/x509/GeneralNames;Lsun/security/x509/SerialNumber;)V
       348: .line 4351
            invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
       349: .line 4355
            goto 352
      StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey
      StackMap stack: java.io.IOException
       350: astore 6 /* e */
        start local 6 // java.io.IOException e
       351: .line 4356
            new java.lang.RuntimeException
            dup
            aload 6 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.io.IOException e
       352: .line 4358
      StackMap locals:
      StackMap stack:
            aload 2 /* ext */
            areturn
        end local 5 // java.security.PublicKey akey
        end local 4 // java.security.PublicKey pkey
        end local 3 // java.util.List extstrs
        end local 2 // sun.security.x509.CertificateExtensions ext
        end local 1 // sun.security.x509.CertificateExtensions reqex
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  353     0                this  Lsun/security/tools/keytool/Main;
            0  353     1               reqex  Lsun/security/x509/CertificateExtensions;
            0  353     2                 ext  Lsun/security/x509/CertificateExtensions;
            0  353     3             extstrs  Ljava/util/List<Ljava/lang/String;>;
            0  353     4                pkey  Ljava/security/PublicKey;
            0  353     5                akey  Ljava/security/PublicKey;
            6   48     6              extstr  Ljava/lang/String;
            9   48     8                list  Ljava/util/List<Ljava/lang/String;>;
           13   46     9                item  Ljava/lang/String;
           15   46    11                 add  Z
           16   46    12              action  I
           17   46    13                type  Ljava/lang/String;
           22   33    14            colonpos  I
           34   46    14                   n  Ljava/lang/String;
           36   44    15                   e  Lsun/security/x509/Extension;
           51  337     6              extstr  Ljava/lang/String;
           55   57     8                name  Ljava/lang/String;
           58  337     8                name  Ljava/lang/String;
           56   57     9               value  Ljava/lang/String;
           59  337     9               value  Ljava/lang/String;
           52  337    10          isCritical  Z
           53  337    11               eqpos  I
           60  337    12            colonpos  I
           67  337    13             exttype  I
           69  105    14             pathLen  I
           70  105    15                isCA  Z
           79   97    16                part  Ljava/lang/String;
           80   97    20                  nv  [Ljava/lang/String;
          107  133    16                  ok  [Z
          109  125    17                   s  Ljava/lang/String;
          121  125    21                   p  I
          128  133    17                 kue  Lsun/security/x509/KeyUsageExtension;
          141  173    16                   v  Ljava/util/Vector<Lsun/security/util/ObjectIdentifier;>;
          143  168    17                   s  Ljava/lang/String;
          155  168    21                   p  I
          181  204    16                  ps  [Ljava/lang/String;
          182  204    17              gnames  Lsun/security/x509/GeneralNames;
          184  190    18                item  Ljava/lang/String;
          188  190    22                   t  Ljava/lang/String;
          189  190    23                   v  Ljava/lang/String;
          219  264    16  accessDescriptions  Ljava/util/List<Lsun/security/x509/AccessDescription;>;
          220  264    17                  ps  [Ljava/lang/String;
          222  254    18                item  Ljava/lang/String;
          224  254    22           colonpos2  I
          231  254    23                   m  Ljava/lang/String;
          232  254    24                   t  Ljava/lang/String;
          233  254    25                   v  Ljava/lang/String;
          241  254    26                   p  I
          243  244    27                 oid  Lsun/security/util/ObjectIdentifier;
          251  254    27                 oid  Lsun/security/util/ObjectIdentifier;
          272  290    16                  ps  [Ljava/lang/String;
          273  290    17              gnames  Lsun/security/x509/GeneralNames;
          275  281    18                item  Ljava/lang/String;
          279  281    22                   t  Ljava/lang/String;
          280  281    23                   v  Ljava/lang/String;
          297  332    16                 oid  Lsun/security/util/ObjectIdentifier;
          298  332    17                data  [B
          301  325    18                 pos  I
          303  316    19                   c  C
          305  306    23                 hex  I
          308  309    23                 hex  I
          311  316    23                 hex  I
          351  352     6                   e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          73    75      76  Class java.lang.NumberFormatException
         156   157     158  Class java.lang.Exception
         242   243     244  Class java.lang.Exception
           3   349     350  Class java.io.IOException
    Exceptions:
      throws java.lang.Exception
    Signature: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List<Ljava/lang/String;>;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
    MethodParameters:
         Name  Flags
      reqex    
      ext      
      extstrs  
      pkey     
      akey     

  private boolean isTrustedCert(java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.tools.keytool.Main this
        start local 1 // java.security.cert.Certificate cert
         0: .line 4362
            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 4363
            iconst_1
            ireturn
         2: .line 4365
      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 4366
            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 4372
            aload 2 /* sigAlg */
            ifnull 7
            getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
         1: .line 4373
            getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
            aload 2 /* sigAlg */
            aconst_null
         2: .line 4372
            invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
         3: .line 4373
            ifne 7
         4: .line 4374
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
         5: .line 4375
            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 4374
            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 4377
      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 4378
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
         9: .line 4379
            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 4380
            aload 1 /* label */
            aastore
            dup
            iconst_1
        11: .line 4381
            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 4382
            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 4381
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aastore
        14: .line 4378
            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 4384
      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 4388
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 10
         2: .line 4389
      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 4390
            aload 4 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 9
         4: .line 4391
            aload 4 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 5 /* xc */
        start local 5 // java.security.cert.X509Certificate xc
         5: .line 4392
            aload 1 /* label */
            astore 6 /* fullLabel */
        start local 6 // java.lang.String fullLabel
         6: .line 4393
            aload 2 /* certs */
            arraylength
            iconst_1
            if_icmple 8
         7: .line 4394
            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 4396
      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 4388
      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 4399
            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 4403
            aload 2 /* cert */
            instanceof java.security.cert.X509Certificate
            ifeq 6
         1: .line 4404
            aload 2 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 3 /* xc */
        start local 3 // java.security.cert.X509Certificate xc
         2: .line 4406
            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 4407
            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 4409
      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 4412
            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 4413
            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 4416
            aload 2 /* crl */
            instanceof sun.security.x509.X509CRLImpl
            ifeq 3
         1: .line 4417
            aload 2 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            astore 4 /* impl */
        start local 4 // sun.security.x509.X509CRLImpl impl
         2: .line 4418
            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 4420
      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 4423
            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 4424
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "\nWarning:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 4425
            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 4426
            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 4425
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 4428
            iload 1 /* newLine */
            ifeq 8
         7: .line 4430
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         8: .line 4433
      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 4434
            return
        end local 1 // boolean newLine
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/security/tools/keytool/Main;
            0   10     1  newLine  Z
            4    5     2  warning  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      newLine  

  private void usage();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 4440
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
            ifnull 34
         1: .line 4441
            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 4442
            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 4441
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 4443
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         5: .line 4444
            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 4445
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         7: .line 4446
            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 4447
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         9: .line 4450
            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 4451
            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 4457
            iconst_0
            istore 3 /* lenLeft */
        start local 3 // int lenLeft
        12: .line 4458
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        13: goto 21
        14: .line 4459
      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 4460
            aload 1 /* left */
            iload 4 /* j */
            aload 5 /* opt */
            invokevirtual sun.security.tools.keytool.Main$Option.toString:()Ljava/lang/String;
            aastore
        16: .line 4461
            aload 5 /* opt */
            getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
            ifnull 17
            aload 1 /* left */
            iload 4 /* j */
            dup2
            aaload
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* opt */
            getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        17: .line 4462
      StackMap locals: sun.security.tools.keytool.Main$Option
      StackMap stack:
            aload 1 /* left */
            iload 4 /* j */
            aaload
            invokevirtual java.lang.String.length:()I
            iload 3 /* lenLeft */
            if_icmple 19
        18: .line 4463
            aload 1 /* left */
            iload 4 /* j */
            aaload
            invokevirtual java.lang.String.length:()I
            istore 3 /* lenLeft */
        19: .line 4465
      StackMap locals:
      StackMap stack:
            aload 2 /* right */
            iload 4 /* j */
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            aload 5 /* opt */
            getfield sun.security.tools.keytool.Main$Option.description:Ljava/lang/String;
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        end local 5 // sun.security.tools.keytool.Main$Option opt
        20: .line 4458
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        21: iload 4 /* j */
            aload 1 /* left */
            arraylength
            if_icmplt 14
        end local 4 // int j
        22: .line 4467
            iconst_0
            istore 4 /* j */
        start local 4 // int j
        23: goto 28
        24: .line 4468
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc " %-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* lenLeft */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s  %s\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        25: .line 4469
            aload 1 /* left */
            iload 4 /* j */
            aaload
            aastore
            dup
            iconst_1
            aload 2 /* right */
            iload 4 /* j */
            aaload
            aastore
        26: .line 4468
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        27: .line 4467
            iinc 4 /* j */ 1
      StackMap locals:
      StackMap stack:
        28: iload 4 /* j */
            aload 1 /* left */
            arraylength
            if_icmplt 24
        end local 4 // int j
        29: .line 4471
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        30: .line 4472
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        31: .line 4473
            ldc "Use.keytool.help.for.all.available.commands"
        32: .line 4472
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // int lenLeft
        end local 2 // java.lang.String[] right
        end local 1 // java.lang.String[] left
        33: .line 4474
            goto 50
        34: .line 4475
      StackMap locals: sun.security.tools.keytool.Main
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        35: .line 4476
            ldc "Key.and.Certificate.Management.Tool"
        36: .line 4475
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        37: .line 4477
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        38: .line 4478
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            ldc "Commands."
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 4479
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        40: .line 4480
            invokestatic sun.security.tools.keytool.Main$Command.values:()[Lsun/security/tools/keytool/Main$Command;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 45
      StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
        41: aload 4
            iload 2
            aaload
            astore 1 /* c */
        start local 1 // sun.security.tools.keytool.Main$Command c
        42: .line 4481
            aload 1 /* c */
            getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
            if_acmpne 43
            goto 46
        43: .line 4482
      StackMap locals: sun.security.tools.keytool.Main sun.security.tools.keytool.Main$Command int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc " %-20s%s\n"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* c */
            aastore
            dup
            iconst_1
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
            aload 1 /* c */
            getfield sun.security.tools.keytool.Main$Command.description:Ljava/lang/String;
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 1 // sun.security.tools.keytool.Main$Command c
        44: .line 4480
            iinc 2 1
      StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
      StackMap stack:
        45: iload 2
            iload 3
            if_icmplt 41
        46: .line 4484
      StackMap locals: sun.security.tools.keytool.Main
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        47: .line 4485
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
        48: .line 4486
            ldc "Use.keytool.command.name.help.for.usage.of.command.name"
        49: .line 4485
            invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        50: .line 4488
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   51     0     this  Lsun/security/tools/keytool/Main;
           10   33     1     left  [Ljava/lang/String;
           11   33     2    right  [Ljava/lang/String;
           12   33     3  lenLeft  I
           13   22     4        j  I
           15   20     5      opt  Lsun/security/tools/keytool/Main$Option;
           23   29     4        j  I
           42   44     1        c  Lsun/security/tools/keytool/Main$Command;

  private void tinyHelp();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.tools.keytool.Main this
         0: .line 4491
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.usage:()V
         1: .line 4492
            aload 0 /* this */
            getfield sun.security.tools.keytool.Main.debug:Z
            ifeq 3
         2: .line 4493
            new java.lang.RuntimeException
            dup
            ldc "NO BIG ERROR, SORRY"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 4495
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         4: .line 4497
            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 4500
            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 4501
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.text.MessageFormat
            dup
         2: .line 4502
            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 4501
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 4503
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
         5: .line 4504
            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 4507
            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 4508
            aload 3 /* output */
            ifnull 2
            aload 3 /* output */
            areturn
         2: .line 4509
      StackMap locals: char[]
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
         3: .line 4510
            aconst_null
            areturn
        end local 3 // char[] output
        end local 2 // java.lang.String arg
        end local 1 // java.lang.String modifier
        end local 0 // sun.security.tools.keytool.Main this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lsun/security/tools/keytool/Main;
            0    4     1  modifier  Ljava/lang/String;
            0    4     2       arg  Ljava/lang/String;
            1    4     3    output  [C
    MethodParameters:
          Name  Flags
      modifier  
      arg       
}
SourceFile: "Main.java"
NestMembers:
  sun.security.tools.keytool.Main$1  sun.security.tools.keytool.Main$1$1  sun.security.tools.keytool.Main$Command  sun.security.tools.keytool.Main$Option
InnerClasses:
  public 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