public final class sun.security.tools.keytool.Main
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.tools.keytool.Main
super_class: java.lang.Object
{
private boolean debug;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private sun.security.tools.keytool.Main$Command command;
descriptor: Lsun/security/tools/keytool/Main$Command;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sigAlgName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyAlgName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean verbose;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int keysize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean rfc;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long validity;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.lang.String alias;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String dname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String dest;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String filename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcksfname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<sun.security.tools.keytool.Pair<java.lang.String, java.lang.String>> providers;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;>;
private java.lang.String storetype;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcProviderName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String providerName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String pathlist;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private char[] storePass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] storePassNew;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] keyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] keyPassNew;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] oldPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] newPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] destKeyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] srckeyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.lang.String ksfname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.io.File ksfile;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream ksStream;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.security.KeyStore keyStore;
descriptor: Ljava/security/KeyStore;
flags: (0x0002) ACC_PRIVATE
private boolean token;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean nullStream;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean kssave;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean noprompt;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean trustcacerts;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean protectedPath;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean srcprotectedPath;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.security.cert.CertificateFactory cf;
descriptor: Ljava/security/cert/CertificateFactory;
flags: (0x0002) ACC_PRIVATE
private java.security.KeyStore caks;
descriptor: Ljava/security/KeyStore;
flags: (0x0002) ACC_PRIVATE
private char[] srcstorePass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcstoretype;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<char[]> passwords;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<[C>;
private java.lang.String startDate;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.Class[] PARAM_STRING;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String NONE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NONE"
private static final java.lang.String P11KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS11"
private static final java.lang.String P12KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS12"
private final java.lang.String keyAlias;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: "mykey"
private static final java.util.ResourceBundle rb;
descriptor: Ljava/util/ResourceBundle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.text.Collator collator;
descriptor: Ljava/text/Collator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
putstatic sun.security.tools.keytool.Main.PARAM_STRING:[Ljava/lang/Class;
1: ldc "sun.security.tools.keytool.Resources"
2: invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
3: putstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
4: invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
putstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
5: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
iconst_0
invokevirtual java.text.Collator.setStrength:(I)V
6: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.debug:Z
2: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
3: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
4: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
5: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.verbose:Z
6: aload 0
iconst_m1
putfield sun.security.tools.keytool.Main.keysize:I
7: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.rfc:Z
8: aload 0
ldc 90
putfield sun.security.tools.keytool.Main.validity:J
9: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
10: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
11: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
12: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
13: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
15: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
16: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
17: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
18: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
19: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
20: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePassNew:[C
21: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyPass:[C
22: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyPassNew:[C
23: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.oldPass:[C
24: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.newPass:[C
25: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.destKeyPass:[C
26: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srckeyPass:[C
27: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
28: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
29: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
30: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
31: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.token:Z
32: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.nullStream:Z
33: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.kssave:Z
34: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.noprompt:Z
35: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.trustcacerts:Z
36: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.protectedPath:Z
37: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
38: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
39: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
40: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcstorePass:[C
41: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
42: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
43: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
44: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.keyAlias:Ljava/lang/String;
45: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/security/tools/keytool/Main;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new sun.security.tools.keytool.Main
dup
invokespecial sun.security.tools.keytool.Main.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.tools.keytool.Main.run:([Ljava/lang/String;Ljava/io/PrintStream;)V
2: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.parseArgs:([Ljava/lang/String;)V
1: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
ifnull 30
2: aload 0
aload 2
invokevirtual sun.security.tools.keytool.Main.doCommands:(Ljava/io/PrintStream;)V
3: goto 30
StackMap locals:
StackMap stack: java.lang.Exception
4: astore 3
start local 3 5: 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
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: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 8
7: aload 3
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
8: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifne 11
9: iconst_1
invokestatic java.lang.System.exit:(I)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 3
athrow
end local 3 12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top top top java.util.Iterator
StackMap stack:
13: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast char[]
astore 5
start local 5 14: aload 5
ifnull 17
15: aload 5
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
16: aconst_null
astore 5
end local 5 17: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
18: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 38
19: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
goto 38
20: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
StackMap stack: java.lang.Throwable
astore 4
21: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 26
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable top java.util.Iterator
StackMap stack:
22: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast char[]
astore 5
start local 5 23: aload 5
ifnull 26
24: aload 5
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
25: aconst_null
astore 5
end local 5 26: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
27: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 29
28: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
29: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable
StackMap stack:
aload 4
athrow
30: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 35
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top top top java.util.Iterator
StackMap stack:
31: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast char[]
astore 5
start local 5 32: aload 5
ifnull 35
33: aload 5
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
34: aconst_null
astore 5
end local 5 35: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
36: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 38
37: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
38: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lsun/security/tools/keytool/Main;
0 39 1 args [Ljava/lang/String;
0 39 2 out Ljava/io/PrintStream;
5 12 3 e Ljava/lang/Exception;
14 17 5 pass [C
23 26 5 pass [C
32 35 5 pass [C
Exception table:
from to target type
0 3 4 Class java.lang.Exception
0 12 20 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
out
void parseArgs(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
arraylength
ifne 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iconst_0
istore 2
goto 155
5: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
astore 4
start local 4 6: iload 2
aload 1
arraylength
iconst_1
isub
if_icmpne 14
7: 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
start local 5 9: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
aload 5
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: aload 5
getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
ifnull 14
aload 0
aload 4
invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
11: goto 14
end local 5 12: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
iload 7
if_icmplt 8
14: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String
StackMap stack:
iconst_0
istore 5
start local 5 15: invokestatic sun.security.tools.keytool.Main$Command.values:()[Lsun/security/tools/keytool/Main$Command;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 22
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String int top int int sun.security.tools.keytool.Main$Command[]
StackMap stack:
16: aload 9
iload 7
aaload
astore 6
start local 6 17: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
aload 6
invokevirtual sun.security.tools.keytool.Main$Command.toString:()Ljava/lang/String;
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 21
18: aload 0
aload 6
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
19: iconst_1
istore 5
20: goto 23
end local 6 21: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
iload 8
if_icmplt 16
23: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String int
StackMap stack:
iload 5
ifne 154
24: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-export"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 27
25: aload 0
getstatic sun.security.tools.keytool.Main$Command.EXPORTCERT:Lsun/security/tools/keytool/Main$Command;
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
26: goto 154
StackMap locals:
StackMap stack:
27: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-genkey"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 30
28: aload 0
getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
29: goto 154
StackMap locals:
StackMap stack:
30: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-import"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 33
31: aload 0
getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
32: goto 154
33: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-help"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 36
34: iconst_1
istore 3
35: goto 154
36: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-keystore"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 38
37: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-destkeystore"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 40
38: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
39: goto 154
StackMap locals:
StackMap stack:
40: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-storepass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 42
41: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-deststorepass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 45
42: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.security.tools.keytool.Main.storePass:[C
43: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
44: goto 154
StackMap locals:
StackMap stack:
45: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-storetype"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 47
46: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-deststoretype"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 49
47: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
48: goto 154
StackMap locals:
StackMap stack:
49: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-srcstorepass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 53
50: aload 0
aload 1
iinc 2 1
iload 2
aaload
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.security.tools.keytool.Main.srcstorePass:[C
51: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
52: goto 154
StackMap locals:
StackMap stack:
53: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-srcstoretype"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 56
54: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
55: goto 154
StackMap locals:
StackMap stack:
56: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-srckeypass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 60
57: aload 0
aload 1
iinc 2 1
iload 2
aaload
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.security.tools.keytool.Main.srckeyPass:[C
58: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
59: goto 154
StackMap locals:
StackMap stack:
60: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-srcprovidername"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 63
61: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
62: goto 154
StackMap locals:
StackMap stack:
63: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-providername"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 65
64: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-destprovidername"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 67
65: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
66: goto 154
StackMap locals:
StackMap stack:
67: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-providerpath"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 70
68: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
69: goto 154
StackMap locals:
StackMap stack:
70: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-keypass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 74
71: aload 0
aload 1
iinc 2 1
iload 2
aaload
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.security.tools.keytool.Main.keyPass:[C
72: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
73: goto 154
StackMap locals:
StackMap stack:
74: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-new"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 78
75: aload 0
aload 1
iinc 2 1
iload 2
aaload
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.security.tools.keytool.Main.newPass:[C
76: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
77: goto 154
StackMap locals:
StackMap stack:
78: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-destkeypass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 82
79: aload 0
aload 1
iinc 2 1
iload 2
aaload
invokevirtual java.lang.String.toCharArray:()[C
putfield sun.security.tools.keytool.Main.destKeyPass:[C
80: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
81: goto 154
StackMap locals:
StackMap stack:
82: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-alias"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 84
83: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-srcalias"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 86
84: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
85: goto 154
StackMap locals:
StackMap stack:
86: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-dest"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 88
87: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-destalias"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 90
88: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
89: goto 154
StackMap locals:
StackMap stack:
90: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-dname"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 93
91: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
92: goto 154
StackMap locals:
StackMap stack:
93: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-keysize"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 96
94: aload 0
aload 1
iinc 2 1
iload 2
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield sun.security.tools.keytool.Main.keysize:I
95: goto 154
StackMap locals:
StackMap stack:
96: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-keyalg"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 99
97: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
98: goto 154
StackMap locals:
StackMap stack:
99: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-sigalg"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 102
100: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
101: goto 154
StackMap locals:
StackMap stack:
102: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-startdate"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 105
103: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
104: goto 154
StackMap locals:
StackMap stack:
105: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-validity"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 108
106: aload 0
aload 1
iinc 2 1
iload 2
aaload
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
putfield sun.security.tools.keytool.Main.validity:J
107: goto 154
StackMap locals:
StackMap stack:
108: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-file"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 111
109: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
110: goto 154
StackMap locals:
StackMap stack:
111: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-srckeystore"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 114
112: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
113: goto 154
StackMap locals:
StackMap stack:
114: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-provider"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 116
115: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-providerclass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 130
116: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
ifnonnull 118
117: aload 0
new java.util.HashSet
dup
iconst_3
invokespecial java.util.HashSet.<init>:(I)V
putfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
118: StackMap locals:
StackMap stack:
aload 1
iinc 2 1
iload 2
aaload
astore 6
start local 6 119: aconst_null
astore 7
start local 7 120: aload 1
arraylength
iload 2
iconst_1
iadd
if_icmple 126
121: aload 1
iload 2
iconst_1
iadd
aaload
astore 4
122: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-providerarg"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 126
123: aload 1
arraylength
iload 2
iconst_2
iadd
if_icmpne 124
aload 0
aload 4
invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
124: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
iload 2
iconst_2
iadd
aaload
astore 7
125: iinc 2 2
126: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
127: new sun.security.tools.keytool.Pair
dup
aload 6
aload 7
invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
128: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 129: goto 154
130: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-v"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 133
131: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.verbose:Z
132: goto 154
StackMap locals:
StackMap stack:
133: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-debug"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 136
134: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.debug:Z
135: goto 154
StackMap locals:
StackMap stack:
136: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-rfc"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 139
137: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.rfc:Z
138: goto 154
StackMap locals:
StackMap stack:
139: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-noprompt"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 142
140: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.noprompt:Z
141: goto 154
StackMap locals:
StackMap stack:
142: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-trustcacerts"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 145
143: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.trustcacerts:Z
144: goto 154
StackMap locals:
StackMap stack:
145: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-protected"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 147
146: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-destprotected"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 149
147: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.protectedPath:Z
148: goto 154
StackMap locals:
StackMap stack:
149: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-srcprotected"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 152
150: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
151: goto 154
152: 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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
153: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
end local 5 end local 4 154: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
155: iload 2
aload 1
arraylength
if_icmpge 156
aload 1
iload 2
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 5
156: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmpge 159
157: 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
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
158: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
159: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
ifnonnull 166
160: iload 3
ifeq 163
161: aload 0
invokevirtual sun.security.tools.keytool.Main.usage:()V
162: goto 169
163: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Usage.error.no.command.provided"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
164: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
165: goto 169
StackMap locals:
StackMap stack:
166: iload 3
ifeq 169
167: aload 0
invokevirtual sun.security.tools.keytool.Main.usage:()V
168: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
169: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 170 0 this Lsun/security/tools/keytool/Main;
0 170 1 args [Ljava/lang/String;
1 170 2 i I
4 170 3 help Z
6 154 4 flags Ljava/lang/String;
9 12 5 option Lsun/security/tools/keytool/Main$Option;
15 154 5 isCommand Z
17 21 6 c Lsun/security/tools/keytool/Main$Command;
119 129 6 providerClass Ljava/lang/String;
120 129 7 providerArg Ljava/lang/String;
MethodParameters:
Name Flags
args
void doCommands(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0000)
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
ifnonnull 2
1: aload 0
invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.niceStoreTypeName:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
3: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
ifnonnull 5
4: aload 0
invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
5: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.niceStoreTypeName:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
6: ldc "PKCS11"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 8
7: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 11
8: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.token:Z
9: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnonnull 11
10: aload 0
ldc "NONE"
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
11: StackMap locals:
StackMap stack:
ldc "NONE"
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.nullStream:Z
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 21
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 21
14: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
15: ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
16: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
17: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aastore
18: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
20: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 28
22: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 23
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.STOREPASSWD:Lsun/security/tools/keytool/Main$Command;
if_acmpne 28
23: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
24: ldc ".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}"
25: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
26: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aastore
27: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 32
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
if_acmpne 32
29: new java.lang.UnsupportedOperationException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
30: ldc ".keypasswd.commands.not.supported.if.storetype.is.PKCS12"
31: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 38
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 33
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnonnull 33
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 38
33: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
34: ldc ".keypass.and.new.can.not.be.specified.if.storetype.is.{0}"
35: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
36: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aastore
37: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifeq 44
39: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 41
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 41
40: aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnonnull 41
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 44
41: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
42: ldc "if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified"
43: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
44: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
ifeq 49
45: aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 46
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnull 49
46: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
47: ldc "if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified"
48: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 55
50: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 52
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 52
51: aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnonnull 52
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 55
52: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
53: ldc "if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified"
54: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
55: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 60
56: aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 57
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnull 60
57: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
58: ldc "if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified"
59: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
60: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.validity:J
lconst_0
lcmp
ifgt 64
61: new java.lang.Exception
dup
62: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Validity.must.be.greater.than.zero"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
63: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
64: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
ifnull 98
65: aconst_null
astore 2
start local 2 66: aload 0
getfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
ifnull 76
67: aconst_null
astore 3
start local 3 68: aload 3
ldc "java.class.path"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
69: invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
70: aload 3
ldc "env.class.path"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
71: invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
72: aload 3
aload 0
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
73: aload 3
invokestatic sun.security.tools.PathList.pathToURLs:(Ljava/lang/String;)[Ljava/net/URL;
astore 4
start local 4 74: new java.net.URLClassLoader
dup
aload 4
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
astore 2
end local 4 end local 3 75: goto 77
76: StackMap locals: java.lang.ClassLoader
StackMap stack:
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 2
77: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 97
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
StackMap stack:
78: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.tools.keytool.Pair
astore 3
start local 3 79: aload 3
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 80: aload 2
ifnull 83
81: aload 2
aload 5
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 82: goto 84
end local 6 83: 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
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 84: StackMap locals: java.lang.Class
StackMap stack:
aload 3
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 85: aload 7
ifnonnull 88
86: aload 6
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 8
start local 8 87: goto 90
end local 8 88: StackMap locals: java.lang.String
StackMap stack:
aload 6
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
start local 9 89: aload 9
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 7
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
astore 8
end local 9 start local 8 90: StackMap locals: java.lang.Object
StackMap stack:
aload 8
instanceof java.security.Provider
ifne 96
91: new java.text.MessageFormat
dup
92: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "provName.not.a.provider"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
93: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 9
start local 9 94: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
astore 10
start local 10 95: new java.lang.Exception
dup
aload 9
aload 10
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 10 end local 9 96: StackMap locals:
StackMap stack:
aload 8
checkcast java.security.Provider
invokestatic java.security.Security.addProvider:(Ljava/security/Provider;)I
pop
end local 8 end local 7 end local 6 end local 5 end local 3 97: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 78
end local 2 98: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.LIST:Lsun/security/tools/keytool/Main$Command;
if_acmpne 103
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 103
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 103
99: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
100: ldc "Must.not.specify.both.v.and.rfc.with.list.command"
101: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
102: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
103: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
if_acmpne 107
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 107
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
arraylength
bipush 6
if_icmpge 107
104: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
105: ldc "Key.password.must.be.at.least.6.characters"
106: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
107: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnull 111
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
arraylength
bipush 6
if_icmpge 111
108: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
109: ldc "New.password.must.be.at.least.6.characters"
110: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
111: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 115
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
arraylength
bipush 6
if_icmpge 115
112: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
113: ldc "New.password.must.be.at.least.6.characters"
114: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
115: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 141
116: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnonnull 120
117: aload 0
new java.lang.StringBuilder
dup
ldc "user.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
118: ldc ".keystore"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
119: putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
120: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 141
121: aload 0
new java.io.File
dup
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
putfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
122: aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifeq 128
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual java.io.File.length:()J
lconst_0
lcmp
ifne 128
123: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
124: ldc "Keystore.file.exists.but.is.empty."
125: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
126: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
127: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
128: StackMap locals:
StackMap stack:
aload 0
new java.io.FileInputStream
dup
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
129: goto 141
StackMap locals:
StackMap stack: java.io.FileNotFoundException
130: pop
131: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 141
132: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENSECKEY:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 141
133: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 141
134: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 141
135: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 141
136: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
137: ldc "Keystore.file.does.not.exist."
138: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
139: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
140: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
141: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 142
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.CHANGEALIAS:Lsun/security/tools/keytool/Main$Command;
if_acmpne 148
142: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
ifnonnull 148
143: aload 0
aload 0
ldc "destination"
invokevirtual sun.security.tools.keytool.Main.getAlias:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
144: ldc ""
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 148
145: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
146: ldc "Must.specify.destination.alias"
147: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
148: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.DELETE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 152
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 152
149: aload 0
aload 0
aconst_null
invokevirtual sun.security.tools.keytool.Main.getAlias:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
150: ldc ""
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 152
151: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Must.specify.alias"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
152: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
ifnonnull 155
153: aload 0
aload 0
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: goto 156
155: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aload 0
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: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 160
157: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
158: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 160
159: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
160: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 163
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 163
161: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aconst_null
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
162: goto 230
StackMap locals:
StackMap stack:
163: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 168
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 168
164: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnonnull 230
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
arraylength
bipush 6
if_icmpge 230
165: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
166: ldc "Keystore.password.must.be.at.least.6.characters"
167: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
168: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 230
169: aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifne 216
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 216
170: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.CERTREQ:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
171: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.DELETE:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
172: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
173: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENSECKEY:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
174: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
175: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
176: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
177: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.CHANGEALIAS:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
178: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.SELFCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
179: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.STOREPASSWD:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
180: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 182
181: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
if_acmpne 216
182: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 183: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 188
184: getstatic java.lang.System.err:Ljava/io/PrintStream;
185: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.destination.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
186: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
187: goto 191
188: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
189: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
190: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
191: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
192: aload 0
getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
putfield sun.security.tools.keytool.Main.storePass:[C
193: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
194: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 199
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 195
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
arraylength
bipush 6
if_icmpge 199
195: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
196: ldc "Keystore.password.is.too.short.must.be.at.least.6.characters"
197: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
198: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
199: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 208
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 208
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnonnull 208
200: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Re.enter.new.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
201: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 3
start local 3 202: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
203: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 3
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 208
204: getstatic java.lang.System.err:Ljava/io/PrintStream;
205: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "They.don.t.match.Try.again"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
206: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
207: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
end local 3 208: StackMap locals:
StackMap stack:
iinc 2 1
209: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 211
iload 2
iconst_3
210: if_icmplt 183
211: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 223
212: getstatic java.lang.System.err:Ljava/io/PrintStream;
213: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Too.many.failures.try.later"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
214: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
215: return
end local 2 216: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifne 223
217: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 223
218: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 223
219: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
220: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
221: aload 0
getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
putfield sun.security.tools.keytool.Main.storePass:[C
222: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
223: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 226
224: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aconst_null
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
225: goto 230
StackMap locals:
StackMap stack:
226: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 230
227: aload 0
new java.io.FileInputStream
dup
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
228: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
229: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
230: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 246
ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 246
231: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
232: ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
233: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 234: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 238
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 238
235: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-keypass"
aastore
astore 3
start local 3 236: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
237: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
putfield sun.security.tools.keytool.Main.keyPass:[C
end local 3 238: StackMap locals: java.text.MessageFormat
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnull 242
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 242
239: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-new"
aastore
astore 3
start local 3 240: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
241: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
putfield sun.security.tools.keytool.Main.newPass:[C
end local 3 242: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 246
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 246
243: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-destkeypass"
aastore
astore 3
start local 3 244: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
245: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
putfield sun.security.tools.keytool.Main.destKeyPass:[C
end local 3 end local 2 246: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 248
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 248
247: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
if_acmpne 249
248: StackMap locals:
StackMap stack:
aload 0
ldc "X509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
putfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
249: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 251
250: aload 0
invokestatic sun.security.tools.KeyStoreUtil.getCacertsKeyStore:()Ljava/security/KeyStore;
putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
251: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.CERTREQ:Lsun/security/tools/keytool/Main$Command;
if_acmpne 274
252: aconst_null
astore 2
start local 2 253: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 258
254: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
255: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
256: invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 2
257: aload 2
astore 1
258: StackMap locals: java.io.PrintStream
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
aload 1
invokevirtual sun.security.tools.keytool.Main.doCertReq:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
259: goto 264
StackMap locals:
StackMap stack: java.lang.Throwable
260: astore 3
261: aload 2
ifnull 263
262: aload 2
invokevirtual java.io.PrintStream.close:()V
263: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
264: StackMap locals:
StackMap stack:
aload 2
ifnull 266
265: aload 2
invokevirtual java.io.PrintStream.close:()V
266: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 429
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 429
267: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
268: ldc "Certification.request.stored.in.file.filename."
269: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 270: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
aastore
astore 4
start local 4 271: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
272: 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 end local 3 end local 2 273: goto 429
StackMap locals:
StackMap stack:
274: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.DELETE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 278
275: aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual sun.security.tools.keytool.Main.doDeleteEntry:(Ljava/lang/String;)V
276: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
277: goto 429
StackMap locals:
StackMap stack:
278: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.EXPORTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpne 300
279: aconst_null
astore 2
start local 2 280: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 285
281: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
282: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
283: invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 2
284: aload 2
astore 1
285: StackMap locals: java.io.PrintStream
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 1
invokevirtual sun.security.tools.keytool.Main.doExportCert:(Ljava/lang/String;Ljava/io/PrintStream;)V
286: goto 291
StackMap locals:
StackMap stack: java.lang.Throwable
287: astore 3
288: aload 2
ifnull 290
289: aload 2
invokevirtual java.io.PrintStream.close:()V
290: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
291: StackMap locals:
StackMap stack:
aload 2
ifnull 293
292: aload 2
invokevirtual java.io.PrintStream.close:()V
293: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 429
294: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
295: ldc "Certificate.stored.in.file.filename."
296: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 297: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
aastore
astore 4
start local 4 298: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 end local 3 end local 2 299: goto 429
StackMap locals:
StackMap stack:
300: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
if_acmpne 306
301: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 303
302: aload 0
ldc "DSA"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
303: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.keysize:I
aload 0
getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
invokevirtual sun.security.tools.keytool.Main.doGenKeyPair:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
304: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
305: goto 429
StackMap locals:
StackMap stack:
306: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENSECKEY:Lsun/security/tools/keytool/Main$Command;
if_acmpne 312
307: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 309
308: aload 0
ldc "DES"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
309: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.keysize:I
invokevirtual sun.security.tools.keytool.Main.doGenSecretKey:(Ljava/lang/String;Ljava/lang/String;I)V
310: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
311: goto 429
StackMap locals:
StackMap stack:
312: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
if_acmpne 325
313: getstatic java.lang.System.in:Ljava/io/InputStream;
astore 2
start local 2 314: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 316
315: new java.io.FileInputStream
dup
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 2
316: StackMap locals: java.io.InputStream
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
317: goto 322
StackMap locals:
StackMap stack: java.lang.Throwable
318: astore 3
319: aload 2
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 321
320: aload 2
invokevirtual java.io.InputStream.close:()V
321: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
322: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 429
323: aload 2
invokevirtual java.io.InputStream.close:()V
end local 2 324: goto 429
StackMap locals:
StackMap stack:
325: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpne 365
326: getstatic java.lang.System.in:Ljava/io/InputStream;
astore 2
start local 2 327: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 329
328: new java.io.FileInputStream
dup
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 2
329: StackMap locals: java.io.InputStream
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 330
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
goto 331
StackMap locals:
StackMap stack:
330: ldc "mykey"
StackMap locals:
StackMap stack: java.lang.String
331: astore 3
start local 3 332: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 3
ldc Ljava/security/KeyStore$PrivateKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifeq 343
333: aload 0
aload 0
aload 3
aload 2
invokevirtual sun.security.tools.keytool.Main.installReply:(Ljava/lang/String;Ljava/io/InputStream;)Z
putfield sun.security.tools.keytool.Main.kssave:Z
334: aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 339
335: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
336: ldc "Certificate.reply.was.installed.in.keystore"
337: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
338: goto 362
339: StackMap locals: java.lang.String
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
340: ldc "Certificate.reply.was.not.installed.in.keystore"
341: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
342: goto 362
StackMap locals:
StackMap stack:
343: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 3
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 348
344: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 3
345: ldc Ljava/security/KeyStore$TrustedCertificateEntry;
346: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
347: ifeq 362
348: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 3
aload 2
invokevirtual sun.security.tools.keytool.Main.addTrustedCert:(Ljava/lang/String;Ljava/io/InputStream;)Z
putfield sun.security.tools.keytool.Main.kssave:Z
349: aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 354
350: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
351: ldc "Certificate.was.added.to.keystore"
352: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
353: goto 362
354: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
355: ldc "Certificate.was.not.added.to.keystore"
356: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 3 357: goto 362
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.InputStream
StackMap stack: java.lang.Throwable
358: astore 4
359: aload 2
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 361
360: aload 2
invokevirtual java.io.InputStream.close:()V
361: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.InputStream top java.lang.Throwable
StackMap stack:
aload 4
athrow
362: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.InputStream
StackMap stack:
aload 2
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 429
363: aload 2
invokevirtual java.io.InputStream.close:()V
end local 2 364: goto 429
StackMap locals:
StackMap stack:
365: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 369
366: aload 0
invokevirtual sun.security.tools.keytool.Main.doImportKeyStore:()V
367: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
368: goto 429
StackMap locals:
StackMap stack:
369: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 388
370: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.keyPassNew:[C
371: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 373
372: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
373: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifne 379
374: new java.text.MessageFormat
dup
375: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.does.not.exist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
376: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 377: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aastore
astore 3
start local 3 378: new java.lang.Exception
dup
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 379: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ldc Ljava/security/KeyStore$PrivateKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifne 385
380: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
381: ldc "Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key"
382: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 383: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aastore
astore 3
start local 3 384: new java.lang.Exception
dup
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 385: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
iconst_1
invokevirtual sun.security.tools.keytool.Main.doCloneEntry:(Ljava/lang/String;Ljava/lang/String;Z)V
386: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
387: goto 429
StackMap locals:
StackMap stack:
388: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.CHANGEALIAS:Lsun/security/tools/keytool/Main$Command;
if_acmpne 396
389: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 391
390: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
391: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
iconst_0
invokevirtual sun.security.tools.keytool.Main.doCloneEntry:(Ljava/lang/String;Ljava/lang/String;Z)V
392: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 394
393: aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual sun.security.tools.keytool.Main.doDeleteEntry:(Ljava/lang/String;)V
394: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
395: goto 429
StackMap locals:
StackMap stack:
396: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
if_acmpne 401
397: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.keyPassNew:[C
398: aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual sun.security.tools.keytool.Main.doChangeKeyPasswd:(Ljava/lang/String;)V
399: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
400: goto 429
StackMap locals:
StackMap stack:
401: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.LIST:Lsun/security/tools/keytool/Main$Command;
if_acmpne 407
402: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 405
403: aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 1
iconst_1
invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/io/PrintStream;Z)V
404: goto 429
405: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintEntries:(Ljava/io/PrintStream;)V
406: goto 429
StackMap locals:
StackMap stack:
407: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpne 420
408: getstatic java.lang.System.in:Ljava/io/InputStream;
astore 2
start local 2 409: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 411
410: new java.io.FileInputStream
dup
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 2
411: StackMap locals: java.io.InputStream
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintCert:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
412: goto 417
StackMap locals:
StackMap stack: java.lang.Throwable
413: astore 3
414: aload 2
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 416
415: aload 2
invokevirtual java.io.InputStream.close:()V
416: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
417: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 429
418: aload 2
invokevirtual java.io.InputStream.close:()V
end local 2 419: goto 429
StackMap locals:
StackMap stack:
420: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.SELFCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpne 424
421: aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
invokevirtual sun.security.tools.keytool.Main.doSelfCert:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
422: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
423: goto 429
StackMap locals:
StackMap stack:
424: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.STOREPASSWD:Lsun/security/tools/keytool/Main$Command;
if_acmpne 429
425: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.storePassNew:[C
426: aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
ifnonnull 428
427: aload 0
aload 0
ldc "keystore password"
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokevirtual sun.security.tools.keytool.Main.getNewPasswd:(Ljava/lang/String;[C)[C
putfield sun.security.tools.keytool.Main.storePassNew:[C
428: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
429: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 458
430: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 438
431: new java.text.MessageFormat
dup
432: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".Storing.ksfname."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
433: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 434: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 435
ldc "keystore"
goto 436
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int
435: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int java.lang.String
436: aastore
astore 3
start local 3 437: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 3 end local 2 438: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 441
439: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aconst_null
aconst_null
invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
440: goto 458
441: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 442: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 444
443: aconst_null
goto 445
444: StackMap locals: java.io.FileOutputStream
StackMap stack:
new java.io.FileOutputStream
dup
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
445: StackMap locals:
StackMap stack: java.io.FileOutputStream
astore 2
446: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
447: aload 2
448: aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
ifnull 449
aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
goto 450
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.FileOutputStream
StackMap stack: java.security.KeyStore java.io.FileOutputStream
449: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
450: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.io.FileOutputStream
StackMap stack: java.security.KeyStore java.io.FileOutputStream char[]
invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
451: goto 456
StackMap locals:
StackMap stack: java.lang.Throwable
452: astore 3
453: aload 2
ifnull 455
454: aload 2
invokevirtual java.io.FileOutputStream.close:()V
455: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
456: StackMap locals:
StackMap stack:
aload 2
ifnull 458
457: aload 2
invokevirtual java.io.FileOutputStream.close:()V
end local 2 458: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 459 0 this Lsun/security/tools/keytool/Main;
0 459 1 out Ljava/io/PrintStream;
66 98 2 cl Ljava/lang/ClassLoader;
68 75 3 path Ljava/lang/String;
74 75 4 urls [Ljava/net/URL;
79 97 3 provider Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;
80 97 5 provName Ljava/lang/String;
82 83 6 provClass Ljava/lang/Class<*>;
84 97 6 provClass Ljava/lang/Class<*>;
85 97 7 provArg Ljava/lang/String;
87 88 8 obj Ljava/lang/Object;
90 97 8 obj Ljava/lang/Object;
89 90 9 c Ljava/lang/reflect/Constructor<*>;
94 96 9 form Ljava/text/MessageFormat;
95 96 10 source [Ljava/lang/Object;
183 216 2 count I
202 208 3 storePassAgain [C
234 246 2 form Ljava/text/MessageFormat;
236 238 3 source [Ljava/lang/Object;
240 242 3 source [Ljava/lang/Object;
244 246 3 source [Ljava/lang/Object;
253 273 2 ps Ljava/io/PrintStream;
270 273 3 form Ljava/text/MessageFormat;
271 273 4 source [Ljava/lang/Object;
280 299 2 ps Ljava/io/PrintStream;
297 299 3 form Ljava/text/MessageFormat;
298 299 4 source [Ljava/lang/Object;
314 324 2 inStream Ljava/io/InputStream;
327 364 2 inStream Ljava/io/InputStream;
332 357 3 importAlias Ljava/lang/String;
377 379 2 form Ljava/text/MessageFormat;
378 379 3 source [Ljava/lang/Object;
383 385 2 form Ljava/text/MessageFormat;
384 385 3 source [Ljava/lang/Object;
409 419 2 inStream Ljava/io/InputStream;
434 438 2 form Ljava/text/MessageFormat;
437 438 3 source [Ljava/lang/Object;
442 458 2 fout Ljava/io/FileOutputStream;
Exception table:
from to target type
121 129 130 Class java.io.FileNotFoundException
258 260 260 any
285 287 287 any
316 318 318 any
329 358 358 any
411 413 413 any
442 452 452 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out
private void doCertReq(java.lang.String, java.lang.String, java.io.PrintStream);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: ldc "mykey"
astore 1
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
invokevirtual sun.security.tools.keytool.Main.recoverKey:(Ljava/lang/String;[C[C)[Ljava/lang/Object;
astore 4
start local 4 3: aload 4
iconst_0
aaload
checkcast java.security.PrivateKey
astore 5
start local 5 4: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 6
5: aload 0
aload 4
iconst_1
aaload
checkcast char[]
putfield sun.security.tools.keytool.Main.keyPass:[C
6: StackMap locals: java.lang.Object[] java.security.PrivateKey
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 6
start local 6 7: aload 6
ifnonnull 13
8: new java.text.MessageFormat
dup
9: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 11: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 8
start local 8 12: new java.lang.Exception
dup
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 13: StackMap locals: java.security.cert.Certificate
StackMap stack:
new sun.security.pkcs10.PKCS10
dup
aload 6
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokespecial sun.security.pkcs10.PKCS10.<init>:(Ljava/security/PublicKey;)V
astore 7
start local 7 14: aload 2
ifnonnull 28
15: aload 5
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
astore 8
start local 8 16: ldc "DSA"
aload 8
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 19
17: ldc "SHA256WithDSA"
astore 2
18: goto 28
StackMap locals: sun.security.pkcs10.PKCS10 java.lang.String
StackMap stack:
19: ldc "DSS"
aload 8
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 22
20: ldc "SHA1WithDSA"
astore 2
21: goto 28
StackMap locals:
StackMap stack:
22: ldc "RSA"
aload 8
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 25
23: ldc "SHA1WithRSA"
astore 2
24: goto 28
25: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
26: ldc "Cannot.derive.signature.algorithm"
27: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 8 28: StackMap locals:
StackMap stack:
aload 2
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 8
start local 8 29: aload 8
aload 5
invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
30: new sun.security.x509.X500Name
dup
aload 6
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.toString:()Ljava/lang/String;
invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
31: astore 9
start local 9 32: new sun.security.x509.X500Signer
dup
aload 8
aload 9
invokespecial sun.security.x509.X500Signer.<init>:(Ljava/security/Signature;Lsun/security/x509/X500Name;)V
astore 10
start local 10 33: aload 7
aload 10
invokevirtual sun.security.pkcs10.PKCS10.encodeAndSign:(Lsun/security/x509/X500Signer;)V
34: aload 7
aload 3
invokevirtual sun.security.pkcs10.PKCS10.print:(Ljava/io/PrintStream;)V
35: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/tools/keytool/Main;
0 36 1 alias Ljava/lang/String;
0 36 2 sigAlgName Ljava/lang/String;
0 36 3 out Ljava/io/PrintStream;
3 36 4 objs [Ljava/lang/Object;
4 36 5 privKey Ljava/security/PrivateKey;
7 36 6 cert Ljava/security/cert/Certificate;
11 13 7 form Ljava/text/MessageFormat;
12 13 8 source [Ljava/lang/Object;
14 36 7 request Lsun/security/pkcs10/PKCS10;
16 28 8 keyAlgName Ljava/lang/String;
29 36 8 signature Ljava/security/Signature;
32 36 9 subject Lsun/security/x509/X500Name;
33 36 10 signer Lsun/security/x509/X500Signer;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
sigAlgName
out
private void doDeleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifne 6
1: new java.text.MessageFormat
dup
2: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 4: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 3
start local 3 5: new java.lang.Exception
dup
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.deleteEntry:(Ljava/lang/String;)V
7: return
end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 3
1: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 3
2: aload 0
invokevirtual sun.security.tools.keytool.Main.printWarning:()V
3: StackMap locals:
StackMap stack:
aload 1
ifnonnull 5
4: ldc "mykey"
astore 1
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifne 11
6: new java.text.MessageFormat
dup
7: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 9: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 4
start local 4 10: new java.lang.Exception
dup
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
astore 3
start local 3 12: aload 3
ifnonnull 18
13: new java.text.MessageFormat
dup
14: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 16: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 5
start local 5 17: new java.lang.Exception
dup
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 18: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
19: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/tools/keytool/Main;
0 20 1 alias Ljava/lang/String;
0 20 2 out Ljava/io/PrintStream;
9 11 3 form Ljava/text/MessageFormat;
10 11 4 source [Ljava/lang/Object;
12 20 3 cert Ljava/security/cert/X509Certificate;
16 18 4 form Ljava/text/MessageFormat;
17 18 5 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
out
private char[] promptForKeyPass(java.lang.String, java.lang.String, char[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;[C)[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 2
1: aload 3
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 48
3: iconst_0
istore 4
start local 4 4: goto 39
5: StackMap locals: int
StackMap stack:
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
6: ldc "Enter.key.password.for.alias."
7: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 8: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 6
start local 6 9: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 5
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: aload 2
ifnonnull 15
11: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
12: ldc ".RETURN.if.same.as.keystore.password."
13: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
14: goto 20
15: 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: ldc ".RETURN.if.same.as.for.otherAlias."
17: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
18: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 7
start local 7 19: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 5
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 7 20: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
21: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 7
start local 7 22: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
23: aload 7
ifnonnull 25
24: aload 3
areturn
25: StackMap locals: char[]
StackMap stack:
aload 7
arraylength
bipush 6
if_icmplt 35
26: 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: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 8
start local 8 28: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 8
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
29: aload 7
aload 8
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 34
30: getstatic java.lang.System.err:Ljava/io/PrintStream;
31: 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: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
33: goto 38
34: StackMap locals: char[]
StackMap stack:
aload 7
areturn
end local 8 35: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
36: ldc "Key.password.is.too.short.must.be.at.least.6.characters"
37: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 7 end local 6 end local 5 38: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
39: iload 4
iconst_3
if_icmplt 5
40: iload 4
iconst_3
if_icmpne 48
41: aload 0
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: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
43: ldc "Too.many.failures.Key.entry.not.cloned"
44: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
46: ldc "Too.many.failures.key.not.added.to.keystore"
47: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 4 48: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/security/tools/keytool/Main;
0 49 1 alias Ljava/lang/String;
0 49 2 orig Ljava/lang/String;
0 49 3 origPass [C
4 48 4 count I
8 38 5 form Ljava/text/MessageFormat;
9 38 6 source [Ljava/lang/Object;
19 20 7 src [Ljava/lang/Object;
22 38 7 entered [C
28 35 8 passAgain [C
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
orig
origPass
private void doGenSecretKey(java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: ldc "mykey"
astore 1
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 8
3: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
4: ldc "Secret.key.not.generated.alias.alias.already.exists"
5: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 6: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 5
start local 5 7: new java.lang.Exception
dup
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 8: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 9: aload 2
invokestatic javax.crypto.KeyGenerator.getInstance:(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
astore 5
start local 5 10: iload 3
iconst_m1
if_icmpeq 13
11: aload 5
iload 3
invokevirtual javax.crypto.KeyGenerator.init:(I)V
12: goto 22
StackMap locals: javax.crypto.SecretKey javax.crypto.KeyGenerator
StackMap stack:
13: ldc "DES"
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 16
14: aload 5
bipush 56
invokevirtual javax.crypto.KeyGenerator.init:(I)V
15: goto 22
StackMap locals:
StackMap stack:
16: ldc "DESede"
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 19
17: aload 5
sipush 168
invokevirtual javax.crypto.KeyGenerator.init:(I)V
18: goto 22
19: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
20: ldc "Please.provide.keysize.for.secret.key.generation"
21: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 5
invokevirtual javax.crypto.KeyGenerator.generateKey:()Ljavax/crypto/SecretKey;
astore 4
23: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 25
24: aload 0
aload 0
aload 1
aconst_null
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokevirtual sun.security.tools.keytool.Main.promptForKeyPass:(Ljava/lang/String;Ljava/lang/String;[C)[C
putfield sun.security.tools.keytool.Main.keyPass:[C
25: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 4
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
aconst_null
invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
26: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/tools/keytool/Main;
0 27 1 alias Ljava/lang/String;
0 27 2 keyAlgName Ljava/lang/String;
0 27 3 keysize I
6 8 4 form Ljava/text/MessageFormat;
7 8 5 source [Ljava/lang/Object;
9 27 4 secKey Ljavax/crypto/SecretKey;
10 27 5 keygen Ljavax/crypto/KeyGenerator;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
keyAlgName
keysize
private void doGenKeyPair(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 4
iconst_m1
if_icmpne 9
1: ldc "EC"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
2: getstatic sun.security.util.SecurityProviderConstants.DEF_EC_KEY_SIZE:I
istore 4
3: goto 9
StackMap locals:
StackMap stack:
4: ldc "RSA"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 7
5: getstatic sun.security.util.SecurityProviderConstants.DEF_RSA_KEY_SIZE:I
istore 4
6: goto 9
StackMap locals:
StackMap stack:
7: ldc "DSA"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 9
8: getstatic sun.security.util.SecurityProviderConstants.DEF_DSA_KEY_SIZE:I
istore 4
9: StackMap locals:
StackMap stack:
aload 1
ifnonnull 11
10: ldc "mykey"
astore 1
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 17
12: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
13: ldc "Key.pair.not.generated.alias.alias.already.exists"
14: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
start local 6 15: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 7
start local 7 16: new java.lang.Exception
dup
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 17: StackMap locals:
StackMap stack:
aload 5
ifnonnull 30
18: ldc "DSA"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 21
19: ldc "SHA1WithDSA"
astore 5
20: goto 30
StackMap locals:
StackMap stack:
21: ldc "RSA"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 24
22: ldc "SHA256WithRSA"
astore 5
23: goto 30
StackMap locals:
StackMap stack:
24: ldc "EC"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 27
25: ldc "SHA256withECDSA"
astore 5
26: goto 30
27: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
28: ldc "Cannot.derive.signature.algorithm"
29: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
new sun.security.tools.keytool.CertAndKeyGen
dup
aload 3
aload 5
aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
invokespecial sun.security.tools.keytool.CertAndKeyGen.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
31: astore 6
start local 6 32: aload 2
ifnonnull 35
33: aload 0
invokevirtual sun.security.tools.keytool.Main.getX500Name:()Lsun/security/x509/X500Name;
astore 7
start local 7 34: goto 36
end local 7 35: StackMap locals: sun.security.tools.keytool.CertAndKeyGen
StackMap stack:
new sun.security.x509.X500Name
dup
aload 2
invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
astore 7
start local 7 36: StackMap locals: sun.security.x509.X500Name
StackMap stack:
aload 6
iload 4
invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(I)V
37: aload 6
invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPrivateKey:()Ljava/security/PrivateKey;
astore 8
start local 8 38: iconst_1
anewarray java.security.cert.X509Certificate
astore 9
start local 9 39: aload 9
iconst_0
aload 6
40: aload 7
aload 0
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
getfield sun.security.tools.keytool.Main.validity:J
ldc 24
lmul
ldc 60
lmul
ldc 60
lmul
41: invokevirtual sun.security.tools.keytool.CertAndKeyGen.getSelfCertificate:(Lsun/security/x509/X500Name;Ljava/util/Date;J)Ljava/security/cert/X509Certificate;
aastore
42: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 53
43: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
44: ldc "Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for"
45: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 10
start local 10 46: iconst_5
anewarray java.lang.Object
dup
iconst_0
new java.lang.Integer
dup
iload 4
invokespecial java.lang.Integer.<init>:(I)V
aastore
dup
iconst_1
47: aload 8
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
aastore
dup
iconst_2
48: aload 9
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
aastore
dup
iconst_3
49: new java.lang.Long
dup
aload 0
getfield sun.security.tools.keytool.Main.validity:J
invokespecial java.lang.Long.<init>:(J)V
aastore
dup
iconst_4
50: aload 7
aastore
51: astore 11
start local 11 52: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 10
aload 11
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 11 end local 10 53: StackMap locals: java.security.PrivateKey java.security.cert.X509Certificate[]
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 55
54: aload 0
aload 0
aload 1
aconst_null
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokevirtual sun.security.tools.keytool.Main.promptForKeyPass:(Ljava/lang/String;Ljava/lang/String;[C)[C
putfield sun.security.tools.keytool.Main.keyPass:[C
55: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 8
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
aload 9
invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
56: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lsun/security/tools/keytool/Main;
0 57 1 alias Ljava/lang/String;
0 57 2 dname Ljava/lang/String;
0 57 3 keyAlgName Ljava/lang/String;
0 57 4 keysize I
0 57 5 sigAlgName Ljava/lang/String;
15 17 6 form Ljava/text/MessageFormat;
16 17 7 source [Ljava/lang/Object;
32 57 6 keypair Lsun/security/tools/keytool/CertAndKeyGen;
34 35 7 x500Name Lsun/security/x509/X500Name;
36 57 7 x500Name Lsun/security/x509/X500Name;
38 57 8 privKey Ljava/security/PrivateKey;
39 57 9 chain [Ljava/security/cert/X509Certificate;
46 53 10 form Ljava/text/MessageFormat;
52 53 11 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
dname
keyAlgName
keysize
sigAlgName
private void doCloneEntry(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: ldc "mykey"
astore 1
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 8
3: new java.text.MessageFormat
dup
4: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 6: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 5
start local 5 7: new java.lang.Exception
dup
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 8: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
invokevirtual sun.security.tools.keytool.Main.recoverEntry:(Ljava/security/KeyStore;Ljava/lang/String;[C[C)[Ljava/lang/Object;
astore 4
start local 4 9: aload 4
iconst_0
aaload
checkcast java.security.KeyStore$Entry
astore 5
start local 5 10: aload 0
aload 4
iconst_1
aaload
checkcast char[]
putfield sun.security.tools.keytool.Main.keyPass:[C
11: aconst_null
astore 6
start local 6 12: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 19
13: iload 3
ifeq 14
ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 16
14: StackMap locals: java.lang.Object[] java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
putfield sun.security.tools.keytool.Main.keyPassNew:[C
15: goto 18
16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyPassNew:[C
ifnonnull 18
17: aload 0
aload 0
aload 2
aload 1
aload 0
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: StackMap locals:
StackMap stack:
new java.security.KeyStore$PasswordProtection
dup
aload 0
getfield sun.security.tools.keytool.Main.keyPassNew:[C
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 6
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
aload 5
aload 6
invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
20: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lsun/security/tools/keytool/Main;
0 21 1 orig Ljava/lang/String;
0 21 2 dest Ljava/lang/String;
0 21 3 changePassword Z
6 8 4 form Ljava/text/MessageFormat;
7 8 5 source [Ljava/lang/Object;
9 21 4 objs [Ljava/lang/Object;
10 21 5 entry Ljava/security/KeyStore$Entry;
12 21 6 pp Ljava/security/KeyStore$PasswordProtection;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
orig
dest
changePassword
private void doChangeKeyPasswd(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: ldc "mykey"
astore 1
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
invokevirtual sun.security.tools.keytool.Main.recoverKey:(Ljava/lang/String;[C[C)[Ljava/lang/Object;
astore 2
start local 2 3: aload 2
iconst_0
aaload
checkcast java.security.Key
astore 3
start local 3 4: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 6
5: aload 0
aload 2
iconst_1
aaload
checkcast char[]
putfield sun.security.tools.keytool.Main.keyPass:[C
6: StackMap locals: java.lang.Object[] java.security.Key
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyPassNew:[C
ifnonnull 12
7: new java.text.MessageFormat
dup
8: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 10: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 5
start local 5 11: aload 0
aload 0
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
aload 0
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 end local 4 12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 3
aload 0
getfield sun.security.tools.keytool.Main.keyPassNew:[C
13: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
14: invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/tools/keytool/Main;
0 16 1 alias Ljava/lang/String;
3 16 2 objs [Ljava/lang/Object;
4 16 3 privKey Ljava/security/Key;
10 12 4 form Ljava/text/MessageFormat;
11 12 5 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
private void doImportIdentityDatabase(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=2
start local 0 start local 1 0: aconst_null
astore 5
start local 5 1: aload 1
invokestatic sun.security.provider.IdentityDatabase.fromStream:(Ljava/io/InputStream;)Lsun/security/provider/IdentityDatabase;
astore 7
start local 7 2: aload 7
invokevirtual sun.security.provider.IdentityDatabase.identities:()Ljava/util/Enumeration;
astore 8
start local 8 3: goto 46
4: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream top top top java.security.cert.Certificate[] top sun.security.provider.IdentityDatabase java.util.Enumeration
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.Identity
astore 9
start local 9 5: aconst_null
astore 4
start local 4 6: aload 9
instanceof sun.security.provider.SystemSigner
ifeq 7
aload 9
checkcast sun.security.provider.SystemSigner
invokevirtual sun.security.provider.SystemSigner.isTrusted:()Z
ifne 9
7: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream top top java.security.cert.X509Certificate java.security.cert.Certificate[] top sun.security.provider.IdentityDatabase java.util.Enumeration java.security.Identity
StackMap stack:
aload 9
instanceof sun.security.provider.SystemIdentity
ifeq 46
8: aload 9
checkcast sun.security.provider.SystemIdentity
invokevirtual sun.security.provider.SystemIdentity.isTrusted:()Z
ifeq 46
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 9
invokevirtual java.security.Identity.getName:()Ljava/lang/String;
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 16
10: new java.text.MessageFormat
dup
11: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Keystore.entry.for.id.getName.already.exists"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
12: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 10
start local 10 13: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9
invokevirtual java.security.Identity.getName:()Ljava/lang/String;
aastore
astore 11
start local 11 14: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 10
aload 11
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: goto 46
end local 11 end local 10 16: StackMap locals:
StackMap stack:
aload 9
invokevirtual java.security.Identity.certificates:()[Ljava/security/Certificate;
astore 10
start local 10 17: aload 10
ifnull 46
aload 10
arraylength
ifle 46
18: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 11
start local 11 19: aload 10
iconst_0
aaload
aload 11
invokeinterface java.security.Certificate.encode:(Ljava/io/OutputStream;)V
20: aload 11
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 2
start local 2 21: new java.io.ByteArrayInputStream
dup
aload 2
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 3
start local 3 22: aload 0
getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
aload 3
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
astore 4
23: aload 3
invokevirtual java.io.ByteArrayInputStream.close:()V
24: aload 0
aload 4
invokevirtual sun.security.tools.keytool.Main.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
ifeq 30
25: aload 4
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 12
start local 12 26: aload 4
aload 12
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
27: goto 30
StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[] java.io.ByteArrayInputStream java.security.cert.X509Certificate java.security.cert.Certificate[] top sun.security.provider.IdentityDatabase java.util.Enumeration java.security.Identity java.security.Certificate[] sun.security.util.DerOutputStream java.security.PublicKey
StackMap stack: java.lang.Exception
28: pop
29: goto 46
end local 12 30: StackMap locals:
StackMap stack:
aload 9
instanceof sun.security.provider.SystemSigner
ifeq 44
31: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
32: ldc "Creating.keystore.entry.for.id.getName."
33: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 12
start local 12 34: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9
invokevirtual java.security.Identity.getName:()Ljava/lang/String;
aastore
astore 13
start local 13 35: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 12
aload 13
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
36: aload 5
ifnonnull 38
37: iconst_1
anewarray java.security.cert.Certificate
astore 5
38: StackMap locals: java.text.MessageFormat java.lang.Object[]
StackMap stack:
aload 5
iconst_0
aload 4
aastore
39: aload 9
checkcast sun.security.provider.SystemSigner
invokevirtual sun.security.provider.SystemSigner.getPrivateKey:()Ljava/security/PrivateKey;
astore 6
start local 6 40: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 9
invokevirtual java.security.Identity.getName:()Ljava/lang/String;
aload 6
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
41: aload 5
42: invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
end local 13 end local 12 43: goto 45
end local 6 44: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 9
invokevirtual java.security.Identity.getName:()Ljava/lang/String;
aload 4
invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
45: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
end local 11 end local 10 end local 9 end local 4 end local 3 end local 2 46: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream top top top java.security.cert.Certificate[] top sun.security.provider.IdentityDatabase java.util.Enumeration
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 4
end local 8 47: aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifne 51
48: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
49: ldc "No.entries.from.identity.database.added"
50: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
51: StackMap locals:
StackMap stack:
return
end local 7 end local 5 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lsun/security/tools/keytool/Main;
0 52 1 in Ljava/io/InputStream;
21 46 2 encoded [B
22 46 3 bais Ljava/io/ByteArrayInputStream;
6 46 4 newCert Ljava/security/cert/X509Certificate;
1 52 5 chain [Ljava/security/cert/Certificate;
40 44 6 privKey Ljava/security/PrivateKey;
2 52 7 idb Lsun/security/provider/IdentityDatabase;
3 47 8 enum_ Ljava/util/Enumeration<Ljava/security/Identity;>;
5 46 9 id Ljava/security/Identity;
13 16 10 form Ljava/text/MessageFormat;
14 16 11 source [Ljava/lang/Object;
17 46 10 certs [Ljava/security/Certificate;
19 46 11 dos Lsun/security/util/DerOutputStream;
26 30 12 pubKey Ljava/security/PublicKey;
34 43 12 form Ljava/text/MessageFormat;
35 43 13 source [Ljava/lang/Object;
Exception table:
from to target type
26 27 28 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
in
private void doPrintEntry(java.lang.String, java.io.PrintStream, boolean);
descriptor: (Ljava/lang/String;Ljava/io/PrintStream;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 3
iload 3
ifeq 3
1: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 3
2: aload 0
invokevirtual sun.security.tools.keytool.Main.printWarning:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifne 9
4: new java.text.MessageFormat
dup
5: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.does.not.exist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
6: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 7: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 5
start local 5 8: new java.lang.Exception
dup
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 10
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifne 10
aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 22
10: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
11: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.name.alias"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
12: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 13: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 5
start local 5 14: aload 2
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 34
16: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
17: ldc "Creation.date.keyStore.getCreationDate.alias."
18: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
19: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCreationDate:(Ljava/lang/String;)Ljava/util/Date;
aastore
astore 6
start local 6 20: aload 2
aload 4
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 end local 5 end local 4 21: goto 34
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 29
23: new java.text.MessageFormat
dup
24: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "alias.keyStore.getCreationDate.alias."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
25: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 26: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCreationDate:(Ljava/lang/String;)Ljava/util/Date;
aastore
astore 5
start local 5 27: aload 2
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 5 end local 4 28: goto 34
29: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
30: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "alias."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
31: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 32: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 5
start local 5 33: aload 2
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 5 end local 4 34: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
ldc Ljava/security/KeyStore$SecretKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifeq 43
35: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 36
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifne 36
aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 41
36: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "SecretKeyEntry"
aastore
astore 4
start local 4 37: aload 2
new java.text.MessageFormat
dup
38: 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
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
39: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 40: goto 110
41: StackMap locals:
StackMap stack:
aload 2
ldc "SecretKeyEntry, "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
42: goto 110
StackMap locals:
StackMap stack:
43: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
ldc Ljava/security/KeyStore$PrivateKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifeq 82
44: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 45
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifne 45
aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 50
45: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "PrivateKeyEntry"
aastore
astore 4
start local 4 46: aload 2
new java.text.MessageFormat
dup
47: 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
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
48: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 49: goto 51
50: StackMap locals:
StackMap stack:
aload 2
ldc "PrivateKeyEntry, "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
51: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
astore 4
start local 4 52: aload 4
ifnull 110
53: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 54
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifne 54
aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 76
54: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
55: ldc "Certificate.chain.length."
56: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
57: aload 4
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
58: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
59: iconst_0
istore 5
start local 5 60: goto 74
61: StackMap locals: int
StackMap stack:
new java.text.MessageFormat
dup
62: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Certificate.i.1."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
63: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
start local 6 64: iconst_1
anewarray java.lang.Object
dup
iconst_0
new java.lang.Integer
dup
iload 5
iconst_1
iadd
invokespecial java.lang.Integer.<init>:(I)V
aastore
astore 7
start local 7 65: aload 2
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
66: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 69
aload 4
iload 5
aaload
instanceof java.security.cert.X509Certificate
ifeq 69
67: aload 0
aload 4
iload 5
aaload
checkcast java.security.cert.X509Certificate
aload 2
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
68: goto 73
StackMap locals: java.text.MessageFormat java.lang.Object[]
StackMap stack:
69: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 72
70: aload 2
aload 4
iload 5
aaload
invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
71: goto 73
72: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 5
aaload
aload 2
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
end local 7 end local 6 73: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
74: iload 5
aload 4
arraylength
if_icmplt 61
end local 5 75: goto 110
76: StackMap locals:
StackMap stack:
aload 2
77: new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Certificate.fingerprint.SHA1."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
78: aload 0
ldc "SHA1"
aload 4
iconst_0
aaload
invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
79: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
80: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 81: goto 110
StackMap locals:
StackMap stack:
82: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
83: ldc Ljava/security/KeyStore$TrustedCertificateEntry;
84: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
85: ifeq 109
86: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 4
start local 4 87: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "trustedCertEntry"
aastore
astore 5
start local 5 88: new java.lang.StringBuilder
dup
new java.text.MessageFormat
dup
89: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Entry.type.type."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
90: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
91: aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
92: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 93: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 97
aload 4
instanceof java.security.cert.X509Certificate
ifeq 97
94: aload 2
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
95: aload 0
aload 4
checkcast java.security.cert.X509Certificate
aload 2
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
96: goto 110
StackMap locals: java.security.cert.Certificate java.lang.Object[] java.lang.String
StackMap stack:
97: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 101
98: aload 2
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
99: aload 0
aload 4
aload 2
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
100: goto 110
StackMap locals:
StackMap stack:
101: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 104
102: aload 2
aload 4
invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
103: goto 110
104: StackMap locals:
StackMap stack:
aload 2
ldc "trustedCertEntry, "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
105: aload 2
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Certificate.fingerprint.SHA1."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
106: aload 0
ldc "SHA1"
aload 4
invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
107: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 end local 5 end local 4 108: goto 110
109: StackMap locals:
StackMap stack:
aload 2
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: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 111 0 this Lsun/security/tools/keytool/Main;
0 111 1 alias Ljava/lang/String;
0 111 2 out Ljava/io/PrintStream;
0 111 3 printWarning Z
7 9 4 form Ljava/text/MessageFormat;
8 9 5 source [Ljava/lang/Object;
13 21 4 form Ljava/text/MessageFormat;
14 21 5 source [Ljava/lang/Object;
20 21 6 src [Ljava/lang/Object;
26 28 4 form Ljava/text/MessageFormat;
27 28 5 source [Ljava/lang/Object;
32 34 4 form Ljava/text/MessageFormat;
33 34 5 source [Ljava/lang/Object;
37 40 4 source [Ljava/lang/Object;
46 49 4 source [Ljava/lang/Object;
52 81 4 chain [Ljava/security/cert/Certificate;
60 75 5 i I
64 73 6 form Ljava/text/MessageFormat;
65 73 7 source [Ljava/lang/Object;
87 108 4 cert Ljava/security/cert/Certificate;
88 108 5 source [Ljava/lang/Object;
93 108 6 mf Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
out
printWarning
java.security.KeyStore loadSourceKeyStore();
descriptor: ()Ljava/security/KeyStore;
flags: (0x0000)
Code:
stack=6, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: ldc "PKCS11"
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 3
2: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 12
3: StackMap locals: java.io.InputStream
StackMap stack:
ldc "NONE"
aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
4: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
5: ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
6: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
7: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
aastore
8: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
10: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
11: goto 25
12: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
ifnull 22
13: new java.io.File
dup
aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
start local 2 14: aload 2
invokevirtual java.io.File.exists:()Z
ifeq 20
aload 2
invokevirtual java.io.File.length:()J
lconst_0
lcmp
ifne 20
15: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
16: ldc "Source.keystore.file.exists.but.is.empty."
17: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals: java.io.File
StackMap stack:
new java.io.FileInputStream
dup
aload 2
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 1
end local 2 21: goto 25
22: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
23: ldc "Please.specify.srckeystore"
24: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
ifnonnull 28
26: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 2
start local 2 27: goto 29
end local 2 28: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
astore 2
start local 2 29: StackMap locals: java.security.KeyStore
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 36
30: aload 0
getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
ifne 36
31: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 36
32: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.source.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
33: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
34: aload 0
getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
putfield sun.security.tools.keytool.Main.srcstorePass:[C
35: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
36: StackMap locals:
StackMap stack:
ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 45
37: aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnull 45
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnull 45
38: aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 45
39: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
40: ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
41: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 42: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-srckeypass"
aastore
astore 4
start local 4 43: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
44: aload 0
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
putfield sun.security.tools.keytool.Main.srckeyPass:[C
end local 4 end local 3 45: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
46: goto 51
end local 2 StackMap locals: sun.security.tools.keytool.Main java.io.InputStream
StackMap stack: java.lang.Throwable
47: astore 5
48: aload 1
ifnull 50
49: aload 1
invokevirtual java.io.InputStream.close:()V
50: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream top top top java.lang.Throwable
StackMap stack:
aload 5
athrow
start local 2 51: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.security.KeyStore
StackMap stack:
aload 1
ifnull 53
52: aload 1
invokevirtual java.io.InputStream.close:()V
53: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 66
54: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 66
55: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
56: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
57: ldc ".WARNING.WARNING.WARNING."
58: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
59: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
60: ldc ".The.integrity.of.the.information.stored.in.the.srckeystore."
61: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
62: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
63: ldc ".WARNING.WARNING.WARNING."
64: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
65: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
66: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lsun/security/tools/keytool/Main;
1 67 1 is Ljava/io/InputStream;
14 21 2 srcksfile Ljava/io/File;
27 28 2 store Ljava/security/KeyStore;
29 47 2 store Ljava/security/KeyStore;
51 67 2 store Ljava/security/KeyStore;
42 45 3 form Ljava/text/MessageFormat;
43 45 4 source [Ljava/lang/Object;
Exception table:
from to target type
25 47 47 any
Exceptions:
throws java.lang.Exception
private void doImportKeyStore();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 3
1: aload 0
aload 0
invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
aload 0
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: goto 8
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
ifnonnull 4
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnonnull 4
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 7
4: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
5: ldc "if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified"
6: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
invokevirtual sun.security.tools.keytool.Main.doImportKeyStoreAll:(Ljava/security/KeyStore;)V
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/tools/keytool/Main;
Exceptions:
throws java.lang.Exception
private int doImportKeyStoreSingle(java.security.KeyStore, java.lang.String);
descriptor: (Ljava/security/KeyStore;Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
ifnonnull 1
aload 2
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: astore 3
start local 3 3: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 3
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 29
4: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 4
start local 4 5: aload 0
getfield sun.security.tools.keytool.Main.noprompt:Z
ifeq 12
6: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
7: ldc "Warning.Overwriting.existing.alias.alias.in.destination.keystore"
8: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
9: aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
10: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: goto 29
12: StackMap locals: java.lang.String java.lang.Object[]
StackMap stack:
aload 0
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
13: ldc "Existing.entry.alias.alias.exists.overwrite.no."
14: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
15: aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
16: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 17: ldc "NO"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
18: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
19: ldc "Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry."
20: 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
21: ldc ""
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
22: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
23: ldc "Entry.for.alias.alias.not.imported."
24: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
25: aload 4
26: invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
27: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
28: iconst_0
ireturn
end local 5 end local 4 29: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
invokevirtual sun.security.tools.keytool.Main.recoverEntry:(Ljava/security/KeyStore;Ljava/lang/String;[C[C)[Ljava/lang/Object;
astore 4
start local 4 30: aload 4
iconst_0
aaload
checkcast java.security.KeyStore$Entry
astore 5
start local 5 31: aconst_null
astore 6
start local 6 32: aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 35
33: new java.security.KeyStore$PasswordProtection
dup
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 6
34: goto 37
StackMap locals: java.lang.Object[] java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection
StackMap stack:
35: aload 4
iconst_1
aaload
ifnull 37
36: new java.security.KeyStore$PasswordProtection
dup
aload 4
iconst_1
aaload
checkcast char[]
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 6
37: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 3
aload 5
aload 6
invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
38: iconst_1
ireturn
39: StackMap locals:
StackMap stack: java.security.KeyStoreException
astore 7
start local 7 40: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 7
invokevirtual java.security.KeyStoreException.toString:()Ljava/lang/String;
aastore
astore 8
start local 8 41: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
42: ldc "Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported."
43: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 9
start local 9 44: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 9
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
45: iconst_2
ireturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/security/tools/keytool/Main;
0 46 1 srckeystore Ljava/security/KeyStore;
0 46 2 alias Ljava/lang/String;
3 46 3 newAlias Ljava/lang/String;
5 29 4 source [Ljava/lang/Object;
17 29 5 reply Ljava/lang/String;
30 46 4 objs [Ljava/lang/Object;
31 46 5 entry Ljava/security/KeyStore$Entry;
32 46 6 pp Ljava/security/KeyStore$PasswordProtection;
40 46 7 kse Ljava/security/KeyStoreException;
41 46 8 source2 [Ljava/lang/Object;
44 46 9 form Ljava/text/MessageFormat;
Exception table:
from to target type
37 38 39 Class java.security.KeyStoreException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
srckeystore
alias
private void doImportKeyStoreAll(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
invokevirtual java.security.KeyStore.size:()I
istore 3
start local 3 2: aload 1
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 4
start local 4 3: goto 17
4: StackMap locals: int int java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 5: aload 0
aload 1
aload 5
invokevirtual sun.security.tools.keytool.Main.doImportKeyStoreSingle:(Ljava/security/KeyStore;Ljava/lang/String;)I
istore 6
start local 6 6: iload 6
iconst_1
if_icmpne 12
7: iinc 2 1
8: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
astore 7
start local 7 9: 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
start local 8 10: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 8
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 8 end local 7 11: goto 17
StackMap locals: java.lang.String int
StackMap stack:
12: iload 6
iconst_2
if_icmpne 17
13: aload 0
getfield sun.security.tools.keytool.Main.noprompt:Z
ifne 17
14: aload 0
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
start local 7 15: ldc "YES"
aload 7
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
16: goto 18
end local 7 end local 6 end local 5 17: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 4
end local 4 18: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 3
iload 2
isub
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
astore 4
start local 4 19: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
20: ldc "Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled"
21: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 22: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 5
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
23: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/tools/keytool/Main;
0 24 1 srckeystore Ljava/security/KeyStore;
1 24 2 ok I
2 24 3 count I
3 18 4 e Ljava/util/Enumeration<Ljava/lang/String;>;
5 17 5 alias Ljava/lang/String;
6 17 6 result I
9 11 7 source [Ljava/lang/Object;
10 11 8 form Ljava/text/MessageFormat;
15 17 7 reply Ljava/lang/String;
19 24 4 source [Ljava/lang/Object;
22 24 5 form Ljava/text/MessageFormat;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
srckeystore
private void doPrintEntries(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 4
1: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 4
2: aload 0
invokevirtual sun.security.tools.keytool.Main.printWarning:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.PrintStream.println:()V
5: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Keystore.type."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aload 1
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Keystore.provider."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.getProvider:()Ljava/security/Provider;
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: aload 1
invokevirtual java.io.PrintStream.println:()V
10: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.size:()I
iconst_1
if_icmpne 15
11: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
12: ldc "Your.keystore.contains.keyStore.size.entry"
13: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
14: goto 18
15: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
16: ldc "Your.keystore.contains.keyStore.size.entries"
17: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack: java.text.MessageFormat
astore 2
start local 2 19: iconst_1
anewarray java.lang.Object
dup
iconst_0
new java.lang.Integer
dup
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.size:()I
invokespecial java.lang.Integer.<init>:(I)V
aastore
astore 3
start local 3 20: aload 1
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: aload 1
invokevirtual java.io.PrintStream.println:()V
22: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 4
start local 4 23: goto 34
24: StackMap locals: java.text.MessageFormat java.lang.Object[] java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 25: aload 0
aload 5
aload 1
iconst_0
invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/io/PrintStream;Z)V
26: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 27
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 34
27: StackMap locals: java.lang.String
StackMap stack:
aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "NEWLINE"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
28: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
29: ldc "STAR"
30: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
31: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
32: ldc "STARNN"
33: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 34: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 24
end local 4 35: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/tools/keytool/Main;
0 36 1 out Ljava/io/PrintStream;
19 36 2 form Ljava/text/MessageFormat;
20 36 3 source [Ljava/lang/Object;
23 35 4 e Ljava/util/Enumeration<Ljava/lang/String;>;
25 34 5 alias Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out
private void doPrintCert(java.io.InputStream, java.io.PrintStream);
descriptor: (Ljava/io/InputStream;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
aload 1
invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
astore 3
2: 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
start local 4 4: 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
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 7
6: 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: StackMap locals:
StackMap stack:
aload 3
aload 3
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
start local 4 8: iconst_0
istore 5
start local 5 9: goto 25
10: StackMap locals: java.security.cert.Certificate[] int
StackMap stack:
aconst_null
astore 6
start local 6 11: aload 4
iload 5
aaload
checkcast java.security.cert.X509Certificate
astore 6
12: 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: 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: StackMap locals:
StackMap stack:
aload 4
arraylength
iconst_1
if_icmple 21
16: new java.text.MessageFormat
dup
17: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 19: iconst_1
anewarray java.lang.Object
dup
iconst_0
new java.lang.Integer
dup
iload 5
iconst_1
iadd
invokespecial java.lang.Integer.<init>:(I)V
aastore
astore 8
start local 8 20: aload 2
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 8 end local 7 21: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 2
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
22: iload 5
aload 4
arraylength
iconst_1
isub
if_icmpge 24
23: aload 2
invokevirtual java.io.PrintStream.println:()V
end local 6 24: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
25: iload 5
aload 4
arraylength
if_icmplt 10
end local 5 26: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/tools/keytool/Main;
0 27 1 in Ljava/io/InputStream;
0 27 2 out Ljava/io/PrintStream;
1 27 3 c Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
4 5 4 ce Ljava/security/cert/CertificateException;
8 27 4 certs [Ljava/security/cert/Certificate;
9 26 5 i I
11 24 6 x509Cert Ljava/security/cert/X509Certificate;
19 21 7 form Ljava/text/MessageFormat;
20 21 8 source [Ljava/lang/Object;
Exception table:
from to target type
1 2 3 Class java.security.cert.CertificateException
11 12 13 Class java.lang.ClassCastException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
in
out
private void doSelfCert(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: ldc "mykey"
astore 1
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
invokevirtual sun.security.tools.keytool.Main.recoverKey:(Ljava/lang/String;[C[C)[Ljava/lang/Object;
astore 4
start local 4 3: aload 4
iconst_0
aaload
checkcast java.security.PrivateKey
astore 5
start local 5 4: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 6
5: aload 0
aload 4
iconst_1
aaload
checkcast char[]
putfield sun.security.tools.keytool.Main.keyPass:[C
6: StackMap locals: java.lang.Object[] java.security.PrivateKey
StackMap stack:
aload 3
ifnonnull 21
7: aload 5
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
astore 6
start local 6 8: ldc "DSA"
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 10
9: ldc "DSS"
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 12
10: StackMap locals: java.lang.String
StackMap stack:
ldc "SHA1WithDSA"
astore 3
11: goto 21
StackMap locals:
StackMap stack:
12: ldc "RSA"
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 15
13: ldc "SHA1WithRSA"
astore 3
14: goto 21
StackMap locals:
StackMap stack:
15: ldc "EC"
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 18
16: ldc "SHA1withECDSA"
astore 3
17: goto 21
18: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
19: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Cannot.derive.signature.algorithm"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
20: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 6 21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 6
start local 6 22: aload 6
ifnonnull 28
23: new java.text.MessageFormat
dup
24: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "alias.has.no.public.key"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
25: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 26: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 8
start local 8 27: new java.lang.Exception
dup
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 28: StackMap locals: java.security.cert.Certificate
StackMap stack:
aload 6
instanceof java.security.cert.X509Certificate
ifne 34
29: new java.text.MessageFormat
dup
30: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "alias.has.no.X.509.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
31: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 32: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 8
start local 8 33: new java.lang.Exception
dup
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 34: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 7
start local 7 35: new sun.security.x509.X509CertImpl
dup
aload 7
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
astore 8
start local 8 36: aload 8
ldc "x509.info"
invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.X509CertInfo
astore 9
start local 9 37: aload 0
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
start local 10 38: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 11
start local 11 39: aload 11
aload 10
invokevirtual java.util.Date.getTime:()J
aload 0
getfield sun.security.tools.keytool.Main.validity:J
ldc 1000
lmul
ldc 24
lmul
ldc 60
lmul
ldc 60
lmul
ladd
invokevirtual java.util.Date.setTime:(J)V
40: new sun.security.x509.CertificateValidity
dup
aload 10
41: aload 11
42: invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
astore 12
start local 12 43: aload 9
ldc "validity"
aload 12
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
44: aload 9
ldc "serialNumber"
new sun.security.x509.CertificateSerialNumber
dup
45: aload 10
invokevirtual java.util.Date.getTime:()J
ldc 1000
ldiv
l2i
invokespecial sun.security.x509.CertificateSerialNumber.<init>:(I)V
46: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
47: aload 2
ifnonnull 50
48: aload 9
ldc "subject.dname"
invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.X500Name
astore 13
start local 13 49: goto 54
end local 13 50: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity
StackMap stack:
new sun.security.x509.X500Name
dup
aload 2
invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
astore 13
start local 13 51: aload 9
ldc "subject.dname"
52: aload 13
53: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
54: StackMap locals: sun.security.x509.X500Name
StackMap stack:
aload 9
ldc "issuer.dname"
55: aload 13
56: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
57: new sun.security.x509.X509CertImpl
dup
aload 9
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
astore 14
start local 14 58: aload 14
aload 5
aload 3
invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
59: aload 14
ldc "x509.algorithm"
invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.AlgorithmId
astore 15
start local 15 60: aload 9
ldc "algorithmID.algorithm"
61: aload 15
62: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
63: aload 9
ldc "version"
64: new sun.security.x509.CertificateVersion
dup
iconst_2
invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
65: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
66: new sun.security.x509.X509CertImpl
dup
aload 9
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
astore 14
67: aload 14
aload 5
aload 3
invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
68: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 5
69: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 70
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
goto 71
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity sun.security.x509.X500Name sun.security.x509.X509CertImpl sun.security.x509.AlgorithmId
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey
70: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
71: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity sun.security.x509.X500Name sun.security.x509.X509CertImpl sun.security.x509.AlgorithmId
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey char[]
iconst_1
anewarray java.security.cert.Certificate
dup
iconst_0
aload 14
aastore
72: invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
73: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 77
74: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "New.certificate.self.signed."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
75: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 14
invokevirtual sun.security.x509.X509CertImpl.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
76: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
77: StackMap locals:
StackMap stack:
return
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 78 0 this Lsun/security/tools/keytool/Main;
0 78 1 alias Ljava/lang/String;
0 78 2 dname Ljava/lang/String;
0 78 3 sigAlgName Ljava/lang/String;
3 78 4 objs [Ljava/lang/Object;
4 78 5 privKey Ljava/security/PrivateKey;
8 21 6 keyAlgName Ljava/lang/String;
22 78 6 oldCert Ljava/security/cert/Certificate;
26 28 7 form Ljava/text/MessageFormat;
27 28 8 source [Ljava/lang/Object;
32 34 7 form Ljava/text/MessageFormat;
33 34 8 source [Ljava/lang/Object;
35 78 7 encoded [B
36 78 8 certImpl Lsun/security/x509/X509CertImpl;
37 78 9 certInfo Lsun/security/x509/X509CertInfo;
38 78 10 firstDate Ljava/util/Date;
39 78 11 lastDate Ljava/util/Date;
43 78 12 interval Lsun/security/x509/CertificateValidity;
49 50 13 owner Lsun/security/x509/X500Name;
51 78 13 owner Lsun/security/x509/X500Name;
58 78 14 newCert Lsun/security/x509/X509CertImpl;
60 78 15 sigAlgid Lsun/security/x509/AlgorithmId;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
dname
sigAlgName
private boolean installReply(java.lang.String, java.io.InputStream);
descriptor: (Ljava/lang/String;Ljava/io/InputStream;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: ldc "mykey"
astore 1
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
invokevirtual sun.security.tools.keytool.Main.recoverKey:(Ljava/lang/String;[C[C)[Ljava/lang/Object;
astore 3
start local 3 3: aload 3
iconst_0
aaload
checkcast java.security.PrivateKey
astore 4
start local 4 4: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 6
5: aload 0
aload 3
iconst_1
aaload
checkcast char[]
putfield sun.security.tools.keytool.Main.keyPass:[C
6: StackMap locals: java.lang.Object[] java.security.PrivateKey
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 5
start local 5 7: aload 5
ifnonnull 13
8: new java.text.MessageFormat
dup
9: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
start local 6 11: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 7
start local 7 12: new java.lang.Exception
dup
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 13: StackMap locals: java.security.cert.Certificate
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
aload 2
invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
astore 6
start local 6 14: aload 6
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 16
15: 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: StackMap locals: java.util.Collection
StackMap stack:
aload 6
aload 6
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
start local 7 17: aload 7
arraylength
iconst_1
if_icmpne 20
18: aload 0
aload 5
aload 7
iconst_0
aaload
invokevirtual sun.security.tools.keytool.Main.establishCertChain:(Ljava/security/cert/Certificate;Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
astore 8
start local 8 19: goto 21
end local 8 20: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
aload 0
aload 1
aload 5
aload 7
invokevirtual sun.security.tools.keytool.Main.validateReply:(Ljava/lang/String;Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
astore 8
start local 8 21: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
aload 8
ifnull 28
22: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 4
23: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 24
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
goto 25
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate java.util.Collection java.security.cert.Certificate[] java.security.cert.Certificate[]
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey
24: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
25: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream java.lang.Object[] java.security.PrivateKey java.security.cert.Certificate java.util.Collection java.security.cert.Certificate[] java.security.cert.Certificate[]
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey char[]
aload 8
26: invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
27: iconst_1
ireturn
28: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/tools/keytool/Main;
0 29 1 alias Ljava/lang/String;
0 29 2 in Ljava/io/InputStream;
3 29 3 objs [Ljava/lang/Object;
4 29 4 privKey Ljava/security/PrivateKey;
7 29 5 userCert Ljava/security/cert/Certificate;
11 13 6 form Ljava/text/MessageFormat;
12 13 7 source [Ljava/lang/Object;
14 29 6 c Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
17 29 7 replyCerts [Ljava/security/cert/Certificate;
19 20 8 newChain [Ljava/security/cert/Certificate;
21 29 8 newChain [Ljava/security/cert/Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
in
private boolean addTrustedCert(java.lang.String, java.io.InputStream);
descriptor: (Ljava/lang/String;Ljava/io/InputStream;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: 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: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 8
3: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
4: ldc "Certificate.not.imported.alias.alias.already.exists"
5: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 6: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 4
start local 4 7: new java.lang.Exception
dup
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 8: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 9: aload 0
getfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
aload 2
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
astore 3
10: goto 15
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream java.security.cert.X509Certificate
StackMap stack: java.lang.ClassCastException
11: pop
12: 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: StackMap locals:
StackMap stack: java.security.cert.CertificateException
pop
14: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Input.not.an.X.509.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 16: aload 0
aload 3
invokevirtual sun.security.tools.keytool.Main.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
ifeq 19
17: aload 3
aload 3
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
18: iconst_1
istore 4
19: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.noprompt:Z
ifeq 22
20: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 3
invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 23: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 3
invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
astore 6
start local 6 24: aload 6
ifnull 34
25: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
26: ldc "Certificate.already.exists.in.keystore.under.alias.trustalias."
27: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 28: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
astore 8
start local 8 29: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: aload 0
31: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Do.you.still.want.to.add.it.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
32: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 5
end local 8 end local 7 33: goto 50
StackMap locals: java.lang.String java.lang.String
StackMap stack:
34: iload 4
ifeq 50
35: aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 45
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
ifnull 45
36: aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
aload 3
invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
dup
astore 6
ifnull 45
37: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
38: ldc "Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias."
39: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 40: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
astore 8
start local 8 41: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 7
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
42: aload 0
43: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Do.you.still.want.to.add.it.to.your.own.keystore.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
44: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 5
end local 8 end local 7 45: StackMap locals:
StackMap stack:
aload 6
ifnonnull 50
46: aload 0
aload 3
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
47: aload 0
48: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Trust.this.certificate.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
49: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 5
50: StackMap locals:
StackMap stack:
aload 5
ifnull 55
51: ldc "YES"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 54
52: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 3
invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
53: iconst_1
ireturn
54: StackMap locals:
StackMap stack:
iconst_0
ireturn
55: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 3
invokevirtual sun.security.tools.keytool.Main.establishCertChain:(Ljava/security/cert/Certificate;Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
astore 7
start local 7 56: aload 7
ifnull 68
57: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 3
invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
58: iconst_1
ireturn
end local 7 59: StackMap locals:
StackMap stack: java.lang.Exception
pop
60: aload 0
aload 3
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
61: aload 0
62: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Trust.this.certificate.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
63: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 5
64: ldc "YES"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 67
65: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 3
invokevirtual java.security.KeyStore.setCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
66: iconst_1
ireturn
67: StackMap locals:
StackMap stack:
iconst_0
ireturn
68: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lsun/security/tools/keytool/Main;
0 69 1 alias Ljava/lang/String;
0 69 2 in Ljava/io/InputStream;
6 8 3 form Ljava/text/MessageFormat;
7 8 4 source [Ljava/lang/Object;
9 69 3 cert Ljava/security/cert/X509Certificate;
16 69 4 selfSigned Z
23 69 5 reply Ljava/lang/String;
24 69 6 trustalias Ljava/lang/String;
28 33 7 form Ljava/text/MessageFormat;
29 33 8 source [Ljava/lang/Object;
40 45 7 form Ljava/text/MessageFormat;
41 45 8 source [Ljava/lang/Object;
56 59 7 chain [Ljava/security/cert/Certificate;
Exception table:
from to target type
9 10 11 Class java.lang.ClassCastException
9 10 13 Class java.security.cert.CertificateException
55 58 59 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
in
private char[] getNewPasswd(java.lang.String, char[]);
descriptor: (Ljava/lang/String;[C)[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 40
4: StackMap locals: char[] char[] int
StackMap stack:
new java.text.MessageFormat
dup
5: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
start local 6 7: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 7
start local 7 8: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
9: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 3
10: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: aload 3
ifnull 12
aload 3
arraylength
bipush 6
if_icmpge 16
12: 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: ldc "Password.is.too.short.must.be.at.least.6.characters"
14: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: goto 33
StackMap locals:
StackMap stack:
16: aload 3
aload 2
invokestatic java.util.Arrays.equals:([C[C)Z
ifeq 19
17: 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: goto 33
19: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
20: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
22: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 8
start local 8 23: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 6
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
24: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 4
25: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
26: aload 3
aload 4
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 31
27: getstatic java.lang.System.err:Ljava/io/PrintStream;
28: 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: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: goto 33
31: StackMap locals: java.lang.Object[]
StackMap stack:
aload 4
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
32: aload 3
areturn
end local 8 33: StackMap locals:
StackMap stack:
aload 3
ifnull 36
34: aload 3
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
35: aconst_null
astore 3
36: StackMap locals:
StackMap stack:
aload 4
ifnull 39
37: aload 4
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
38: aconst_null
astore 4
end local 7 end local 6 39: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
40: iload 5
iconst_3
if_icmplt 4
end local 5 41: 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 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
ifnull 7
1: new java.text.MessageFormat
dup
2: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 2
start local 2 4: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 3
start local 3 5: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 3 end local 2 6: goto 8
7: 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: StackMap locals:
StackMap stack:
new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
9: getstatic java.lang.System.in:Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
10: invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
11: invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
12: areturn
end local 1 end local 0 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 start local 1 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 1
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
2: getstatic java.lang.System.in:Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
3: invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
4: invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
5: areturn
end local 1 end local 0 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 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aconst_null
astore 5
start local 5 2: StackMap locals: int char[]
StackMap stack:
aload 3
ifnull 14
3: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
4: ldc "Enter.key.password.for.alias."
5: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
start local 6 6: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 7
start local 7 7: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
9: ldc ".RETURN.if.same.as.for.otherAlias."
10: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
11: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 8
start local 8 12: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 6
aload 8
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 8 end local 7 end local 6 13: goto 19
14: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
15: ldc "Enter.key.password.for.alias."
16: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
start local 6 17: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 7
start local 7 18: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
end local 7 end local 6 19: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
20: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 5
21: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
22: aload 5
ifnonnull 24
23: aload 3
astore 5
24: StackMap locals:
StackMap stack:
iinc 4 1
25: aload 5
ifnonnull 27
iload 4
iconst_3
26: if_icmplt 2
27: StackMap locals:
StackMap stack:
aload 5
ifnonnull 29
28: 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: StackMap locals:
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lsun/security/tools/keytool/Main;
0 30 1 alias Ljava/lang/String;
0 30 2 otherAlias Ljava/lang/String;
0 30 3 otherKeyPass [C
1 30 4 count I
2 30 5 keyPass [C
6 13 6 form Ljava/text/MessageFormat;
7 13 7 source [Ljava/lang/Object;
12 13 8 src [Ljava/lang/Object;
17 19 6 form Ljava/text/MessageFormat;
18 19 7 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
otherAlias
otherKeyPass
private void printX509Cert(java.security.cert.X509Certificate, java.io.PrintStream);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new java.text.MessageFormat
dup
1: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".PATTERN.printX509Cert"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
2: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 3: bipush 10
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.toString:()Ljava/lang/String;
aastore
dup
iconst_1
4: aload 1
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.toString:()Ljava/lang/String;
aastore
dup
iconst_2
5: aload 1
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
bipush 16
invokevirtual java.math.BigInteger.toString:(I)Ljava/lang/String;
aastore
dup
iconst_3
6: aload 1
invokevirtual java.security.cert.X509Certificate.getNotBefore:()Ljava/util/Date;
invokevirtual java.util.Date.toString:()Ljava/lang/String;
aastore
dup
iconst_4
7: aload 1
invokevirtual java.security.cert.X509Certificate.getNotAfter:()Ljava/util/Date;
invokevirtual java.util.Date.toString:()Ljava/lang/String;
aastore
dup
iconst_5
8: aload 0
ldc "MD5"
aload 1
invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
aastore
dup
bipush 6
9: aload 0
ldc "SHA1"
aload 1
invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
aastore
dup
bipush 7
10: aload 0
ldc "SHA-256"
aload 1
invokevirtual sun.security.tools.keytool.Main.getCertFingerPrint:(Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
aastore
dup
bipush 8
11: aload 1
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
aastore
dup
bipush 9
12: aload 1
invokevirtual java.security.cert.X509Certificate.getVersion:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
13: astore 4
start local 4 14: aload 2
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: iconst_0
istore 5
start local 5 16: aload 1
instanceof sun.security.x509.X509CertImpl
ifeq 44
17: aload 1
checkcast sun.security.x509.X509CertImpl
astore 6
start local 6 18: aload 1
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
ifnull 29
19: aload 1
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 28
StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl top java.util.Iterator
StackMap stack:
20: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 21: iload 5
ifne 25
22: aload 2
invokevirtual java.io.PrintStream.println:()V
23: aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Extensions."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: aload 2
invokevirtual java.io.PrintStream.println:()V
25: StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl java.lang.String java.util.Iterator
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iinc 5 1
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: aload 6
new sun.security.util.ObjectIdentifier
dup
aload 7
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 7 28: StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
29: StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl
StackMap stack:
aload 1
invokevirtual java.security.cert.X509Certificate.getNonCriticalExtensionOIDs:()Ljava/util/Set;
ifnull 44
30: aload 1
invokevirtual java.security.cert.X509Certificate.getNonCriticalExtensionOIDs:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 43
StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl top java.util.Iterator
StackMap stack:
31: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 32: iload 5
ifne 36
33: aload 2
invokevirtual java.io.PrintStream.println:()V
34: aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Extensions."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: aload 2
invokevirtual java.io.PrintStream.println:()V
36: StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl java.lang.String java.util.Iterator
StackMap stack:
aload 6
new sun.security.util.ObjectIdentifier
dup
aload 7
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.x509.X509CertImpl.getExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
astore 9
start local 9 37: aload 9
ifnull 40
38: aload 2
new java.lang.StringBuilder
dup
ldc "#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iinc 5 1
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: goto 43
40: StackMap locals: sun.security.x509.Extension
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iinc 5 1
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: aload 6
new sun.security.util.ObjectIdentifier
dup
aload 7
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.x509.X509CertImpl.getUnparseableExtension:(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
42: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 9 end local 7 43: StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int sun.security.x509.X509CertImpl top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
end local 6 44: StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.io.PrintStream java.text.MessageFormat java.lang.Object[] int
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lsun/security/tools/keytool/Main;
0 45 1 cert Ljava/security/cert/X509Certificate;
0 45 2 out Ljava/io/PrintStream;
3 45 3 form Ljava/text/MessageFormat;
14 45 4 source [Ljava/lang/Object;
16 45 5 extnum I
18 44 6 impl Lsun/security/x509/X509CertImpl;
21 28 7 extOID Ljava/lang/String;
32 43 7 extOID Ljava/lang/String;
37 43 9 ext Lsun/security/x509/Extension;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
cert
out
private boolean isSelfSigned(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
aload 1
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/tools/keytool/Main;
0 1 1 cert Ljava/security/cert/X509Certificate;
MethodParameters:
Name Flags
cert
private boolean isTrusted(java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
ifnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 5
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
ifnull 5
3: aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
ifnull 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/tools/keytool/Main;
0 6 1 cert Ljava/security/cert/Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
cert
private sun.security.x509.X500Name getX500Name();
descriptor: ()Lsun/security/x509/X500Name;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=13, args_size=1
start local 0 0: 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
start local 1 1: ldc "Unknown"
astore 2
start local 2 2: ldc "Unknown"
astore 3
start local 3 3: ldc "Unknown"
astore 4
start local 4 4: ldc "Unknown"
astore 5
start local 5 5: ldc "Unknown"
astore 6
start local 6 6: ldc "Unknown"
astore 7
start local 7 7: aconst_null
astore 9
start local 9 8: bipush 20
istore 10
start local 10 9: 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
iinc 10 -1
ifge 13
10: new java.lang.RuntimeException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
11: ldc "Too.many.retries.program.terminated"
12: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
aload 1
14: 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: aload 2
16: invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 2
17: aload 0
aload 1
18: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
19: ldc "What.is.the.name.of.your.organizational.unit."
20: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
21: aload 3
22: invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
23: aload 0
aload 1
24: 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: aload 4
26: invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4
27: aload 0
aload 1
28: 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: aload 5
30: invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
31: aload 0
aload 1
32: 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: aload 6
34: invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 6
35: aload 0
aload 1
36: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
37: ldc "What.is.the.two.letter.country.code.for.this.unit."
38: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
39: aload 7
40: invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 7
41: new sun.security.x509.X500Name
dup
aload 2
aload 3
aload 4
42: aload 5
aload 6
aload 7
43: 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
start local 8 44: new java.text.MessageFormat
dup
45: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 11
start local 11 47: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
astore 12
start local 12 48: aload 0
49: aload 1
aload 11
aload 12
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: invokevirtual sun.security.tools.keytool.Main.inputString:(Ljava/io/BufferedReader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 9
end local 12 end local 11 51: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 9
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: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 9
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: 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: aload 8
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: new java.text.MessageFormat
dup
2: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".defaultValue."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
3: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 4: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
astore 5
start local 5 5: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
6: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
7: aload 1
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 6
start local 6 8: aload 6
ifnull 9
getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc ""
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 10
9: StackMap locals: java.text.MessageFormat java.lang.Object[] java.lang.String
StackMap stack:
aload 3
astore 6
10: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/tools/keytool/Main;
0 11 1 in Ljava/io/BufferedReader;
0 11 2 prompt Ljava/lang/String;
0 11 3 defaultValue Ljava/lang/String;
4 11 4 form Ljava/text/MessageFormat;
5 11 5 source [Ljava/lang/Object;
8 11 6 value Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
prompt
defaultValue
private void dumpCert(java.security.cert.Certificate, java.io.PrintStream);
descriptor: (Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 6
1: new sun.misc.BASE64Encoder
dup
invokespecial sun.misc.BASE64Encoder.<init>:()V
astore 3
start local 3 2: aload 2
ldc "-----BEGIN CERTIFICATE-----"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: aload 3
aload 1
invokevirtual java.security.cert.Certificate.getEncoded:()[B
aload 2
invokevirtual sun.misc.BASE64Encoder.encodeBuffer:([BLjava/io/OutputStream;)V
4: aload 2
ldc "-----END CERTIFICATE-----"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 3 5: goto 7
6: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual java.security.cert.Certificate.getEncoded:()[B
invokevirtual java.io.PrintStream.write:([B)V
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/tools/keytool/Main;
0 8 1 cert Ljava/security/cert/Certificate;
0 8 2 out Ljava/io/PrintStream;
2 5 3 encoder Lsun/misc/BASE64Encoder;
Exceptions:
throws java.io.IOException, java.security.cert.CertificateException
MethodParameters:
Name Flags
cert
out
private void byte2hex(byte, java.lang.StringBuffer);
descriptor: (BLjava/lang/StringBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: 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: 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: astore 3
start local 3 3: iload 1
sipush 240
iand
iconst_4
ishr
istore 4
start local 4 4: iload 1
bipush 15
iand
istore 5
start local 5 5: aload 2
aload 3
iload 4
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
6: aload 2
aload 3
iload 5
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
7: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 2
start local 2 1: aload 1
arraylength
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: java.lang.StringBuffer int int
StackMap stack:
aload 0
aload 1
iload 4
baload
aload 2
invokevirtual sun.security.tools.keytool.Main.byte2hex:(BLjava/lang/StringBuffer;)V
5: iload 4
iload 3
iconst_1
isub
if_icmpge 7
6: aload 2
ldc ":"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 3
if_icmplt 4
end local 4 9: aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/tools/keytool/Main;
0 10 1 block [B
1 10 2 buf Ljava/lang/StringBuffer;
2 10 3 len I
3 9 4 i I
MethodParameters:
Name Flags
block
private java.lang.Object[] recoverKey(java.lang.String, char[], char[]);
descriptor: (Ljava/lang/String;[C[C)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifne 7
2: new java.text.MessageFormat
dup
3: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.does.not.exist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
4: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 5: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 6
start local 6 6: new java.lang.Exception
dup
aload 5
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 7: StackMap locals: java.security.Key
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
ldc Ljava/security/KeyStore$PrivateKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifne 14
8: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
ldc Ljava/security/KeyStore$SecretKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifne 14
9: new java.text.MessageFormat
dup
10: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.has.no.key"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
11: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 12: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 6
start local 6 13: new java.lang.Exception
dup
aload 5
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 14: StackMap locals:
StackMap stack:
aload 3
ifnonnull 25
15: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 2
invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
astore 4
16: aload 2
astore 3
17: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
18: goto 26
StackMap locals:
StackMap stack: java.security.UnrecoverableKeyException
19: astore 5
start local 5 20: aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 24
21: aload 0
aload 1
aconst_null
aconst_null
invokevirtual sun.security.tools.keytool.Main.getKeyPasswd:(Ljava/lang/String;Ljava/lang/String;[C)[C
astore 3
22: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 3
invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
astore 4
23: goto 26
24: StackMap locals: java.security.UnrecoverableKeyException
StackMap stack:
aload 5
athrow
end local 5 25: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 3
invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
astore 4
26: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 3
aastore
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/tools/keytool/Main;
0 27 1 alias Ljava/lang/String;
0 27 2 storePass [C
0 27 3 keyPass [C
1 27 4 key Ljava/security/Key;
5 7 5 form Ljava/text/MessageFormat;
6 7 6 source [Ljava/lang/Object;
12 14 5 form Ljava/text/MessageFormat;
13 14 6 source [Ljava/lang/Object;
20 25 5 e Ljava/security/UnrecoverableKeyException;
Exception table:
from to target type
15 18 19 Class java.security.UnrecoverableKeyException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
storePass
keyPass
private java.lang.Object[] recoverEntry(java.security.KeyStore, java.lang.String, char[], char[]);
descriptor: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifne 6
1: new java.text.MessageFormat
dup
2: 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: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 4: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 6
start local 6 5: new java.lang.Exception
dup
aload 5
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 6: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 7: aload 1
aload 2
aload 5
invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
astore 6
start local 6 8: aconst_null
astore 4
9: goto 28
end local 6 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
start local 7 11: ldc "PKCS11"
aload 1
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 13
12: aload 1
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 14
13: 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
athrow
14: StackMap locals:
StackMap stack:
aload 4
ifnull 18
15: new java.security.KeyStore$PasswordProtection
dup
aload 4
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 5
16: aload 1
aload 2
aload 5
invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
astore 6
start local 6 17: goto 28
end local 6 18: StackMap locals:
StackMap stack:
new java.security.KeyStore$PasswordProtection
dup
aload 3
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 5
19: aload 1
aload 2
aload 5
invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
astore 6
start local 6 20: aload 3
astore 4
21: goto 28
end local 6 StackMap locals:
StackMap stack: java.security.UnrecoverableEntryException
22: astore 8
start local 8 23: ldc "PKCS12"
aload 1
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 25
24: aload 8
athrow
25: StackMap locals: java.security.UnrecoverableEntryException
StackMap stack:
aload 0
aload 2
aconst_null
aconst_null
invokevirtual sun.security.tools.keytool.Main.getKeyPasswd:(Ljava/lang/String;Ljava/lang/String;[C)[C
astore 4
26: new java.security.KeyStore$PasswordProtection
dup
aload 4
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 5
27: aload 1
aload 2
aload 5
invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
astore 6
end local 8 end local 7 start local 6 28: StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String char[] char[] java.security.KeyStore$PasswordProtection java.security.KeyStore$Entry
StackMap stack:
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
dup
iconst_1
aload 4
aastore
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/tools/keytool/Main;
0 29 1 ks Ljava/security/KeyStore;
0 29 2 alias Ljava/lang/String;
0 29 3 pstore [C
0 29 4 pkey [C
4 6 5 form Ljava/text/MessageFormat;
5 6 6 source [Ljava/lang/Object;
7 29 5 pp Ljava/security/KeyStore$PasswordProtection;
8 10 6 entry Ljava/security/KeyStore$Entry;
17 18 6 entry Ljava/security/KeyStore$Entry;
20 22 6 entry Ljava/security/KeyStore$Entry;
28 29 6 entry Ljava/security/KeyStore$Entry;
11 28 7 une Ljava/security/UnrecoverableEntryException;
23 28 8 une2 Ljava/security/UnrecoverableEntryException;
Exception table:
from to target type
7 9 10 Class java.security.UnrecoverableEntryException
18 21 22 Class java.security.UnrecoverableEntryException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ks
alias
pstore
pkey
private java.lang.String getCertFingerPrint(java.lang.String, java.security.cert.Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 3
start local 3 1: aload 1
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 4
start local 4 2: aload 4
aload 3
invokevirtual java.security.MessageDigest.digest:([B)[B
astore 5
start local 5 3: aload 0
aload 5
invokevirtual sun.security.tools.keytool.Main.toHexString:([B)Ljava/lang/String;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/tools/keytool/Main;
0 4 1 mdAlg Ljava/lang/String;
0 4 2 cert Ljava/security/cert/Certificate;
1 4 3 encCertInfo [B
2 4 4 md Ljava/security/MessageDigest;
3 4 5 digest [B
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
mdAlg
cert
private void printWarning();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
2: ldc ".WARNING.WARNING.WARNING."
3: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
5: ldc ".The.integrity.of.the.information.stored.in.your.keystore."
6: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
8: ldc ".WARNING.WARNING.WARNING."
9: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/tools/keytool/Main;
private java.security.cert.Certificate[] validateReply(java.lang.String, java.security.cert.Certificate, java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 5
start local 5 1: iconst_0
istore 4
start local 4 2: goto 6
3: StackMap locals: int java.security.PublicKey
StackMap stack:
aload 5
aload 3
iload 4
aaload
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 5
4: goto 7
5: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 3
arraylength
if_icmplt 3
7: StackMap locals:
StackMap stack:
iload 4
aload 3
arraylength
if_icmpne 13
8: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
9: ldc "Certificate.reply.does.not.contain.public.key.for.alias."
10: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
start local 6 11: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 7
start local 7 12: new java.lang.Exception
dup
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 13: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
astore 6
start local 6 14: aload 3
iconst_0
aload 3
iload 4
aaload
aastore
15: aload 3
iload 4
aload 6
aastore
16: aload 3
iconst_0
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
astore 7
start local 7 17: iconst_1
istore 4
goto 34
18: StackMap locals: java.security.cert.Certificate java.security.Principal
StackMap stack:
iload 4
istore 8
start local 8 19: goto 28
20: StackMap locals: int
StackMap stack:
aload 3
iload 8
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
astore 9
start local 9 21: aload 9
aload 7
invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
ifeq 27
22: aload 3
iload 4
aaload
astore 6
23: aload 3
iload 4
aload 3
iload 8
aaload
aastore
24: aload 3
iload 8
aload 6
aastore
25: aload 3
iload 4
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
astore 7
26: goto 29
end local 9 27: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
28: iload 8
aload 3
arraylength
if_icmplt 20
29: StackMap locals:
StackMap stack:
iload 8
aload 3
arraylength
if_icmpne 33
30: new java.lang.Exception
dup
31: 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: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 8 33: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
34: iload 4
aload 3
arraylength
iconst_1
isub
if_icmplt 18
35: iconst_0
istore 4
goto 46
36: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_1
iadd
aaload
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 8
start local 8 37: aload 3
iload 4
aaload
aload 8
invokevirtual java.security.cert.Certificate.verify:(Ljava/security/PublicKey;)V
38: goto 45
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.Principal java.security.PublicKey
StackMap stack: java.lang.Exception
39: astore 9
start local 9 40: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
41: ldc "Certificate.chain.in.reply.does.not.verify."
42: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
43: aload 9
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 8 45: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
46: iload 4
aload 3
arraylength
iconst_1
isub
if_icmplt 36
47: aload 0
getfield sun.security.tools.keytool.Main.noprompt:Z
ifeq 49
48: aload 3
areturn
49: StackMap locals:
StackMap stack:
aload 3
aload 3
arraylength
iconst_1
isub
aaload
astore 8
start local 8 50: aload 0
aload 8
invokevirtual sun.security.tools.keytool.Main.isTrusted:(Ljava/security/cert/Certificate;)Z
ifne 85
51: iconst_0
istore 9
start local 9 52: aconst_null
astore 10
start local 10 53: aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 64
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
ifnull 64
54: aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 11
start local 11 55: goto 63
56: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.Principal java.security.cert.Certificate int java.security.cert.Certificate java.util.Enumeration
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 57: aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
aload 12
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 10
58: aload 10
ifnull 63
59: aload 8
aload 10
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.security.cert.Certificate.verify:(Ljava/security/PublicKey;)V
60: iconst_1
istore 9
61: goto 64
62: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.Principal java.security.cert.Certificate int java.security.cert.Certificate java.util.Enumeration java.lang.String
StackMap stack: java.lang.Exception
pop
end local 12 63: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 56
end local 11 64: StackMap locals:
StackMap stack:
iload 9
ifne 77
65: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
66: getstatic java.lang.System.err:Ljava/io/PrintStream;
67: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Top.level.certificate.in.reply."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
68: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
69: aload 0
aload 8
checkcast java.security.cert.X509Certificate
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
70: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
71: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".is.not.trusted."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
72: aload 0
73: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Install.reply.anyway.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
74: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 11
start local 11 75: ldc "NO"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 85
76: aconst_null
areturn
end local 11 77: StackMap locals:
StackMap stack:
aload 0
aload 8
checkcast java.security.cert.X509Certificate
invokevirtual sun.security.tools.keytool.Main.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
ifne 85
78: aload 3
arraylength
iconst_1
iadd
anewarray java.security.cert.Certificate
79: astore 11
start local 11 80: aload 3
iconst_0
aload 11
iconst_0
81: aload 3
arraylength
82: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
83: aload 11
aload 11
arraylength
iconst_1
isub
aload 10
aastore
84: aload 11
astore 3
end local 11 end local 10 end local 9 85: StackMap locals:
StackMap stack:
aload 3
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 86 0 this Lsun/security/tools/keytool/Main;
0 86 1 alias Ljava/lang/String;
0 86 2 userCert Ljava/security/cert/Certificate;
0 86 3 replyCerts [Ljava/security/cert/Certificate;
2 86 4 i I
1 86 5 userPubKey Ljava/security/PublicKey;
11 13 6 form Ljava/text/MessageFormat;
12 13 7 source [Ljava/lang/Object;
14 86 6 tmpCert Ljava/security/cert/Certificate;
17 86 7 issuer Ljava/security/Principal;
19 33 8 j I
21 27 9 subject Ljava/security/Principal;
37 45 8 pubKey Ljava/security/PublicKey;
40 45 9 e Ljava/lang/Exception;
50 86 8 topCert Ljava/security/cert/Certificate;
52 85 9 verified Z
53 85 10 rootCert Ljava/security/cert/Certificate;
55 64 11 aliases Ljava/util/Enumeration<Ljava/lang/String;>;
57 63 12 name Ljava/lang/String;
75 77 11 reply Ljava/lang/String;
80 85 11 tmpCerts [Ljava/security/cert/Certificate;
Exception table:
from to target type
37 38 39 Class java.lang.Exception
59 61 62 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
userCert
replyCerts
private java.security.cert.Certificate[] establishCertChain(java.security.cert.Certificate, java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 11
1: aload 1
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 3
start local 3 2: aload 2
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 4
start local 4 3: aload 3
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 7
4: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
5: ldc "Public.keys.in.reply.and.keystore.don.t.match"
6: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.security.PublicKey java.security.PublicKey
StackMap stack:
aload 2
aload 1
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 11
8: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
9: ldc "Certificate.reply.and.certificate.in.keystore.are.identical"
10: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 11: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 12: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.size:()I
ifle 15
13: new java.util.Hashtable
dup
bipush 11
invokespecial java.util.Hashtable.<init>:(I)V
astore 3
14: aload 0
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 3
invokevirtual sun.security.tools.keytool.Main.keystorecerts2Hashtable:(Ljava/security/KeyStore;Ljava/util/Hashtable;)V
15: StackMap locals: java.util.Hashtable
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 20
16: aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
ifnull 20
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.size:()I
ifle 20
17: aload 3
ifnonnull 19
18: new java.util.Hashtable
dup
bipush 11
invokespecial java.util.Hashtable.<init>:(I)V
astore 3
19: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
aload 3
invokevirtual sun.security.tools.keytool.Main.keystorecerts2Hashtable:(Ljava/security/KeyStore;Ljava/util/Hashtable;)V
20: StackMap locals:
StackMap stack:
new java.util.Vector
dup
iconst_2
invokespecial java.util.Vector.<init>:(I)V
astore 4
start local 4 21: aload 0
aload 2
checkcast java.security.cert.X509Certificate
aload 4
aload 3
invokevirtual sun.security.tools.keytool.Main.buildChain:(Ljava/security/cert/X509Certificate;Ljava/util/Vector;Ljava/util/Hashtable;)Z
ifeq 31
22: aload 4
invokevirtual java.util.Vector.size:()I
anewarray java.security.cert.Certificate
astore 5
start local 5 23: iconst_0
istore 6
start local 6 24: aload 4
invokevirtual java.util.Vector.size:()I
iconst_1
isub
istore 7
start local 7 25: goto 29
26: 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
iload 6
aload 4
iload 7
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.security.cert.Certificate
aastore
27: iinc 6 1
28: iinc 7 -1
StackMap locals:
StackMap stack:
29: iload 7
ifge 26
end local 7 30: aload 5
areturn
end local 6 end local 5 31: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
32: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Failed.to.establish.chain.from.reply"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
33: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/security/tools/keytool/Main;
0 34 1 userCert Ljava/security/cert/Certificate;
0 34 2 certToVerify Ljava/security/cert/Certificate;
2 11 3 origPubKey Ljava/security/PublicKey;
3 11 4 replyPubKey Ljava/security/PublicKey;
12 34 3 certs Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;
21 34 4 chain Ljava/util/Vector<Ljava/security/cert/Certificate;>;
23 31 5 newChain [Ljava/security/cert/Certificate;
24 31 6 j I
25 30 7 i I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
userCert
certToVerify
private boolean buildChain(java.security.cert.X509Certificate, java.util.Vector<java.security.cert.Certificate>, java.util.Hashtable<java.security.Principal, java.util.Vector<java.security.cert.Certificate>>);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/util/Vector;Ljava/util/Hashtable;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
astore 4
start local 4 1: aload 1
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
astore 5
start local 5 2: aload 4
aload 5
invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 2
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
4: iconst_1
ireturn
5: StackMap locals: java.security.Principal java.security.Principal
StackMap stack:
aload 3
aload 5
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
astore 6
start local 6 6: aload 6
ifnonnull 8
7: iconst_0
ireturn
8: StackMap locals: java.util.Vector
StackMap stack:
aload 6
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 7
start local 7 9: goto 20
10: StackMap locals: java.util.Enumeration
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
11: astore 8
start local 8 12: aload 8
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 9
start local 9 13: aload 1
aload 9
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
14: goto 17
StackMap locals: sun.security.tools.keytool.Main java.security.cert.X509Certificate java.util.Vector java.util.Hashtable java.security.Principal java.security.Principal java.util.Vector java.util.Enumeration java.security.cert.X509Certificate java.security.PublicKey
StackMap stack: java.lang.Exception
15: pop
16: goto 20
17: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 2
aload 3
invokevirtual sun.security.tools.keytool.Main.buildChain:(Ljava/security/cert/X509Certificate;Ljava/util/Vector;Ljava/util/Hashtable;)Z
ifeq 20
18: aload 2
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
19: iconst_1
ireturn
end local 9 end local 8 20: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 10
end local 7 21: iconst_0
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/security/tools/keytool/Main;
0 22 1 certToVerify Ljava/security/cert/X509Certificate;
0 22 2 chain Ljava/util/Vector<Ljava/security/cert/Certificate;>;
0 22 3 certs Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;
1 22 4 subject Ljava/security/Principal;
2 22 5 issuer Ljava/security/Principal;
6 22 6 vec Ljava/util/Vector<Ljava/security/cert/Certificate;>;
9 21 7 issuerCerts Ljava/util/Enumeration<Ljava/security/cert/Certificate;>;
12 20 8 issuerCert Ljava/security/cert/X509Certificate;
13 20 9 issuerPubKey Ljava/security/PublicKey;
Exception table:
from to target type
13 14 15 Class java.lang.Exception
Signature: (Ljava/security/cert/X509Certificate;Ljava/util/Vector<Ljava/security/cert/Certificate;>;Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;)Z
MethodParameters:
Name Flags
certToVerify
chain
certs
private java.lang.String getYesNoReply(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: bipush 20
istore 3
start local 3 2: StackMap locals: java.lang.String int
StackMap stack:
iload 3
iinc 3 -1
ifge 6
3: new java.lang.RuntimeException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
4: ldc "Too.many.retries.program.terminated"
5: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 1
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
7: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
8: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
9: getstatic java.lang.System.in:Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
10: invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
11: invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
12: astore 2
13: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 2
ldc ""
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 16
14: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 2
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: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 2
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: StackMap locals:
StackMap stack:
ldc "NO"
astore 2
17: goto 24
StackMap locals:
StackMap stack:
18: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 2
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: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 2
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: StackMap locals:
StackMap stack:
ldc "YES"
astore 2
21: goto 24
22: 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: aconst_null
astore 2
24: StackMap locals:
StackMap stack:
aload 2
ifnull 2
25: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/tools/keytool/Main;
0 26 1 prompt Ljava/lang/String;
1 26 2 reply Ljava/lang/String;
2 26 3 maxRetry I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
prompt
private void keystorecerts2Hashtable(java.security.KeyStore, java.util.Hashtable<java.security.Principal, java.util.Vector<java.security.cert.Certificate>>);
descriptor: (Ljava/security/KeyStore;Ljava/util/Hashtable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 3
start local 3 1: goto 14
2: StackMap locals: java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 3: aload 1
aload 4
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 5
start local 5 4: aload 5
ifnull 14
5: aload 5
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
astore 6
start local 6 6: aload 2
aload 6
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
astore 7
start local 7 7: aload 7
ifnonnull 11
8: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 7
9: aload 7
aload 5
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
10: goto 13
11: StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.util.Hashtable java.util.Enumeration java.lang.String java.security.cert.Certificate java.security.Principal java.util.Vector
StackMap stack:
aload 7
aload 5
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifne 13
12: aload 7
aload 5
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 2
aload 6
aload 7
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 6 end local 5 end local 4 14: StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.util.Hashtable java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 2
end local 3 15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/tools/keytool/Main;
0 16 1 ks Ljava/security/KeyStore;
0 16 2 hash Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;
1 15 3 aliases Ljava/util/Enumeration<Ljava/lang/String;>;
3 14 4 alias Ljava/lang/String;
4 14 5 cert Ljava/security/cert/Certificate;
6 14 6 subjectDN Ljava/security/Principal;
7 14 7 vec Ljava/util/Vector<Ljava/security/cert/Certificate;>;
Exceptions:
throws java.lang.Exception
Signature: (Ljava/security/KeyStore;Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Ljava/security/cert/Certificate;>;>;)V
MethodParameters:
Name Flags
ks
hash
private static java.util.Date getStartDate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Date;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=1
start local 0 0: new java.util.GregorianCalendar
dup
invokespecial java.util.GregorianCalendar.<init>:()V
astore 1
start local 1 1: aload 0
ifnull 68
2: new java.io.IOException
dup
3: 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: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 2
start local 2 5: aload 0
invokevirtual java.lang.String.length:()I
istore 3
start local 3 6: iload 3
ifne 8
7: aload 2
athrow
8: StackMap locals: java.util.Calendar java.io.IOException int
StackMap stack:
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 45
if_icmpeq 9
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 43
if_icmpne 38
9: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 10: goto 36
11: StackMap locals: int
StackMap stack:
iconst_0
istore 5
start local 5 12: aload 0
iload 4
invokevirtual java.lang.String.charAt:(I)C
tableswitch { // 43 - 45
43: 13
44: 15
45: 14
default: 15
}
13: StackMap locals: int
StackMap stack:
iconst_1
istore 5
goto 16
14: StackMap locals:
StackMap stack:
iconst_m1
istore 5
goto 16
15: StackMap locals:
StackMap stack:
aload 2
athrow
16: StackMap locals:
StackMap stack:
iload 4
iconst_1
iadd
istore 6
start local 6 17: goto 21
18: StackMap locals: int
StackMap stack:
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 19: iload 7
bipush 48
if_icmplt 22
iload 7
bipush 57
if_icmple 20
goto 22
end local 7 20: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
21: iload 6
iload 3
if_icmplt 18
22: StackMap locals:
StackMap stack:
iload 6
iload 4
iconst_1
iadd
if_icmpne 23
aload 2
athrow
23: StackMap locals:
StackMap stack:
aload 0
iload 4
iconst_1
iadd
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 7
start local 7 24: iload 6
iload 3
if_icmplt 25
aload 2
athrow
25: StackMap locals: int
StackMap stack:
iconst_0
istore 8
start local 8 26: aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 6
72: 30
77: 31
83: 32
100: 29
109: 28
121: 27
default: 33
}
27: StackMap locals: int
StackMap stack:
iconst_1
istore 8
goto 34
28: StackMap locals:
StackMap stack:
iconst_2
istore 8
goto 34
29: StackMap locals:
StackMap stack:
iconst_5
istore 8
goto 34
30: StackMap locals:
StackMap stack:
bipush 10
istore 8
goto 34
31: StackMap locals:
StackMap stack:
bipush 12
istore 8
goto 34
32: StackMap locals:
StackMap stack:
bipush 13
istore 8
goto 34
33: StackMap locals:
StackMap stack:
aload 2
athrow
34: StackMap locals:
StackMap stack:
aload 1
iload 8
iload 5
iload 7
imul
invokevirtual java.util.Calendar.add:(II)V
35: iload 6
iconst_1
iadd
istore 4
end local 8 end local 7 end local 6 end local 5 36: StackMap locals: java.lang.String java.util.Calendar java.io.IOException int int
StackMap stack:
iload 4
iload 3
if_icmplt 11
end local 4 37: goto 68
38: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 39: aconst_null
astore 5
start local 5 40: iload 3
bipush 19
if_icmpne 45
41: aload 0
iconst_0
bipush 10
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
42: aload 0
bipush 11
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
43: aload 0
bipush 10
invokevirtual java.lang.String.charAt:(I)C
bipush 32
if_icmpeq 52
44: aload 2
athrow
45: StackMap locals: java.lang.String java.lang.String
StackMap stack:
iload 3
bipush 10
if_icmpne 48
46: aload 0
astore 4
47: goto 52
StackMap locals:
StackMap stack:
48: iload 3
bipush 8
if_icmpne 51
49: aload 0
astore 5
50: goto 52
51: StackMap locals:
StackMap stack:
aload 2
athrow
52: StackMap locals:
StackMap stack:
aload 4
ifnull 60
53: aload 4
ldc "\\d\\d\\d\\d\\/\\d\\d\\/\\d\\d"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 59
54: aload 1
aload 4
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: aload 4
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: aload 4
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: invokevirtual java.util.Calendar.set:(III)V
58: goto 60
59: StackMap locals:
StackMap stack:
aload 2
athrow
60: StackMap locals:
StackMap stack:
aload 5
ifnull 68
61: aload 5
ldc "\\d\\d:\\d\\d:\\d\\d"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 67
62: aload 1
bipush 11
aload 5
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: aload 1
bipush 12
aload 5
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: aload 1
bipush 13
aload 5
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: aload 1
bipush 14
iconst_0
invokevirtual java.util.Calendar.set:(II)V
66: goto 68
67: StackMap locals:
StackMap stack:
aload 2
athrow
end local 5 end local 4 end local 3 end local 2 68: StackMap locals: java.lang.String java.util.Calendar
StackMap stack:
aload 1
invokevirtual java.util.Calendar.getTime:()Ljava/util/Date;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 s Ljava/lang/String;
1 69 1 c Ljava/util/Calendar;
5 68 2 ioe Ljava/io/IOException;
6 68 3 len I
10 37 4 start I
12 36 5 sign I
17 36 6 i I
19 20 7 ch C
24 36 7 number I
26 36 8 unit I
39 68 4 date Ljava/lang/String;
40 68 5 time Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
private void usage();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=1
start local 0 0: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
ifnull 34
1: 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
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: 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: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
5: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
aload 0
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: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
7: 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: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
9: aload 0
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
start local 1 10: aload 0
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
start local 2 11: iconst_0
istore 3
start local 3 12: iconst_0
istore 4
start local 4 13: goto 21
14: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.lang.String[] int int
StackMap stack:
aload 0
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
aaload
astore 5
start local 5 15: aload 1
iload 4
aload 5
invokevirtual sun.security.tools.keytool.Main$Option.toString:()Ljava/lang/String;
aastore
16: aload 5
getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
ifnull 17
aload 1
iload 4
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
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: StackMap locals: sun.security.tools.keytool.Main$Option
StackMap stack:
aload 1
iload 4
aaload
invokevirtual java.lang.String.length:()I
iload 3
if_icmple 19
18: aload 1
iload 4
aaload
invokevirtual java.lang.String.length:()I
istore 3
19: StackMap locals:
StackMap stack:
aload 2
iload 4
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
aload 5
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 20: iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
aload 1
arraylength
if_icmplt 14
end local 4 22: iconst_0
istore 4
start local 4 23: goto 28
24: 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
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: aload 1
iload 4
aaload
aastore
dup
iconst_1
aload 2
iload 4
aaload
aastore
26: invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
27: iinc 4 1
StackMap locals:
StackMap stack:
28: iload 4
aload 1
arraylength
if_icmplt 24
end local 4 29: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
30: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
31: ldc "Use.keytool.help.for.all.available.commands"
32: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 3 end local 2 end local 1 33: goto 52
34: 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: ldc "Key.and.Certificate.Management.Tool"
36: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
37: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
38: 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: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
40: invokestatic sun.security.tools.keytool.Main$Command.values:()[Lsun/security/tools/keytool/Main$Command;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 47
StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
StackMap stack:
41: aload 4
iload 2
aaload
astore 1
start local 1 42: aload 1
getstatic sun.security.tools.keytool.Main$Command.IDENTITYDB:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 46
43: aload 1
getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 46
44: aload 1
getstatic sun.security.tools.keytool.Main$Command.SELFCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 46
45: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " %-20s%s\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
aload 1
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 46: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
47: iload 2
iload 3
if_icmplt 41
48: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
49: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
50: ldc "Use.keytool.command.name.help.for.usage.of.command.name"
51: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
52: StackMap locals: sun.security.tools.keytool.Main
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lsun/security/tools/keytool/Main;
10 33 1 left [Ljava/lang/String;
11 33 2 right [Ljava/lang/String;
12 33 3 lenLeft I
13 22 4 j I
15 20 5 opt Lsun/security/tools/keytool/Main$Option;
23 29 4 j I
42 46 1 c Lsun/security/tools/keytool/Main$Command;
private void tinyHelp();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.tools.keytool.Main.usage:()V
1: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 3
2: new java.lang.RuntimeException
dup
ldc "NO BIG ERROR, SORRY"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.lang.System.exit:(I)V
4: return
end local 0 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 start local 1 0: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 2
start local 2 1: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.text.MessageFormat
dup
2: 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
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/tools/keytool/Main;
0 6 1 flag Ljava/lang/String;
1 6 2 source [Ljava/lang/Object;
MethodParameters:
Name Flags
flag
}
SourceFile: "Main.java"
NestMembers:
sun.security.tools.keytool.Main$Command sun.security.tools.keytool.Main$Option
InnerClasses:
public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore
final Command = sun.security.tools.keytool.Main$Command of sun.security.tools.keytool.Main
final Option = sun.security.tools.keytool.Main$Option of sun.security.tools.keytool.Main