public final class sun.security.tools.keytool.Main
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.tools.keytool.Main
super_class: java.lang.Object
{
private static final byte[] CRLF;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private boolean debug;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private sun.security.tools.keytool.Main$Command command;
descriptor: Lsun/security/tools/keytool/Main$Command;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sigAlgName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyAlgName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean verbose;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int keysize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean rfc;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long validity;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.lang.String alias;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String dname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String dest;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String filename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String infilename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String outfilename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcksfname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<sun.security.tools.keytool.Pair<java.lang.String, java.lang.String>> providers;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;>;
private java.lang.String storetype;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcProviderName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String providerName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String pathlist;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private char[] storePass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] storePassNew;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] keyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] keyPassNew;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] newPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] destKeyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] srckeyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.lang.String ksfname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.io.File ksfile;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream ksStream;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sslserver;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String jarfile;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.security.KeyStore keyStore;
descriptor: Ljava/security/KeyStore;
flags: (0x0002) ACC_PRIVATE
private boolean token;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean nullStream;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean kssave;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean noprompt;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean trustcacerts;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean nowarn;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean protectedPath;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean srcprotectedPath;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.security.cert.CertificateFactory cf;
descriptor: Ljava/security/cert/CertificateFactory;
flags: (0x0002) ACC_PRIVATE
private java.security.KeyStore caks;
descriptor: Ljava/security/KeyStore;
flags: (0x0002) ACC_PRIVATE
private char[] srcstorePass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcstoretype;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<char[]> passwords;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<[C>;
private java.lang.String startDate;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.String> ids;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private java.util.List<java.lang.String> v3ext;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private boolean inplaceImport;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String inplaceBackupName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.String> weakWarnings;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private static final sun.security.util.DisabledAlgorithmConstraints DISABLED_CHECK;
descriptor: Lsun/security/util/DisabledAlgorithmConstraints;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set<java.security.CryptoPrimitive> SIG_PRIMITIVE_SET;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/security/CryptoPrimitive;>;
private static final java.lang.Class<?>[] PARAM_STRING;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private static final java.lang.String NONE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NONE"
private static final java.lang.String P11KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS11"
private static final java.lang.String P12KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS12"
private static final java.lang.String keyAlias;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "mykey"
private static final java.util.ResourceBundle rb;
descriptor: Ljava/util/ResourceBundle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.text.Collator collator;
descriptor: Ljava/text/Collator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] extSupported;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_2
newarray 8
dup
iconst_0
bipush 13
bastore
dup
iconst_1
bipush 10
bastore
putstatic sun.security.tools.keytool.Main.CRLF:[B
1: new sun.security.util.DisabledAlgorithmConstraints
dup
2: ldc "jdk.certpath.disabledAlgorithms"
3: invokespecial sun.security.util.DisabledAlgorithmConstraints.<init>:(Ljava/lang/String;)V
4: putstatic sun.security.tools.keytool.Main.DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
5: getstatic java.security.CryptoPrimitive.SIGNATURE:Ljava/security/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
6: putstatic sun.security.tools.keytool.Main.SIG_PRIMITIVE_SET:Ljava/util/Set;
7: iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
putstatic sun.security.tools.keytool.Main.PARAM_STRING:[Ljava/lang/Class;
8: ldc "sun.security.tools.keytool.Resources"
9: invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
10: putstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
11: invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
putstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
12: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
iconst_0
invokevirtual java.text.Collator.setStrength:(I)V
13: bipush 9
anewarray java.lang.String
dup
iconst_0
14: ldc "BasicConstraints"
aastore
dup
iconst_1
15: ldc "KeyUsage"
aastore
dup
iconst_2
16: ldc "ExtendedKeyUsage"
aastore
dup
iconst_3
17: ldc "SubjectAlternativeName"
aastore
dup
iconst_4
18: ldc "IssuerAlternativeName"
aastore
dup
iconst_5
19: ldc "SubjectInfoAccess"
aastore
dup
bipush 6
20: ldc "AuthorityInfoAccess"
aastore
dup
bipush 8
21: ldc "CRLDistributionPoints"
aastore
22: putstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
23: 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 184
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 183
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 183
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 183
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 183
StackMap locals:
StackMap stack:
38: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 4
ldc "-importpassword"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 41
39: aload 0
getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
40: goto 183
StackMap locals:
StackMap stack:
41: 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 44
42: iconst_1
istore 3
43: goto 183
StackMap locals:
StackMap stack:
44: 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 47
45: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.nowarn:Z
46: goto 183
47: 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 49
48: 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 51
49: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
50: goto 183
StackMap locals:
StackMap stack:
51: 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 53
52: 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 56
53: 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
54: 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
55: goto 183
StackMap locals:
StackMap stack:
56: 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 58
57: 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 60
58: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
invokestatic sun.security.tools.KeyStoreUtil.niceStoreTypeName:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
59: goto 183
StackMap locals:
StackMap stack:
60: 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 64
61: 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
62: 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
63: goto 183
StackMap locals:
StackMap stack:
64: 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 67
65: aload 0
aload 1
iinc 2 1
iload 2
aaload
invokestatic sun.security.tools.KeyStoreUtil.niceStoreTypeName:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
66: goto 183
StackMap locals:
StackMap stack:
67: 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 71
68: 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
69: 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
70: goto 183
StackMap locals:
StackMap stack:
71: 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 74
72: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
73: goto 183
StackMap locals:
StackMap stack:
74: 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 76
75: 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 78
76: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
77: goto 183
StackMap locals:
StackMap stack:
78: 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 81
79: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
80: goto 183
StackMap locals:
StackMap stack:
81: 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 85
82: 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
83: 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
84: goto 183
StackMap locals:
StackMap stack:
85: 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 89
86: 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
87: 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
88: goto 183
StackMap locals:
StackMap stack:
89: 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 93
90: 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
91: 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
92: goto 183
StackMap locals:
StackMap stack:
93: 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 95
94: 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 97
95: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
96: goto 183
StackMap locals:
StackMap stack:
97: 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 99
98: 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 101
99: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
100: goto 183
StackMap locals:
StackMap stack:
101: 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 104
102: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
103: goto 183
StackMap locals:
StackMap stack:
104: 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 107
105: 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
106: goto 183
StackMap locals:
StackMap stack:
107: 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 110
108: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
109: goto 183
StackMap locals:
StackMap stack:
110: 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 113
111: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
112: goto 183
StackMap locals:
StackMap stack:
113: 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 116
114: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
115: goto 183
StackMap locals:
StackMap stack:
116: 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 119
117: 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
118: goto 183
StackMap locals:
StackMap stack:
119: 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 122
120: 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
121: goto 183
StackMap locals:
StackMap stack:
122: 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 125
123: 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
124: goto 183
StackMap locals:
StackMap stack:
125: 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 128
126: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
127: goto 183
StackMap locals:
StackMap stack:
128: 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 131
129: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
130: goto 183
StackMap locals:
StackMap stack:
131: 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 134
132: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
133: goto 183
StackMap locals:
StackMap stack:
134: 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 137
135: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
136: goto 183
StackMap locals:
StackMap stack:
137: 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 140
138: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
139: goto 183
StackMap locals:
StackMap stack:
140: 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 143
141: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
142: goto 183
StackMap locals:
StackMap stack:
143: 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 145
144: 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 159
145: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
ifnonnull 147
146: 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;
147: StackMap locals:
StackMap stack:
aload 1
iinc 2 1
iload 2
aaload
astore 8
start local 8 148: aconst_null
astore 9
start local 9 149: aload 1
arraylength
iload 2
iconst_1
iadd
if_icmple 155
150: aload 1
iload 2
iconst_1
iadd
aaload
astore 4
151: 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 155
152: aload 1
arraylength
iload 2
iconst_2
iadd
if_icmpne 153
aload 0
aload 4
invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
153: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
iload 2
iconst_2
iadd
aaload
astore 9
154: iinc 2 2
155: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
156: aload 8
aload 9
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
157: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 158: goto 183
159: 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 162
160: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.verbose:Z
161: goto 183
StackMap locals:
StackMap stack:
162: 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 165
163: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.debug:Z
164: goto 183
StackMap locals:
StackMap stack:
165: 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 168
166: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.rfc:Z
167: goto 183
StackMap locals:
StackMap stack:
168: 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 171
169: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.noprompt:Z
170: goto 183
StackMap locals:
StackMap stack:
171: 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 174
172: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.trustcacerts:Z
173: goto 183
StackMap locals:
StackMap stack:
174: 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 176
175: 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 178
176: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.protectedPath:Z
177: goto 183
StackMap locals:
StackMap stack:
178: 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 181
179: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
180: goto 183
181: 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
182: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
end local 7 end local 6 end local 5 end local 4 183: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
184: iload 2
aload 1
arraylength
if_icmpge 185
aload 1
iload 2
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 5
185: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmpge 188
186: 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
187: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
188: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
ifnonnull 195
189: iload 3
ifeq 192
190: aload 0
invokevirtual sun.security.tools.keytool.Main.usage:()V
191: goto 198
192: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Usage.error.no.command.provided"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
193: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
194: goto 198
StackMap locals:
StackMap stack:
195: iload 3
ifeq 198
196: aload 0
invokevirtual sun.security.tools.keytool.Main.usage:()V
197: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
198: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 199 0 this Lsun/security/tools/keytool/Main;
0 199 1 args [Ljava/lang/String;
1 199 2 i I
4 199 3 help Z
6 183 4 flags Ljava/lang/String;
9 12 5 option Lsun/security/tools/keytool/Main$Option;
15 183 5 modifier Ljava/lang/String;
16 183 6 pos I
20 183 7 isCommand Z
22 26 8 c Lsun/security/tools/keytool/Main$Command;
148 158 8 providerClass Ljava/lang/String;
149 158 9 providerArg Ljava/lang/String;
MethodParameters:
Name Flags
args
boolean isKeyStoreRelated(sun.security.tools.keytool.Main$Command);
descriptor: (Lsun/security/tools/keytool/Main$Command;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 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: ldc "PKCS11"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 2
1: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 5
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.token:Z
3: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnonnull 5
4: aload 0
ldc "NONE"
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
5: 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 7
6: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.nullStream:Z
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 15
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 15
8: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
9: ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
10: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
11: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aastore
12: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
14: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 22
16: 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 17
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 22
17: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
18: ldc ".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}"
19: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
20: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aastore
21: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 28
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 23
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnonnull 23
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 28
23: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
24: ldc ".keypass.and.new.can.not.be.specified.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.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifeq 34
29: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 31
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 31
30: aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnonnull 31
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 34
31: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
32: ldc "if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified"
33: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
ifeq 39
35: aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 36
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnull 39
36: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
37: ldc "if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified"
38: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
39: 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 45
40: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 42
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 42
41: aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnonnull 42
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 45
42: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
43: ldc "if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified"
44: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
45: 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 50
46: aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 47
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnull 50
47: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
48: ldc "if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified"
49: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.validity:J
lconst_0
lcmp
ifgt 54
51: new java.lang.Exception
dup
52: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Validity.must.be.greater.than.zero"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
53: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
54: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
ifnull 88
55: aconst_null
astore 2
start local 2 56: aload 0
getfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
ifnull 66
57: aconst_null
astore 3
start local 3 58: aload 3
ldc "java.class.path"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
59: invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
60: aload 3
ldc "env.class.path"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
61: invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
62: 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
63: aload 3
invokestatic sun.security.tools.PathList.pathToURLs:(Ljava/lang/String;)[Ljava/net/URL;
astore 4
start local 4 64: new java.net.URLClassLoader
dup
aload 4
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
astore 2
end local 4 end local 3 65: goto 67
66: StackMap locals: java.lang.ClassLoader
StackMap stack:
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 2
67: 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 87
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
StackMap stack:
68: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.tools.keytool.Pair
astore 3
start local 3 69: aload 3
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 70: aload 2
ifnull 73
71: aload 2
aload 5
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 6
start local 6 72: goto 74
end local 6 73: 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 74: 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 75: aload 7
ifnonnull 78
76: aload 6
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 8
start local 8 77: goto 80
end local 8 78: 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 79: 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 80: StackMap locals: java.lang.Object
StackMap stack:
aload 8
instanceof java.security.Provider
ifne 86
81: new java.text.MessageFormat
dup
82: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "provName.not.a.provider"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
83: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 9
start local 9 84: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
astore 10
start local 10 85: 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 86: 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 87: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 68
end local 2 88: 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 93
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 93
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 93
89: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
90: ldc "Must.not.specify.both.v.and.rfc.with.list.command"
91: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
92: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
93: 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 97
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 97
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
arraylength
bipush 6
if_icmpge 97
94: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
95: ldc "Key.password.must.be.at.least.6.characters"
96: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
97: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnull 101
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
arraylength
bipush 6
if_icmpge 101
98: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
99: ldc "New.password.must.be.at.least.6.characters"
100: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
101: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 105
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
arraylength
bipush 6
if_icmpge 105
102: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
103: ldc "New.password.must.be.at.least.6.characters"
104: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
105: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnonnull 109
106: 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;
107: ldc ".keystore"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
108: putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
109: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 110: 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 116
111: aload 0
aload 0
invokevirtual sun.security.tools.keytool.Main.inplaceImportCheck:()Z
putfield sun.security.tools.keytool.Main.inplaceImport:Z
112: aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 116
113: aload 0
invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
astore 2
114: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 116
115: aload 0
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
putfield sun.security.tools.keytool.Main.storePass:[C
116: 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 139
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 139
aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifne 139
117: 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;
118: aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifeq 124
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual java.io.File.length:()J
lconst_0
lcmp
ifne 124
119: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
120: ldc "Keystore.file.exists.but.is.empty."
121: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
122: 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;
123: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
124: 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;
125: goto 139
StackMap locals:
StackMap stack: java.io.FileNotFoundException
126: pop
127: 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 139
128: 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 139
129: 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 139
130: 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 139
131: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 139
132: 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 139
133: 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 139
134: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
135: ldc "Keystore.file.does.not.exist."
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 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;
138: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
139: 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 140
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 146
140: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
ifnonnull 146
141: 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;
142: ldc ""
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 146
143: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
144: ldc "Must.specify.destination.alias"
145: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
146: 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 150
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 150
147: 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;
148: ldc ""
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 150
149: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Must.specify.alias"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
150: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
ifnonnull 152
151: aload 0
invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
152: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
ifnonnull 155
153: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
154: goto 156
155: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
156: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 163
157: aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 160
158: 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
159: goto 161
160: 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
161: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 163
162: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
163: 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 167
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 167
164: new java.lang.UnsupportedOperationException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
165: ldc ".keypasswd.commands.not.supported.if.storetype.is.PKCS12"
166: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
167: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 170
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 170
168: 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
169: goto 239
StackMap locals:
StackMap stack:
170: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 175
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 175
171: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnonnull 239
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
arraylength
bipush 6
if_icmpge 239
172: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
173: ldc "Keystore.password.must.be.at.least.6.characters"
174: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
175: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 239
176: aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifne 224
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 224
177: 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 190
178: 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 190
179: 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 190
180: 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 190
181: 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 190
182: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 190
183: 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 190
184: 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 190
185: 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 190
186: 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 190
187: 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 190
188: 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 190
189: 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 224
190: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 191: 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 196
192: getstatic java.lang.System.err:Ljava/io/PrintStream;
193: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.destination.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
194: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
195: goto 199
196: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
197: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
198: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
199: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
200: 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
201: 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
202: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 207
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 203
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
arraylength
bipush 6
if_icmpge 207
203: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
204: ldc "Keystore.password.is.too.short.must.be.at.least.6.characters"
205: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
206: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
207: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 216
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 216
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnonnull 216
208: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Re.enter.new.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
209: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 4
start local 4 210: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
211: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 4
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 216
212: getstatic java.lang.System.err:Ljava/io/PrintStream;
213: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "They.don.t.match.Try.again"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
214: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
215: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
end local 4 216: StackMap locals:
StackMap stack:
iinc 3 1
217: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 219
iload 3
iconst_3
218: if_icmplt 191
219: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 232
220: getstatic java.lang.System.err:Ljava/io/PrintStream;
221: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Too.many.failures.try.later"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
222: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
223: return
end local 3 224: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifne 232
225: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 232
226: 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 232
227: 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 232
228: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
229: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
230: 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
231: 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
232: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 235
233: 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
234: goto 239
StackMap locals:
StackMap stack:
235: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 239
236: 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;
237: 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
238: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
239: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 255
ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 255
240: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
241: ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
242: 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 243: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 247
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 247
244: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-keypass"
aastore
astore 4
start local 4 245: 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
246: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
putfield sun.security.tools.keytool.Main.keyPass:[C
end local 4 247: StackMap locals: java.text.MessageFormat
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnull 251
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 251
248: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-new"
aastore
astore 4
start local 4 249: 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
250: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
putfield sun.security.tools.keytool.Main.newPass:[C
end local 4 251: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 255
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 255
252: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-destkeypass"
aastore
astore 4
start local 4 253: 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
254: 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 255: 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 257
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 257
256: 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 257
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 258
257: 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;
258: 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 260
259: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.trustcacerts:Z
260: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 262
261: aload 0
invokestatic sun.security.tools.KeyStoreUtil.getCacertsKeyStore:()Ljava/security/KeyStore;
putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
262: 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 284
263: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 275
264: aconst_null
astore 3
aconst_null
astore 4
265: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
266: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
267: invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 268: 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
269: aload 5
ifnull 276
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 276
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
270: astore 3
aload 5
ifnull 271
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
271: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
272: astore 4
aload 3
ifnonnull 273
aload 4
astore 3
goto 274
StackMap locals:
StackMap stack:
273: aload 3
aload 4
if_acmpeq 274
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
274: aload 3
athrow
275: 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
276: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 497
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 497
277: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
278: ldc "Certification.request.stored.in.file.filename."
279: 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 280: 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 281: 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
282: 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 283: goto 497
StackMap locals:
StackMap stack:
284: 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 288
285: 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
286: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
287: goto 497
StackMap locals:
StackMap stack:
288: 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 309
289: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 301
290: aconst_null
astore 3
aconst_null
astore 4
291: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
292: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
293: invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 294: 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
295: aload 5
ifnull 302
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 302
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
296: astore 3
aload 5
ifnull 297
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
297: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
298: astore 4
aload 3
ifnonnull 299
aload 4
astore 3
goto 300
StackMap locals:
StackMap stack:
299: aload 3
aload 4
if_acmpeq 300
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
300: aload 3
athrow
301: 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
302: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 497
303: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
304: ldc "Certificate.stored.in.file.filename."
305: 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 306: 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 307: 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 308: goto 497
StackMap locals:
StackMap stack:
309: 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 315
310: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 312
311: aload 0
ldc "DSA"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
312: 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
313: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
314: goto 497
StackMap locals:
StackMap stack:
315: 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 321
316: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 318
317: aload 0
ldc "DES"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
318: 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
319: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
320: goto 497
StackMap locals:
StackMap stack:
321: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
if_acmpne 327
322: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 324
323: aload 0
ldc "PBE"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
324: 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
325: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
326: goto 497
StackMap locals:
StackMap stack:
327: 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 340
328: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 338
329: aconst_null
astore 3
aconst_null
astore 4
330: 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 331: aload 0
aload 5
invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
332: aload 5
ifnull 497
aload 5
invokevirtual java.io.InputStream.close:()V
goto 497
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
333: astore 3
aload 5
ifnull 334
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
334: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
335: astore 4
aload 3
ifnonnull 336
aload 4
astore 3
goto 337
StackMap locals:
StackMap stack:
336: aload 3
aload 4
if_acmpeq 337
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
337: aload 3
athrow
338: 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
339: goto 497
StackMap locals:
StackMap stack:
340: 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 383
341: getstatic java.lang.System.in:Ljava/io/InputStream;
astore 3
start local 3 342: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 344
343: 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
344: StackMap locals: java.io.InputStream
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 345
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
goto 346
StackMap locals:
StackMap stack:
345: ldc "mykey"
StackMap locals:
StackMap stack: java.lang.String
346: astore 4
start local 4 347: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
348: aload 4
ldc Ljava/security/KeyStore$PrivateKeyEntry;
349: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
350: ifeq 361
351: 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
352: aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 357
353: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
354: ldc "Certificate.reply.was.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 380
357: StackMap locals: java.lang.String
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
358: ldc "Certificate.reply.was.not.installed.in.keystore"
359: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
360: goto 380
StackMap locals:
StackMap stack:
361: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 4
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 366
362: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 4
363: ldc Ljava/security/KeyStore$TrustedCertificateEntry;
364: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
365: ifeq 380
366: 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
367: aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 372
368: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
369: ldc "Certificate.was.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 380
372: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
373: ldc "Certificate.was.not.added.to.keystore"
374: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
375: goto 380
StackMap locals:
StackMap stack: java.lang.Throwable
376: astore 5
377: aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 379
378: aload 3
invokevirtual java.io.InputStream.close:()V
379: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
athrow
380: StackMap locals:
StackMap stack:
aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 497
381: aload 3
invokevirtual java.io.InputStream.close:()V
end local 4 end local 3 382: goto 497
StackMap locals:
StackMap stack:
383: 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 389
384: aload 2
ifnonnull 386
385: aload 0
invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
astore 2
386: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.tools.keytool.Main.doImportKeyStore:(Ljava/security/KeyStore;)V
387: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
388: goto 497
StackMap locals:
StackMap stack:
389: 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 408
390: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.keyPassNew:[C
391: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 393
392: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
393: 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 399
394: new java.text.MessageFormat
dup
395: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.does.not.exist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
396: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 397: 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 398: 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 399: 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 405
400: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
401: ldc "Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key"
402: 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 403: 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 404: 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 405: 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
406: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
407: goto 497
StackMap locals:
StackMap stack:
408: 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 416
409: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 411
410: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
411: 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
412: 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 414
413: 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
414: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
415: goto 497
StackMap locals:
StackMap stack:
416: 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 421
417: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.keyPassNew:[C
418: 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
419: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
420: goto 497
StackMap locals:
StackMap stack:
421: 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 430
422: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 425
423: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 425
424: aload 0
invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
425: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 428
426: 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
427: goto 497
428: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintEntries:(Ljava/io/PrintStream;)V
429: goto 497
StackMap locals:
StackMap stack:
430: 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 433
431: aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintCert:(Ljava/io/PrintStream;)V
432: goto 497
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.SELFCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpne 437
434: 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
435: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
436: goto 497
StackMap locals:
StackMap stack:
437: 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 443
438: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.storePassNew:[C
439: aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
ifnonnull 441
440: 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
441: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
442: goto 497
StackMap locals:
StackMap stack:
443: 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 466
444: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 446
445: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
446: StackMap locals:
StackMap stack:
getstatic java.lang.System.in:Ljava/io/InputStream;
astore 3
start local 3 447: aload 0
getfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
ifnull 449
448: 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
449: StackMap locals: java.io.InputStream
StackMap stack:
aconst_null
astore 4
start local 4 450: aload 0
getfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
ifnull 453
451: 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
452: aload 4
astore 1
453: 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
454: goto 461
StackMap locals:
StackMap stack: java.lang.Throwable
455: astore 5
456: aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 458
457: aload 3
invokevirtual java.io.InputStream.close:()V
458: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
ifnull 460
459: aload 4
invokevirtual java.io.PrintStream.close:()V
460: StackMap locals:
StackMap stack:
aload 5
athrow
461: StackMap locals:
StackMap stack:
aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 463
462: aload 3
invokevirtual java.io.InputStream.close:()V
463: StackMap locals:
StackMap stack:
aload 4
ifnull 497
464: aload 4
invokevirtual java.io.PrintStream.close:()V
end local 4 end local 3 465: goto 497
StackMap locals:
StackMap stack:
466: 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 482
467: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 469
468: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
469: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 480
470: aconst_null
astore 3
aconst_null
astore 4
471: 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
472: astore 5
start local 5 473: aload 0
aload 5
invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
474: aload 5
ifnull 497
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 497
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
475: astore 3
aload 5
ifnull 476
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
476: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
477: astore 4
aload 3
ifnonnull 478
aload 4
astore 3
goto 479
StackMap locals:
StackMap stack:
478: aload 3
aload 4
if_acmpeq 479
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
479: aload 3
athrow
480: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
481: goto 497
StackMap locals:
StackMap stack:
482: 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 495
483: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 493
484: aconst_null
astore 3
aconst_null
astore 4
485: 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 486: aload 0
aload 5
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintCertReq:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
487: aload 5
ifnull 497
aload 5
invokevirtual java.io.InputStream.close:()V
goto 497
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
488: astore 3
aload 5
ifnull 489
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
489: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
490: astore 4
aload 3
ifnonnull 491
aload 4
astore 3
goto 492
StackMap locals:
StackMap stack:
491: aload 3
aload 4
if_acmpeq 492
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
492: aload 3
athrow
493: 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
494: goto 497
StackMap locals:
StackMap stack:
495: 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 497
496: 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
497: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 526
498: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 506
499: new java.text.MessageFormat
dup
500: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".Storing.ksfname."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
501: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 502: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 503
ldc "keystore"
goto 504
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int
503: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int java.lang.String
504: aastore
astore 4
start local 4 505: 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 506: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 509
507: 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
508: goto 526
509: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
ifnull 510
aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
goto 511
StackMap locals:
StackMap stack:
510: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
StackMap locals:
StackMap stack: char[]
511: astore 3
start local 3 512: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 515
513: 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
514: goto 526
515: StackMap locals: char[]
StackMap stack:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 4
start local 4 516: 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
517: aconst_null
astore 5
aconst_null
astore 6
518: 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 519: aload 7
aload 4
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokevirtual java.io.FileOutputStream.write:([B)V
520: aload 7
ifnull 526
aload 7
invokevirtual java.io.FileOutputStream.close:()V
goto 526
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore char[] java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
521: astore 5
aload 7
ifnull 522
aload 7
invokevirtual java.io.FileOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
522: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
523: astore 6
aload 5
ifnonnull 524
aload 6
astore 5
goto 525
StackMap locals:
StackMap stack:
524: aload 5
aload 6
if_acmpeq 525
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
525: aload 5
athrow
end local 4 end local 3 526: 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 563
527: aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 563
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 563
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnull 563
528: 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 529: aload 3
invokevirtual java.io.File.exists:()Z
ifeq 563
530: aload 0
aload 3
invokevirtual sun.security.tools.keytool.Main.keyStoreType:(Ljava/io/File;)Ljava/lang/String;
astore 4
start local 4 531: aload 4
ldc "JKS"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 533
532: aload 4
ldc "JCEKS"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 548
533: StackMap locals: java.io.File java.lang.String
StackMap stack:
iconst_1
istore 5
start local 5 534: 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 542
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File java.lang.String int top java.util.Iterator
StackMap stack:
535: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 536: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
537: aload 6
ldc Ljava/security/KeyStore$TrustedCertificateEntry;
538: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
539: ifne 542
540: iconst_0
istore 5
541: goto 543
end local 6 542: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 535
543: 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 548
544: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
545: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "jks.storetype.warning"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
546: aload 4
aastore
dup
iconst_1
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
aastore
547: 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 548: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 563
549: 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;
550: astore 5
start local 5 551: aload 4
aload 5
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 553
552: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "backup.keystore.warning"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
goto 554
553: StackMap locals: java.lang.String
StackMap stack:
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "migrate.keystore.warning"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
554: StackMap locals:
StackMap stack: java.lang.String
astore 6
start local 6 555: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
556: aload 6
iconst_4
anewarray java.lang.Object
dup
iconst_0
557: aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
aastore
dup
iconst_1
558: aload 5
aastore
dup
iconst_2
559: aload 0
getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
aastore
dup
iconst_3
560: aload 4
aastore
561: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
562: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 end local 4 end local 3 563: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 564 0 this Lsun/security/tools/keytool/Main;
0 564 1 out Ljava/io/PrintStream;
56 88 2 cl Ljava/lang/ClassLoader;
58 65 3 path Ljava/lang/String;
64 65 4 urls [Ljava/net/URL;
69 87 3 provider Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;
70 87 5 provName Ljava/lang/String;
72 73 6 provClass Ljava/lang/Class<*>;
74 87 6 provClass Ljava/lang/Class<*>;
75 87 7 provArg Ljava/lang/String;
77 78 8 obj Ljava/lang/Object;
80 87 8 obj Ljava/lang/Object;
79 80 9 c Ljava/lang/reflect/Constructor<*>;
84 86 9 form Ljava/text/MessageFormat;
85 86 10 source [Ljava/lang/Object;
110 564 2 srcKeyStore Ljava/security/KeyStore;
191 224 3 count I
210 216 4 storePassAgain [C
243 255 3 form Ljava/text/MessageFormat;
245 247 4 source [Ljava/lang/Object;
249 251 4 source [Ljava/lang/Object;
253 255 4 source [Ljava/lang/Object;
268 271 5 ps Ljava/io/PrintStream;
280 283 3 form Ljava/text/MessageFormat;
281 283 4 source [Ljava/lang/Object;
294 297 5 ps Ljava/io/PrintStream;
306 308 3 form Ljava/text/MessageFormat;
307 308 4 source [Ljava/lang/Object;
331 334 5 inStream Ljava/io/InputStream;
342 382 3 inStream Ljava/io/InputStream;
347 382 4 importAlias Ljava/lang/String;
397 399 3 form Ljava/text/MessageFormat;
398 399 4 source [Ljava/lang/Object;
403 405 3 form Ljava/text/MessageFormat;
404 405 4 source [Ljava/lang/Object;
447 465 3 inStream Ljava/io/InputStream;
450 465 4 ps Ljava/io/PrintStream;
473 476 5 ps Ljava/io/PrintStream;
486 489 5 inStream Ljava/io/InputStream;
502 506 3 form Ljava/text/MessageFormat;
505 506 4 source [Ljava/lang/Object;
512 526 3 pass [C
516 526 4 bout Ljava/io/ByteArrayOutputStream;
519 522 7 fout Ljava/io/FileOutputStream;
529 563 3 f Ljava/io/File;
531 563 4 realType Ljava/lang/String;
534 548 5 allCerts Z
536 542 6 a Ljava/lang/String;
551 563 5 realSourceStoreType Ljava/lang/String;
555 563 6 format Ljava/lang/String;
Exception table:
from to target type
117 125 126 Class java.io.FileNotFoundException
268 269 270 any
265 272 272 any
294 295 296 any
291 298 298 any
331 332 333 any
330 335 335 any
347 376 376 any
453 455 455 any
473 474 475 any
471 477 477 any
486 487 488 any
485 490 490 any
519 520 521 any
518 523 523 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out
private java.lang.String keyStoreType(java.io.File);
descriptor: (Ljava/io/File;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 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=32, 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 2
aload 13
invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
25: astore 15
start local 15 26: aload 14
aload 13
aload 15
aconst_null
invokestatic sun.security.util.SignatureUtil.initSignWithParam:(Ljava/security/Signature;Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
27: new sun.security.x509.X509CertInfo
dup
invokespecial sun.security.x509.X509CertInfo.<init>:()V
astore 16
start local 16 28: aload 2
aload 15
invokestatic sun.security.x509.AlgorithmId.getWithParameterSpec:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
astore 17
start local 17 29: aload 16
ldc "validity"
aload 12
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
30: aload 16
ldc "serialNumber"
new sun.security.x509.CertificateSerialNumber
dup
31: new java.util.Random
dup
invokespecial java.util.Random.<init>:()V
invokevirtual java.util.Random.nextInt:()I
ldc 2147483647
iand
invokespecial sun.security.x509.CertificateSerialNumber.<init>:(I)V
32: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
33: aload 16
ldc "version"
34: new sun.security.x509.CertificateVersion
dup
iconst_2
invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
35: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
36: aload 16
ldc "algorithmID"
37: new sun.security.x509.CertificateAlgorithmId
dup
aload 17
invokespecial sun.security.x509.CertificateAlgorithmId.<init>:(Lsun/security/x509/AlgorithmId;)V
38: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
39: aload 16
ldc "issuer"
aload 9
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
40: 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 18
start local 18 41: iconst_0
istore 19
start local 19 42: new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 20
start local 20 43: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature java.security.spec.AlgorithmParameterSpec sun.security.x509.X509CertInfo sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer
StackMap stack:
aload 18
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 21
start local 21 44: aload 21
ifnonnull 45
goto 53
45: StackMap locals: java.lang.String
StackMap stack:
aload 21
ldc "-----BEGIN"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 48
aload 21
ldc "REQUEST"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iflt 48
46: iconst_1
istore 19
47: goto 43
StackMap locals:
StackMap stack:
48: aload 21
ldc "-----END"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 50
aload 21
ldc "REQUEST"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iflt 50
49: goto 53
50: StackMap locals:
StackMap stack:
iload 19
ifeq 43
51: aload 20
aload 21
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 21 52: goto 43
53: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 20
invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
invokestatic sun.security.util.Pem.decode:(Ljava/lang/String;)[B
astore 21
start local 21 54: new sun.security.pkcs10.PKCS10
dup
aload 21
invokespecial sun.security.pkcs10.PKCS10.<init>:([B)V
astore 22
start local 22 55: 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 22
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Lsun/security/pkcs10/PKCS10;)V
56: aload 16
ldc "key"
new sun.security.x509.CertificateX509Key
dup
aload 22
invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
invokespecial sun.security.x509.CertificateX509Key.<init>:(Ljava/security/PublicKey;)V
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
57: aload 16
ldc "subject"
58: aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
ifnonnull 59
aload 22
invokevirtual sun.security.pkcs10.PKCS10.getSubjectName:()Lsun/security/x509/X500Name;
goto 60
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature java.security.spec.AlgorithmParameterSpec sun.security.x509.X509CertInfo sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
StackMap stack: sun.security.x509.X509CertInfo java.lang.String
59: new sun.security.x509.X500Name
dup
aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
invokespecial sun.security.x509.X500Name.<init>:(Ljava/lang/String;)V
60: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature java.security.spec.AlgorithmParameterSpec sun.security.x509.X509CertInfo sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
StackMap stack: sun.security.x509.X509CertInfo java.lang.String sun.security.x509.X500Name
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
61: aconst_null
astore 23
start local 23 62: aload 22
invokevirtual sun.security.pkcs10.PKCS10.getAttributes:()Lsun/security/pkcs10/PKCS10Attributes;
invokevirtual sun.security.pkcs10.PKCS10Attributes.getAttributes:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 24
start local 24 63: goto 67
64: StackMap locals: sun.security.x509.CertificateExtensions java.util.Iterator
StackMap stack:
aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.pkcs10.PKCS10Attribute
astore 25
start local 25 65: aload 25
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
getstatic sun.security.pkcs.PKCS9Attribute.EXTENSION_REQUEST_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 67
66: aload 25
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
checkcast sun.security.x509.CertificateExtensions
astore 23
end local 25 67: StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
68: aload 0
69: aload 23
70: aconst_null
71: aload 0
getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
72: aload 22
invokevirtual sun.security.pkcs10.PKCS10.getSubjectPublicKeyInfo:()Ljava/security/PublicKey;
73: aload 5
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
74: invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
astore 25
start local 25 75: aload 16
ldc "extensions"
aload 25
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
76: new sun.security.x509.X509CertImpl
dup
aload 16
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
astore 26
start local 26 77: aload 26
aload 13
aload 15
aload 2
aconst_null
invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;)V
78: aload 0
aload 26
aload 4
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
79: 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 30
arraylength
istore 29
iconst_0
istore 28
goto 86
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey java.security.Signature java.security.spec.AlgorithmParameterSpec sun.security.x509.X509CertInfo sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10 sun.security.x509.CertificateExtensions java.util.Iterator sun.security.x509.CertificateExtensions sun.security.x509.X509CertImpl top int int java.security.cert.Certificate[]
StackMap stack:
80: aload 30
iload 28
aaload
astore 27
start local 27 81: aload 27
instanceof java.security.cert.X509Certificate
ifeq 85
82: aload 27
checkcast java.security.cert.X509Certificate
astore 31
start local 31 83: aload 31
invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
ifne 85
84: aload 0
aload 31
aload 4
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
end local 31 end local 27 85: StackMap locals:
StackMap stack:
iinc 28 1
StackMap locals:
StackMap stack:
86: iload 28
iload 29
if_icmplt 80
87: 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
88: 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 26
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
89: return
end local 26 end local 25 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 90 0 this Lsun/security/tools/keytool/Main;
0 90 1 alias Ljava/lang/String;
0 90 2 sigAlgName Ljava/lang/String;
0 90 3 in Ljava/io/InputStream;
0 90 4 out Ljava/io/PrintStream;
4 6 5 form Ljava/text/MessageFormat;
5 6 6 source [Ljava/lang/Object;
7 90 5 signerCert Ljava/security/cert/Certificate;
8 90 6 encoded [B
9 90 7 signerCertImpl Lsun/security/x509/X509CertImpl;
12 90 8 signerCertInfo Lsun/security/x509/X509CertInfo;
13 90 9 issuer Lsun/security/x509/X500Name;
14 90 10 firstDate Ljava/util/Date;
15 90 11 lastDate Ljava/util/Date;
19 90 12 interval Lsun/security/x509/CertificateValidity;
21 90 13 privateKey Ljava/security/PrivateKey;
24 90 14 signature Ljava/security/Signature;
26 90 15 params Ljava/security/spec/AlgorithmParameterSpec;
28 90 16 info Lsun/security/x509/X509CertInfo;
29 90 17 algID Lsun/security/x509/AlgorithmId;
41 90 18 reader Ljava/io/BufferedReader;
42 90 19 canRead Z
43 90 20 sb Ljava/lang/StringBuffer;
44 52 21 s Ljava/lang/String;
54 90 21 rawReq [B
55 90 22 req Lsun/security/pkcs10/PKCS10;
62 90 23 reqex Lsun/security/x509/CertificateExtensions;
63 90 24 attrs Ljava/util/Iterator<Lsun/security/pkcs10/PKCS10Attribute;>;
65 67 25 attr Lsun/security/pkcs10/PKCS10Attribute;
75 90 25 ext Lsun/security/x509/CertificateExtensions;
77 90 26 cert Lsun/security/x509/X509CertImpl;
81 85 27 ca Ljava/security/cert/Certificate;
83 85 31 xca Ljava/security/cert/X509Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
sigAlgName
in
out
private void doGenCRL(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=15, args_size=2
start local 0 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: aload 1
bipush 64
getstatic sun.security.tools.keytool.Main.CRLF:[B
invokestatic java.util.Base64.getMimeEncoder:(I[B)Ljava/util/Base64$Encoder;
aload 11
invokevirtual sun.security.x509.X509CRLImpl.getEncodedInternal:()[B
invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: 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=12, 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 2
aload 5
invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
22: astore 10
start local 10 23: aload 9
aload 5
aload 10
aconst_null
invokestatic sun.security.util.SignatureUtil.initSignWithParam:(Ljava/security/Signature;Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
24: aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
ifnonnull 26
25: 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 27
26: StackMap locals: java.security.Signature java.security.spec.AlgorithmParameterSpec
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
27: StackMap locals:
StackMap stack: sun.security.x509.X500Name
astore 11
start local 11 28: aload 7
aload 11
aload 9
invokevirtual sun.security.pkcs10.PKCS10.encodeAndSign:(Lsun/security/x509/X500Name;Ljava/security/Signature;)V
29: aload 7
aload 3
invokevirtual sun.security.pkcs10.PKCS10.print:(Ljava/io/PrintStream;)V
30: 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
31: 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 32 0 this Lsun/security/tools/keytool/Main;
0 32 1 alias Ljava/lang/String;
0 32 2 sigAlgName Ljava/lang/String;
0 32 3 out Ljava/io/PrintStream;
3 32 4 objs Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
4 32 5 privKey Ljava/security/PrivateKey;
7 32 6 cert Ljava/security/cert/Certificate;
11 13 7 form Ljava/text/MessageFormat;
12 13 8 source [Ljava/lang/Object;
14 32 7 request Lsun/security/pkcs10/PKCS10;
15 32 8 ext Lsun/security/x509/CertificateExtensions;
21 32 9 signature Ljava/security/Signature;
23 32 10 params Ljava/security/spec/AlgorithmParameterSpec;
28 32 11 subject Lsun/security/x509/X500Name;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
sigAlgName
out
private void doDeleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 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 char[] promptForCredential();
descriptor: ()[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: invokestatic java.lang.System.console:()Ljava/io/Console;
ifnonnull 4
1: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 1
start local 1 2: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 1
areturn
end local 1 4: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 5: goto 20
6: StackMap locals: int
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
7: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.the.password.to.be.stored."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
8: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
9: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
10: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 2
start local 2 11: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
12: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Re.enter.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
13: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 3
start local 3 14: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
15: aload 2
aload 3
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 18
16: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "They.don.t.match.Try.again"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: goto 19
18: StackMap locals: char[] char[]
StackMap stack:
aload 2
areturn
end local 3 end local 2 19: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
20: iload 1
iconst_3
if_icmplt 6
21: iload 1
iconst_3
if_icmpne 25
22: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
23: ldc "Too.many.failures.key.not.added.to.keystore"
24: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/tools/keytool/Main;
2 4 1 importPass [C
5 26 1 count I
11 19 2 entered [C
14 19 3 passAgain [C
Exceptions:
throws java.lang.Exception
private void doGenSecretKey(java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=9, args_size=4
start local 0 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:
iconst_1
istore 4
start local 4 9: aconst_null
astore 5
start local 5 10: aload 2
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
ldc "PBE"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 26
11: ldc "PBE"
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
astore 6
start local 6 12: aload 6
new javax.crypto.spec.PBEKeySpec
dup
aload 0
invokevirtual sun.security.tools.keytool.Main.promptForCredential:()[C
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C)V
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
13: astore 5
14: ldc "PBE"
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 16
15: iconst_0
istore 4
16: StackMap locals: int javax.crypto.SecretKey javax.crypto.SecretKeyFactory
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 47
17: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
18: ldc "Generated.keyAlgName.secret.key"
19: 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 20: iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 4
ifeq 21
ldc "PBE"
goto 22
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String int int javax.crypto.SecretKey javax.crypto.SecretKeyFactory java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int
21: aload 5
invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String int int javax.crypto.SecretKey javax.crypto.SecretKeyFactory java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int java.lang.String
22: aastore
23: astore 8
start local 8 24: 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
end local 8 end local 7 end local 6 25: goto 47
26: StackMap locals:
StackMap stack:
aload 2
invokestatic javax.crypto.KeyGenerator.getInstance:(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
astore 6
start local 6 27: iload 3
iconst_m1
if_icmpne 37
28: ldc "DES"
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 31
29: bipush 56
istore 3
30: goto 37
StackMap locals: javax.crypto.KeyGenerator
StackMap stack:
31: ldc "DESede"
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 34
32: sipush 168
istore 3
33: goto 37
34: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
35: ldc "Please.provide.keysize.for.secret.key.generation"
36: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
37: StackMap locals:
StackMap stack:
aload 6
iload 3
invokevirtual javax.crypto.KeyGenerator.init:(I)V
38: aload 6
invokevirtual javax.crypto.KeyGenerator.generateKey:()Ljavax/crypto/SecretKey;
astore 5
39: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 47
40: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
41: ldc "Generated.keysize.bit.keyAlgName.secret.key"
42: 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 43: iconst_2
anewarray java.lang.Object
dup
iconst_0
new java.lang.Integer
dup
iload 3
invokespecial java.lang.Integer.<init>:(I)V
aastore
dup
iconst_1
44: aload 5
invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
aastore
45: astore 8
start local 8 46: 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
end local 8 end local 7 end local 6 47: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 49
48: 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
49: StackMap locals:
StackMap stack:
iload 4
ifeq 52
50: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 5
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
51: goto 55
52: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
new java.security.KeyStore$SecretKeyEntry
dup
aload 5
invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
53: new java.security.KeyStore$PasswordProtection
dup
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
aload 2
aconst_null
invokespecial java.security.KeyStore$PasswordProtection.<init>:([CLjava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)V
54: invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
55: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lsun/security/tools/keytool/Main;
0 56 1 alias Ljava/lang/String;
0 56 2 keyAlgName Ljava/lang/String;
0 56 3 keysize I
6 8 4 form Ljava/text/MessageFormat;
7 8 5 source [Ljava/lang/Object;
9 56 4 useDefaultPBEAlgorithm Z
10 56 5 secKey Ljavax/crypto/SecretKey;
12 25 6 factory Ljavax/crypto/SecretKeyFactory;
20 25 7 form Ljava/text/MessageFormat;
24 25 8 source [Ljava/lang/Object;
27 47 6 keygen Ljavax/crypto/KeyGenerator;
43 47 7 form Ljava/text/MessageFormat;
46 47 8 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
keyAlgName
keysize
private static java.lang.String getCompatibleSigAlgName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 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 12
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 12
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 12
StackMap locals:
StackMap stack:
7: ldc "RSASSA-PSS"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
8: getstatic sun.security.util.SecurityProviderConstants.DEF_RSASSA_PSS_KEY_SIZE:I
istore 4
9: goto 12
StackMap locals:
StackMap stack:
10: ldc "DSA"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 12
11: getstatic sun.security.util.SecurityProviderConstants.DEF_DSA_KEY_SIZE:I
istore 4
12: StackMap locals:
StackMap stack:
aload 1
ifnonnull 14
13: ldc "mykey"
astore 1
14: 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 20
15: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
16: ldc "Key.pair.not.generated.alias.alias.already.exists"
17: 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 18: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 7
start local 7 19: 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 20: StackMap locals:
StackMap stack:
aload 5
ifnonnull 22
21: aload 3
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/lang/String;)Ljava/lang/String;
astore 5
22: 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
23: astore 6
start local 6 24: aload 2
ifnonnull 27
25: aload 0
invokevirtual sun.security.tools.keytool.Main.getX500Name:()Lsun/security/x509/X500Name;
astore 7
start local 7 26: goto 28
end local 7 27: 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 28: StackMap locals: sun.security.x509.X500Name
StackMap stack:
aload 6
iload 4
invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(I)V
29: aload 6
invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPrivateKey:()Ljava/security/PrivateKey;
astore 8
start local 8 30: aload 0
31: aconst_null
32: aconst_null
33: aload 0
getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
34: aload 6
invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPublicKeyAnyway:()Ljava/security/PublicKey;
35: aconst_null
36: 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 37: iconst_1
anewarray java.security.cert.X509Certificate
astore 10
start local 10 38: aload 10
iconst_0
aload 6
39: 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
40: invokevirtual sun.security.tools.keytool.CertAndKeyGen.getSelfCertificate:(Lsun/security/x509/X500Name;Ljava/util/Date;JLsun/security/x509/CertificateExtensions;)Ljava/security/cert/X509Certificate;
aastore
41: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 52
42: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
43: ldc "Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for"
44: 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 45: 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
46: aload 8
invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
aastore
dup
iconst_2
47: aload 10
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
aastore
dup
iconst_3
48: 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
49: aload 7
aastore
50: astore 12
start local 12 51: 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 52: 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 54
53: 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
54: 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
55: 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
56: 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 57 0 this Lsun/security/tools/keytool/Main;
0 57 1 alias Ljava/lang/String;
0 57 2 dname Ljava/lang/String;
0 57 3 keyAlgName Ljava/lang/String;
0 57 4 keysize I
0 57 5 sigAlgName Ljava/lang/String;
18 20 6 form Ljava/text/MessageFormat;
19 20 7 source [Ljava/lang/Object;
24 57 6 keypair Lsun/security/tools/keytool/CertAndKeyGen;
26 27 7 x500Name Lsun/security/x509/X500Name;
28 57 7 x500Name Lsun/security/x509/X500Name;
30 57 8 privKey Ljava/security/PrivateKey;
37 57 9 ext Lsun/security/x509/CertificateExtensions;
38 57 10 chain [Ljava/security/cert/X509Certificate;
45 52 11 form Ljava/text/MessageFormat;
51 52 12 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
dname
keyAlgName
keysize
sigAlgName
private void doCloneEntry(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=4
start local 0 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.srcstoretype:Ljava/lang/String;
ifnonnull 17
16: aload 0
invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
ifnonnull 20
18: 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 19: goto 21
end local 3 20: 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 21: StackMap locals: java.security.KeyStore
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 28
22: aload 0
getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
ifne 28
23: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 28
24: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.source.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
25: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
26: 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
27: 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
28: 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 37
29: aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnull 37
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnull 37
30: 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 37
31: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
32: ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
33: 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 34: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-srckeypass"
aastore
astore 5
start local 5 35: 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
36: 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 37: 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
38: goto 43
end local 3 StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File
StackMap stack: java.lang.Throwable
39: astore 6
40: aload 1
ifnull 42
41: aload 1
invokevirtual java.io.InputStream.close:()V
42: 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 43: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File java.security.KeyStore
StackMap stack:
aload 1
ifnull 45
44: aload 1
invokevirtual java.io.InputStream.close:()V
45: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 58
46: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 58
47: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
48: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
49: ldc ".WARNING.WARNING.WARNING."
50: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
51: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
52: ldc ".The.integrity.of.the.information.stored.in.the.srckeystore."
53: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
54: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
55: ldc ".WARNING.WARNING.WARNING."
56: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
57: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
58: 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 59 0 this Lsun/security/tools/keytool/Main;
1 59 1 is Ljava/io/InputStream;
2 59 2 srcksfile Ljava/io/File;
19 20 3 store Ljava/security/KeyStore;
21 39 3 store Ljava/security/KeyStore;
43 59 3 store Ljava/security/KeyStore;
34 37 4 form Ljava/text/MessageFormat;
35 37 5 source [Ljava/lang/Object;
Exception table:
from to target type
15 39 39 any
Exceptions:
throws java.lang.Exception
private void doImportKeyStore(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 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
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.and.srckeypass.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=11, 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: aconst_null
astore 7
start local 7 33: aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 37
34: aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
astore 7
35: 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
36: goto 40
StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection char[]
StackMap stack:
37: aload 4
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
ifnull 40
38: aload 4
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast char[]
astore 7
39: 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
40: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
astore 8
start local 8 41: aload 8
ifnull 43
42: 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 8
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
43: 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
44: ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 49
45: aload 7
ifnull 49
aload 7
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 49
46: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
47: ldc "The.destination.pkcs12.keystore.has.different.storepass.and.keypass.Please.retry.with.destkeypass.specified."
48: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 8 50: StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection char[]
StackMap stack: java.security.KeyStoreException
astore 8
start local 8 51: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 8
invokevirtual java.security.KeyStoreException.toString:()Ljava/lang/String;
aastore
astore 9
start local 9 52: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
53: ldc "Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported."
54: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 10
start local 10 55: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 10
aload 9
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
56: iconst_2
ireturn
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 57 0 this Lsun/security/tools/keytool/Main;
0 57 1 srckeystore Ljava/security/KeyStore;
0 57 2 alias Ljava/lang/String;
3 57 3 newAlias Ljava/lang/String;
5 29 4 source [Ljava/lang/Object;
17 29 5 reply Ljava/lang/String;
30 57 4 objs Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
31 57 5 entry Ljava/security/KeyStore$Entry;
32 57 6 pp Ljava/security/KeyStore$PasswordProtection;
33 57 7 newPass [C
41 50 8 c Ljava/security/cert/Certificate;
51 57 8 kse Ljava/security/KeyStoreException;
52 57 9 source2 [Ljava/lang/Object;
55 57 10 form Ljava/text/MessageFormat;
Exception table:
from to target type
40 49 50 Class java.security.KeyStoreException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
srckeystore
alias
private void doImportKeyStoreAll(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 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=8, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
astore 2
start local 2 1: ldc "JKS"
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 6
2: aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
ifnull 6
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifeq 6
3: aload 0
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual sun.security.tools.keytool.Main.keyStoreType:(Ljava/io/File;)Ljava/lang/String;
astore 3
start local 3 4: ldc "JKS"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 6
5: ldc "PKCS12"
astore 2
end local 3 6: StackMap locals: java.lang.String
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Keystore.type."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: 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
8: 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;
9: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: aload 1
invokevirtual java.io.PrintStream.println:()V
11: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.size:()I
iconst_1
if_icmpne 16
12: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
13: ldc "Your.keystore.contains.keyStore.size.entry"
14: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
15: goto 19
16: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
17: ldc "Your.keystore.contains.keyStore.size.entries"
18: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack: java.text.MessageFormat
astore 3
start local 3 20: 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 4
start local 4 21: aload 1
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
22: aload 1
invokevirtual java.io.PrintStream.println:()V
23: 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;
astore 5
start local 5 24: aload 5
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
java/lang/String.compareTo(Ljava/lang/String;)I (5)
(Ljava/lang/String;Ljava/lang/String;)I
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
25: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 36
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.String java.text.MessageFormat java.lang.Object[] java.util.List top java.util.Iterator
StackMap stack:
26: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 27: aload 0
new java.lang.StringBuilder
dup
ldc "<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
28: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 29
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 36
29: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.String java.text.MessageFormat java.lang.Object[] java.util.List java.lang.String java.util.Iterator
StackMap stack:
aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "NEWLINE"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: aload 1
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 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
34: ldc "STARNN"
35: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 36: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.String java.text.MessageFormat java.lang.Object[] java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
37: 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 38 0 this Lsun/security/tools/keytool/Main;
0 38 1 out Ljava/io/PrintStream;
1 38 2 keystoreTypeToPrint Ljava/lang/String;
4 6 3 realType Ljava/lang/String;
20 38 3 form Ljava/text/MessageFormat;
21 38 4 source [Ljava/lang/Object;
24 38 5 aliases Ljava/util/List<Ljava/lang/String;>;
27 36 6 alias Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out
private static <T> java.lang.Iterable<T> e2i(java.util.Enumeration<T>);
descriptor: (Ljava/util/Enumeration;)Ljava/lang/Iterable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 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: aload 2
bipush 64
getstatic sun.security.tools.keytool.Main.CRLF:[B
invokestatic java.util.Base64.getMimeEncoder:(I[B)Ljava/util/Base64$Encoder;
aload 3
invokevirtual java.security.cert.X509CRL.getEncoded:()[B
invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: 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=13, 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 java.lang.String
dup
aload 4
invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
invokestatic sun.security.util.Pem.decode:(Ljava/lang/String;)[B
invokespecial sun.security.pkcs10.PKCS10.<init>:([B)V
astore 6
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 40
StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey top java.util.Iterator
StackMap stack:
22: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.pkcs10.PKCS10Attribute
astore 8
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 40
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 40
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
new java.lang.StringBuilder
dup
ldc "Attribute: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
30: new sun.security.pkcs.PKCS9Attribute
dup
aload 8
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeId:()Lsun/security/util/ObjectIdentifier;
31: aload 8
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
32: invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
33: astore 11
start local 11 34: aload 2
new java.lang.StringBuilder
dup
aload 11
invokevirtual sun.security.pkcs.PKCS9Attribute.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
35: aload 8
invokevirtual sun.security.pkcs10.PKCS10Attribute.getAttributeValue:()Ljava/lang/Object;
astore 12
start local 12 36: aload 2
aload 12
instanceof java.lang.String[]
ifeq 38
37: aload 12
checkcast java.lang.String[]
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
goto 39
38: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey sun.security.pkcs10.PKCS10Attribute java.util.Iterator sun.security.util.ObjectIdentifier sun.security.pkcs.PKCS9Attribute java.lang.Object
StackMap stack: java.io.PrintStream
aload 12
39: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey sun.security.pkcs10.PKCS10Attribute java.util.Iterator sun.security.util.ObjectIdentifier sun.security.pkcs.PKCS9Attribute java.lang.Object
StackMap stack: java.io.PrintStream java.lang.Object
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
end local 12 end local 11 end local 10 end local 8 40: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.PrintStream java.io.BufferedReader java.lang.StringBuffer int sun.security.pkcs10.PKCS10 java.security.PublicKey top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
41: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 43
42: aload 2
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
43: 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
44: 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 45 0 this Lsun/security/tools/keytool/Main;
0 45 1 in Ljava/io/InputStream;
0 45 2 out Ljava/io/PrintStream;
1 45 3 reader Ljava/io/BufferedReader;
2 45 4 sb Ljava/lang/StringBuffer;
3 45 5 started Z
4 12 6 s Ljava/lang/String;
14 45 6 req Lsun/security/pkcs10/PKCS10;
15 45 7 pkey Ljava/security/PublicKey;
23 40 8 attr Lsun/security/pkcs10/PKCS10Attribute;
24 40 10 oid Lsun/security/util/ObjectIdentifier;
26 28 11 exts Lsun/security/x509/CertificateExtensions;
34 40 11 pkcs9Attr Lsun/security/pkcs/PKCS9Attribute;
36 40 12 attrVal Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
in
out
private void printCertFromStream(java.io.InputStream, java.io.PrintStream);
descriptor: (Ljava/io/InputStream;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 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 28
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 23
22: aload 0
aload 6
aload 2
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
goto 24
23: 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
24: StackMap locals:
StackMap stack:
iload 5
aload 4
arraylength
iconst_1
isub
if_icmpge 26
25: aload 2
invokevirtual java.io.PrintStream.println:()V
26: 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 27: iinc 5 1
StackMap locals:
StackMap stack:
28: iload 5
aload 4
arraylength
if_icmplt 10
end local 5 29: return
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 in Ljava/io/InputStream;
0 30 2 out Ljava/io/PrintStream;
1 30 3 c Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
4 5 4 ce Ljava/security/cert/CertificateException;
8 30 4 certs [Ljava/security/cert/Certificate;
9 29 5 i I
11 27 6 x509Cert Ljava/security/cert/X509Certificate;
19 21 7 form Ljava/text/MessageFormat;
20 21 8 source [Ljava/lang/Object;
Exception table:
from to target type
1 2 3 Class java.security.cert.CertificateException
11 12 13 Class java.lang.ClassCastException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
in
out
private static java.lang.String oneInMany(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 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
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
iinc 5 1
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=18, 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 3
aload 5
invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
46: astore 15
start local 15 47: aload 14
aload 5
aload 15
aload 3
aconst_null
invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;)V
48: aload 14
ldc "x509.algorithm"
invokevirtual sun.security.x509.X509CertImpl.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.AlgorithmId
astore 16
start local 16 49: aload 9
ldc "algorithmID.algorithm"
50: aload 16
51: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
52: aload 9
ldc "version"
53: new sun.security.x509.CertificateVersion
dup
iconst_2
invokespecial sun.security.x509.CertificateVersion.<init>:(I)V
54: invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
55: aload 0
56: aconst_null
57: aload 9
ldc "extensions"
invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
checkcast sun.security.x509.CertificateExtensions
58: aload 0
getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
59: aload 6
invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
60: aconst_null
61: invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
astore 17
start local 17 62: aload 9
ldc "extensions"
aload 17
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
63: new sun.security.x509.X509CertImpl
dup
aload 9
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
astore 14
64: aload 14
aload 5
aload 15
aload 3
aconst_null
invokevirtual sun.security.x509.X509CertImpl.sign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;Ljava/lang/String;)V
65: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 5
66: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 67
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
goto 68
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity sun.security.x509.X500Name sun.security.x509.X509CertImpl java.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId sun.security.x509.CertificateExtensions
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey
67: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
68: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.PrivateKey java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo java.util.Date java.util.Date sun.security.x509.CertificateValidity sun.security.x509.X500Name sun.security.x509.X509CertImpl java.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId sun.security.x509.CertificateExtensions
StackMap stack: java.security.KeyStore java.lang.String java.security.PrivateKey char[]
iconst_1
anewarray java.security.cert.Certificate
dup
iconst_0
aload 14
aastore
69: invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
70: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 74
71: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "New.certificate.self.signed."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
72: 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
73: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
74: StackMap locals:
StackMap stack:
return
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 75 0 this Lsun/security/tools/keytool/Main;
0 75 1 alias Ljava/lang/String;
0 75 2 dname Ljava/lang/String;
0 75 3 sigAlgName Ljava/lang/String;
3 75 4 objs Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
4 75 5 privKey Ljava/security/PrivateKey;
9 75 6 oldCert Ljava/security/cert/Certificate;
13 15 7 form Ljava/text/MessageFormat;
14 15 8 source [Ljava/lang/Object;
19 21 7 form Ljava/text/MessageFormat;
20 21 8 source [Ljava/lang/Object;
22 75 7 encoded [B
23 75 8 certImpl Lsun/security/x509/X509CertImpl;
24 75 9 certInfo Lsun/security/x509/X509CertInfo;
25 75 10 firstDate Ljava/util/Date;
26 75 11 lastDate Ljava/util/Date;
30 75 12 interval Lsun/security/x509/CertificateValidity;
36 37 13 owner Lsun/security/x509/X500Name;
38 75 13 owner Lsun/security/x509/X500Name;
45 75 14 newCert Lsun/security/x509/X509CertImpl;
47 75 15 params Ljava/security/spec/AlgorithmParameterSpec;
49 75 16 sigAlgid Lsun/security/x509/AlgorithmId;
62 75 17 ext Lsun/security/x509/CertificateExtensions;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
dname
sigAlgName
private boolean installReply(java.lang.String, java.io.InputStream);
descriptor: (Ljava/lang/String;Ljava/io/InputStream;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 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=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 5
1: aload 2
ldc "-----BEGIN CERTIFICATE-----"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: aload 2
bipush 64
getstatic sun.security.tools.keytool.Main.CRLF:[B
invokestatic java.util.Base64.getMimeEncoder:(I[B)Ljava/util/Base64$Encoder;
aload 1
invokevirtual java.security.cert.Certificate.getEncoded:()[B
invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: aload 2
ldc "-----END CERTIFICATE-----"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual java.security.cert.Certificate.getEncoded:()[B
invokevirtual java.io.PrintStream.write:([B)V
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 cert Ljava/security/cert/Certificate;
0 7 2 out Ljava/io/PrintStream;
Exceptions:
throws java.io.IOException, java.security.cert.CertificateException
MethodParameters:
Name Flags
cert
out
private void byte2hex(byte, java.lang.StringBuffer);
descriptor: (BLjava/lang/StringBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 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.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 4
2: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aconst_null
invokevirtual java.security.KeyStore.getKey:(Ljava/lang/String;[C)Ljava/security/Key;
astore 4
3: aload 4
aconst_null
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
areturn
4: StackMap locals: java.security.Key
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 10
5: new java.text.MessageFormat
dup
6: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.does.not.exist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
7: 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: 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 10: StackMap locals:
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 17
11: 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 17
12: new java.text.MessageFormat
dup
13: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.has.no.key"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
14: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 15: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 6
start local 6 16: 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 17: StackMap locals:
StackMap stack:
aload 3
ifnonnull 28
18: 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
19: aload 2
astore 3
20: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
21: goto 29
StackMap locals:
StackMap stack: java.security.UnrecoverableKeyException
22: astore 5
start local 5 23: aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 27
24: 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
25: 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: goto 29
27: StackMap locals: java.security.UnrecoverableKeyException
StackMap stack:
aload 5
athrow
end local 5 28: 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
29: 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 30 0 this Lsun/security/tools/keytool/Main;
0 30 1 alias Ljava/lang/String;
0 30 2 storePass [C
0 30 3 keyPass [C
1 30 4 key Ljava/security/Key;
8 10 5 form Ljava/text/MessageFormat;
9 10 6 source [Ljava/lang/Object;
15 17 5 form Ljava/text/MessageFormat;
16 17 6 source [Ljava/lang/Object;
23 28 5 e Ljava/security/UnrecoverableKeyException;
Exception table:
from to target type
18 21 22 Class java.security.UnrecoverableKeyException
Exceptions:
throws java.lang.Exception
Signature: (Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
MethodParameters:
Name Flags
alias
storePass
keyPass
private sun.security.tools.keytool.Pair<java.security.KeyStore$Entry, char[]> recoverEntry(java.security.KeyStore, java.lang.String, char[], char[]);
descriptor: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=5
start local 0 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 final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore
public Encoder = java.util.Base64$Encoder of java.util.Base64
sun.security.tools.keytool.Main$1
final Command = sun.security.tools.keytool.Main$Command of sun.security.tools.keytool.Main
final Option = sun.security.tools.keytool.Main$Option of sun.security.tools.keytool.Main