public final class sun.security.tools.keytool.Main
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.tools.keytool.Main
super_class: java.lang.Object
{
private boolean debug;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private sun.security.tools.keytool.Main$Command command;
descriptor: Lsun/security/tools/keytool/Main$Command;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sigAlgName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyAlgName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean verbose;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int keysize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean rfc;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long validity;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.lang.String alias;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String dname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String dest;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String filename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String infilename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String outfilename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcksfname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<sun.security.tools.keytool.Pair<java.lang.String, java.lang.String>> providers;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;>;
private java.lang.String storetype;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcProviderName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String providerName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String pathlist;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private char[] storePass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] storePassNew;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] keyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] keyPassNew;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] newPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] destKeyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] srckeyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.lang.String ksfname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.io.File ksfile;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream ksStream;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sslserver;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String jarfile;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.security.KeyStore keyStore;
descriptor: Ljava/security/KeyStore;
flags: (0x0002) ACC_PRIVATE
private boolean token;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean nullStream;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean kssave;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean noprompt;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean trustcacerts;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean nowarn;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean protectedPath;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean srcprotectedPath;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.security.cert.CertificateFactory cf;
descriptor: Ljava/security/cert/CertificateFactory;
flags: (0x0002) ACC_PRIVATE
private java.security.KeyStore caks;
descriptor: Ljava/security/KeyStore;
flags: (0x0002) ACC_PRIVATE
private char[] srcstorePass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcstoretype;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<char[]> passwords;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<[C>;
private java.lang.String startDate;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.String> ids;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private java.util.List<java.lang.String> v3ext;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private boolean inplaceImport;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String inplaceBackupName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.String> weakWarnings;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private static final sun.security.util.DisabledAlgorithmConstraints DISABLED_CHECK;
descriptor: Lsun/security/util/DisabledAlgorithmConstraints;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set<java.security.CryptoPrimitive> SIG_PRIMITIVE_SET;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/security/CryptoPrimitive;>;
private static final java.lang.Class[] PARAM_STRING;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String NONE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NONE"
private static final java.lang.String P11KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS11"
private static final java.lang.String P12KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS12"
private static final java.lang.String keyAlias;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "mykey"
private static final java.util.ResourceBundle rb;
descriptor: Ljava/util/ResourceBundle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.text.Collator collator;
descriptor: Ljava/text/Collator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] extSupported;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: new sun.security.util.DisabledAlgorithmConstraints
dup
1: ldc "jdk.certpath.disabledAlgorithms"
2: invokespecial sun.security.util.DisabledAlgorithmConstraints.<init>:(Ljava/lang/String;)V
3: putstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
4: getstatic java.security.CryptoPrimitive.SIGNATURE:Ljava/security/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
5: putstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
6: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
putstatic sun.security.tools.keytool.Main.PARAM_STRING:[Ljava/lang/Class;
7: ldc "sun.security.tools.keytool.Resources"
8: invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
9: putstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
10: invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
putstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
11: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
iconst_0
invokevirtual java.text.Collator.setStrength:(I)V
12: bipush 9
anewarray java.lang.String
dup
iconst_0
13: ldc "BasicConstraints"
aastore
dup
iconst_1
14: ldc "KeyUsage"
aastore
dup
iconst_2
15: ldc "ExtendedKeyUsage"
aastore
dup
iconst_3
16: ldc "SubjectAlternativeName"
aastore
dup
iconst_4
17: ldc "IssuerAlternativeName"
aastore
dup
iconst_5
18: ldc "SubjectInfoAccess"
aastore
dup
bipush 6
19: ldc "AuthorityInfoAccess"
aastore
dup
bipush 8
20: ldc "CRLDistributionPoints"
aastore
21: putstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
22: 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.infilename:Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
15: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
16: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
17: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
18: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
19: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
20: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
21: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
22: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePassNew:[C
23: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyPass:[C
24: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyPassNew:[C
25: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.newPass:[C
26: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.destKeyPass:[C
27: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srckeyPass:[C
28: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
29: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
30: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
31: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
32: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
33: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
34: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.token:Z
35: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.nullStream:Z
36: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.kssave:Z
37: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.noprompt:Z
38: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.trustcacerts:Z
39: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.nowarn:Z
40: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.protectedPath:Z
41: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
42: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.cf:Ljava/security/cert/CertificateFactory;
43: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
44: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcstorePass:[C
45: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
46: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
47: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
48: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
49: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
50: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.inplaceImport:Z
51: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
52: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
53: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lsun/security/tools/keytool/Main;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 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 32
2: aload 0
aload 2
invokevirtual sun.security.tools.keytool.Main.doCommands:(Ljava/io/PrintStream;)V
3: goto 32
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
iconst_0
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
13: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 18
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top top top java.util.Iterator
StackMap stack:
14: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast char[]
astore 5
start local 5 15: aload 5
ifnull 18
16: aload 5
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
17: aconst_null
astore 5
end local 5 18: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
19: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 41
20: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
goto 41
21: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
StackMap stack: java.lang.Throwable
astore 4
22: aload 0
iconst_0
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
23: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 28
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable top java.util.Iterator
StackMap stack:
24: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast char[]
astore 5
start local 5 25: aload 5
ifnull 28
26: aload 5
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
27: aconst_null
astore 5
end local 5 28: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
29: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 31
30: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
31: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top java.lang.Throwable
StackMap stack:
aload 4
athrow
32: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream
StackMap stack:
aload 0
iconst_0
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
33: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 38
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.io.PrintStream top top top java.util.Iterator
StackMap stack:
34: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast char[]
astore 5
start local 5 35: aload 5
ifnull 38
36: aload 5
bipush 32
invokestatic java.util.Arrays.fill:([CC)V
37: aconst_null
astore 5
end local 5 38: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 34
39: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 41
40: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
41: 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 42 0 this Lsun/security/tools/keytool/Main;
0 42 1 args [Ljava/lang/String;
0 42 2 out Ljava/io/PrintStream;
5 12 3 e Ljava/lang/Exception;
15 18 5 pass [C
25 28 5 pass [C
35 38 5 pass [C
Exception table:
from to target type
0 3 4 Class java.lang.Exception
0 12 21 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
out
void parseArgs(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=12, args_size=2
start local 0 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 181
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:
aconst_null
astore 5
start local 5 15: aload 4
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 16: iload 6
ifle 19
17: aload 4
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
18: aload 4
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
19: StackMap locals: java.lang.String int
StackMap stack:
iconst_0
istore 7
start local 7 20: invokestatic sun.security.tools.keytool.Main$Command.values:()[Lsun/security/tools/keytool/Main$Command;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 27
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.lang.String int int top int int sun.security.tools.keytool.Main$Command[]
StackMap stack:
21: aload 11
iload 9
aaload
astore 8
start local 8 22: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
aload 8
invokevirtual sun.security.tools.keytool.Main$Command.toString:()Ljava/lang/String;
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 26
23: aload 0
aload 8
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
24: iconst_1
istore 7
25: goto 28
end local 8 26: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
27: iload 9
iload 10
if_icmplt 21
28: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.lang.String int int
StackMap stack:
iload 7
ifne 180
29: 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 32
30: 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;
31: goto 180
StackMap locals:
StackMap stack:
32: 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 35
33: 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;
34: goto 180
StackMap locals:
StackMap stack:
35: 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 38
36: 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;
37: goto 180
StackMap locals:
StackMap stack:
38: 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 41
39: iconst_1
istore 3
40: goto 180
StackMap locals:
StackMap stack:
41: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-nowarn"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 44
42: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.nowarn:Z
43: goto 180
44: 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 46
45: 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 48
46: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
47: goto 180
StackMap locals:
StackMap stack:
48: 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 50
49: 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 53
50: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 5
aload 1
iinc 2 1
iload 2
aaload
invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
putfield sun.security.tools.keytool.Main.storePass:[C
51: 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
52: goto 180
StackMap locals:
StackMap stack:
53: 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 55
54: 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 57
55: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
56: goto 180
StackMap locals:
StackMap stack:
57: 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 61
58: aload 0
aload 0
aload 5
aload 1
iinc 2 1
iload 2
aaload
invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
putfield sun.security.tools.keytool.Main.srcstorePass:[C
59: 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
60: goto 180
StackMap locals:
StackMap stack:
61: 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 64
62: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
63: goto 180
StackMap locals:
StackMap stack:
64: 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 68
65: aload 0
aload 0
aload 5
aload 1
iinc 2 1
iload 2
aaload
invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
putfield sun.security.tools.keytool.Main.srckeyPass:[C
66: 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
67: goto 180
StackMap locals:
StackMap stack:
68: 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 71
69: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
70: goto 180
StackMap locals:
StackMap stack:
71: 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 73
72: 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 75
73: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
74: goto 180
StackMap locals:
StackMap stack:
75: 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 78
76: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
77: goto 180
StackMap locals:
StackMap stack:
78: 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 82
79: aload 0
aload 0
aload 5
aload 1
iinc 2 1
iload 2
aaload
invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
putfield sun.security.tools.keytool.Main.keyPass:[C
80: 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
81: goto 180
StackMap locals:
StackMap stack:
82: 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 86
83: aload 0
aload 0
aload 5
aload 1
iinc 2 1
iload 2
aaload
invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
putfield sun.security.tools.keytool.Main.newPass:[C
84: 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
85: goto 180
StackMap locals:
StackMap stack:
86: 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 90
87: aload 0
aload 0
aload 5
aload 1
iinc 2 1
iload 2
aaload
invokevirtual sun.security.tools.keytool.Main.getPass:(Ljava/lang/String;Ljava/lang/String;)[C
putfield sun.security.tools.keytool.Main.destKeyPass:[C
88: 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
89: goto 180
StackMap locals:
StackMap stack:
90: 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 92
91: 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 94
92: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
93: goto 180
StackMap locals:
StackMap stack:
94: 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 96
95: 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 98
96: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
97: goto 180
StackMap locals:
StackMap stack:
98: 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 101
99: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
100: goto 180
StackMap locals:
StackMap stack:
101: 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 104
102: 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
103: goto 180
StackMap locals:
StackMap stack:
104: 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 107
105: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
106: goto 180
StackMap locals:
StackMap stack:
107: 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 110
108: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
109: goto 180
StackMap locals:
StackMap stack:
110: 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 113
111: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
112: goto 180
StackMap locals:
StackMap stack:
113: 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 116
114: 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
115: goto 180
StackMap locals:
StackMap stack:
116: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-ext"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 119
117: aload 0
getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
aload 1
iinc 2 1
iload 2
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
118: goto 180
StackMap locals:
StackMap stack:
119: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-id"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 122
120: aload 0
getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
aload 1
iinc 2 1
iload 2
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
121: goto 180
StackMap locals:
StackMap stack:
122: 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 125
123: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
124: goto 180
StackMap locals:
StackMap stack:
125: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-infile"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 128
126: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
127: goto 180
StackMap locals:
StackMap stack:
128: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-outfile"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 131
129: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
130: goto 180
StackMap locals:
StackMap stack:
131: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-sslserver"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 134
132: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
133: goto 180
StackMap locals:
StackMap stack:
134: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-jarfile"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 137
135: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
136: goto 180
StackMap locals:
StackMap stack:
137: 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 140
138: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
139: goto 180
StackMap locals:
StackMap stack:
140: 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 142
141: 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 156
142: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
ifnonnull 144
143: 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;
144: StackMap locals:
StackMap stack:
aload 1
iinc 2 1
iload 2
aaload
astore 8
start local 8 145: aconst_null
astore 9
start local 9 146: aload 1
arraylength
iload 2
iconst_1
iadd
if_icmple 152
147: aload 1
iload 2
iconst_1
iadd
aaload
astore 4
148: 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 152
149: aload 1
arraylength
iload 2
iconst_2
iadd
if_icmpne 150
aload 0
aload 4
invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
150: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
iload 2
iconst_2
iadd
aaload
astore 9
151: iinc 2 2
152: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
153: aload 8
aload 9
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
154: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 155: goto 180
156: 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 159
157: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.verbose:Z
158: goto 180
StackMap locals:
StackMap stack:
159: 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 162
160: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.debug:Z
161: goto 180
StackMap locals:
StackMap stack:
162: 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 165
163: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.rfc:Z
164: goto 180
StackMap locals:
StackMap stack:
165: 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 168
166: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.noprompt:Z
167: goto 180
StackMap locals:
StackMap stack:
168: 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 171
169: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.trustcacerts:Z
170: goto 180
StackMap locals:
StackMap stack:
171: 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 173
172: 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 175
173: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.protectedPath:Z
174: goto 180
StackMap locals:
StackMap stack:
175: 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 178
176: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
177: goto 180
178: 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
179: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
end local 7 end local 6 end local 5 end local 4 180: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
181: iload 2
aload 1
arraylength
if_icmpge 182
aload 1
iload 2
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 5
182: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmpge 185
183: 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
184: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
185: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
ifnonnull 192
186: iload 3
ifeq 189
187: aload 0
invokevirtual sun.security.tools.keytool.Main.usage:()V
188: goto 195
189: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Usage.error.no.command.provided"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
190: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
191: goto 195
StackMap locals:
StackMap stack:
192: iload 3
ifeq 195
193: aload 0
invokevirtual sun.security.tools.keytool.Main.usage:()V
194: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
195: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 196 0 this Lsun/security/tools/keytool/Main;
0 196 1 args [Ljava/lang/String;
1 196 2 i I
4 196 3 help Z
6 180 4 flags Ljava/lang/String;
9 12 5 option Lsun/security/tools/keytool/Main$Option;
15 180 5 modifier Ljava/lang/String;
16 180 6 pos I
20 180 7 isCommand Z
22 26 8 c Lsun/security/tools/keytool/Main$Command;
145 155 8 providerClass Ljava/lang/String;
146 155 9 providerArg Ljava/lang/String;
MethodParameters:
Name Flags
args
boolean isKeyStoreRelated(sun.security.tools.keytool.Main$Command);
descriptor: (Lsun/security/tools/keytool/Main$Command;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic sun.security.tools.keytool.Main$Command.PRINTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 1
aload 1
getstatic sun.security.tools.keytool.Main$Command.PRINTCERTREQ:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/tools/keytool/Main;
0 2 1 cmd Lsun/security/tools/keytool/Main$Command;
MethodParameters:
Name Flags
cmd
void doCommands(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0000)
Code:
stack=7, locals=11, args_size=2
start local 0 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.ksfname:Ljava/lang/String;
ifnonnull 119
116: 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;
117: ldc ".keystore"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
118: putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
119: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 120: 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 126
121: aload 0
aload 0
invokevirtual sun.security.tools.keytool.Main.inplaceImportCheck:()Z
putfield sun.security.tools.keytool.Main.inplaceImport:Z
122: aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 126
123: aload 0
invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
astore 2
124: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 126
125: aload 0
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
putfield sun.security.tools.keytool.Main.storePass:[C
126: StackMap locals: java.security.KeyStore
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
invokevirtual sun.security.tools.keytool.Main.isKeyStoreRelated:(Lsun/security/tools/keytool/Main$Command;)Z
ifeq 148
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 148
aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifne 148
127: 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;
128: aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifeq 134
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual java.io.File.length:()J
lconst_0
lcmp
ifne 134
129: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
130: ldc "Keystore.file.exists.but.is.empty."
131: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
132: 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;
133: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
134: 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;
135: goto 148
StackMap locals:
StackMap stack: java.io.FileNotFoundException
136: pop
137: 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 148
138: 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 148
139: 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 148
140: 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 148
141: 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 148
142: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 148
143: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
144: ldc "Keystore.file.does.not.exist."
145: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
146: 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;
147: 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.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 149
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 155
149: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
ifnonnull 155
150: 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;
151: ldc ""
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 155
152: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
153: ldc "Must.specify.destination.alias"
154: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
155: 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 159
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 159
156: 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;
157: ldc ""
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 159
158: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Must.specify.alias"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
159: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
ifnonnull 162
160: 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;
161: goto 163
162: 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;
163: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 170
164: aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 167
165: 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
166: goto 168
167: StackMap locals:
StackMap stack:
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
168: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 170
169: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
170: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 173
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 173
171: 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
172: goto 241
StackMap locals:
StackMap stack:
173: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 178
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 178
174: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnonnull 241
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
arraylength
bipush 6
if_icmpge 241
175: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
176: ldc "Keystore.password.must.be.at.least.6.characters"
177: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
178: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 241
179: aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifne 226
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 226
180: 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 192
181: 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 192
182: 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 192
183: 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 192
184: 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 192
185: 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 192
186: 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 192
187: 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 192
188: 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 192
189: 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 192
190: 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 192
191: 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 226
192: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 193: 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 198
194: getstatic java.lang.System.err:Ljava/io/PrintStream;
195: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.destination.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
196: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
197: goto 201
198: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
199: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
200: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
201: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
202: 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
203: 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
204: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 209
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 205
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
arraylength
bipush 6
if_icmpge 209
205: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
206: ldc "Keystore.password.is.too.short.must.be.at.least.6.characters"
207: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
208: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
209: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 218
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 218
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnonnull 218
210: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Re.enter.new.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
211: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 4
start local 4 212: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
213: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 4
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 218
214: getstatic java.lang.System.err:Ljava/io/PrintStream;
215: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "They.don.t.match.Try.again"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
216: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
217: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
end local 4 218: StackMap locals:
StackMap stack:
iinc 3 1
219: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 221
iload 3
iconst_3
220: if_icmplt 193
221: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 234
222: getstatic java.lang.System.err:Ljava/io/PrintStream;
223: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Too.many.failures.try.later"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
224: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
225: return
end local 3 226: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifne 234
227: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 234
228: aload 0
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
invokevirtual sun.security.tools.keytool.Main.isKeyStoreRelated:(Lsun/security/tools/keytool/Main$Command;)Z
ifeq 234
229: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 234
230: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
231: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
232: 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
233: 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
234: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 237
235: 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
236: goto 241
StackMap locals:
StackMap stack:
237: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 241
238: 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;
239: 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
240: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
241: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 257
ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 257
242: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
243: ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
244: 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 245: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 249
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 249
246: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-keypass"
aastore
astore 4
start local 4 247: 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
248: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
putfield sun.security.tools.keytool.Main.keyPass:[C
end local 4 249: StackMap locals: java.text.MessageFormat
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnull 253
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 253
250: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-new"
aastore
astore 4
start local 4 251: 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
252: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
putfield sun.security.tools.keytool.Main.newPass:[C
end local 4 253: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 257
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 257
254: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-destkeypass"
aastore
astore 4
start local 4 255: 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
256: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
putfield sun.security.tools.keytool.Main.destKeyPass:[C
end local 4 end local 3 257: 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 259
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 259
258: 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 259
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
if_acmpne 260
259: 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;
260: 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.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 262
261: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.trustcacerts:Z
262: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 264
263: aload 0
invokestatic sun.security.tools.KeyStoreUtil.getCacertsKeyStore:()Ljava/security/KeyStore;
putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
264: 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 286
265: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 277
266: aconst_null
astore 3
aconst_null
astore 4
267: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
268: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
269: invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 270: 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 5
invokevirtual sun.security.tools.keytool.Main.doCertReq:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
271: aload 5
ifnull 278
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 278
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
272: astore 3
aload 5
ifnull 273
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
273: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
274: astore 4
aload 3
ifnonnull 275
aload 4
astore 3
goto 276
StackMap locals:
StackMap stack:
275: aload 3
aload 4
if_acmpeq 276
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
276: aload 3
athrow
277: 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.sigAlgName:Ljava/lang/String;
aload 1
invokevirtual sun.security.tools.keytool.Main.doCertReq:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
278: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 493
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 493
279: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
280: ldc "Certification.request.stored.in.file.filename."
281: 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 282: 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 283: 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
284: 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 285: goto 493
StackMap locals:
StackMap stack:
286: 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 290
287: 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
288: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
289: goto 493
StackMap locals:
StackMap stack:
290: 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 311
291: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 303
292: aconst_null
astore 3
aconst_null
astore 4
293: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
294: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
295: invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 296: aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 5
invokevirtual sun.security.tools.keytool.Main.doExportCert:(Ljava/lang/String;Ljava/io/PrintStream;)V
297: aload 5
ifnull 304
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 304
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
298: astore 3
aload 5
ifnull 299
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
299: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
300: astore 4
aload 3
ifnonnull 301
aload 4
astore 3
goto 302
StackMap locals:
StackMap stack:
301: aload 3
aload 4
if_acmpeq 302
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
302: aload 3
athrow
303: StackMap locals:
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
304: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 493
305: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
306: ldc "Certificate.stored.in.file.filename."
307: 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 308: 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 309: 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 310: goto 493
StackMap locals:
StackMap stack:
311: 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 317
312: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 314
313: aload 0
ldc "DSA"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
314: 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
315: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
316: goto 493
StackMap locals:
StackMap stack:
317: 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 323
318: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 320
319: aload 0
ldc "DES"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
320: 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
321: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
322: goto 493
StackMap locals:
StackMap stack:
323: 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 336
324: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 334
325: aconst_null
astore 3
aconst_null
astore 4
326: 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 5
start local 5 327: aload 0
aload 5
invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
328: aload 5
ifnull 493
aload 5
invokevirtual java.io.InputStream.close:()V
goto 493
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
329: astore 3
aload 5
ifnull 330
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
330: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
331: astore 4
aload 3
ifnonnull 332
aload 4
astore 3
goto 333
StackMap locals:
StackMap stack:
332: aload 3
aload 4
if_acmpeq 333
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
333: aload 3
athrow
334: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.System.in:Ljava/io/InputStream;
invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
335: goto 493
StackMap locals:
StackMap stack:
336: 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 379
337: getstatic java.lang.System.in:Ljava/io/InputStream;
astore 3
start local 3 338: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 340
339: 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 3
340: StackMap locals: java.io.InputStream
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 341
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
goto 342
StackMap locals:
StackMap stack:
341: ldc "mykey"
StackMap locals:
StackMap stack: java.lang.String
342: astore 4
start local 4 343: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
344: aload 4
ldc Ljava/security/KeyStore$PrivateKeyEntry;
345: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
346: ifeq 357
347: aload 0
aload 0
aload 4
aload 3
invokevirtual sun.security.tools.keytool.Main.installReply:(Ljava/lang/String;Ljava/io/InputStream;)Z
putfield sun.security.tools.keytool.Main.kssave:Z
348: aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 353
349: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
350: ldc "Certificate.reply.was.installed.in.keystore"
351: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
352: goto 376
353: StackMap locals: java.lang.String
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
354: ldc "Certificate.reply.was.not.installed.in.keystore"
355: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
356: goto 376
StackMap locals:
StackMap stack:
357: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 4
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 362
358: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 4
359: ldc Ljava/security/KeyStore$TrustedCertificateEntry;
360: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
361: ifeq 376
362: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 4
aload 3
invokevirtual sun.security.tools.keytool.Main.addTrustedCert:(Ljava/lang/String;Ljava/io/InputStream;)Z
putfield sun.security.tools.keytool.Main.kssave:Z
363: aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 368
364: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
365: ldc "Certificate.was.added.to.keystore"
366: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
367: goto 376
368: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
369: ldc "Certificate.was.not.added.to.keystore"
370: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
371: goto 376
StackMap locals:
StackMap stack: java.lang.Throwable
372: astore 5
373: aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 375
374: aload 3
invokevirtual java.io.InputStream.close:()V
375: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
athrow
376: StackMap locals:
StackMap stack:
aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 493
377: aload 3
invokevirtual java.io.InputStream.close:()V
end local 4 end local 3 378: goto 493
StackMap locals:
StackMap stack:
379: 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 385
380: aload 2
ifnonnull 382
381: aload 0
invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
astore 2
382: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.tools.keytool.Main.doImportKeyStore:(Ljava/security/KeyStore;)V
383: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
384: goto 493
StackMap locals:
StackMap stack:
385: 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 404
386: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.keyPassNew:[C
387: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 389
388: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
389: 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 395
390: new java.text.MessageFormat
dup
391: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.does.not.exist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
392: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 393: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aastore
astore 4
start local 4 394: 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 395: 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 401
396: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
397: ldc "Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key"
398: 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 399: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aastore
astore 4
start local 4 400: 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 401: 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
402: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
403: goto 493
StackMap locals:
StackMap stack:
404: 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 412
405: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 407
406: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
407: 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
408: 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 410
409: 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
410: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
411: goto 493
StackMap locals:
StackMap stack:
412: 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 417
413: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.keyPassNew:[C
414: 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
415: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
416: goto 493
StackMap locals:
StackMap stack:
417: 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 426
418: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 421
419: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 421
420: aload 0
invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
421: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 424
422: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
423: goto 493
424: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintEntries:(Ljava/io/PrintStream;)V
425: goto 493
StackMap locals:
StackMap stack:
426: 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 429
427: aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintCert:(Ljava/io/PrintStream;)V
428: goto 493
StackMap locals:
StackMap stack:
429: 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 433
430: 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
431: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
432: goto 493
StackMap locals:
StackMap stack:
433: 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 439
434: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.storePassNew:[C
435: aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
ifnonnull 437
436: 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
437: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
438: goto 493
StackMap locals:
StackMap stack:
439: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpne 462
440: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 442
441: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
442: StackMap locals:
StackMap stack:
getstatic java.lang.System.in:Ljava/io/InputStream;
astore 3
start local 3 443: aload 0
getfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
ifnull 445
444: new java.io.FileInputStream
dup
aload 0
getfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 3
445: StackMap locals: java.io.InputStream
StackMap stack:
aconst_null
astore 4
start local 4 446: aload 0
getfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
ifnull 449
447: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
aload 0
getfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 4
448: aload 4
astore 1
449: 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 3
aload 1
invokevirtual sun.security.tools.keytool.Main.doGenCert:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/PrintStream;)V
450: goto 457
StackMap locals:
StackMap stack: java.lang.Throwable
451: astore 5
452: aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 454
453: aload 3
invokevirtual java.io.InputStream.close:()V
454: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
ifnull 456
455: aload 4
invokevirtual java.io.PrintStream.close:()V
456: StackMap locals:
StackMap stack:
aload 5
athrow
457: StackMap locals:
StackMap stack:
aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 459
458: aload 3
invokevirtual java.io.InputStream.close:()V
459: StackMap locals:
StackMap stack:
aload 4
ifnull 493
460: aload 4
invokevirtual java.io.PrintStream.close:()V
end local 4 end local 3 461: goto 493
StackMap locals:
StackMap stack:
462: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENCRL:Lsun/security/tools/keytool/Main$Command;
if_acmpne 478
463: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 465
464: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
465: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 476
466: aconst_null
astore 3
aconst_null
astore 4
467: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
468: astore 5
start local 5 469: aload 0
aload 5
invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
470: aload 5
ifnull 493
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 493
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
471: astore 3
aload 5
ifnull 472
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
472: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
473: astore 4
aload 3
ifnonnull 474
aload 4
astore 3
goto 475
StackMap locals:
StackMap stack:
474: aload 3
aload 4
if_acmpeq 475
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
475: aload 3
athrow
476: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
477: goto 493
StackMap locals:
StackMap stack:
478: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.PRINTCERTREQ:Lsun/security/tools/keytool/Main$Command;
if_acmpne 491
479: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 489
480: aconst_null
astore 3
aconst_null
astore 4
481: 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 5
start local 5 482: aload 0
aload 5
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintCertReq:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
483: aload 5
ifnull 493
aload 5
invokevirtual java.io.InputStream.close:()V
goto 493
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
484: astore 3
aload 5
ifnull 485
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
485: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
486: astore 4
aload 3
ifnonnull 487
aload 4
astore 3
goto 488
StackMap locals:
StackMap stack:
487: aload 3
aload 4
if_acmpeq 488
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
488: aload 3
athrow
489: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.System.in:Ljava/io/InputStream;
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintCertReq:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
490: goto 493
StackMap locals:
StackMap stack:
491: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
if_acmpne 493
492: aload 0
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintCRL:(Ljava/lang/String;Ljava/io/PrintStream;)V
493: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 522
494: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 502
495: new java.text.MessageFormat
dup
496: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".Storing.ksfname."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
497: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 498: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 499
ldc "keystore"
goto 500
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int
499: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int java.lang.String
500: aastore
astore 4
start local 4 501: 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 502: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 505
503: 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
504: goto 522
505: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
ifnull 506
aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
goto 507
StackMap locals:
StackMap stack:
506: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
StackMap locals:
StackMap stack: char[]
507: astore 3
start local 3 508: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 511
509: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aconst_null
aload 3
invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
510: goto 522
511: StackMap locals: char[]
StackMap stack:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 4
start local 4 512: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 4
aload 3
invokevirtual java.security.KeyStore.store:(Ljava/io/OutputStream;[C)V
513: aconst_null
astore 5
aconst_null
astore 6
514: 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
astore 7
start local 7 515: aload 7
aload 4
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokevirtual java.io.FileOutputStream.write:([B)V
516: aload 7
ifnull 522
aload 7
invokevirtual java.io.FileOutputStream.close:()V
goto 522
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore char[] java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
517: astore 5
aload 7
ifnull 518
aload 7
invokevirtual java.io.FileOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
518: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
519: astore 6
aload 5
ifnonnull 520
aload 6
astore 5
goto 521
StackMap locals:
StackMap stack:
520: aload 5
aload 6
if_acmpeq 521
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
521: aload 5
athrow
end local 4 end local 3 522: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
invokevirtual sun.security.tools.keytool.Main.isKeyStoreRelated:(Lsun/security/tools/keytool/Main$Command;)Z
ifeq 559
523: aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 559
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 559
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnull 559
524: 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
astore 3
start local 3 525: aload 3
invokevirtual java.io.File.exists:()Z
ifeq 559
526: aload 0
aload 3
invokevirtual sun.security.tools.keytool.Main.keyStoreType:(Ljava/io/File;)Ljava/lang/String;
astore 4
start local 4 527: aload 4
ldc "JKS"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 529
528: aload 4
ldc "JCEKS"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 544
529: StackMap locals: java.io.File java.lang.String
StackMap stack:
iconst_1
istore 5
start local 5 530: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
invokestatic java.util.Collections.list:(Ljava/util/Enumeration;)Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 7
goto 538
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File java.lang.String int top java.util.Iterator
StackMap stack:
531: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 532: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
533: aload 6
ldc Ljava/security/KeyStore$TrustedCertificateEntry;
534: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
535: ifne 538
536: iconst_0
istore 5
537: goto 539
end local 6 538: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 531
539: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File java.lang.String int
StackMap stack:
iload 5
ifne 544
540: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
541: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "jks.storetype.warning"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
542: aload 4
aastore
dup
iconst_1
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
aastore
543: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 544: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 559
545: aload 0
new java.io.File
dup
aload 0
getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.tools.keytool.Main.keyStoreType:(Ljava/io/File;)Ljava/lang/String;
546: astore 5
start local 5 547: aload 4
aload 5
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 549
548: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "backup.keystore.warning"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
goto 550
549: StackMap locals: java.lang.String
StackMap stack:
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "migrate.keystore.warning"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
550: StackMap locals:
StackMap stack: java.lang.String
astore 6
start local 6 551: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
552: aload 6
iconst_4
anewarray java.lang.Object
dup
iconst_0
553: aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
aastore
dup
iconst_1
554: aload 5
aastore
dup
iconst_2
555: aload 0
getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
aastore
dup
iconst_3
556: aload 4
aastore
557: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
558: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 end local 4 end local 3 559: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 560 0 this Lsun/security/tools/keytool/Main;
0 560 1 out Ljava/io/PrintStream;
66 98 2 cl Ljava/lang/ClassLoader;
68 75 3 path Ljava/lang/String;
74 75 4 urls [Ljava/net/URL;
79 97 3 provider Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;
80 97 5 provName Ljava/lang/String;
82 83 6 provClass Ljava/lang/Class<*>;
84 97 6 provClass Ljava/lang/Class<*>;
85 97 7 provArg Ljava/lang/String;
87 88 8 obj Ljava/lang/Object;
90 97 8 obj Ljava/lang/Object;
89 90 9 c Ljava/lang/reflect/Constructor<*>;
94 96 9 form Ljava/text/MessageFormat;
95 96 10 source [Ljava/lang/Object;
120 560 2 srcKeyStore Ljava/security/KeyStore;
193 226 3 count I
212 218 4 storePassAgain [C
245 257 3 form Ljava/text/MessageFormat;
247 249 4 source [Ljava/lang/Object;
251 253 4 source [Ljava/lang/Object;
255 257 4 source [Ljava/lang/Object;
270 273 5 ps Ljava/io/PrintStream;
282 285 3 form Ljava/text/MessageFormat;
283 285 4 source [Ljava/lang/Object;
296 299 5 ps Ljava/io/PrintStream;
308 310 3 form Ljava/text/MessageFormat;
309 310 4 source [Ljava/lang/Object;
327 330 5 inStream Ljava/io/InputStream;
338 378 3 inStream Ljava/io/InputStream;
343 378 4 importAlias Ljava/lang/String;
393 395 3 form Ljava/text/MessageFormat;
394 395 4 source [Ljava/lang/Object;
399 401 3 form Ljava/text/MessageFormat;
400 401 4 source [Ljava/lang/Object;
443 461 3 inStream Ljava/io/InputStream;
446 461 4 ps Ljava/io/PrintStream;
469 472 5 ps Ljava/io/PrintStream;
482 485 5 inStream Ljava/io/InputStream;
498 502 3 form Ljava/text/MessageFormat;
501 502 4 source [Ljava/lang/Object;
508 522 3 pass [C
512 522 4 bout Ljava/io/ByteArrayOutputStream;
515 518 7 fout Ljava/io/FileOutputStream;
525 559 3 f Ljava/io/File;
527 559 4 realType Ljava/lang/String;
530 544 5 allCerts Z
532 538 6 a Ljava/lang/String;
547 559 5 realSourceStoreType Ljava/lang/String;
551 559 6 format Ljava/lang/String;
Exception table:
from to target type
127 135 136 Class java.io.FileNotFoundException
270 271 272 any
267 274 274 any
296 297 298 any
293 300 300 any
327 328 329 any
326 331 331 any
343 372 372 any
449 451 451 any
469 470 471 any
467 473 473 any
482 483 484 any
481 486 486 any
515 516 517 any
514 519 519 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out
private java.lang.String keyStoreType(java.io.File);
descriptor: (Ljava/io/File;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: ldc -17957139
istore 2
start local 2 1: ldc -825307442
istore 3
start local 3 2: aconst_null
astore 4
aconst_null
astore 5
3: new java.io.DataInputStream
dup
4: new java.io.FileInputStream
dup
aload 1
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
5: invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 6
start local 6 6: aload 6
invokevirtual java.io.DataInputStream.readInt:()I
istore 7
start local 7 7: iload 7
iload 2
if_icmpne 10
8: aload 6
ifnull 9
aload 6
invokevirtual java.io.DataInputStream.close:()V
9: StackMap locals: sun.security.tools.keytool.Main java.io.File int int java.lang.Throwable java.lang.Throwable java.io.DataInputStream int
StackMap stack:
ldc "JKS"
areturn
10: StackMap locals:
StackMap stack:
iload 7
iload 3
if_icmpne 13
11: aload 6
ifnull 12
aload 6
invokevirtual java.io.DataInputStream.close:()V
12: StackMap locals:
StackMap stack:
ldc "JCEKS"
areturn
13: StackMap locals:
StackMap stack:
aload 6
ifnull 14
aload 6
invokevirtual java.io.DataInputStream.close:()V
14: StackMap locals:
StackMap stack:
ldc "Non JKS/JCEKS"
areturn
end local 7 StackMap locals: sun.security.tools.keytool.Main java.io.File int int java.lang.Throwable java.lang.Throwable java.io.DataInputStream
StackMap stack: java.lang.Throwable
15: astore 4
16: aload 6
ifnull 17
aload 6
invokevirtual java.io.DataInputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
17: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 5
aload 4
ifnonnull 19
aload 5
astore 4
goto 20
StackMap locals:
StackMap stack:
19: aload 4
aload 5
if_acmpeq 20
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
20: aload 4
athrow
end local 3 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 f Ljava/io/File;
1 21 2 MAGIC I
2 21 3 JCEKS_MAGIC I
6 17 6 dis Ljava/io/DataInputStream;
7 15 7 xMagic I
Exception table:
from to target type
6 8 15 any
10 11 15 any
3 9 18 any
10 12 18 any
13 14 18 any
15 18 18 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
f
private void doGenCert(java.lang.String, java.lang.String, java.io.InputStream, java.io.PrintStream);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=30, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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 5
start local 5 4: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
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:
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
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 6
start local 6 8: new sun.security.x509.X509CertImpl
dup
aload 6
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
astore 7
start local 7 9: aload 7
10: ldc "x509.info"
11: invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.X509CertInfo
astore 8
start local 8 12: aload 8
ldc "subject.dname"
invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.X500Name
astore 9
start local 9 13: 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 14: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 11
start local 11 15: 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
16: new sun.security.x509.CertificateValidity
dup
aload 10
17: aload 11
18: invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
astore 12
start local 12 19: 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)Lsun/security/tools/keytool/Pair;
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.security.PrivateKey
20: astore 13
start local 13 21: aload 2
ifnonnull 23
22: aload 13
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
astore 2
23: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey
StackMap stack:
aload 2
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 14
start local 14 24: aload 14
aload 13
invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
25: new sun.security.x509.X509CertInfo
dup
invokespecial sun.security.x509.X509CertInfo.<init>:()V
astore 15
start local 15 26: aload 15
ldc "validity"
aload 12
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
27: aload 15
ldc "serialNumber"
new sun.security.x509.CertificateSerialNumber
dup
28: new java.util.Random
dup
invokespecial java.util.Random.<init>:()V
invokevirtual java.util.Random.nextInt:()I
ldc 2147483647
iand
invokespecial sun.security.x509.CertificateSerialNumber.<init>:(I)V
29: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
30: aload 15
ldc "version"
31: new sun.security.x509.CertificateVersion
dup
iconst_2
invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
32: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
33: aload 15
ldc "algorithmID"
34: new sun.security.x509.CertificateAlgorithmId
dup
35: aload 2
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
36: invokespecial sun.security.x509.CertificateAlgorithmId.<init>:(Lsun/security/x509/AlgorithmId;)V
37: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
38: aload 15
ldc "issuer"
new sun.security.x509.CertificateIssuerName
dup
aload 9
invokespecial sun.security.x509.CertificateIssuerName.<init>:(Lsun/security/x509/X500Name;)V
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
39: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 3
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 16
start local 16 40: iconst_0
istore 17
start local 17 41: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 18
start local 18 42: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature sun.security.x509.X509CertInfo java.io.BufferedReader int java.lang.StringBuffer
StackMap stack:
aload 16
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 19
start local 19 43: aload 19
ifnonnull 44
goto 52
44: StackMap locals: java.lang.String
StackMap stack:
aload 19
ldc "-----BEGIN"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 47
aload 19
ldc "REQUEST"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iflt 47
45: iconst_1
istore 17
46: goto 42
StackMap locals:
StackMap stack:
47: aload 19
ldc "-----END"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 49
aload 19
ldc "REQUEST"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iflt 49
48: goto 52
49: StackMap locals:
StackMap stack:
iload 17
ifeq 42
50: aload 18
aload 19
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 19 51: goto 42
52: StackMap locals:
StackMap stack:
new sun.misc.BASE64Decoder
dup
invokespecial sun.misc.BASE64Decoder.<init>:()V
new java.lang.String
dup
aload 18
invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
invokevirtual sun.misc.BASE64Decoder.decodeBuffer:(Ljava/lang/String;)[B
astore 19
start local 19 53: new sun.security.pkcs10.PKCS10
dup
aload 19
invokespecial sun.security.pkcs10.PKCS10.<init>:([B)V
astore 20
start local 20 54: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.certificate.request"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 20
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
55: aload 15
ldc "key"
new sun.security.x509.CertificateX509Key
dup
aload 20
invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
invokespecial sun.security.x509.CertificateX509Key.<init>:(Ljava/security/PublicKey;)V
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
56: aload 15
ldc "subject"
57: new sun.security.x509.CertificateSubjectName
dup
58: aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
ifnonnull 59
aload 20
invokevirtual sun.security.pkcs10.PKCS10.getSubjectName:()Lsun/security/x509/X500Name;
goto 60
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature sun.security.x509.X509CertInfo java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
StackMap stack: sun.security.x509.X509CertInfo java.lang.String new 57 new 57
59: new sun.security.x509.X500Name
dup
aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature sun.security.x509.X509CertInfo java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
StackMap stack: sun.security.x509.X509CertInfo java.lang.String new 57 new 57 sun.security.x509.X500Name
60: invokespecial sun.security.x509.CertificateSubjectName.<init>:(Lsun/security/x509/X500Name;)V
61: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
62: aconst_null
astore 21
start local 21 63: aload 20
invokevirtual sun.security.pkcs10.PKCS10.getAttributes:()Lsun/security/pkcs10/PKCS10Attributes;
invokevirtual sun.security.pkcs10.PKCS10Attributes.getAttributes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 22
start local 22 64: goto 68
65: StackMap locals: sun.security.x509.CertificateExtensions java.util.Iterator
StackMap stack:
aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.pkcs10.PKCS10Attribute
astore 23
start local 23 66: aload 23
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
getstatic sun.security.pkcs.PKCS9Attribute.EXTENSION_REQUEST_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 68
67: aload 23
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
checkcast sun.security.x509.CertificateExtensions
astore 21
end local 23 68: StackMap locals:
StackMap stack:
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 65
69: aload 0
70: aload 21
71: aconst_null
72: aload 0
getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
73: aload 20
invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
74: aload 5
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
75: invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
astore 23
start local 23 76: aload 15
ldc "extensions"
aload 23
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
77: new sun.security.x509.X509CertImpl
dup
aload 15
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
astore 24
start local 24 78: aload 24
aload 13
aload 2
invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
79: aload 0
aload 24
aload 4
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
80: 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;
dup
astore 28
arraylength
istore 27
iconst_0
istore 26
goto 87
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature sun.security.x509.X509CertInfo java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10 sun.security.x509.CertificateExtensions java.util.Iterator sun.security.x509.CertificateExtensions sun.security.x509.X509CertImpl top int int java.security.cert.Certificate[]
StackMap stack:
81: aload 28
iload 26
aaload
astore 25
start local 25 82: aload 25
instanceof java.security.cert.X509Certificate
ifeq 86
83: aload 25
checkcast java.security.cert.X509Certificate
astore 29
start local 29 84: aload 29
invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
ifne 86
85: aload 0
aload 29
aload 4
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
end local 29 end local 25 86: StackMap locals:
StackMap stack:
iinc 26 1
StackMap locals:
StackMap stack:
87: iload 26
iload 27
if_icmplt 81
88: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.issuer"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;[Ljava/security/cert/Certificate;)V
89: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.generated.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 24
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
90: return
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 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 91 0 this Lsun/security/tools/keytool/Main;
0 91 1 alias Ljava/lang/String;
0 91 2 sigAlgName Ljava/lang/String;
0 91 3 in Ljava/io/InputStream;
0 91 4 out Ljava/io/PrintStream;
4 6 5 form Ljava/text/MessageFormat;
5 6 6 source [Ljava/lang/Object;
7 91 5 signerCert Ljava/security/cert/Certificate;
8 91 6 encoded [B
9 91 7 signerCertImpl Lsun/security/x509/X509CertImpl;
12 91 8 signerCertInfo Lsun/security/x509/X509CertInfo;
13 91 9 issuer Lsun/security/x509/X500Name;
14 91 10 firstDate Ljava/util/Date;
15 91 11 lastDate Ljava/util/Date;
19 91 12 interval Lsun/security/x509/CertificateValidity;
21 91 13 privateKey Ljava/security/PrivateKey;
24 91 14 signature Ljava/security/Signature;
26 91 15 info Lsun/security/x509/X509CertInfo;
40 91 16 reader Ljava/io/BufferedReader;
41 91 17 canRead Z
42 91 18 sb Ljava/lang/StringBuffer;
43 51 19 s Ljava/lang/String;
53 91 19 rawReq [B
54 91 20 req Lsun/security/pkcs10/PKCS10;
63 91 21 reqex Lsun/security/x509/CertificateExtensions;
64 91 22 attrs Ljava/util/Iterator<Lsun/security/pkcs10/PKCS10Attribute;>;
66 68 23 attr Lsun/security/pkcs10/PKCS10Attribute;
76 91 23 ext Lsun/security/x509/CertificateExtensions;
78 91 24 cert Lsun/security/x509/X509CertImpl;
82 86 25 ca Ljava/security/cert/Certificate;
84 86 29 xca Ljava/security/cert/X509Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
sigAlgName
in
out
private void doGenCRL(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=15, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
ifnonnull 2
1: new java.lang.Exception
dup
ldc "Must provide -id when -gencrl"
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 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 2
start local 2 3: aload 2
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 3
start local 3 4: new sun.security.x509.X509CertImpl
dup
aload 3
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
astore 4
start local 4 5: aload 4
6: ldc "x509.info"
7: invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.X509CertInfo
astore 5
start local 5 8: aload 5
ldc "subject.dname"
invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.X500Name
astore 6
start local 6 9: 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 7
start local 7 10: aload 7
invokevirtual java.util.Date.clone:()Ljava/lang/Object;
checkcast java.util.Date
astore 8
start local 8 11: aload 8
aload 8
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
12: new sun.security.x509.CertificateValidity
aload 7
13: aload 8
14: invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
15: aload 0
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
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)Lsun/security/tools/keytool/Pair;
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.security.PrivateKey
16: astore 9
start local 9 17: aload 0
getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
ifnonnull 19
18: aload 0
aload 9
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
19: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date java.security.PrivateKey
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray java.security.cert.X509CRLEntry
astore 10
start local 10 20: iconst_0
istore 11
start local 11 21: goto 33
22: StackMap locals: java.security.cert.X509CRLEntry[] int
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
iload 11
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 23: aload 12
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 13
start local 13 24: iload 13
iflt 31
25: new sun.security.x509.CRLExtensions
dup
invokespecial sun.security.x509.CRLExtensions.<init>:()V
astore 14
start local 14 26: aload 14
ldc "Reason"
new sun.security.x509.CRLReasonCodeExtension
dup
aload 12
iload 13
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
invokespecial sun.security.x509.CRLReasonCodeExtension.<init>:(I)V
invokevirtual sun.security.x509.CRLExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
27: aload 10
iload 11
new sun.security.x509.X509CRLEntryImpl
dup
new java.math.BigInteger
dup
aload 12
iconst_0
iload 13
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
28: aload 7
aload 14
invokespecial sun.security.x509.X509CRLEntryImpl.<init>:(Ljava/math/BigInteger;Ljava/util/Date;Lsun/security/x509/CRLExtensions;)V
29: aastore
end local 14 30: goto 32
31: StackMap locals: java.lang.String int
StackMap stack:
aload 10
iload 11
new sun.security.x509.X509CRLEntryImpl
dup
new java.math.BigInteger
dup
aload 0
getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
iload 11
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
aload 7
invokespecial sun.security.x509.X509CRLEntryImpl.<init>:(Ljava/math/BigInteger;Ljava/util/Date;)V
aastore
end local 13 end local 12 32: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
33: iload 11
aload 0
getfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 22
end local 11 34: new sun.security.x509.X509CRLImpl
dup
aload 6
aload 7
aload 8
aload 10
invokespecial sun.security.x509.X509CRLImpl.<init>:(Lsun/security/x509/X500Name;Ljava/util/Date;Ljava/util/Date;[Ljava/security/cert/X509CRLEntry;)V
astore 11
start local 11 35: aload 11
aload 9
aload 0
getfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
invokevirtual sun.security.x509.X509CRLImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
36: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 41
37: aload 1
ldc "-----BEGIN X509 CRL-----"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
38: new sun.misc.BASE64Encoder
dup
invokespecial sun.misc.BASE64Encoder.<init>:()V
aload 11
invokevirtual sun.security.x509.X509CRLImpl.getEncodedInternal:()[B
aload 1
invokevirtual sun.misc.BASE64Encoder.encodeBuffer:([BLjava/io/OutputStream;)V
39: aload 1
ldc "-----END X509 CRL-----"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
40: goto 42
41: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date java.security.PrivateKey java.security.cert.X509CRLEntry[] sun.security.x509.X509CRLImpl
StackMap stack:
aload 1
aload 11
invokevirtual sun.security.x509.X509CRLImpl.getEncodedInternal:()[B
invokevirtual java.io.PrintStream.write:([B)V
42: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.generated.crl"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 11
aload 9
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/CRL;Ljava/security/Key;)V
43: return
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 44 0 this Lsun/security/tools/keytool/Main;
0 44 1 out Ljava/io/PrintStream;
3 44 2 signerCert Ljava/security/cert/Certificate;
4 44 3 encoded [B
5 44 4 signerCertImpl Lsun/security/x509/X509CertImpl;
8 44 5 signerCertInfo Lsun/security/x509/X509CertInfo;
9 44 6 owner Lsun/security/x509/X500Name;
10 44 7 firstDate Ljava/util/Date;
11 44 8 lastDate Ljava/util/Date;
17 44 9 privateKey Ljava/security/PrivateKey;
20 44 10 badCerts [Ljava/security/cert/X509CRLEntry;
21 34 11 i I
23 32 12 id Ljava/lang/String;
24 32 13 d I
26 30 14 ext Lsun/security/x509/CRLExtensions;
35 44 11 crl Lsun/security/x509/X509CRLImpl;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out
private void doCertReq(java.lang.String, java.lang.String, java.io.PrintStream);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=4
start local 0 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)Lsun/security/tools/keytool/Pair;
astore 4
start local 4 3: aload 4
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
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
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast char[]
putfield sun.security.tools.keytool.Main.keyPass:[C
6: StackMap locals: sun.security.tools.keytool.Pair 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 0
aconst_null
aconst_null
aload 0
getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
aload 6
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
aconst_null
invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
astore 8
start local 8 15: aload 7
invokevirtual sun.security.pkcs10.PKCS10.getAttributes:()Lsun/security/pkcs10/PKCS10Attributes;
ldc "extensions"
16: new sun.security.pkcs10.PKCS10Attribute
dup
getstatic sun.security.pkcs.PKCS9Attribute.EXTENSION_REQUEST_OID:Lsun/security/util/ObjectIdentifier;
aload 8
invokespecial sun.security.pkcs10.PKCS10Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
17: invokevirtual sun.security.pkcs10.PKCS10Attributes.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
18: aload 2
ifnonnull 20
19: aload 5
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
astore 2
20: StackMap locals: sun.security.pkcs10.PKCS10 sun.security.x509.CertificateExtensions
StackMap stack:
aload 2
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 9
start local 9 21: aload 9
aload 5
invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
22: aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
ifnonnull 24
23: 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
goto 25
24: StackMap locals: java.security.Signature
StackMap stack:
new sun.security.x509.X500Name
dup
aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack: sun.security.x509.X500Name
astore 10
start local 10 26: aload 7
aload 10
aload 9
invokevirtual sun.security.pkcs10.PKCS10.encodeAndSign:(Lsun/security/x509/X500Name;Ljava/security/Signature;)V
27: aload 7
aload 3
invokevirtual sun.security.pkcs10.PKCS10.print:(Ljava/io/PrintStream;)V
28: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.generated.certificate.request"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 7
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
29: 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 30 0 this Lsun/security/tools/keytool/Main;
0 30 1 alias Ljava/lang/String;
0 30 2 sigAlgName Ljava/lang/String;
0 30 3 out Ljava/io/PrintStream;
3 30 4 objs Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
4 30 5 privKey Ljava/security/PrivateKey;
7 30 6 cert Ljava/security/cert/Certificate;
11 13 7 form Ljava/text/MessageFormat;
12 13 8 source [Ljava/lang/Object;
14 30 7 request Lsun/security/pkcs10/PKCS10;
15 30 8 ext Lsun/security/x509/CertificateExtensions;
21 30 9 signature Ljava/security/Signature;
26 30 10 subject Lsun/security/x509/X500Name;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
sigAlgName
out
private void doDeleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 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.printNoIntegrityWarning:()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: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
20: return
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 alias Ljava/lang/String;
0 21 2 out Ljava/io/PrintStream;
9 11 3 form Ljava/text/MessageFormat;
10 11 4 source [Ljava/lang/Object;
12 21 3 cert Ljava/security/cert/X509Certificate;
16 18 4 form Ljava/text/MessageFormat;
17 18 5 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
out
private char[] promptForKeyPass(java.lang.String, java.lang.String, char[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;[C)[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 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
aload 0
getfield sun.security.tools.keytool.Main.protectedPath: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 static java.lang.String getCompatibleSigAlgName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: ldc "DSA"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 2
1: ldc "SHA256WithDSA"
areturn
2: StackMap locals:
StackMap stack:
ldc "RSA"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 4
3: ldc "SHA256WithRSA"
areturn
4: StackMap locals:
StackMap stack:
ldc "EC"
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 6
5: ldc "SHA256withECDSA"
areturn
6: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
7: ldc "Cannot.derive.signature.algorithm"
8: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 keyAlgName Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
keyAlgName
private void doGenKeyPair(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=13, args_size=6
start local 0 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 19
18: aload 3
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
astore 5
19: 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
20: astore 6
start local 6 21: aload 2
ifnonnull 24
22: aload 0
invokevirtual sun.security.tools.keytool.Main.getX500Name:()Lsun/security/x509/X500Name;
astore 7
start local 7 23: goto 25
end local 7 24: 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 25: StackMap locals: sun.security.x509.X500Name
StackMap stack:
aload 6
iload 4
invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(I)V
26: aload 6
invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPrivateKey:()Ljava/security/PrivateKey;
astore 8
start local 8 27: aload 0
28: aconst_null
29: aconst_null
30: aload 0
getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
31: aload 6
invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPublicKeyAnyway:()Ljava/security/PublicKey;
32: aconst_null
33: invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
astore 9
start local 9 34: iconst_1
anewarray java.security.cert.X509Certificate
astore 10
start local 10 35: aload 10
iconst_0
aload 6
36: 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
aload 9
37: invokevirtual sun.security.tools.keytool.CertAndKeyGen.getSelfCertificate:(Lsun/security/x509/X500Name;Ljava/util/Date;JLsun/security/x509/CertificateExtensions;)Ljava/security/cert/X509Certificate;
aastore
38: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 49
39: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
40: ldc "Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for"
41: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 11
start local 11 42: 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
43: aload 8
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
aastore
dup
iconst_2
44: aload 10
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
aastore
dup
iconst_3
45: 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
46: aload 7
aastore
47: astore 12
start local 12 48: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 11
aload 12
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 12 end local 11 49: StackMap locals: java.security.PrivateKey sun.security.x509.CertificateExtensions java.security.cert.X509Certificate[]
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 51
50: 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
51: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.generated.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 10
iconst_0
aaload
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
52: 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 10
invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
53: 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 54 0 this Lsun/security/tools/keytool/Main;
0 54 1 alias Ljava/lang/String;
0 54 2 dname Ljava/lang/String;
0 54 3 keyAlgName Ljava/lang/String;
0 54 4 keysize I
0 54 5 sigAlgName Ljava/lang/String;
15 17 6 form Ljava/text/MessageFormat;
16 17 7 source [Ljava/lang/Object;
21 54 6 keypair Lsun/security/tools/keytool/CertAndKeyGen;
23 24 7 x500Name Lsun/security/x509/X500Name;
25 54 7 x500Name Lsun/security/x509/X500Name;
27 54 8 privKey Ljava/security/PrivateKey;
34 54 9 ext Lsun/security/x509/CertificateExtensions;
35 54 10 chain [Ljava/security/cert/X509Certificate;
42 49 11 form Ljava/text/MessageFormat;
48 49 12 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
dname
keyAlgName
keysize
sigAlgName
private void doCloneEntry(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=4
start local 0 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)Lsun/security/tools/keytool/Pair;
astore 4
start local 4 9: aload 4
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.security.KeyStore$Entry
astore 5
start local 5 10: aload 0
aload 4
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
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: sun.security.tools.keytool.Pair 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 Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
10 21 5 entry Ljava/security/KeyStore$Entry;
12 21 6 pp Ljava/security/KeyStore$PasswordProtection;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
orig
dest
changePassword
private void doChangeKeyPasswd(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 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)Lsun/security/tools/keytool/Pair;
astore 2
start local 2 3: aload 2
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
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
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast char[]
putfield sun.security.tools.keytool.Main.keyPass:[C
6: StackMap locals: sun.security.tools.keytool.Pair 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 Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
4 16 3 privKey Ljava/security/Key;
10 12 4 form Ljava/text/MessageFormat;
11 12 5 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
private void doImportIdentityDatabase(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
1: ldc "No.entries.from.identity.database.added"
2: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/tools/keytool/Main;
0 4 1 in Ljava/io/InputStream;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
in
private void doPrintEntry(java.lang.String, java.lang.String, java.io.PrintStream);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
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 4
start local 4 4: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 5
start local 5 5: 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 6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 7
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifne 7
aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 19
7: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
8: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.name.alias"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
9: 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 2
aastore
astore 5
start local 5 11: aload 3
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 31
13: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
14: ldc "Creation.date.keyStore.getCreationDate.alias."
15: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
16: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
invokevirtual java.security.KeyStore.getCreationDate:(Ljava/lang/String;)Ljava/util/Date;
aastore
astore 6
start local 6 17: aload 3
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 18: goto 31
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 26
20: new java.text.MessageFormat
dup
21: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "alias.keyStore.getCreationDate.alias."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
22: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 23: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
invokevirtual java.security.KeyStore.getCreationDate:(Ljava/lang/String;)Ljava/util/Date;
aastore
astore 5
start local 5 24: aload 3
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 25: goto 31
26: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
27: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "alias."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
28: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 29: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 5
start local 5 30: aload 3
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 31: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
ldc Ljava/security/KeyStore$SecretKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifeq 40
32: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 33
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifne 33
aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 38
33: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "SecretKeyEntry"
aastore
astore 4
start local 4 34: aload 3
new java.text.MessageFormat
dup
35: 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;
36: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 37: goto 110
38: StackMap locals:
StackMap stack:
aload 3
ldc "SecretKeyEntry, "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: goto 110
StackMap locals:
StackMap stack:
40: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
ldc Ljava/security/KeyStore$PrivateKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifeq 81
41: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 42
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifne 42
aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 47
42: StackMap locals:
StackMap stack:
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "PrivateKeyEntry"
aastore
astore 4
start local 4 43: aload 3
new java.text.MessageFormat
dup
44: 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;
45: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 46: goto 48
47: StackMap locals:
StackMap stack:
aload 3
ldc "PrivateKeyEntry, "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
48: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
invokevirtual java.security.KeyStore.getCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
astore 4
start local 4 49: aload 4
ifnull 110
50: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 51
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifne 51
aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 74
51: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
52: ldc "Certificate.chain.length."
53: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
54: aload 4
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
55: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
56: iconst_0
istore 5
start local 5 57: goto 72
58: StackMap locals: int
StackMap stack:
new java.text.MessageFormat
dup
59: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Certificate.i.1."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
60: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 6
start local 6 61: 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 62: aload 3
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
63: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 66
aload 4
iload 5
aaload
instanceof java.security.cert.X509Certificate
ifeq 66
64: aload 0
aload 4
iload 5
aaload
checkcast java.security.cert.X509Certificate
aload 3
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
65: goto 70
StackMap locals: java.text.MessageFormat java.lang.Object[]
StackMap stack:
66: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 69
67: aload 3
aload 4
iload 5
aaload
invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
68: goto 70
69: StackMap locals:
StackMap stack:
aload 0
aload 4
iload 5
aaload
aload 3
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
70: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
iload 5
aaload
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 7 end local 6 71: iinc 5 1
StackMap locals:
StackMap stack:
72: iload 5
aload 4
arraylength
if_icmplt 58
end local 5 73: goto 110
74: StackMap locals:
StackMap stack:
aload 3
75: new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Certificate.fingerprint.SHA1."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
76: 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;
77: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
78: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
79: aload 0
aload 1
aload 4
iconst_0
aaload
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 4 80: goto 110
StackMap locals:
StackMap stack:
81: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
82: ldc Ljava/security/KeyStore$TrustedCertificateEntry;
83: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
84: ifeq 109
85: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 4
start local 4 86: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "trustedCertEntry"
aastore
astore 5
start local 5 87: new java.lang.StringBuilder
dup
new java.text.MessageFormat
dup
88: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Entry.type.type."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
89: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
90: 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;
91: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 92: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 96
aload 4
instanceof java.security.cert.X509Certificate
ifeq 96
93: aload 3
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
94: aload 0
aload 4
checkcast java.security.cert.X509Certificate
aload 3
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
95: goto 107
StackMap locals: java.security.cert.Certificate java.lang.Object[] java.lang.String
StackMap stack:
96: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 100
97: aload 3
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
98: aload 0
aload 4
aload 3
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
99: goto 107
StackMap locals:
StackMap stack:
100: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 103
101: aload 3
aload 4
invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
102: goto 107
103: StackMap locals:
StackMap stack:
aload 3
ldc "trustedCertEntry, "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
104: aload 3
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Certificate.fingerprint.SHA1."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
105: 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;
106: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
107: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 6 end local 5 end local 4 108: goto 110
109: StackMap locals:
StackMap stack:
aload 3
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 label Ljava/lang/String;
0 111 2 alias Ljava/lang/String;
0 111 3 out Ljava/io/PrintStream;
4 6 4 form Ljava/text/MessageFormat;
5 6 5 source [Ljava/lang/Object;
10 18 4 form Ljava/text/MessageFormat;
11 18 5 source [Ljava/lang/Object;
17 18 6 src [Ljava/lang/Object;
23 25 4 form Ljava/text/MessageFormat;
24 25 5 source [Ljava/lang/Object;
29 31 4 form Ljava/text/MessageFormat;
30 31 5 source [Ljava/lang/Object;
34 37 4 source [Ljava/lang/Object;
43 46 4 source [Ljava/lang/Object;
49 80 4 chain [Ljava/security/cert/Certificate;
57 73 5 i I
61 71 6 form Ljava/text/MessageFormat;
62 71 7 source [Ljava/lang/Object;
86 108 4 cert Ljava/security/cert/Certificate;
87 108 5 source [Ljava/lang/Object;
92 108 6 mf Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
label
alias
out
boolean inplaceImportCheck();
descriptor: ()Z
flags: (0x0000)
Code:
stack=6, locals=2, args_size=1
start local 0 0: ldc "PKCS11"
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 2
1: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
ifnull 20
4: 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 1
start local 1 5: aload 1
invokevirtual java.io.File.exists:()Z
ifeq 11
aload 1
invokevirtual java.io.File.length:()J
lconst_0
lcmp
ifne 11
6: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
7: ldc "Source.keystore.file.exists.but.is.empty."
8: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: 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;
10: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: java.io.File
StackMap stack:
aload 1
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
12: 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
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
invokevirtual java.io.File.equals:(Ljava/lang/Object;)Z
ifeq 14
13: iconst_1
ireturn
14: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
15: ldc "importing.keystore.status"
16: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
17: aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
aastore
dup
iconst_1
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
aastore
18: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: iconst_0
ireturn
end local 1 20: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
21: ldc "Please.specify.srckeystore"
22: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/tools/keytool/Main;
5 20 1 srcksfile Ljava/io/File;
Exceptions:
throws java.lang.Exception
java.security.KeyStore loadSourceKeyStore();
descriptor: ()Ljava/security/KeyStore;
flags: (0x0000)
Code:
stack=6, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: ldc "PKCS11"
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 4
3: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 13
4: StackMap locals: java.io.InputStream java.io.File
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 15
5: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
6: ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
7: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
8: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
aastore
9: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)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: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
12: goto 15
13: StackMap locals:
StackMap stack:
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
14: new java.io.FileInputStream
dup
aload 2
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 1
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
ifnonnull 18
16: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 3
start local 3 17: goto 19
end local 3 18: 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 3
start local 3 19: StackMap locals: java.security.KeyStore
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 26
20: aload 0
getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
ifne 26
21: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 26
22: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.source.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
23: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
24: 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
25: 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
26: 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 35
27: aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnull 35
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnull 35
28: 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 35
29: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
30: ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
31: 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 32: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-srckeypass"
aastore
astore 5
start local 5 33: 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.println:(Ljava/lang/String;)V
34: aload 0
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
putfield sun.security.tools.keytool.Main.srckeyPass:[C
end local 5 end local 4 35: StackMap locals:
StackMap stack:
aload 3
aload 1
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
36: goto 41
end local 3 StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File
StackMap stack: java.lang.Throwable
37: astore 6
38: aload 1
ifnull 40
39: aload 1
invokevirtual java.io.InputStream.close:()V
40: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File top top top java.lang.Throwable
StackMap stack:
aload 6
athrow
start local 3 41: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File java.security.KeyStore
StackMap stack:
aload 1
ifnull 43
42: aload 1
invokevirtual java.io.InputStream.close:()V
43: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 56
44: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 56
45: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
46: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
47: ldc ".WARNING.WARNING.WARNING."
48: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
49: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
50: ldc ".The.integrity.of.the.information.stored.in.the.srckeystore."
51: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
52: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
53: ldc ".WARNING.WARNING.WARNING."
54: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
55: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
56: StackMap locals:
StackMap stack:
aload 3
areturn
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;
1 57 1 is Ljava/io/InputStream;
2 57 2 srcksfile Ljava/io/File;
17 18 3 store Ljava/security/KeyStore;
19 37 3 store Ljava/security/KeyStore;
41 57 3 store Ljava/security/KeyStore;
32 35 4 form Ljava/text/MessageFormat;
33 35 5 source [Ljava/lang/Object;
Exception table:
from to target type
15 37 37 any
Exceptions:
throws java.lang.Exception
private void doImportKeyStore(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 3
1: aload 0
aload 1
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 1
invokevirtual sun.security.tools.keytool.Main.doImportKeyStoreAll:(Ljava/security/KeyStore;)V
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 18
9: iconst_1
istore 2
start local 2 10: StackMap locals: int
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".old"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
iconst_1
if_icmpne 11
ldc ""
goto 12
StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore int
StackMap stack: sun.security.tools.keytool.Main java.lang.StringBuilder
11: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore int
StackMap stack: sun.security.tools.keytool.Main java.lang.StringBuilder java.io.Serializable
12: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
13: new java.io.File
dup
aload 0
getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 3
start local 3 14: aload 3
invokevirtual java.io.File.exists:()Z
ifne 17
15: aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
aload 3
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
iconst_0
anewarray java.nio.file.CopyOption
invokestatic java.nio.file.Files.copy:(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;
pop
16: goto 18
end local 3 17: StackMap locals:
StackMap stack:
iinc 2 1
goto 10
end local 2 18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/tools/keytool/Main;
0 19 1 srcKS Ljava/security/KeyStore;
10 18 2 n I
14 17 3 bkFile Ljava/io/File;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
srcKS
private int doImportKeyStoreSingle(java.security.KeyStore, java.lang.String);
descriptor: (Ljava/security/KeyStore;Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 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)Lsun/security/tools/keytool/Pair;
astore 4
start local 4 30: aload 4
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
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: sun.security.tools.keytool.Pair java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection
StackMap stack:
35: aload 4
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
ifnull 37
36: new java.security.KeyStore$PasswordProtection
dup
aload 4
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast char[]
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 6
37: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 7
start local 7 38: aload 7
ifnull 40
39: aload 0
new java.lang.StringBuilder
dup
ldc "<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
40: StackMap locals: java.security.cert.Certificate
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
41: iconst_1
ireturn
end local 7 42: StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection
StackMap stack: java.security.KeyStoreException
astore 7
start local 7 43: 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 44: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
45: ldc "Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported."
46: 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 47: 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
48: 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 49 0 this Lsun/security/tools/keytool/Main;
0 49 1 srckeystore Ljava/security/KeyStore;
0 49 2 alias Ljava/lang/String;
3 49 3 newAlias Ljava/lang/String;
5 29 4 source [Ljava/lang/Object;
17 29 5 reply Ljava/lang/String;
30 49 4 objs Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
31 49 5 entry Ljava/security/KeyStore$Entry;
32 49 6 pp Ljava/security/KeyStore$PasswordProtection;
38 42 7 c Ljava/security/cert/Certificate;
43 49 7 kse Ljava/security/KeyStoreException;
44 49 8 source2 [Ljava/lang/Object;
47 49 9 form Ljava/text/MessageFormat;
Exception table:
from to target type
37 41 42 Class java.security.KeyStoreException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
srckeystore
alias
private void doImportKeyStoreAll(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 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 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
1: 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
2: 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;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: aload 1
invokevirtual java.io.PrintStream.println:()V
5: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.size:()I
iconst_1
if_icmpne 10
6: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
7: ldc "Your.keystore.contains.keyStore.size.entry"
8: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
9: goto 13
10: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
11: ldc "Your.keystore.contains.keyStore.size.entries"
12: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack: java.text.MessageFormat
astore 2
start local 2 14: 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 15: 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
16: aload 1
invokevirtual java.io.PrintStream.println:()V
17: 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 18: goto 29
19: 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 20: aload 0
new java.lang.StringBuilder
dup
ldc "<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
21: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 22
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 29
22: 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
23: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
24: ldc "STAR"
25: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
27: ldc "STARNN"
28: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 29: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 19
end local 4 30: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/tools/keytool/Main;
0 31 1 out Ljava/io/PrintStream;
14 31 2 form Ljava/text/MessageFormat;
15 31 3 source [Ljava/lang/Object;
18 30 4 e Ljava/util/Enumeration<Ljava/lang/String;>;
20 29 5 alias Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out
private static <T> java.lang.Iterable<T> e2i(java.util.Enumeration<T>);
descriptor: (Ljava/util/Enumeration;)Ljava/lang/Iterable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.security.tools.keytool.Main$1
dup
aload 0
invokespecial sun.security.tools.keytool.Main$1.<init>:(Ljava/util/Enumeration;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/util/Enumeration<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Enumeration<TT;>;)Ljava/lang/Iterable<TT;>;
MethodParameters:
Name Flags
e final
public static java.util.Collection<? extends java.security.cert.CRL> loadCRLs(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aload 0
ifnonnull 5
3: getstatic java.lang.System.in:Ljava/io/InputStream;
astore 1
4: goto 16
5: StackMap locals: java.io.InputStream java.net.URI
StackMap stack:
new java.net.URI
dup
aload 0
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
astore 2
6: aload 2
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
ldc "ldap"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
7: aload 2
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
astore 1
8: goto 16
StackMap locals:
StackMap stack: java.lang.Exception
9: astore 3
start local 3 10: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 1
11: goto 16
StackMap locals: java.lang.String java.io.InputStream java.net.URI java.lang.Exception
StackMap stack: java.lang.Exception
12: astore 4
start local 4 13: aload 2
ifnull 14
aload 2
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
ifnonnull 15
14: StackMap locals: java.lang.Exception
StackMap stack:
aload 4
athrow
15: StackMap locals:
StackMap stack:
aload 3
athrow
end local 4 end local 3 16: StackMap locals:
StackMap stack:
aload 1
ifnull 33
17: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 18: sipush 4096
newarray 8
astore 4
start local 4 19: StackMap locals: java.io.ByteArrayOutputStream byte[]
StackMap stack:
aload 1
aload 4
invokevirtual java.io.InputStream.read:([B)I
istore 5
start local 5 20: iload 5
ifge 21
goto 23
21: StackMap locals: int
StackMap stack:
aload 3
aload 4
iconst_0
iload 5
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
end local 5 22: goto 19
23: StackMap locals:
StackMap stack:
ldc "X509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
24: new java.io.ByteArrayInputStream
dup
aload 3
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
25: invokevirtual java.security.cert.CertificateFactory.generateCRLs:(Ljava/io/InputStream;)Ljava/util/Collection;
astore 7
26: aload 1
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 28
27: aload 1
invokevirtual java.io.InputStream.close:()V
28: StackMap locals: java.lang.String java.io.InputStream java.net.URI java.io.ByteArrayOutputStream byte[] top top java.util.Collection
StackMap stack:
aload 7
areturn
end local 4 end local 3 29: StackMap locals: java.lang.String java.io.InputStream java.net.URI
StackMap stack: java.lang.Throwable
astore 6
30: aload 1
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 32
31: aload 1
invokevirtual java.io.InputStream.close:()V
32: StackMap locals: java.lang.String java.io.InputStream java.net.URI top top top java.lang.Throwable
StackMap stack:
aload 6
athrow
33: StackMap locals: java.lang.String java.io.InputStream java.net.URI
StackMap stack:
ldc "LDAP"
invokestatic sun.security.provider.certpath.CertStoreHelper.getInstance:(Ljava/lang/String;)Lsun/security/provider/certpath/CertStoreHelper;
astore 3
start local 3 34: aload 2
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
astore 4
start local 4 35: aload 4
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 36
aload 4
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
36: StackMap locals: sun.security.provider.certpath.CertStoreHelper java.lang.String
StackMap stack:
aload 3
aload 2
invokevirtual sun.security.provider.certpath.CertStoreHelper.getCertStore:(Ljava/net/URI;)Ljava/security/cert/CertStore;
astore 5
start local 5 37: aload 3
new java.security.cert.X509CRLSelector
dup
invokespecial java.security.cert.X509CRLSelector.<init>:()V
aconst_null
aload 4
invokevirtual sun.security.provider.certpath.CertStoreHelper.wrap:(Ljava/security/cert/X509CRLSelector;Ljava/util/Collection;Ljava/lang/String;)Ljava/security/cert/X509CRLSelector;
38: astore 6
start local 6 39: aload 5
aload 6
invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
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 40 0 src Ljava/lang/String;
1 40 1 in Ljava/io/InputStream;
2 40 2 uri Ljava/net/URI;
10 16 3 e Ljava/lang/Exception;
13 16 4 e2 Ljava/lang/Exception;
18 29 3 bout Ljava/io/ByteArrayOutputStream;
19 29 4 b [B
20 22 5 len I
34 40 3 helper Lsun/security/provider/certpath/CertStoreHelper;
35 40 4 path Ljava/lang/String;
37 40 5 s Ljava/security/cert/CertStore;
39 40 6 sel Ljava/security/cert/X509CRLSelector;
Exception table:
from to target type
5 8 9 Class java.lang.Exception
10 11 12 Class java.lang.Exception
17 26 29 any
Exceptions:
throws java.lang.Exception
Signature: (Ljava/lang/String;)Ljava/util/Collection<+Ljava/security/cert/CRL;>;
MethodParameters:
Name Flags
src
public static java.util.List<java.security.cert.CRL> readCRLsFromCert(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=12, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
invokestatic sun.security.x509.X509CertImpl.toImpl:(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
invokevirtual sun.security.x509.X509CertImpl.getCRLDistributionPointsExtension:()Lsun/security/x509/CRLDistributionPointsExtension;
2: astore 2
start local 2 3: aload 2
ifnonnull 4
aload 1
areturn
4: StackMap locals: java.util.List sun.security.x509.CRLDistributionPointsExtension
StackMap stack:
aload 2
ldc "points"
invokevirtual sun.security.x509.CRLDistributionPointsExtension.get:(Ljava/lang/String;)Ljava/util/List;
5: astore 3
start local 3 6: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 21
StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List top java.util.Iterator
StackMap stack:
7: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.DistributionPoint
astore 4
start local 4 8: aload 4
invokevirtual sun.security.x509.DistributionPoint.getFullName:()Lsun/security/x509/GeneralNames;
astore 6
start local 6 9: aload 6
ifnull 21
10: aload 6
invokevirtual sun.security.x509.GeneralNames.names:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 20
StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List sun.security.x509.DistributionPoint java.util.Iterator sun.security.x509.GeneralNames top java.util.Iterator
StackMap stack:
11: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.GeneralName
astore 7
start local 7 12: aload 7
invokevirtual sun.security.x509.GeneralName.getType:()I
bipush 6
if_icmpne 20
13: aload 7
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
checkcast sun.security.x509.URIName
astore 9
start local 9 14: aload 9
invokevirtual sun.security.x509.URIName.getName:()Ljava/lang/String;
invokestatic sun.security.tools.keytool.Main.loadCRLs:(Ljava/lang/String;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 18
StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List sun.security.x509.DistributionPoint java.util.Iterator sun.security.x509.GeneralNames sun.security.x509.GeneralName java.util.Iterator sun.security.x509.URIName top java.util.Iterator
StackMap stack:
15: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.CRL
astore 10
start local 10 16: aload 10
instanceof java.security.cert.X509CRL
ifeq 18
17: aload 1
aload 10
checkcast java.security.cert.X509CRL
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 18: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
19: goto 21
end local 9 end local 7 20: StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List sun.security.x509.DistributionPoint java.util.Iterator sun.security.x509.GeneralNames top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 6 end local 4 21: StackMap locals: java.security.cert.X509Certificate java.util.List sun.security.x509.CRLDistributionPointsExtension java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
22: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 cert Ljava/security/cert/X509Certificate;
1 23 1 crls Ljava/util/List<Ljava/security/cert/CRL;>;
3 23 2 ext Lsun/security/x509/CRLDistributionPointsExtension;
6 23 3 distPoints Ljava/util/List<Lsun/security/x509/DistributionPoint;>;
8 21 4 o Lsun/security/x509/DistributionPoint;
9 21 6 names Lsun/security/x509/GeneralNames;
12 20 7 name Lsun/security/x509/GeneralName;
14 20 9 uriName Lsun/security/x509/URIName;
16 18 10 crl Ljava/security/cert/CRL;
Exceptions:
throws java.lang.Exception
Signature: (Ljava/security/cert/X509Certificate;)Ljava/util/List<Ljava/security/cert/CRL;>;
MethodParameters:
Name Flags
cert
private static java.lang.String verifyCRL(java.security.KeyStore, java.security.cert.CRL);
descriptor: (Ljava/security/KeyStore;Ljava/security/cert/CRL;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 1
checkcast sun.security.x509.X509CRLImpl
astore 2
start local 2 1: aload 2
invokevirtual sun.security.x509.X509CRLImpl.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 3
start local 3 2: aload 0
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
invokestatic sun.security.tools.keytool.Main.e2i:(Ljava/util/Enumeration;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: java.security.KeyStore java.security.cert.CRL sun.security.x509.X509CRLImpl javax.security.auth.x500.X500Principal top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 0
aload 4
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 6
start local 6 5: aload 6
instanceof java.security.cert.X509Certificate
ifeq 12
6: aload 6
checkcast java.security.cert.X509Certificate
astore 7
start local 7 7: aload 7
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
aload 3
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifeq 12
8: aload 1
checkcast sun.security.x509.X509CRLImpl
aload 6
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual sun.security.x509.X509CRLImpl.verify:(Ljava/security/PublicKey;)V
9: aload 4
10: areturn
11: StackMap locals: java.security.KeyStore java.security.cert.CRL sun.security.x509.X509CRLImpl javax.security.auth.x500.X500Principal java.lang.String java.util.Iterator java.security.cert.Certificate java.security.cert.X509Certificate
StackMap stack: java.lang.Exception
pop
end local 7 end local 6 end local 4 12: StackMap locals: java.security.KeyStore java.security.cert.CRL sun.security.x509.X509CRLImpl javax.security.auth.x500.X500Principal top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
13: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 ks Ljava/security/KeyStore;
0 14 1 crl Ljava/security/cert/CRL;
1 14 2 xcrl Lsun/security/x509/X509CRLImpl;
2 14 3 issuer Ljavax/security/auth/x500/X500Principal;
4 12 4 s Ljava/lang/String;
5 12 6 cert Ljava/security/cert/Certificate;
7 12 7 xcert Ljava/security/cert/X509Certificate;
Exception table:
from to target type
8 10 11 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ks
crl
private void doPrintCRL(java.lang.String, java.io.PrintStream);
descriptor: (Ljava/lang/String;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic sun.security.tools.keytool.Main.loadCRLs:(Ljava/lang/String;)Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 42
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.CRL
astore 3
start local 3 2: aload 0
aload 3
aload 2
invokevirtual sun.security.tools.keytool.Main.printCRL:(Ljava/security/cert/CRL;Ljava/io/PrintStream;)V
3: aconst_null
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
ifnull 17
6: aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
aload 3
invokestatic sun.security.tools.keytool.Main.verifyCRL:(Ljava/security/KeyStore;Ljava/security/cert/CRL;)Ljava/lang/String;
astore 5
7: aload 5
ifnull 17
8: aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
aload 5
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 6
9: aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
10: ldc "verified.by.s.in.s.weak"
11: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
12: aload 5
aastore
dup
iconst_1
13: ldc "cacerts"
aastore
dup
iconst_2
14: aload 0
aload 6
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
aastore
15: invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
16: aload 2
invokevirtual java.io.PrintStream.println:()V
17: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream java.security.cert.CRL java.util.Iterator java.lang.String java.security.cert.Certificate
StackMap stack:
aload 5
ifnonnull 29
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
ifnull 29
18: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 3
invokestatic sun.security.tools.keytool.Main.verifyCRL:(Ljava/security/KeyStore;Ljava/security/cert/CRL;)Ljava/lang/String;
astore 5
19: aload 5
ifnull 29
20: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 5
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 6
21: aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
22: ldc "verified.by.s.in.s.weak"
23: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
24: aload 5
aastore
dup
iconst_1
25: ldc "keystore"
aastore
dup
iconst_2
26: aload 0
aload 6
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
aastore
27: invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
28: aload 2
invokevirtual java.io.PrintStream.println:()V
29: StackMap locals:
StackMap stack:
aload 5
ifnonnull 39
30: aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
31: ldc "STAR"
32: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
33: aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
34: ldc "warning.not.verified.make.sure.keystore.is.correct"
35: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
36: aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
37: ldc "STARNN"
38: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.crl"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
aload 6
ifnonnull 40
aconst_null
goto 41
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream java.security.cert.CRL java.util.Iterator java.lang.String java.security.cert.Certificate
StackMap stack: sun.security.tools.keytool.Main java.lang.String java.security.cert.CRL
40: aload 6
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream java.security.cert.CRL java.util.Iterator java.lang.String java.security.cert.Certificate
StackMap stack: sun.security.tools.keytool.Main java.lang.String java.security.cert.CRL java.security.PublicKey
41: invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/CRL;Ljava/security/Key;)V
end local 6 end local 5 end local 3 42: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.PrintStream top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
43: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/security/tools/keytool/Main;
0 44 1 src Ljava/lang/String;
0 44 2 out Ljava/io/PrintStream;
2 42 3 crl Ljava/security/cert/CRL;
4 42 5 issuer Ljava/lang/String;
5 42 6 signer Ljava/security/cert/Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
src
out
private void printCRL(java.security.cert.CRL, java.io.PrintStream);
descriptor: (Ljava/security/cert/CRL;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast java.security.cert.X509CRL
astore 3
start local 3 1: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 6
2: aload 2
ldc "-----BEGIN X509 CRL-----"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: new sun.misc.BASE64Encoder
dup
invokespecial sun.misc.BASE64Encoder.<init>:()V
aload 3
invokevirtual java.security.cert.X509CRL.getEncoded:()[B
aload 2
invokevirtual sun.misc.BASE64Encoder.encodeBuffer:([BLjava/io/OutputStream;)V
4: aload 2
ldc "-----END X509 CRL-----"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: goto 12
6: StackMap locals: java.security.cert.X509CRL
StackMap stack:
aload 1
instanceof sun.security.x509.X509CRLImpl
ifeq 10
7: aload 1
checkcast sun.security.x509.X509CRLImpl
astore 5
start local 5 8: aload 5
aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 5
invokevirtual sun.security.x509.X509CRLImpl.getSigAlgId:()Lsun/security/x509/AlgorithmId;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual sun.security.x509.X509CRLImpl.toStringWithAlgName:(Ljava/lang/String;)Ljava/lang/String;
astore 4
end local 5 start local 4 9: goto 11
end local 4 10: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.security.cert.CRL.toString:()Ljava/lang/String;
astore 4
start local 4 11: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 4
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/tools/keytool/Main;
0 13 1 crl Ljava/security/cert/CRL;
0 13 2 out Ljava/io/PrintStream;
1 13 3 xcrl Ljava/security/cert/X509CRL;
9 10 4 s Ljava/lang/String;
11 12 4 s Ljava/lang/String;
8 9 5 x509crl Lsun/security/x509/X509CRLImpl;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
crl
out
private void doPrintCertReq(java.io.InputStream, java.io.PrintStream);
descriptor: (Ljava/io/InputStream;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=3
start local 0 start local 1 start local 2 0: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 1
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 3
start local 3 1: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: StackMap locals: java.io.BufferedReader java.lang.StringBuffer int
StackMap stack:
aload 3
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 6
start local 6 4: aload 6
ifnonnull 5
goto 13
5: StackMap locals: java.lang.String
StackMap stack:
iload 5
ifne 9
6: aload 6
ldc "-----"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
7: iconst_1
istore 5
8: goto 3
9: StackMap locals:
StackMap stack:
aload 6
ldc "-----"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
10: goto 13
11: StackMap locals:
StackMap stack:
aload 4
aload 6
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 6 12: goto 3
13: StackMap locals:
StackMap stack:
new sun.security.pkcs10.PKCS10
dup
new sun.misc.BASE64Decoder
dup
invokespecial sun.misc.BASE64Decoder.<init>:()V
new java.lang.String
dup
aload 4
invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
invokevirtual sun.misc.BASE64Decoder.decodeBuffer:(Ljava/lang/String;)[B
invokespecial sun.security.pkcs10.PKCS10.<init>:([B)V
astore 6
start local 6 14: aload 6
invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
astore 7
start local 7 15: aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "PKCS.10.with.weak"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_4
anewarray java.lang.Object
dup
iconst_0
16: aload 6
invokevirtual sun.security.pkcs10.PKCS10.getSubjectName:()Lsun/security/x509/X500Name;
aastore
dup
iconst_1
17: aload 7
invokeinterface java.security.PublicKey.getFormat:()Ljava/lang/String;
aastore
dup
iconst_2
18: aload 0
aload 7
invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
aastore
dup
iconst_3
19: aload 0
aload 6
invokevirtual sun.security.pkcs10.PKCS10.getSigAlg:()Ljava/lang/String;
invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/lang/String;)Ljava/lang/String;
aastore
20: invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
21: aload 6
invokevirtual sun.security.pkcs10.PKCS10.getAttributes:()Lsun/security/pkcs10/PKCS10Attributes;
invokevirtual sun.security.pkcs10.PKCS10Attributes.getAttributes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 31
StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey top java.util.Iterator
StackMap stack:
22: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.pkcs10.PKCS10Attribute
astore 8
start local 8 23: aload 8
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
astore 10
start local 10 24: aload 10
getstatic sun.security.pkcs.PKCS9Attribute.EXTENSION_REQUEST_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 29
25: aload 8
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
checkcast sun.security.x509.CertificateExtensions
astore 11
start local 11 26: aload 11
ifnull 31
27: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Extension.Request."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 11
aload 2
invokestatic sun.security.tools.keytool.Main.printExtensions:(Ljava/lang/String;Lsun/security/x509/CertificateExtensions;Ljava/io/PrintStream;)V
end local 11 28: goto 31
29: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey sun.security.pkcs10.PKCS10Attribute java.util.Iterator sun.security.util.ObjectIdentifier
StackMap stack:
aload 2
aload 8
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
30: aload 2
aload 8
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
end local 10 end local 8 31: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
32: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 34
33: aload 2
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
34: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey
StackMap stack:
aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.certificate.request"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 6
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
35: return
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 in Ljava/io/InputStream;
0 36 2 out Ljava/io/PrintStream;
1 36 3 reader Ljava/io/BufferedReader;
2 36 4 sb Ljava/lang/StringBuffer;
3 36 5 started Z
4 12 6 s Ljava/lang/String;
14 36 6 req Lsun/security/pkcs10/PKCS10;
15 36 7 pkey Ljava/security/PublicKey;
23 31 8 attr Lsun/security/pkcs10/PKCS10Attribute;
24 31 10 oid Lsun/security/util/ObjectIdentifier;
26 28 11 exts Lsun/security/x509/CertificateExtensions;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
in
out
private void printCertFromStream(java.io.InputStream, java.io.PrintStream);
descriptor: (Ljava/io/InputStream;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 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 27
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
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 22
aload 0
aload 6
aload 2
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
goto 23
22: 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
23: StackMap locals:
StackMap stack:
iload 5
aload 4
arraylength
iconst_1
isub
if_icmpge 25
24: aload 2
invokevirtual java.io.PrintStream.println:()V
25: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iload 5
aload 4
arraylength
invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
aload 6
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 6 26: iinc 5 1
StackMap locals:
StackMap stack:
27: iload 5
aload 4
arraylength
if_icmplt 10
end local 5 28: return
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 in Ljava/io/InputStream;
0 29 2 out Ljava/io/PrintStream;
1 29 3 c Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
4 5 4 ce Ljava/security/cert/CertificateException;
8 29 4 certs [Ljava/security/cert/Certificate;
9 28 5 i I
11 26 6 x509Cert Ljava/security/cert/X509Certificate;
19 21 7 form Ljava/text/MessageFormat;
20 21 8 source [Ljava/lang/Object;
Exception table:
from to target type
1 2 3 Class java.security.cert.CertificateException
11 12 13 Class java.lang.ClassCastException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
in
out
private static java.lang.String oneInMany(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_1
if_icmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "one.in.many"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
iload 1
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 label Ljava/lang/String;
0 3 1 i I
0 3 2 num I
MethodParameters:
Name Flags
label
i
num
private void doPrintCert(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=19, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
ifnull 66
1: new java.util.jar.JarFile
dup
aload 0
getfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
iconst_1
invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;Z)V
astore 2
start local 2 2: aload 2
invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
astore 3
start local 3 3: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 4: sipush 8192
newarray 8
astore 5
start local 5 5: iconst_0
istore 6
start local 6 6: goto 61
7: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.util.jar.JarEntry
astore 7
start local 7 8: aconst_null
astore 8
aconst_null
astore 9
9: aload 2
aload 7
invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
astore 10
start local 10 10: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack:
aload 10
aload 5
invokevirtual java.io.InputStream.read:([B)I
iconst_m1
if_icmpne 10
11: aload 10
ifnull 17
aload 10
invokevirtual java.io.InputStream.close:()V
goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 8
aload 10
ifnull 13
aload 10
invokevirtual java.io.InputStream.close:()V
end local 10 StackMap locals:
StackMap stack:
13: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 9
aload 8
ifnonnull 15
aload 9
astore 8
goto 16
StackMap locals:
StackMap stack:
15: aload 8
aload 9
if_acmpeq 16
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 8
athrow
17: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.util.jar.JarEntry.getCodeSigners:()[Ljava/security/CodeSigner;
astore 8
start local 8 18: aload 8
ifnull 61
19: aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 60
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] top int int java.security.CodeSigner[]
StackMap stack:
20: aload 12
iload 10
aaload
astore 9
start local 9 21: aload 4
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 59
22: aload 4
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
23: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Signer.d."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
iinc 6 1
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
24: aload 1
invokevirtual java.io.PrintStream.println:()V
25: aload 1
invokevirtual java.io.PrintStream.println:()V
26: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Signature."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
27: aload 1
invokevirtual java.io.PrintStream.println:()V
28: aload 9
invokevirtual java.security.CodeSigner.getSignerCertPath:()Ljava/security/cert/CertPath;
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
29: astore 13
start local 13 30: iconst_0
istore 14
start local 14 31: aload 13
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
goto 41
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int top java.util.Iterator
StackMap stack:
32: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 15
start local 15 33: aload 15
checkcast java.security.cert.X509Certificate
astore 17
start local 17 34: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 38
35: aload 1
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Certificate.owner."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
36: aload 0
aload 17
aload 1
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
37: goto 39
38: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.cert.Certificate java.util.Iterator java.security.cert.X509Certificate
StackMap stack:
aload 0
aload 17
aload 1
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
39: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.PrintStream.println:()V
40: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iload 14
iinc 14 1
aload 13
invokeinterface java.util.List.size:()I
invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
aload 17
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 17 end local 15 41: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int top java.util.Iterator
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
42: aload 9
invokevirtual java.security.CodeSigner.getTimestamp:()Ljava/security/Timestamp;
astore 15
start local 15 43: aload 15
ifnull 59
44: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Timestamp."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
45: aload 1
invokevirtual java.io.PrintStream.println:()V
46: aload 15
invokevirtual java.security.Timestamp.getSignerCertPath:()Ljava/security/cert/CertPath;
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 13
47: iconst_0
istore 14
48: aload 13
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 58
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp top java.util.Iterator
StackMap stack:
49: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 16
start local 16 50: aload 16
checkcast java.security.cert.X509Certificate
astore 18
start local 18 51: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 55
52: aload 1
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Certificate.owner."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
53: aload 0
aload 18
aload 1
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
54: goto 56
55: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp java.security.cert.Certificate java.util.Iterator java.security.cert.X509Certificate
StackMap stack:
aload 0
aload 18
aload 1
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
56: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.PrintStream.println:()V
57: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.tsa.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iload 14
iinc 14 1
aload 13
invokeinterface java.util.List.size:()I
invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
aload 18
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 18 end local 16 58: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp top java.util.Iterator
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 49
end local 15 end local 14 end local 13 end local 9 59: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] top int int java.security.CodeSigner[]
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
60: iload 10
iload 11
if_icmplt 20
end local 8 end local 7 61: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
62: aload 2
invokevirtual java.util.jar.JarFile.close:()V
63: aload 4
invokeinterface java.util.Set.isEmpty:()Z
ifeq 110
64: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Not.a.signed.jar.file"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 end local 5 end local 4 end local 3 end local 2 65: goto 110
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
StackMap stack:
66: aload 0
getfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
ifnull 99
67: ldc "SSLServer"
invokestatic sun.security.provider.certpath.CertStoreHelper.getInstance:(Ljava/lang/String;)Lsun/security/provider/certpath/CertStoreHelper;
astore 2
start local 2 68: aload 2
new java.net.URI
dup
new java.lang.StringBuilder
dup
ldc "https://"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
invokevirtual sun.security.provider.certpath.CertStoreHelper.getCertStore:(Ljava/net/URI;)Ljava/security/cert/CertStore;
astore 3
start local 3 69: aload 3
aconst_null
invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
astore 4
start local 4 70: aload 4
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 82
71: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
72: ldc "No.certificate.from.the.SSL.server"
73: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 4 74: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore
StackMap stack: java.security.cert.CertStoreException
astore 5
start local 5 75: aload 5
invokevirtual java.security.cert.CertStoreException.getCause:()Ljava/lang/Throwable;
instanceof java.io.IOException
ifeq 81
76: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
77: ldc "No.certificate.from.the.SSL.server"
78: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
79: aload 5
invokevirtual java.security.cert.CertStoreException.getCause:()Ljava/lang/Throwable;
80: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
81: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore top java.security.cert.CertStoreException
StackMap stack:
aload 5
athrow
end local 5 start local 4 82: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection
StackMap stack:
iconst_0
istore 5
start local 5 83: aload 4
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 97
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection int top java.util.Iterator
StackMap stack:
84: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 6
start local 6 85: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 88
86: aload 0
aload 6
aload 1
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
87: goto 92
88: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection int java.security.cert.Certificate java.util.Iterator
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "Certificate #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
iinc 5 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
89: aload 1
ldc "===================================="
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
90: aload 0
aload 6
checkcast java.security.cert.X509Certificate
aload 1
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
91: aload 1
invokevirtual java.io.PrintStream.println:()V
92: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iload 5
aload 4
invokeinterface java.util.Collection.size:()I
invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
aload 6
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
93: goto 97
StackMap locals:
StackMap stack: java.lang.Exception
94: astore 8
start local 8 95: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 97
96: aload 8
invokevirtual java.lang.Exception.printStackTrace:()V
end local 8 end local 6 97: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.provider.certpath.CertStoreHelper java.security.cert.CertStore java.util.Collection int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 84
end local 5 end local 4 end local 3 end local 2 98: goto 110
99: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 109
100: aconst_null
astore 2
aconst_null
astore 3
101: 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 4
start local 4 102: aload 0
aload 4
aload 1
invokevirtual sun.security.tools.keytool.Main.printCertFromStream:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
103: aload 4
ifnull 110
aload 4
invokevirtual java.io.FileInputStream.close:()V
goto 110
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.Throwable java.lang.Throwable java.io.FileInputStream
StackMap stack: java.lang.Throwable
104: astore 2
aload 4
ifnull 105
aload 4
invokevirtual java.io.FileInputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
105: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
106: astore 3
aload 2
ifnonnull 107
aload 3
astore 2
goto 108
StackMap locals:
StackMap stack:
107: aload 2
aload 3
if_acmpeq 108
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
108: aload 2
athrow
109: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.System.in:Ljava/io/InputStream;
aload 1
invokevirtual sun.security.tools.keytool.Main.printCertFromStream:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
110: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 111 0 this Lsun/security/tools/keytool/Main;
0 111 1 out Ljava/io/PrintStream;
2 65 2 jf Ljava/util/jar/JarFile;
3 65 3 entries Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
4 65 4 ss Ljava/util/Set<Ljava/security/CodeSigner;>;
5 65 5 buffer [B
6 65 6 pos I
8 61 7 je Ljava/util/jar/JarEntry;
10 13 10 is Ljava/io/InputStream;
18 61 8 signers [Ljava/security/CodeSigner;
21 59 9 signer Ljava/security/CodeSigner;
30 59 13 certs Ljava/util/List<+Ljava/security/cert/Certificate;>;
31 59 14 cc I
33 41 15 cert Ljava/security/cert/Certificate;
34 41 17 x Ljava/security/cert/X509Certificate;
43 59 15 ts Ljava/security/Timestamp;
50 58 16 cert Ljava/security/cert/Certificate;
51 58 18 x Ljava/security/cert/X509Certificate;
68 98 2 helper Lsun/security/provider/certpath/CertStoreHelper;
69 98 3 cs Ljava/security/cert/CertStore;
70 74 4 chain Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
82 98 4 chain Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
75 82 5 cse Ljava/security/cert/CertStoreException;
83 98 5 i I
85 97 6 cert Ljava/security/cert/Certificate;
95 97 8 e Ljava/lang/Exception;
102 105 4 inStream Ljava/io/FileInputStream;
Exception table:
from to target type
10 11 12 any
9 14 14 any
69 74 74 Class java.security.cert.CertStoreException
85 93 94 Class java.lang.Exception
102 103 104 any
101 106 106 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out final
private void doSelfCert(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=17, args_size=4
start local 0 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)Lsun/security/tools/keytool/Pair;
astore 4
start local 4 3: aload 4
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
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
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast char[]
putfield sun.security.tools.keytool.Main.keyPass:[C
6: StackMap locals: sun.security.tools.keytool.Pair java.security.PrivateKey
StackMap stack:
aload 3
ifnonnull 8
7: aload 5
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
astore 3
8: 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 9: aload 6
ifnonnull 15
10: new java.text.MessageFormat
dup
11: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "alias.has.no.public.key"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
12: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 13: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 8
start local 8 14: 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 15: StackMap locals: java.security.cert.Certificate
StackMap stack:
aload 6
instanceof java.security.cert.X509Certificate
ifne 21
16: new java.text.MessageFormat
dup
17: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "alias.has.no.X.509.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
18: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 7
start local 7 19: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 8
start local 8 20: 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 21: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 7
start local 7 22: new sun.security.x509.X509CertImpl
dup
aload 7
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
astore 8
start local 8 23: 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 24: 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 25: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 11
start local 11 26: 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
27: new sun.security.x509.CertificateValidity
dup
aload 10
28: aload 11
29: invokespecial sun.security.x509.CertificateValidity.<init>:(Ljava/util/Date;Ljava/util/Date;)V
astore 12
start local 12 30: aload 9
ldc "validity"
aload 12
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
31: aload 9
ldc "serialNumber"
new sun.security.x509.CertificateSerialNumber
dup
32: new java.util.Random
dup
invokespecial java.util.Random.<init>:()V
invokevirtual java.util.Random.nextInt:()I
ldc 2147483647
iand
invokespecial sun.security.x509.CertificateSerialNumber.<init>:(I)V
33: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
34: aload 2
ifnonnull 37
35: 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 36: goto 41
end local 13 37: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity
StackMap stack:
new sun.security.x509.X500Name
dup
aload 2
invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
astore 13
start local 13 38: aload 9
ldc "subject.dname"
39: aload 13
40: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
41: StackMap locals: sun.security.x509.X500Name
StackMap stack:
aload 9
ldc "issuer.dname"
42: aload 13
43: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
44: new sun.security.x509.X509CertImpl
dup
aload 9
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
astore 14
start local 14 45: aload 14
aload 5
aload 3
invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
46: 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 47: aload 9
ldc "algorithmID.algorithm"
48: aload 15
49: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
50: aload 9
ldc "version"
51: new sun.security.x509.CertificateVersion
dup
iconst_2
invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
52: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
53: aload 0
54: aconst_null
55: aload 9
ldc "extensions"
invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.CertificateExtensions
56: aload 0
getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
57: aload 6
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
58: aconst_null
59: invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
astore 16
start local 16 60: aload 9
ldc "extensions"
aload 16
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
61: new sun.security.x509.X509CertImpl
dup
aload 9
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
astore 14
62: aload 14
aload 5
aload 3
invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/lang/String;)V
63: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 5
64: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 65
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
goto 66
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity sun.security.x509.X500Name sun.security.x509.X509CertImpl sun.security.x509.AlgorithmId sun.security.x509.CertificateExtensions
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey
65: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
66: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity sun.security.x509.X500Name sun.security.x509.X509CertImpl sun.security.x509.AlgorithmId sun.security.x509.CertificateExtensions
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey char[]
iconst_1
anewarray java.security.cert.Certificate
dup
iconst_0
aload 14
aastore
67: invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
68: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 72
69: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "New.certificate.self.signed."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
70: 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
71: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
72: StackMap locals:
StackMap stack:
return
end local 16 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 73 0 this Lsun/security/tools/keytool/Main;
0 73 1 alias Ljava/lang/String;
0 73 2 dname Ljava/lang/String;
0 73 3 sigAlgName Ljava/lang/String;
3 73 4 objs Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
4 73 5 privKey Ljava/security/PrivateKey;
9 73 6 oldCert Ljava/security/cert/Certificate;
13 15 7 form Ljava/text/MessageFormat;
14 15 8 source [Ljava/lang/Object;
19 21 7 form Ljava/text/MessageFormat;
20 21 8 source [Ljava/lang/Object;
22 73 7 encoded [B
23 73 8 certImpl Lsun/security/x509/X509CertImpl;
24 73 9 certInfo Lsun/security/x509/X509CertInfo;
25 73 10 firstDate Ljava/util/Date;
26 73 11 lastDate Ljava/util/Date;
30 73 12 interval Lsun/security/x509/CertificateValidity;
36 37 13 owner Lsun/security/x509/X500Name;
38 73 13 owner Lsun/security/x509/X500Name;
45 73 14 newCert Lsun/security/x509/X509CertImpl;
47 73 15 sigAlgid Lsun/security/x509/AlgorithmId;
60 73 16 ext Lsun/security/x509/CertificateExtensions;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
dname
sigAlgName
private boolean installReply(java.lang.String, java.io.InputStream);
descriptor: (Ljava/lang/String;Ljava/io/InputStream;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 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)Lsun/security/tools/keytool/Pair;
astore 3
start local 3 3: aload 3
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
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
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast char[]
putfield sun.security.tools.keytool.Main.keyPass:[C
6: StackMap locals: sun.security.tools.keytool.Pair 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 sun.security.tools.keytool.Pair java.security.PrivateKey java.security.cert.Certificate java.util.Collection java.security.cert.Certificate[] java.security.cert.Certificate[]
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey
24: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
25: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream sun.security.tools.keytool.Pair java.security.PrivateKey java.security.cert.Certificate java.util.Collection java.security.cert.Certificate[] java.security.cert.Certificate[]
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey 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 Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
4 29 4 privKey Ljava/security/PrivateKey;
7 29 5 userCert Ljava/security/cert/Certificate;
11 13 6 form Ljava/text/MessageFormat;
12 13 7 source [Ljava/lang/Object;
14 29 6 c Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
17 29 7 replyCerts [Ljava/security/cert/Certificate;
19 20 8 newChain [Ljava/security/cert/Certificate;
21 29 8 newChain [Ljava/security/cert/Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
in
private boolean addTrustedCert(java.lang.String, java.io.InputStream);
descriptor: (Ljava/lang/String;Ljava/io/InputStream;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 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 13
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.io.InputStream java.security.cert.X509Certificate
StackMap stack: java.lang.Exception
11: pop
12: 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:
aload 0
getfield sun.security.tools.keytool.Main.noprompt:Z
ifeq 17
14: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.input"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
15: 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
16: iconst_1
ireturn
17: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 18: aload 3
invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
ifeq 21
19: aload 3
aload 3
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
20: iconst_1
istore 4
21: StackMap locals: int
StackMap stack:
aconst_null
astore 5
start local 5 22: 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 23: aload 6
ifnull 35
24: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
25: ldc "Certificate.already.exists.in.keystore.under.alias.trustalias."
26: 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 27: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
astore 8
start local 8 28: 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
29: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.input"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
30: aload 0
iconst_1
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
31: aload 0
32: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Do.you.still.want.to.add.it.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
33: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 5
end local 8 end local 7 34: goto 55
StackMap locals: java.lang.String java.lang.String
StackMap stack:
35: iload 4
ifeq 55
36: aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 48
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
ifnull 48
37: 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 48
38: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
39: ldc "Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias."
40: 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 41: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
astore 8
start local 8 42: 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
43: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.input"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
44: aload 0
iconst_1
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
45: aload 0
46: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Do.you.still.want.to.add.it.to.your.own.keystore.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
47: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 5
end local 8 end local 7 48: StackMap locals:
StackMap stack:
aload 6
ifnonnull 55
49: 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
50: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.input"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
51: aload 0
iconst_1
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
52: aload 0
53: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Trust.this.certificate.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
54: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 5
55: StackMap locals:
StackMap stack:
aload 5
ifnull 60
56: ldc "YES"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 59
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
59: StackMap locals:
StackMap stack:
iconst_0
ireturn
60: 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 61: aload 7
ifnull 75
62: 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
63: iconst_1
ireturn
end local 7 64: StackMap locals:
StackMap stack: java.lang.Exception
pop
65: 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
66: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.input"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
67: aload 0
iconst_1
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
68: aload 0
69: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Trust.this.certificate.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
70: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 5
71: ldc "YES"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 74
72: 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
73: iconst_1
ireturn
74: StackMap locals:
StackMap stack:
iconst_0
ireturn
75: 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 76 0 this Lsun/security/tools/keytool/Main;
0 76 1 alias Ljava/lang/String;
0 76 2 in Ljava/io/InputStream;
6 8 3 form Ljava/text/MessageFormat;
7 8 4 source [Ljava/lang/Object;
9 76 3 cert Ljava/security/cert/X509Certificate;
18 76 4 selfSigned Z
22 76 5 reply Ljava/lang/String;
23 76 6 trustalias Ljava/lang/String;
27 34 7 form Ljava/text/MessageFormat;
28 34 8 source [Ljava/lang/Object;
41 48 7 form Ljava/text/MessageFormat;
42 48 8 source [Ljava/lang/Object;
61 64 7 chain [Ljava/security/cert/Certificate;
Exception table:
from to target type
9 10 11 Class java.lang.ClassCastException
9 10 11 Class java.security.cert.CertificateException
60 63 64 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
in
private char[] getNewPasswd(java.lang.String, char[]);
descriptor: (Ljava/lang/String;[C)[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 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 java.lang.String withWeak(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
aload 1
aconst_null
invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "with.weak"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/tools/keytool/Main;
0 3 1 alg Ljava/lang/String;
MethodParameters:
Name Flags
alg
private java.lang.String withWeak(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
aload 1
invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
ifeq 4
1: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "key.bit"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
2: aload 1
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
aastore
3: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "key.bit.weak"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
5: aload 1
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
aastore
6: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/tools/keytool/Main;
0 7 1 key Ljava/security/PublicKey;
MethodParameters:
Name Flags
key
private void printX509Cert(java.security.cert.X509Certificate, java.io.PrintStream);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 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.with.weak"
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: aload 1
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 4
start local 4 4: aload 1
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
astore 5
start local 5 5: aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.isTrustedCert:(Ljava/security/cert/Certificate;)Z
ifne 7
6: aload 0
aload 5
invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/lang/String;)Ljava/lang/String;
astore 5
7: StackMap locals: java.text.MessageFormat java.security.PublicKey java.lang.String
StackMap stack:
bipush 11
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
8: aload 1
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.toString:()Ljava/lang/String;
aastore
dup
iconst_2
9: 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
10: aload 1
invokevirtual java.security.cert.X509Certificate.getNotBefore:()Ljava/util/Date;
invokevirtual java.util.Date.toString:()Ljava/lang/String;
aastore
dup
iconst_4
11: aload 1
invokevirtual java.security.cert.X509Certificate.getNotAfter:()Ljava/util/Date;
invokevirtual java.util.Date.toString:()Ljava/lang/String;
aastore
dup
iconst_5
12: 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
13: 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
14: 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
15: aload 5
aastore
dup
bipush 9
16: aload 0
aload 4
invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/PublicKey;)Ljava/lang/String;
aastore
dup
bipush 10
17: aload 1
invokevirtual java.security.cert.X509Certificate.getVersion:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
18: astore 6
start local 6 19: aload 2
aload 3
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: aload 1
instanceof sun.security.x509.X509CertImpl
ifeq 27
21: aload 1
checkcast sun.security.x509.X509CertImpl
astore 7
start local 7 22: aload 7
ldc "x509.info"
invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.X509CertInfo
astore 8
start local 8 23: aload 8
ldc "extensions"
invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
24: checkcast sun.security.x509.CertificateExtensions
astore 9
start local 9 25: aload 9
ifnull 27
26: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Extensions."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 9
aload 2
invokestatic sun.security.tools.keytool.Main.printExtensions:(Ljava/lang/String;Lsun/security/x509/CertificateExtensions;Ljava/io/PrintStream;)V
end local 9 end local 8 end local 7 27: StackMap locals: java.lang.Object[]
StackMap stack:
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 28 0 this Lsun/security/tools/keytool/Main;
0 28 1 cert Ljava/security/cert/X509Certificate;
0 28 2 out Ljava/io/PrintStream;
3 28 3 form Ljava/text/MessageFormat;
4 28 4 pkey Ljava/security/PublicKey;
5 28 5 sigName Ljava/lang/String;
19 28 6 source [Ljava/lang/Object;
22 27 7 impl Lsun/security/x509/X509CertImpl;
23 27 8 certInfo Lsun/security/x509/X509CertInfo;
25 27 9 exts Lsun/security/x509/CertificateExtensions;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
cert
out
private static void printExtensions(java.lang.String, sun.security.x509.CertificateExtensions, java.io.PrintStream);
descriptor: (Ljava/lang/String;Lsun/security/x509/CertificateExtensions;Ljava/io/PrintStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 1
invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
start local 4 2: aload 1
invokevirtual sun.security.x509.CertificateExtensions.getUnparseableExtensions:()Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
start local 5 3: goto 20
4: StackMap locals: int java.util.Iterator java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 5
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.Extension
goto 6
StackMap locals:
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.Extension
StackMap locals:
StackMap stack: sun.security.x509.Extension
6: astore 6
start local 6 7: iload 3
ifne 11
8: aload 2
invokevirtual java.io.PrintStream.println:()V
9: aload 2
aload 0
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: aload 2
invokevirtual java.io.PrintStream.println:()V
11: 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 3 1
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
12: aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Lsun/security/x509/Extension;
if_acmpne 19
13: aload 6
invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
astore 7
start local 7 14: aload 7
arraylength
ifne 17
15: aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".Empty.value."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: goto 19
17: StackMap locals: byte[]
StackMap stack:
new sun.misc.HexDumpEncoder
dup
invokespecial sun.misc.HexDumpEncoder.<init>:()V
aload 6
invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
aload 2
invokevirtual sun.misc.HexDumpEncoder.encodeBuffer:([BLjava/io/OutputStream;)V
18: aload 2
invokevirtual java.io.PrintStream.println:()V
end local 7 19: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.PrintStream.println:()V
end local 6 20: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
21: 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 22 0 title Ljava/lang/String;
0 22 1 exts Lsun/security/x509/CertificateExtensions;
0 22 2 out Ljava/io/PrintStream;
1 22 3 extnum I
2 22 4 i1 Ljava/util/Iterator<Lsun/security/x509/Extension;>;
3 22 5 i2 Ljava/util/Iterator<Lsun/security/x509/Extension;>;
7 20 6 ext Lsun/security/x509/Extension;
14 19 7 v [B
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
title
exts
out
private static sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.Certificate> getSigner(java.security.cert.Certificate, java.security.KeyStore);
descriptor: (Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual java.security.KeyStore.getCertificateAlias:(Ljava/security/cert/Certificate;)Ljava/lang/String;
ifnull 2
1: new sun.security.tools.keytool.Pair
dup
ldc ""
aload 0
invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 2
start local 2 3: goto 11
4: StackMap locals: java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 5: aload 1
aload 3
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 4
start local 4 6: aload 4
ifnull 11
7: aload 0
aload 4
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual java.security.cert.Certificate.verify:(Ljava/security/PublicKey;)V
8: new sun.security.tools.keytool.Pair
dup
aload 3
aload 4
invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
9: areturn
10: StackMap locals: java.security.cert.Certificate java.security.KeyStore java.util.Enumeration java.lang.String java.security.cert.Certificate
StackMap stack: java.lang.Exception
pop
end local 4 end local 3 11: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 4
end local 2 12: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 cert Ljava/security/cert/Certificate;
0 13 1 ks Ljava/security/KeyStore;
3 12 2 aliases Ljava/util/Enumeration<Ljava/lang/String;>;
5 11 3 name Ljava/lang/String;
6 11 4 trustedCert Ljava/security/cert/Certificate;
Exception table:
from to target type
7 9 10 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
Signature: (Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/Certificate;>;
MethodParameters:
Name Flags
cert
ks
private sun.security.x509.X500Name getX500Name();
descriptor: ()Lsun/security/x509/X500Name;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=13, args_size=1
start local 0 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 sun.security.tools.keytool.Pair<java.security.Key, char[]> recoverKey(java.lang.String, char[], char[]);
descriptor: (Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 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:
aload 4
aload 3
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
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
Signature: (Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
MethodParameters:
Name Flags
alias
storePass
keyPass
private sun.security.tools.keytool.Pair<java.security.KeyStore$Entry, char[]> recoverEntry(java.security.KeyStore, java.lang.String, char[], char[]);
descriptor: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=5
start local 0 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:
aload 6
aload 4
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
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
Signature: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
MethodParameters:
Name Flags
ks
alias
pstore
pkey
private java.lang.String getCertFingerPrint(java.lang.String, java.security.cert.Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 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 printNoIntegrityWarning();
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=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "reply"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;[Ljava/security/cert/Certificate;)V
1: aload 2
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 5
start local 5 2: iconst_0
istore 4
start local 4 3: goto 7
4: 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 6
5: goto 8
6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
aload 3
arraylength
if_icmplt 4
8: StackMap locals:
StackMap stack:
iload 4
aload 3
arraylength
if_icmpne 14
9: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
10: ldc "Certificate.reply.does.not.contain.public.key.for.alias."
11: 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 12: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 7
start local 7 13: 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 14: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
astore 6
start local 6 15: aload 3
iconst_0
aload 3
iload 4
aaload
aastore
16: aload 3
iload 4
aload 6
aastore
17: aload 3
iconst_0
aaload
checkcast java.security.cert.X509Certificate
astore 7
start local 7 18: iconst_1
istore 4
goto 34
19: StackMap locals: java.security.cert.Certificate java.security.cert.X509Certificate
StackMap stack:
iload 4
istore 8
start local 8 20: goto 28
21: StackMap locals: int
StackMap stack:
aload 7
aload 3
iload 8
aaload
checkcast java.security.cert.X509Certificate
invokestatic sun.security.tools.KeyStoreUtil.signedBy:(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)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
astore 7
26: goto 29
27: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
28: iload 8
aload 3
arraylength
if_icmplt 21
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 19
35: aload 0
getfield sun.security.tools.keytool.Main.noprompt:Z
ifeq 37
36: aload 3
areturn
37: StackMap locals:
StackMap stack:
aload 3
aload 3
arraylength
iconst_1
isub
aaload
astore 8
start local 8 38: iconst_1
istore 9
start local 9 39: aload 8
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokestatic sun.security.tools.keytool.Main.getSigner:(Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair;
astore 10
start local 10 40: aload 10
ifnonnull 43
aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 43
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
ifnull 43
41: aload 8
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
invokestatic sun.security.tools.keytool.Main.getSigner:(Ljava/security/cert/Certificate;Ljava/security/KeyStore;)Lsun/security/tools/keytool/Pair;
astore 10
42: iconst_0
istore 9
43: StackMap locals: java.security.cert.Certificate int sun.security.tools.keytool.Pair
StackMap stack:
aload 10
ifnonnull 57
44: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
45: getstatic java.lang.System.err:Ljava/io/PrintStream;
46: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Top.level.certificate.in.reply."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
47: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
48: 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
49: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
50: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".is.not.trusted."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
51: aload 0
iconst_1
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
52: aload 0
53: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Install.reply.anyway.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
54: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 11
start local 11 55: ldc "NO"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 73
56: aconst_null
areturn
end local 11 57: StackMap locals:
StackMap stack:
aload 10
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
aload 8
if_acmpeq 73
58: aload 3
arraylength
iconst_1
iadd
anewarray java.security.cert.Certificate
59: astore 11
start local 11 60: aload 3
iconst_0
aload 11
iconst_0
61: aload 3
arraylength
62: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
63: aload 11
aload 11
arraylength
iconst_1
isub
aload 10
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.Certificate
aastore
64: aload 11
astore 3
65: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
iload 9
ifeq 67
66: ldc "alias.in.keystore"
goto 68
67: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.cert.X509Certificate java.security.cert.Certificate int sun.security.tools.keytool.Pair java.security.cert.Certificate[]
StackMap stack: sun.security.tools.keytool.Main java.util.ResourceBundle
ldc "alias.in.cacerts"
68: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.security.cert.Certificate java.security.cert.X509Certificate java.security.cert.Certificate int sun.security.tools.keytool.Pair java.security.cert.Certificate[]
StackMap stack: sun.security.tools.keytool.Main java.util.ResourceBundle java.lang.String
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
69: aload 10
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
aastore
70: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
71: aload 10
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.Certificate
72: invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 11 73: StackMap locals:
StackMap stack:
aload 3
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 74 0 this Lsun/security/tools/keytool/Main;
0 74 1 alias Ljava/lang/String;
0 74 2 userCert Ljava/security/cert/Certificate;
0 74 3 replyCerts [Ljava/security/cert/Certificate;
3 74 4 i I
2 74 5 userPubKey Ljava/security/PublicKey;
12 14 6 form Ljava/text/MessageFormat;
13 14 7 source [Ljava/lang/Object;
15 74 6 tmpCert Ljava/security/cert/Certificate;
18 74 7 thisCert Ljava/security/cert/X509Certificate;
20 33 8 j I
38 74 8 topCert Ljava/security/cert/Certificate;
39 74 9 fromKeyStore Z
40 74 10 root Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/Certificate;>;
55 57 11 reply Ljava/lang/String;
60 73 11 tmpCerts [Ljava/security/cert/Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
userCert
replyCerts
private java.security.cert.Certificate[] establishCertChain(java.security.cert.Certificate, java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 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
22: new sun.security.tools.keytool.Pair
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "the.input"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
23: aload 2
checkcast java.security.cert.X509Certificate
24: invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
25: aload 4
aload 3
26: invokevirtual sun.security.tools.keytool.Main.buildChain:(Lsun/security/tools/keytool/Pair;Ljava/util/Vector;Ljava/util/Hashtable;)Z
27: ifeq 42
28: aload 4
invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
astore 6
goto 31
StackMap locals: sun.security.tools.keytool.Main java.security.cert.Certificate java.security.cert.Certificate java.util.Hashtable java.util.Vector top java.util.Iterator
StackMap stack:
29: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.tools.keytool.Pair
astore 5
start local 5 30: aload 0
aload 5
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.lang.String
aload 5
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.Certificate
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 5 31: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
32: aload 4
invokevirtual java.util.Vector.size:()I
anewarray java.security.cert.Certificate
33: astore 5
start local 5 34: iconst_0
istore 6
start local 6 35: aload 4
invokevirtual java.util.Vector.size:()I
iconst_1
isub
istore 7
start local 7 36: goto 40
37: 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 sun.security.tools.keytool.Pair
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.Certificate
aastore
38: iinc 6 1
39: iinc 7 -1
StackMap locals:
StackMap stack:
40: iload 7
ifge 37
end local 7 41: aload 5
areturn
end local 6 end local 5 42: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
43: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Failed.to.establish.chain.from.reply"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
44: 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 45 0 this Lsun/security/tools/keytool/Main;
0 45 1 userCert Ljava/security/cert/Certificate;
0 45 2 certToVerify Ljava/security/cert/Certificate;
2 11 3 origPubKey Ljava/security/PublicKey;
3 11 4 replyPubKey Ljava/security/PublicKey;
12 45 3 certs Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;
21 45 4 chain Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
30 31 5 p Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;
34 42 5 newChain [Ljava/security/cert/Certificate;
35 42 6 j I
36 41 7 i I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
userCert
certToVerify
private boolean buildChain(sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>, java.util.Vector<sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>>, java.util.Hashtable<java.security.Principal, java.util.Vector<sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>>>);
descriptor: (Lsun/security/tools/keytool/Pair;Ljava/util/Vector;Ljava/util/Hashtable;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
ifeq 3
1: aload 2
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
astore 4
start local 4 4: aload 3
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
astore 5
start local 5 5: aload 5
ifnonnull 7
6: iconst_0
ireturn
7: StackMap locals: java.security.Principal java.util.Vector
StackMap stack:
aload 5
invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
astore 6
start local 6 8: goto 18
9: StackMap locals: java.util.Enumeration
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast sun.security.tools.keytool.Pair
astore 7
start local 7 10: aload 7
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 8
start local 8 11: aload 1
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
aload 8
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
12: goto 15
StackMap locals: sun.security.tools.keytool.Main sun.security.tools.keytool.Pair java.util.Vector java.util.Hashtable java.security.Principal java.util.Vector java.util.Enumeration sun.security.tools.keytool.Pair java.security.PublicKey
StackMap stack: java.lang.Exception
13: pop
14: goto 18
15: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 2
aload 3
invokevirtual sun.security.tools.keytool.Main.buildChain:(Lsun/security/tools/keytool/Pair;Ljava/util/Vector;Ljava/util/Hashtable;)Z
ifeq 18
16: aload 2
aload 1
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
17: iconst_1
ireturn
end local 8 end local 7 18: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 9
end local 6 19: iconst_0
ireturn
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 20 0 this Lsun/security/tools/keytool/Main;
0 20 1 certToVerify Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;
0 20 2 chain Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
0 20 3 certs Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;
4 20 4 issuer Ljava/security/Principal;
5 20 5 vec Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
8 19 6 issuerCerts Ljava/util/Enumeration<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
10 18 7 issuerCert Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;
11 18 8 issuerPubKey Ljava/security/PublicKey;
Exception table:
from to target type
11 12 13 Class java.lang.Exception
Signature: (Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;)Z
MethodParameters:
Name Flags
certToVerify
chain
certs
private java.lang.String getYesNoReply(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 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<sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>>>);
descriptor: (Ljava/security/KeyStore;Ljava/util/Hashtable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 3
start local 3 1: goto 23
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 23
5: aload 5
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
astore 6
start local 6 6: new sun.security.tools.keytool.Pair
dup
7: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
aload 1
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
if_acmpne 9
8: ldc "alias.in.cacerts"
goto 10
9: StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.util.Hashtable java.util.Enumeration java.lang.String java.security.cert.Certificate java.security.Principal
StackMap stack: new 6 new 6 java.util.ResourceBundle
ldc "alias.in.keystore"
10: StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.util.Hashtable java.util.Enumeration java.lang.String java.security.cert.Certificate java.security.Principal
StackMap stack: new 6 new 6 java.util.ResourceBundle java.lang.String
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
11: aload 4
aastore
12: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
13: aload 5
checkcast java.security.cert.X509Certificate
14: invokespecial sun.security.tools.keytool.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
astore 7
start local 7 15: aload 2
aload 6
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Vector
astore 8
start local 8 16: aload 8
ifnonnull 20
17: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 8
18: aload 8
aload 7
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
19: goto 22
20: StackMap locals: sun.security.tools.keytool.Pair java.util.Vector
StackMap stack:
aload 8
aload 7
invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
ifne 22
21: aload 8
aload 7
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
22: StackMap locals:
StackMap stack:
aload 2
aload 6
aload 8
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 end local 5 end local 4 23: 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 24: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/tools/keytool/Main;
0 25 1 ks Ljava/security/KeyStore;
0 25 2 hash Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;
1 24 3 aliases Ljava/util/Enumeration<Ljava/lang/String;>;
3 23 4 alias Ljava/lang/String;
4 23 5 cert Ljava/security/cert/Certificate;
6 23 6 subjectDN Ljava/security/Principal;
15 23 7 pair Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;
16 23 8 vec Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;
Exceptions:
throws java.lang.Exception
Signature: (Ljava/security/KeyStore;Ljava/util/Hashtable<Ljava/security/Principal;Ljava/util/Vector<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/X509Certificate;>;>;>;)V
MethodParameters:
Name Flags
ks
hash
private static java.util.Date getStartDate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Date;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=1
start local 0 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 static int oneOf(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)I
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=13, args_size=2
start local 0 start local 1 0: aload 1
arraylength
newarray 10
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: ldc 2147483647
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 28
5: StackMap locals: java.lang.String java.lang.String[] int[] int int int
StackMap stack:
aload 1
iload 5
aaload
astore 6
start local 6 6: aload 6
ifnonnull 9
7: iload 5
istore 4
8: goto 27
9: StackMap locals: java.lang.String
StackMap stack:
aload 6
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
10: aload 0
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
11: aload 2
iload 3
iinc 3 1
iload 5
iastore
12: goto 27
13: StackMap locals:
StackMap stack:
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 7
start local 7 14: iconst_1
istore 8
start local 8 15: aload 6
invokevirtual java.lang.String.toCharArray:()[C
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 24
StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuffer int top int int char[]
StackMap stack:
16: aload 12
iload 10
caload
istore 9
start local 9 17: iload 8
ifeq 21
18: aload 7
iload 9
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
19: iconst_0
istore 8
20: goto 23
21: StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuffer int int int int char[]
StackMap stack:
iload 9
invokestatic java.lang.Character.isLowerCase:(C)Z
ifne 23
22: aload 7
iload 9
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 9 23: StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuffer int top int int char[]
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
24: iload 10
iload 11
if_icmplt 16
25: aload 7
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 27
26: aload 2
iload 3
iinc 3 1
iload 5
iastore
end local 8 end local 7 end local 6 27: StackMap locals: java.lang.String java.lang.String[] int[] int int int
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
28: iload 5
aload 1
arraylength
if_icmplt 5
end local 5 29: iload 3
ifne 31
30: iconst_m1
ireturn
31: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 33
32: aload 2
iconst_0
iaload
ireturn
33: StackMap locals:
StackMap stack:
aload 2
iconst_1
iaload
iload 4
if_icmple 35
34: aload 2
iconst_0
iaload
ireturn
35: StackMap locals:
StackMap stack:
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 5
start local 5 36: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
37: ldc "command.{0}.is.ambiguous."
38: 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 39: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
astore 7
start local 7 40: aload 5
aload 6
aload 7
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
41: aload 5
ldc "\n "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
42: iconst_0
istore 8
start local 8 43: goto 47
44: StackMap locals: java.lang.String java.lang.String[] int[] int int java.lang.StringBuffer java.text.MessageFormat java.lang.Object[] int
StackMap stack:
aload 5
bipush 32
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
45: aload 5
aload 1
aload 2
iload 8
iaload
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
46: iinc 8 1
StackMap locals:
StackMap stack:
47: iload 8
iload 3
if_icmpge 48
aload 2
iload 8
iaload
iload 4
if_icmplt 44
end local 8 48: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
aload 5
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
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 49 0 s Ljava/lang/String;
0 49 1 list [Ljava/lang/String;
1 49 2 match [I
2 49 3 nmatch I
3 49 4 experiment I
4 29 5 i I
6 27 6 one Ljava/lang/String;
14 27 7 sb Ljava/lang/StringBuffer;
15 27 8 first Z
17 23 9 c C
36 49 5 sb Ljava/lang/StringBuffer;
39 49 6 form Ljava/text/MessageFormat;
40 49 7 source [Ljava/lang/Object;
43 48 8 i I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
s
list
private sun.security.x509.GeneralName createGeneralName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_5
anewarray java.lang.String
dup
iconst_0
ldc "EMAIL"
aastore
dup
iconst_1
ldc "URI"
aastore
dup
iconst_2
ldc "DNS"
aastore
dup
iconst_3
ldc "IP"
aastore
dup
iconst_4
ldc "OID"
aastore
invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 4
start local 4 1: iload 4
ifge 7
2: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
3: ldc "Unrecognized.GeneralName.type."
4: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String top int
StackMap stack:
iload 4
tableswitch { // 0 - 3
0: 8
1: 10
2: 12
3: 14
default: 16
}
8: StackMap locals:
StackMap stack:
new sun.security.x509.RFC822Name
dup
aload 2
invokespecial sun.security.x509.RFC822Name.<init>:(Ljava/lang/String;)V
astore 3
start local 3 9: goto 17
end local 3 10: StackMap locals:
StackMap stack:
new sun.security.x509.URIName
dup
aload 2
invokespecial sun.security.x509.URIName.<init>:(Ljava/lang/String;)V
astore 3
start local 3 11: goto 17
end local 3 12: StackMap locals:
StackMap stack:
new sun.security.x509.DNSName
dup
aload 2
invokespecial sun.security.x509.DNSName.<init>:(Ljava/lang/String;)V
astore 3
start local 3 13: goto 17
end local 3 14: StackMap locals:
StackMap stack:
new sun.security.x509.IPAddressName
dup
aload 2
invokespecial sun.security.x509.IPAddressName.<init>:(Ljava/lang/String;)V
astore 3
start local 3 15: goto 17
end local 3 16: StackMap locals:
StackMap stack:
new sun.security.x509.OIDName
dup
aload 2
invokespecial sun.security.x509.OIDName.<init>:(Ljava/lang/String;)V
astore 3
start local 3 17: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String sun.security.x509.GeneralNameInterface int
StackMap stack:
new sun.security.x509.GeneralName
dup
aload 3
invokespecial sun.security.x509.GeneralName.<init>:(Lsun/security/x509/GeneralNameInterface;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/tools/keytool/Main;
0 18 1 t Ljava/lang/String;
0 18 2 v Ljava/lang/String;
9 10 3 gn Lsun/security/x509/GeneralNameInterface;
11 12 3 gn Lsun/security/x509/GeneralNameInterface;
13 14 3 gn Lsun/security/x509/GeneralNameInterface;
15 16 3 gn Lsun/security/x509/GeneralNameInterface;
17 18 3 gn Lsun/security/x509/GeneralNameInterface;
1 18 4 p I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
t
v
private sun.security.util.ObjectIdentifier findOidForExtName(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
tableswitch { // 0 - 8
0: 1
1: 2
2: 3
3: 4
4: 5
5: 6
6: 7
7: 9
8: 8
default: 9
}
1: StackMap locals:
StackMap stack:
getstatic sun.security.x509.PKIXExtensions.BasicConstraints_Id:Lsun/security/util/ObjectIdentifier;
areturn
2: StackMap locals:
StackMap stack:
getstatic sun.security.x509.PKIXExtensions.KeyUsage_Id:Lsun/security/util/ObjectIdentifier;
areturn
3: StackMap locals:
StackMap stack:
getstatic sun.security.x509.PKIXExtensions.ExtendedKeyUsage_Id:Lsun/security/util/ObjectIdentifier;
areturn
4: StackMap locals:
StackMap stack:
getstatic sun.security.x509.PKIXExtensions.SubjectAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
areturn
5: StackMap locals:
StackMap stack:
getstatic sun.security.x509.PKIXExtensions.IssuerAlternativeName_Id:Lsun/security/util/ObjectIdentifier;
areturn
6: StackMap locals:
StackMap stack:
getstatic sun.security.x509.PKIXExtensions.SubjectInfoAccess_Id:Lsun/security/util/ObjectIdentifier;
areturn
7: StackMap locals:
StackMap stack:
getstatic sun.security.x509.PKIXExtensions.AuthInfoAccess_Id:Lsun/security/util/ObjectIdentifier;
areturn
8: StackMap locals:
StackMap stack:
getstatic sun.security.x509.PKIXExtensions.CRLDistributionPoints_Id:Lsun/security/util/ObjectIdentifier;
areturn
9: StackMap locals:
StackMap stack:
new sun.security.util.ObjectIdentifier
dup
aload 1
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/tools/keytool/Main;
0 10 1 type Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
type
private sun.security.x509.CertificateExtensions createV3Extensions(sun.security.x509.CertificateExtensions, sun.security.x509.CertificateExtensions, java.util.List<java.lang.String>, java.security.PublicKey, java.security.PublicKey);
descriptor: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=28, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
ifnull 2
aload 1
ifnull 2
1: new java.lang.Exception
dup
ldc "One of request and original should be null."
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
new sun.security.x509.CertificateExtensions
dup
invokespecial sun.security.x509.CertificateExtensions.<init>:()V
astore 2
3: StackMap locals:
StackMap stack:
aload 1
ifnull 49
4: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 48
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 6: aload 6
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
ldc "honored="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 48
7: aload 6
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
bipush 8
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
8: invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 8
start local 8 9: aload 8
ldc "all"
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 11
10: aload 1
astore 2
11: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List
StackMap stack:
aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 46
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
12: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 13: aload 9
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
goto 46
14: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator
StackMap stack:
iconst_1
istore 11
start local 11 15: iconst_m1
istore 12
start local 12 16: aconst_null
astore 13
start local 13 17: aload 9
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 21
18: iconst_0
istore 11
19: aload 9
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 13
20: goto 33
21: StackMap locals: int int java.lang.String
StackMap stack:
aload 9
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 14
start local 14 22: iload 14
iflt 33
23: aload 9
iconst_0
iload 14
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 13
24: aload 9
iload 14
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
iconst_2
anewarray java.lang.String
dup
iconst_0
25: ldc "critical"
aastore
dup
iconst_1
ldc "non-critical"
aastore
26: invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 12
27: iload 12
iconst_m1
if_icmpne 33
28: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
29: ldc "Illegal.value."
30: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
32: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 14 33: StackMap locals:
StackMap stack:
aload 1
aload 0
aload 13
invokevirtual sun.security.tools.keytool.Main.findOidForExtName:(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.x509.CertificateExtensions.getNameByOid:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/String;
astore 14
start local 14 34: iload 11
ifeq 45
35: aload 1
aload 14
invokevirtual sun.security.x509.CertificateExtensions.get:(Ljava/lang/String;)Lsun/security/x509/Extension;
astore 15
start local 15 36: aload 15
invokevirtual sun.security.x509.Extension.isCritical:()Z
ifne 37
iload 12
ifeq 38
37: StackMap locals: java.lang.String sun.security.x509.Extension
StackMap stack:
aload 15
invokevirtual sun.security.x509.Extension.isCritical:()Z
ifeq 46
iload 12
iconst_1
if_icmpne 46
38: StackMap locals:
StackMap stack:
aload 15
invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
39: aload 15
invokevirtual sun.security.x509.Extension.isCritical:()Z
ifeq 40
iconst_0
goto 41
StackMap locals:
StackMap stack: sun.security.util.ObjectIdentifier
40: iconst_1
41: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator int int java.lang.String java.lang.String sun.security.x509.Extension
StackMap stack: sun.security.util.ObjectIdentifier int
aload 15
invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
42: invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
astore 15
43: aload 2
aload 14
aload 15
invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
end local 15 44: goto 46
45: StackMap locals:
StackMap stack:
aload 2
aload 14
invokevirtual sun.security.x509.CertificateExtensions.delete:(Ljava/lang/String;)V
end local 14 end local 13 end local 12 end local 11 end local 9 46: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
47: goto 49
end local 8 end local 6 48: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
49: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 337
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
StackMap stack:
50: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 51: iconst_0
istore 10
start local 10 52: aload 6
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 11
start local 11 53: iload 11
iflt 57
54: aload 6
iconst_0
iload 11
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 8
start local 8 55: aload 6
iload 11
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
start local 9 56: goto 59
end local 9 end local 8 57: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator top top int int
StackMap stack:
aload 6
astore 8
start local 8 58: aconst_null
astore 9
start local 9 59: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int
StackMap stack:
aload 8
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 12
start local 12 60: iload 12
iflt 64
61: aload 8
iload 12
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "critical"
aastore
invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
ifne 63
62: iconst_1
istore 10
63: StackMap locals: int
StackMap stack:
aload 8
iconst_0
iload 12
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 8
64: StackMap locals:
StackMap stack:
aload 8
ldc "honored"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 66
65: goto 337
66: StackMap locals:
StackMap stack:
aload 8
getstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 13
start local 13 67: iload 13
tableswitch { // -1 - 8
-1: 296
0: 68
1: 105
2: 139
3: 179
4: 179
5: 210
6: 210
7: 332
8: 270
default: 332
}
68: StackMap locals: int
StackMap stack:
iconst_m1
istore 14
start local 14 69: iconst_0
istore 15
start local 15 70: aload 9
ifnonnull 73
71: iconst_1
istore 15
72: goto 99
73: StackMap locals: int int
StackMap stack:
aload 9
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 14
74: iconst_1
istore 15
75: goto 99
StackMap locals:
StackMap stack: java.lang.NumberFormatException
76: pop
77: aload 9
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 98
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int top int int java.lang.String[]
StackMap stack:
78: aload 19
iload 17
aaload
astore 16
start local 16 79: aload 16
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 20
start local 20 80: aload 20
arraylength
iconst_2
if_icmpeq 86
81: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
82: ldc "Illegal.value."
83: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
84: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
85: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
86: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int java.lang.String int int java.lang.String[] java.lang.String[]
StackMap stack:
aload 20
iconst_0
aaload
ldc "ca"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 89
87: aload 20
iconst_1
aaload
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 15
88: goto 97
StackMap locals:
StackMap stack:
89: aload 20
iconst_0
aaload
ldc "pathlen"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 92
90: aload 20
iconst_1
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 14
91: goto 97
92: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
93: ldc "Illegal.value."
94: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
95: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
96: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 20 end local 16 97: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int top int int java.lang.String[]
StackMap stack:
iinc 17 1
StackMap locals:
StackMap stack:
98: iload 17
iload 18
if_icmplt 78
99: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int
StackMap stack:
aload 2
ldc "BasicConstraints"
100: new sun.security.x509.BasicConstraintsExtension
dup
iload 10
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 15
101: iload 14
102: invokespecial sun.security.x509.BasicConstraintsExtension.<init>:(Ljava/lang/Boolean;ZI)V
103: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
104: goto 337
end local 15 end local 14 105: StackMap locals:
StackMap stack:
aload 9
ifnull 134
106: bipush 9
newarray 4
astore 16
start local 16 107: aload 9
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 20
arraylength
istore 19
iconst_0
istore 18
goto 126
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] top int int java.lang.String[]
StackMap stack:
108: aload 20
iload 18
aaload
astore 17
start local 17 109: aload 17
bipush 10
anewarray java.lang.String
dup
iconst_0
110: ldc "digitalSignature"
aastore
dup
iconst_1
111: ldc "nonRepudiation"
aastore
dup
iconst_2
112: ldc "keyEncipherment"
aastore
dup
iconst_3
113: ldc "dataEncipherment"
aastore
dup
iconst_4
114: ldc "keyAgreement"
aastore
dup
iconst_5
115: ldc "keyCertSign"
aastore
dup
bipush 6
116: ldc "cRLSign"
aastore
dup
bipush 7
117: ldc "encipherOnly"
aastore
dup
bipush 8
118: ldc "decipherOnly"
aastore
dup
bipush 9
119: ldc "contentCommitment"
aastore
120: invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 21
start local 21 121: iload 21
ifge 123
122: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Unknown.keyUsage.type."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
123: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] java.lang.String int int java.lang.String[] int
StackMap stack:
iload 21
bipush 9
if_icmpne 124
iconst_1
istore 21
124: StackMap locals:
StackMap stack:
aload 16
iload 21
iconst_1
bastore
end local 21 end local 17 125: iinc 18 1
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] top int int java.lang.String[]
StackMap stack:
126: iload 18
iload 19
if_icmplt 108
127: new sun.security.x509.KeyUsageExtension
dup
aload 16
invokespecial sun.security.x509.KeyUsageExtension.<init>:([Z)V
astore 17
start local 17 128: aload 2
ldc "KeyUsage"
129: aload 17
invokevirtual sun.security.x509.KeyUsageExtension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
130: iload 10
131: aload 17
invokevirtual sun.security.x509.KeyUsageExtension.getExtensionValue:()[B
132: invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
end local 17 end local 16 133: goto 337
134: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
135: ldc "Illegal.value."
136: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
137: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
138: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
139: StackMap locals:
StackMap stack:
aload 9
ifnull 174
140: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 16
start local 16 141: aload 9
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 20
arraylength
istore 19
iconst_0
istore 18
goto 169
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector top int int java.lang.String[]
StackMap stack:
142: aload 20
iload 18
aaload
astore 17
start local 17 143: aload 17
bipush 10
anewarray java.lang.String
dup
iconst_0
144: ldc "anyExtendedKeyUsage"
aastore
dup
iconst_1
145: ldc "serverAuth"
aastore
dup
iconst_2
146: ldc "clientAuth"
aastore
dup
iconst_3
147: ldc "codeSigning"
aastore
dup
iconst_4
148: ldc "emailProtection"
aastore
dup
iconst_5
149: ldc ""
aastore
dup
bipush 6
150: ldc ""
aastore
dup
bipush 7
151: ldc ""
aastore
dup
bipush 8
152: ldc "timeStamping"
aastore
dup
bipush 9
153: ldc "OCSPSigning"
aastore
154: invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 21
start local 21 155: iload 21
ifge 164
156: aload 16
new sun.security.util.ObjectIdentifier
dup
aload 17
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
157: goto 168
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector java.lang.String int int java.lang.String[] int
StackMap stack: java.lang.Exception
158: pop
159: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
160: ldc "Unknown.extendedkeyUsage.type."
161: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
162: aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
163: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
164: StackMap locals:
StackMap stack:
iload 21
ifne 167
165: aload 16
new sun.security.util.ObjectIdentifier
dup
ldc "2.5.29.37.0"
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
166: goto 168
167: StackMap locals:
StackMap stack:
aload 16
new sun.security.util.ObjectIdentifier
dup
new java.lang.StringBuilder
dup
ldc "1.3.6.1.5.5.7.3."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 21
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 21 end local 17 168: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector top int int java.lang.String[]
StackMap stack:
iinc 18 1
StackMap locals:
StackMap stack:
169: iload 18
iload 19
if_icmplt 142
170: aload 2
ldc "ExtendedKeyUsage"
171: new sun.security.x509.ExtendedKeyUsageExtension
dup
iload 10
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 16
invokespecial sun.security.x509.ExtendedKeyUsageExtension.<init>:(Ljava/lang/Boolean;Ljava/util/Vector;)V
172: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
end local 16 173: goto 337
174: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
175: ldc "Illegal.value."
176: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
177: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
178: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
179: StackMap locals:
StackMap stack:
aload 9
ifnull 205
180: aload 9
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 16
start local 16 181: new sun.security.x509.GeneralNames
dup
invokespecial sun.security.x509.GeneralNames.<init>:()V
astore 17
start local 17 182: aload 16
dup
astore 21
arraylength
istore 20
iconst_0
istore 19
goto 191
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
StackMap stack:
183: aload 21
iload 19
aaload
astore 18
start local 18 184: aload 18
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 12
185: iload 12
ifge 187
186: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
ldc "Illegal item "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
187: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames java.lang.String int int java.lang.String[]
StackMap stack:
aload 18
iconst_0
iload 12
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 22
start local 22 188: aload 18
iload 12
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 23
start local 23 189: aload 17
aload 0
aload 22
aload 23
invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
pop
end local 23 end local 22 end local 18 190: iinc 19 1
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
StackMap stack:
191: iload 19
iload 20
if_icmplt 183
192: iload 13
iconst_3
if_icmpne 199
193: aload 2
ldc "SubjectAlternativeName"
194: new sun.security.x509.SubjectAlternativeNameExtension
dup
195: iload 10
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 17
196: invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
197: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
198: goto 337
199: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames
StackMap stack:
aload 2
ldc "IssuerAlternativeName"
200: new sun.security.x509.IssuerAlternativeNameExtension
dup
201: iload 10
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 17
202: invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
203: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
end local 17 end local 16 204: goto 337
205: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
206: ldc "Illegal.value."
207: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
208: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
209: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
210: StackMap locals:
StackMap stack:
iload 10
ifeq 216
211: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
212: ldc "This.extension.cannot.be.marked.as.critical."
213: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
214: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
215: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
216: StackMap locals:
StackMap stack:
aload 9
ifnull 265
217: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
218: astore 16
start local 16 219: aload 9
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 17
start local 17 220: aload 17
dup
astore 21
arraylength
istore 20
iconst_0
istore 19
goto 255
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
221: aload 21
iload 19
aaload
astore 18
start local 18 222: aload 18
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 12
223: aload 18
bipush 58
iload 12
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 22
start local 22 224: iload 12
iflt 225
iload 22
ifge 230
225: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
226: ldc "Illegal.value."
227: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
228: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
229: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
230: StackMap locals:
StackMap stack:
aload 18
iconst_0
iload 12
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 23
start local 23 231: aload 18
iload 12
iconst_1
iadd
iload 22
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 24
start local 24 232: aload 18
iload 22
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 25
start local 25 233: aload 23
bipush 6
anewarray java.lang.String
dup
iconst_0
234: ldc ""
aastore
dup
iconst_1
235: ldc "ocsp"
aastore
dup
iconst_2
236: ldc "caIssuers"
aastore
dup
iconst_3
237: ldc "timeStamping"
aastore
dup
iconst_4
238: ldc ""
aastore
dup
iconst_5
239: ldc "caRepository"
aastore
240: invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 26
start local 26 241: iload 26
ifge 250
242: new sun.security.util.ObjectIdentifier
dup
aload 23
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
astore 27
start local 27 243: goto 251
end local 27 StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int java.lang.String java.lang.String java.lang.String int
StackMap stack: java.lang.Exception
244: pop
245: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
246: ldc "Unknown.AccessDescription.type."
247: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
248: aload 23
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
249: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
250: StackMap locals:
StackMap stack:
new sun.security.util.ObjectIdentifier
dup
new java.lang.StringBuilder
dup
ldc "1.3.6.1.5.5.7.48."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 26
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
astore 27
start local 27 251: StackMap locals: sun.security.util.ObjectIdentifier
StackMap stack:
aload 16
new sun.security.x509.AccessDescription
dup
252: aload 27
aload 0
aload 24
aload 25
invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
invokespecial sun.security.x509.AccessDescription.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/x509/GeneralName;)V
253: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 18 254: iinc 19 1
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
255: iload 19
iload 20
if_icmplt 221
256: iload 13
iconst_5
if_icmpne 261
257: aload 2
ldc "SubjectInfoAccess"
258: new sun.security.x509.SubjectInfoAccessExtension
dup
aload 16
invokespecial sun.security.x509.SubjectInfoAccessExtension.<init>:(Ljava/util/List;)V
259: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
260: goto 337
261: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[]
StackMap stack:
aload 2
ldc "AuthorityInfoAccess"
262: new sun.security.x509.AuthorityInfoAccessExtension
dup
aload 16
invokespecial sun.security.x509.AuthorityInfoAccessExtension.<init>:(Ljava/util/List;)V
263: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
end local 17 end local 16 264: goto 337
265: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
266: ldc "Illegal.value."
267: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
268: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
269: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
270: StackMap locals:
StackMap stack:
aload 9
ifnull 291
271: aload 9
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 16
start local 16 272: new sun.security.x509.GeneralNames
dup
invokespecial sun.security.x509.GeneralNames.<init>:()V
astore 17
start local 17 273: aload 16
dup
astore 21
arraylength
istore 20
iconst_0
istore 19
goto 282
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
StackMap stack:
274: aload 21
iload 19
aaload
astore 18
start local 18 275: aload 18
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 12
276: iload 12
ifge 278
277: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
ldc "Illegal item "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
278: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames java.lang.String int int java.lang.String[]
StackMap stack:
aload 18
iconst_0
iload 12
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 22
start local 22 279: aload 18
iload 12
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 23
start local 23 280: aload 17
aload 0
aload 22
aload 23
invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
pop
end local 23 end local 22 end local 18 281: iinc 19 1
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
StackMap stack:
282: iload 19
iload 20
if_icmplt 274
283: aload 2
ldc "CRLDistributionPoints"
284: new sun.security.x509.CRLDistributionPointsExtension
dup
285: iload 10
286: new sun.security.x509.DistributionPoint
dup
aload 17
aconst_null
aconst_null
invokespecial sun.security.x509.DistributionPoint.<init>:(Lsun/security/x509/GeneralNames;[ZLsun/security/x509/GeneralNames;)V
287: invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
288: invokespecial sun.security.x509.CRLDistributionPointsExtension.<init>:(ZLjava/util/List;)V
289: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
end local 17 end local 16 290: goto 337
291: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
292: ldc "Illegal.value."
293: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
294: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
295: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
296: StackMap locals:
StackMap stack:
new sun.security.util.ObjectIdentifier
dup
aload 8
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
astore 16
start local 16 297: aconst_null
astore 17
start local 17 298: aload 9
ifnull 326
299: aload 9
invokevirtual java.lang.String.length:()I
iconst_2
idiv
iconst_1
iadd
newarray 8
astore 17
300: iconst_0
istore 18
start local 18 301: aload 9
invokevirtual java.lang.String.toCharArray:()[C
dup
astore 22
arraylength
istore 21
iconst_0
istore 20
goto 317
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int top int int char[]
StackMap stack:
302: aload 22
iload 20
caload
istore 19
start local 19 303: iload 19
bipush 48
if_icmplt 306
iload 19
bipush 57
if_icmpgt 306
304: iload 19
bipush 48
isub
istore 23
start local 23 305: goto 311
end local 23 StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int int int int char[]
StackMap stack:
306: iload 19
bipush 65
if_icmplt 309
iload 19
bipush 70
if_icmpgt 309
307: iload 19
bipush 65
isub
bipush 10
iadd
istore 23
start local 23 308: goto 311
end local 23 StackMap locals:
StackMap stack:
309: iload 19
bipush 97
if_icmplt 316
iload 19
bipush 102
if_icmpgt 316
310: iload 19
bipush 97
isub
bipush 10
iadd
istore 23
start local 23 311: StackMap locals: int
StackMap stack:
iload 18
iconst_2
irem
ifne 314
312: aload 17
iload 18
iconst_2
idiv
iload 23
iconst_4
ishl
i2b
bastore
313: goto 315
314: StackMap locals:
StackMap stack:
aload 17
iload 18
iconst_2
idiv
dup2
baload
iload 23
iadd
i2b
bastore
315: StackMap locals:
StackMap stack:
iinc 18 1
end local 23 end local 19 316: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int top int int char[]
StackMap stack:
iinc 20 1
StackMap locals:
StackMap stack:
317: iload 20
iload 21
if_icmplt 302
318: iload 18
iconst_2
irem
ifeq 324
319: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
320: ldc "Odd.number.of.hex.digits.found."
321: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
322: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
323: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
324: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int
StackMap stack:
aload 17
iload 18
iconst_2
idiv
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 17
end local 18 325: goto 327
326: StackMap locals:
StackMap stack:
iconst_0
newarray 8
astore 17
327: StackMap locals:
StackMap stack:
aload 2
aload 16
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
new sun.security.x509.Extension
dup
aload 16
iload 10
328: new sun.security.util.DerValue
dup
iconst_4
aload 17
invokespecial sun.security.util.DerValue.<init>:(B[B)V
329: invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.x509.Extension.<init>:(Lsun/security/util/ObjectIdentifier;Z[B)V
330: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
331: goto 337
end local 17 end local 16 332: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
333: ldc "Unknown.extension.type."
334: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
335: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
336: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 6 337: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
338: aload 2
ldc "SubjectKeyIdentifier"
339: new sun.security.x509.SubjectKeyIdentifierExtension
dup
340: new sun.security.x509.KeyIdentifier
dup
aload 4
invokespecial sun.security.x509.KeyIdentifier.<init>:(Ljava/security/PublicKey;)V
invokevirtual sun.security.x509.KeyIdentifier.getIdentifier:()[B
341: invokespecial sun.security.x509.SubjectKeyIdentifierExtension.<init>:([B)V
342: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
343: aload 5
ifnull 352
aload 4
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 352
344: aload 2
ldc "AuthorityKeyIdentifier"
345: new sun.security.x509.AuthorityKeyIdentifierExtension
dup
346: new sun.security.x509.KeyIdentifier
dup
aload 5
invokespecial sun.security.x509.KeyIdentifier.<init>:(Ljava/security/PublicKey;)V
aconst_null
aconst_null
347: invokespecial sun.security.x509.AuthorityKeyIdentifierExtension.<init>:(Lsun/security/x509/KeyIdentifier;Lsun/security/x509/GeneralNames;Lsun/security/x509/SerialNumber;)V
348: invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
349: goto 352
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey
StackMap stack: java.io.IOException
350: astore 6
start local 6 351: new java.lang.RuntimeException
dup
aload 6
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 352: StackMap locals:
StackMap stack:
aload 2
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 353 0 this Lsun/security/tools/keytool/Main;
0 353 1 reqex Lsun/security/x509/CertificateExtensions;
0 353 2 ext Lsun/security/x509/CertificateExtensions;
0 353 3 extstrs Ljava/util/List<Ljava/lang/String;>;
0 353 4 pkey Ljava/security/PublicKey;
0 353 5 akey Ljava/security/PublicKey;
6 48 6 extstr Ljava/lang/String;
9 48 8 list Ljava/util/List<Ljava/lang/String;>;
13 46 9 item Ljava/lang/String;
15 46 11 add Z
16 46 12 action I
17 46 13 type Ljava/lang/String;
22 33 14 colonpos I
34 46 14 n Ljava/lang/String;
36 44 15 e Lsun/security/x509/Extension;
51 337 6 extstr Ljava/lang/String;
55 57 8 name Ljava/lang/String;
58 337 8 name Ljava/lang/String;
56 57 9 value Ljava/lang/String;
59 337 9 value Ljava/lang/String;
52 337 10 isCritical Z
53 337 11 eqpos I
60 337 12 colonpos I
67 337 13 exttype I
69 105 14 pathLen I
70 105 15 isCA Z
79 97 16 part Ljava/lang/String;
80 97 20 nv [Ljava/lang/String;
107 133 16 ok [Z
109 125 17 s Ljava/lang/String;
121 125 21 p I
128 133 17 kue Lsun/security/x509/KeyUsageExtension;
141 173 16 v Ljava/util/Vector<Lsun/security/util/ObjectIdentifier;>;
143 168 17 s Ljava/lang/String;
155 168 21 p I
181 204 16 ps [Ljava/lang/String;
182 204 17 gnames Lsun/security/x509/GeneralNames;
184 190 18 item Ljava/lang/String;
188 190 22 t Ljava/lang/String;
189 190 23 v Ljava/lang/String;
219 264 16 accessDescriptions Ljava/util/List<Lsun/security/x509/AccessDescription;>;
220 264 17 ps [Ljava/lang/String;
222 254 18 item Ljava/lang/String;
224 254 22 colonpos2 I
231 254 23 m Ljava/lang/String;
232 254 24 t Ljava/lang/String;
233 254 25 v Ljava/lang/String;
241 254 26 p I
243 244 27 oid Lsun/security/util/ObjectIdentifier;
251 254 27 oid Lsun/security/util/ObjectIdentifier;
272 290 16 ps [Ljava/lang/String;
273 290 17 gnames Lsun/security/x509/GeneralNames;
275 281 18 item Ljava/lang/String;
279 281 22 t Ljava/lang/String;
280 281 23 v Ljava/lang/String;
297 332 16 oid Lsun/security/util/ObjectIdentifier;
298 332 17 data [B
301 325 18 pos I
303 316 19 c C
305 306 23 hex I
308 309 23 hex I
311 316 23 hex I
351 352 6 e Ljava/io/IOException;
Exception table:
from to target type
73 75 76 Class java.lang.NumberFormatException
156 157 158 Class java.lang.Exception
242 243 244 Class java.lang.Exception
3 349 350 Class java.io.IOException
Exceptions:
throws java.lang.Exception
Signature: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List<Ljava/lang/String;>;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
MethodParameters:
Name Flags
reqex
ext
extstrs
pkey
akey
private boolean isTrustedCert(java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
ifnull 2
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 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
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;
astore 2
start local 2 3: aload 2
ifnull 4
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
invokevirtual java.security.KeyStore.isCertificateEntry:(Ljava/lang/String;)Z
ifeq 4
iconst_1
ireturn
StackMap locals: java.lang.String
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/tools/keytool/Main;
0 5 1 cert Ljava/security/cert/Certificate;
3 5 2 inKS Ljava/lang/String;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
cert
private void checkWeak(java.lang.String, java.lang.String, java.security.Key);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/security/Key;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 7
getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
1: getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
aload 2
aconst_null
2: invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
3: ifne 7
4: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
5: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "whose.sigalg.risk"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
6: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: StackMap locals:
StackMap stack:
aload 3
ifnull 15
getstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
getstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
aload 3
invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
ifne 15
8: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
9: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "whose.key.risk"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
10: aload 1
aastore
dup
iconst_1
11: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "key.bit"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
12: aload 3
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
aastore
13: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aastore
14: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: StackMap locals:
StackMap stack:
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 label Ljava/lang/String;
0 16 2 sigAlg Ljava/lang/String;
0 16 3 key Ljava/security/Key;
MethodParameters:
Name Flags
label
sigAlg
key
private void checkWeak(java.lang.String, java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;[Ljava/security/cert/Certificate;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 10
2: StackMap locals: int
StackMap stack:
aload 2
iload 3
aaload
astore 4
start local 4 3: aload 4
instanceof java.security.cert.X509Certificate
ifeq 9
4: aload 4
checkcast java.security.cert.X509Certificate
astore 5
start local 5 5: aload 1
astore 6
start local 6 6: aload 2
arraylength
iconst_1
if_icmple 8
7: aload 1
iload 3
aload 2
arraylength
invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
astore 6
8: StackMap locals: java.security.cert.Certificate java.security.cert.X509Certificate java.lang.String
StackMap stack:
aload 0
aload 6
aload 5
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 6 end local 5 end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
aload 2
arraylength
if_icmplt 2
end local 3 11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/tools/keytool/Main;
0 12 1 label Ljava/lang/String;
0 12 2 certs [Ljava/security/cert/Certificate;
1 11 3 i I
3 9 4 cert Ljava/security/cert/Certificate;
5 9 5 xc Ljava/security/cert/X509Certificate;
6 9 6 fullLabel Ljava/lang/String;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
label
certs
private void checkWeak(java.lang.String, java.security.cert.Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof java.security.cert.X509Certificate
ifeq 6
1: aload 2
checkcast java.security.cert.X509Certificate
astore 3
start local 3 2: aload 0
aload 2
invokevirtual sun.security.tools.keytool.Main.isTrustedCert:(Ljava/security/cert/Certificate;)Z
ifeq 3
aconst_null
goto 4
StackMap locals: java.security.cert.X509Certificate
StackMap stack:
3: aload 3
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
4: astore 4
start local 4 5: aload 0
aload 1
aload 4
aload 3
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Key;)V
end local 4 end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/tools/keytool/Main;
0 7 1 label Ljava/lang/String;
0 7 2 cert Ljava/security/cert/Certificate;
2 6 3 xc Ljava/security/cert/X509Certificate;
5 6 4 sigAlg Ljava/lang/String;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
label
cert
private void checkWeak(java.lang.String, sun.security.pkcs10.PKCS10);
descriptor: (Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual sun.security.pkcs10.PKCS10.getSigAlg:()Ljava/lang/String;
aload 2
invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Key;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/tools/keytool/Main;
0 2 1 label Ljava/lang/String;
0 2 2 p10 Lsun/security/pkcs10/PKCS10;
MethodParameters:
Name Flags
label
p10
private void checkWeak(java.lang.String, java.security.cert.CRL, java.security.Key);
descriptor: (Ljava/lang/String;Ljava/security/cert/CRL;Ljava/security/Key;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof sun.security.x509.X509CRLImpl
ifeq 3
1: aload 2
checkcast sun.security.x509.X509CRLImpl
astore 4
start local 4 2: aload 0
aload 1
aload 4
invokevirtual sun.security.x509.X509CRLImpl.getSigAlgName:()Ljava/lang/String;
aload 3
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/lang/String;Ljava/security/Key;)V
end local 4 3: StackMap locals:
StackMap stack:
return
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 label Ljava/lang/String;
0 4 2 crl Ljava/security/cert/CRL;
0 4 3 key Ljava/security/Key;
2 3 4 impl Lsun/security/x509/X509CRLImpl;
MethodParameters:
Name Flags
label
crl
key
private void printWeakWarnings(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 8
aload 0
getfield sun.security.tools.keytool.Main.nowarn:Z
ifne 8
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "\nWarning:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: sun.security.tools.keytool.Main int top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 4: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: iload 1
ifeq 8
7: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
8: StackMap locals: sun.security.tools.keytool.Main int
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
invokeinterface java.util.List.clear:()V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/tools/keytool/Main;
0 10 1 newLine Z
4 5 2 warning Ljava/lang/String;
MethodParameters:
Name Flags
newLine
private void usage();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=1
start local 0 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 50
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 45
StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
StackMap stack:
41: aload 4
iload 2
aaload
astore 1
start local 1 42: aload 1
getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 43
goto 46
43: StackMap locals: sun.security.tools.keytool.Main sun.security.tools.keytool.Main$Command int int sun.security.tools.keytool.Main$Command[]
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc " %-20s%s\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
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 44: iinc 2 1
StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
StackMap stack:
45: iload 2
iload 3
if_icmplt 41
46: StackMap locals: sun.security.tools.keytool.Main
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
47: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
48: ldc "Use.keytool.command.name.help.for.usage.of.command.name"
49: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
50: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lsun/security/tools/keytool/Main;
10 33 1 left [Ljava/lang/String;
11 33 2 right [Ljava/lang/String;
12 33 3 lenLeft I
13 22 4 j I
15 20 5 opt Lsun/security/tools/keytool/Main$Option;
23 29 4 j I
42 44 1 c Lsun/security/tools/keytool/Main$Command;
private void tinyHelp();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 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
private char[] getPass(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
invokestatic sun.security.tools.KeyStoreUtil.getPassWithModifier:(Ljava/lang/String;Ljava/lang/String;Ljava/util/ResourceBundle;)[C
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
areturn
2: StackMap locals: char[]
StackMap stack:
aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
3: aconst_null
areturn
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 modifier Ljava/lang/String;
0 4 2 arg Ljava/lang/String;
1 4 3 output [C
MethodParameters:
Name Flags
modifier
arg
}
SourceFile: "Main.java"
NestMembers:
sun.security.tools.keytool.Main$1 sun.security.tools.keytool.Main$1$1 sun.security.tools.keytool.Main$Command sun.security.tools.keytool.Main$Option
InnerClasses:
public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore
sun.security.tools.keytool.Main$1
final Command = sun.security.tools.keytool.Main$Command of sun.security.tools.keytool.Main
final Option = sun.security.tools.keytool.Main$Option of sun.security.tools.keytool.Main