public final class sun.security.tools.keytool.Main
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.tools.keytool.Main
super_class: java.lang.Object
{
private static final byte[] CRLF;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private boolean debug;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private sun.security.tools.keytool.Main$Command command;
descriptor: Lsun/security/tools/keytool/Main$Command;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sigAlgName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String keyAlgName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean verbose;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int keysize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String groupName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean rfc;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long validity;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.lang.String alias;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String dname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String dest;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String filename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String infilename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String outfilename;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcksfname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<sun.security.tools.keytool.Pair<java.lang.String, java.lang.String>> providers;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;>;
private java.util.Set<sun.security.tools.keytool.Pair<java.lang.String, java.lang.String>> providerClasses;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;>;
private java.lang.String storetype;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcProviderName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String providerName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String pathlist;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private char[] storePass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] storePassNew;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] keyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] keyPassNew;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] newPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] destKeyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private char[] srckeyPass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.lang.String ksfname;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.io.File ksfile;
descriptor: Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
private java.io.InputStream ksStream;
descriptor: Ljava/io/InputStream;
flags: (0x0002) ACC_PRIVATE
private java.lang.String sslserver;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String jarfile;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.security.KeyStore keyStore;
descriptor: Ljava/security/KeyStore;
flags: (0x0002) ACC_PRIVATE
private boolean token;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean nullStream;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean kssave;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean noprompt;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean trustcacerts;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean protectedPath;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean srcprotectedPath;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean cacerts;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean nowarn;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.security.KeyStore caks;
descriptor: Ljava/security/KeyStore;
flags: (0x0002) ACC_PRIVATE
private char[] srcstorePass;
descriptor: [C
flags: (0x0002) ACC_PRIVATE
private java.lang.String srcstoretype;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.Set<char[]> passwords;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<[C>;
private java.lang.String startDate;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.String> ids;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private java.util.List<java.lang.String> v3ext;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private boolean inplaceImport;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String inplaceBackupName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.String> weakWarnings;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private static final sun.security.util.DisabledAlgorithmConstraints DISABLED_CHECK;
descriptor: Lsun/security/util/DisabledAlgorithmConstraints;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set<java.security.CryptoPrimitive> SIG_PRIMITIVE_SET;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/security/CryptoPrimitive;>;
private boolean isPasswordlessKeyStore;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String NONE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "NONE"
private static final java.lang.String P11KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS11"
private static final java.lang.String P12KEYSTORE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "PKCS12"
private static final java.lang.String keyAlias;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "mykey"
private static final java.util.ResourceBundle rb;
descriptor: Ljava/util/ResourceBundle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.text.Collator collator;
descriptor: Ljava/text/Collator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] extSupported;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: 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: getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
ldc "-genkey"
invokevirtual sun.security.tools.keytool.Main$Command.setAltName:(Ljava/lang/String;)V
8: getstatic sun.security.tools.keytool.Main$Command.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
ldc "-import"
invokevirtual sun.security.tools.keytool.Main$Command.setAltName:(Ljava/lang/String;)V
9: getstatic sun.security.tools.keytool.Main$Command.EXPORTCERT:Lsun/security/tools/keytool/Main$Command;
ldc "-export"
invokevirtual sun.security.tools.keytool.Main$Command.setAltName:(Ljava/lang/String;)V
10: getstatic sun.security.tools.keytool.Main$Command.IMPORTPASS:Lsun/security/tools/keytool/Main$Command;
ldc "-importpassword"
invokevirtual sun.security.tools.keytool.Main$Command.setAltName:(Ljava/lang/String;)V
11: ldc "sun.security.tools.keytool.Resources"
12: invokestatic java.util.ResourceBundle.getBundle:(Ljava/lang/String;)Ljava/util/ResourceBundle;
13: putstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
14: invokestatic java.text.Collator.getInstance:()Ljava/text/Collator;
putstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
15: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
iconst_0
invokevirtual java.text.Collator.setStrength:(I)V
16: bipush 9
anewarray java.lang.String
dup
iconst_0
17: ldc "BasicConstraints"
aastore
dup
iconst_1
18: ldc "KeyUsage"
aastore
dup
iconst_2
19: ldc "ExtendedKeyUsage"
aastore
dup
iconst_3
20: ldc "SubjectAlternativeName"
aastore
dup
iconst_4
21: ldc "IssuerAlternativeName"
aastore
dup
iconst_5
22: ldc "SubjectInfoAccess"
aastore
dup
bipush 6
23: ldc "AuthorityInfoAccess"
aastore
dup
bipush 8
24: ldc "CRLDistributionPoints"
aastore
25: putstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
26: 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
aconst_null
putfield sun.security.tools.keytool.Main.groupName:Ljava/lang/String;
8: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.rfc:Z
9: aload 0
ldc 90
putfield sun.security.tools.keytool.Main.validity:J
10: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
11: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
12: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
13: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
14: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
15: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
16: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
17: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
18: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
19: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
20: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
21: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
22: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
23: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
24: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePassNew:[C
25: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyPass:[C
26: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyPassNew:[C
27: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.newPass:[C
28: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.destKeyPass:[C
29: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srckeyPass:[C
30: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
31: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
32: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
33: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
34: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
35: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
36: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.token:Z
37: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.nullStream:Z
38: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.kssave:Z
39: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.noprompt:Z
40: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.trustcacerts:Z
41: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.protectedPath:Z
42: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
43: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.cacerts:Z
44: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.nowarn:Z
45: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
46: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcstorePass:[C
47: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
48: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
49: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
50: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.tools.keytool.Main.ids:Ljava/util/List;
51: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
52: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.inplaceImport:Z
53: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
54: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
55: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
56: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 57 0 this Lsun/security/tools/keytool/Main;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 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;)[Ljava/lang/String;
astore 1
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
java.lang.String[] parseArgs(java.lang.String[]);
descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0000)
Code:
stack=7, locals=12, args_size=2
start local 0 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: aconst_null
astore 4
start local 4 5: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 6: iconst_0
istore 2
goto 39
7: StackMap locals: int java.lang.String java.util.Set
StackMap stack:
aload 1
iload 2
aaload
astore 6
start local 6 8: aload 6
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 38
9: aload 6
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 7
start local 7 10: aload 5
aload 7
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 23
11: aload 7
dup
astore 8
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 6
-1367792870: 12
-718567138: 13
-716508040: 14
-512663739: 15
46600: 16
1441492: 17
default: 18
}
StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
12: aload 8
ldc "-providerclass"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 18
StackMap locals:
StackMap stack:
13: aload 8
ldc "-provider"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 18
StackMap locals:
StackMap stack:
14: aload 8
ldc "-providerarg"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 18
StackMap locals:
StackMap stack:
15: aload 8
ldc "-addprovider"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 18
StackMap locals:
StackMap stack:
16: aload 8
ldc "-id"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 18
StackMap locals:
StackMap stack:
17: aload 8
ldc "-ext"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
19: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "option.1.set.twice"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
20: aload 7
aastore
21: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: goto 24
23: StackMap locals:
StackMap stack:
aload 5
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
24: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-conf"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 29
25: iload 2
aload 1
arraylength
iconst_1
isub
if_icmpne 27
26: aload 0
aload 6
invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
aload 1
iinc 2 1
iload 2
aaload
astore 4
28: goto 38
29: StackMap locals:
StackMap stack:
aload 6
invokestatic sun.security.tools.keytool.Main$Command.getCommand:(Ljava/lang/String;)Lsun/security/tools/keytool/Main$Command;
astore 9
start local 9 30: aload 9
ifnull 38
31: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
ifnonnull 34
32: aload 0
aload 9
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
33: goto 38
34: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set java.lang.String java.lang.String top sun.security.tools.keytool.Main$Command
StackMap stack:
new java.lang.Exception
dup
35: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "multiple.commands.1.2"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
36: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getfield sun.security.tools.keytool.Main$Command.name:Ljava/lang/String;
aastore
dup
iconst_1
aload 9
getfield sun.security.tools.keytool.Main$Command.name:Ljava/lang/String;
aastore
37: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 9 end local 7 end local 6 38: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
39: iload 2
aload 1
arraylength
if_icmplt 7
40: aload 4
ifnull 45
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
ifnull 45
41: ldc "keytool"
aload 4
42: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
invokevirtual sun.security.tools.keytool.Main$Command.toString:()Ljava/lang/String;
43: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
invokevirtual sun.security.tools.keytool.Main$Command.getAltName:()Ljava/lang/String;
aload 1
44: invokestatic sun.security.tools.KeyStoreUtil.expandArgs:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
astore 1
45: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
46: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
sun/security/tools/keytool/Main.lambda$0(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
47: invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
putfield sun.security.tools.keytool.Main.debug:Z
48: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 52
49: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Command line args: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
50: aload 1
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
51: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
52: StackMap locals:
StackMap stack:
iconst_0
istore 2
goto 246
53: StackMap locals:
StackMap stack:
aload 1
iload 2
aaload
astore 6
start local 6 54: iload 2
aload 1
arraylength
iconst_1
isub
if_icmpne 62
55: invokestatic sun.security.tools.keytool.Main$Option.values:()[Lsun/security/tools/keytool/Main$Option;
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 61
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set java.lang.String top int int sun.security.tools.keytool.Main$Option[]
StackMap stack:
56: aload 10
iload 8
aaload
astore 7
start local 7 57: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
aload 7
invokevirtual sun.security.tools.keytool.Main$Option.toString:()Ljava/lang/String;
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 60
58: aload 7
getfield sun.security.tools.keytool.Main$Option.arg:Ljava/lang/String;
ifnull 62
aload 0
aload 6
invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
59: goto 62
end local 7 60: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
61: iload 8
iload 9
if_icmplt 56
62: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set java.lang.String
StackMap stack:
aconst_null
astore 7
start local 7 63: aload 6
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 64: iload 8
ifle 67
65: aload 6
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 7
66: aload 6
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
67: StackMap locals: java.lang.String int
StackMap stack:
aload 6
invokestatic sun.security.tools.keytool.Main$Command.getCommand:(Ljava/lang/String;)Lsun/security/tools/keytool/Main$Command;
astore 9
start local 9 68: aload 9
ifnull 71
69: aload 0
aload 9
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
70: goto 245
StackMap locals: sun.security.tools.keytool.Main$Command
StackMap stack:
71: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "--help"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 75
72: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-h"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 75
73: 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
ifeq 75
74: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-help"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 77
75: StackMap locals:
StackMap stack:
iconst_1
istore 3
76: goto 245
StackMap locals:
StackMap stack:
77: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-conf"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 80
78: iinc 2 1
79: goto 245
StackMap locals:
StackMap stack:
80: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-nowarn"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 83
81: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.nowarn:Z
82: goto 245
StackMap locals:
StackMap stack:
83: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-keystore"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 91
84: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
85: 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.getCanonicalPath:()Ljava/lang/String;
86: new java.io.File
dup
invokestatic sun.security.tools.KeyStoreUtil.getCacerts:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
87: invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
88: ifeq 245
89: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "warning.cacerts.option"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
90: goto 245
StackMap locals:
StackMap stack:
91: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-destkeystore"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 94
92: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
93: goto 245
StackMap locals:
StackMap stack:
94: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-cacerts"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 97
95: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.cacerts:Z
96: goto 245
StackMap locals:
StackMap stack:
97: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-storepass"
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 6
ldc "-deststorepass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 102
99: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 7
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
100: 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
101: goto 245
StackMap locals:
StackMap stack:
102: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-storetype"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 104
103: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-deststoretype"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 106
104: 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;
105: goto 245
StackMap locals:
StackMap stack:
106: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-srcstorepass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 110
107: aload 0
aload 0
aload 7
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
108: 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
109: goto 245
StackMap locals:
StackMap stack:
110: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-srcstoretype"
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
invokestatic sun.security.tools.KeyStoreUtil.niceStoreTypeName:(Ljava/lang/String;)Ljava/lang/String;
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
112: goto 245
StackMap locals:
StackMap stack:
113: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-srckeypass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 117
114: aload 0
aload 0
aload 7
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
115: 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
116: goto 245
StackMap locals:
StackMap stack:
117: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-srcprovidername"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 120
118: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
119: goto 245
StackMap locals:
StackMap stack:
120: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-providername"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 122
121: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-destprovidername"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 124
122: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
123: goto 245
StackMap locals:
StackMap stack:
124: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-providerpath"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 127
125: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
126: goto 245
StackMap locals:
StackMap stack:
127: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-keypass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 131
128: aload 0
aload 0
aload 7
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
129: 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
130: goto 245
StackMap locals:
StackMap stack:
131: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-new"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 135
132: aload 0
aload 0
aload 7
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
133: 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
134: goto 245
StackMap locals:
StackMap stack:
135: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-destkeypass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 139
136: aload 0
aload 0
aload 7
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
137: 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
138: goto 245
StackMap locals:
StackMap stack:
139: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-alias"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 141
140: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-srcalias"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 143
141: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
142: goto 245
StackMap locals:
StackMap stack:
143: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-dest"
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 6
ldc "-destalias"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 147
145: StackMap locals:
StackMap stack:
aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
146: goto 245
StackMap locals:
StackMap stack:
147: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-dname"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 150
148: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
149: goto 245
StackMap locals:
StackMap stack:
150: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-keysize"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 153
151: 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
152: goto 245
StackMap locals:
StackMap stack:
153: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-groupname"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 156
154: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.groupName:Ljava/lang/String;
155: goto 245
StackMap locals:
StackMap stack:
156: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-keyalg"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 159
157: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
158: goto 245
StackMap locals:
StackMap stack:
159: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-sigalg"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 162
160: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.sigAlgName:Ljava/lang/String;
161: goto 245
StackMap locals:
StackMap stack:
162: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-startdate"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 165
163: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.startDate:Ljava/lang/String;
164: goto 245
StackMap locals:
StackMap stack:
165: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-validity"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 168
166: 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
167: goto 245
StackMap locals:
StackMap stack:
168: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-ext"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 171
169: 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
170: goto 245
StackMap locals:
StackMap stack:
171: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-id"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 174
172: 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
173: goto 245
StackMap locals:
StackMap stack:
174: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-file"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 177
175: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
176: goto 245
StackMap locals:
StackMap stack:
177: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-infile"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 180
178: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
179: goto 245
StackMap locals:
StackMap stack:
180: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-outfile"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 183
181: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
182: goto 245
StackMap locals:
StackMap stack:
183: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-sslserver"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 186
184: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
185: goto 245
StackMap locals:
StackMap stack:
186: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-jarfile"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 189
187: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.jarfile:Ljava/lang/String;
188: goto 245
StackMap locals:
StackMap stack:
189: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-srckeystore"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 192
190: aload 0
aload 1
iinc 2 1
iload 2
aaload
putfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
191: goto 245
StackMap locals:
StackMap stack:
192: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-provider"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 194
193: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-providerclass"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 208
194: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
ifnonnull 196
195: aload 0
new java.util.HashSet
dup
iconst_3
invokespecial java.util.HashSet.<init>:(I)V
putfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
196: StackMap locals:
StackMap stack:
aload 1
iinc 2 1
iload 2
aaload
astore 10
start local 10 197: aconst_null
astore 11
start local 11 198: aload 1
arraylength
iload 2
iconst_1
iadd
if_icmple 204
199: aload 1
iload 2
iconst_1
iadd
aaload
astore 6
200: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-providerarg"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 204
201: aload 1
arraylength
iload 2
iconst_2
iadd
if_icmpne 202
aload 0
aload 6
invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
202: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
iload 2
iconst_2
iadd
aaload
astore 11
203: iinc 2 2
204: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
205: aload 10
aload 11
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
206: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 207: goto 245
StackMap locals:
StackMap stack:
208: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-addprovider"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 223
209: aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
ifnonnull 211
210: 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;
211: StackMap locals:
StackMap stack:
aload 1
iinc 2 1
iload 2
aaload
astore 10
start local 10 212: aconst_null
astore 11
start local 11 213: aload 1
arraylength
iload 2
iconst_1
iadd
if_icmple 219
214: aload 1
iload 2
iconst_1
iadd
aaload
astore 6
215: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-providerarg"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 219
216: aload 1
arraylength
iload 2
iconst_2
iadd
if_icmpne 217
aload 0
aload 6
invokevirtual sun.security.tools.keytool.Main.errorNeedArgument:(Ljava/lang/String;)V
217: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 1
iload 2
iconst_2
iadd
aaload
astore 11
218: iinc 2 2
219: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
220: aload 10
aload 11
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
221: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 11 end local 10 222: goto 245
223: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-v"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 226
224: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.verbose:Z
225: goto 245
StackMap locals:
StackMap stack:
226: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-debug"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 245
227: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-rfc"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 230
228: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.rfc:Z
229: goto 245
StackMap locals:
StackMap stack:
230: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-noprompt"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 233
231: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.noprompt:Z
232: goto 245
StackMap locals:
StackMap stack:
233: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-trustcacerts"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 236
234: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.trustcacerts:Z
235: goto 245
StackMap locals:
StackMap stack:
236: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-protected"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifeq 238
237: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-destprotected"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 240
238: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.protectedPath:Z
239: goto 245
StackMap locals:
StackMap stack:
240: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 6
ldc "-srcprotected"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 243
241: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.srcprotectedPath:Z
242: goto 245
243: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Illegal.option."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
244: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
end local 9 end local 8 end local 7 end local 6 245: StackMap locals: sun.security.tools.keytool.Main java.lang.String[] int int java.lang.String java.util.Set
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
246: iload 2
aload 1
arraylength
if_icmpge 247
aload 1
iload 2
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 53
247: StackMap locals:
StackMap stack:
iload 2
aload 1
arraylength
if_icmpge 250
248: 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
249: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
250: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
ifnonnull 257
251: iload 3
ifeq 254
252: aload 0
invokevirtual sun.security.tools.keytool.Main.usage:()V
253: goto 260
254: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Usage.error.no.command.provided"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
255: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
256: goto 260
StackMap locals:
StackMap stack:
257: iload 3
ifeq 260
258: aload 0
invokevirtual sun.security.tools.keytool.Main.usage:()V
259: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
260: StackMap locals:
StackMap stack:
aload 1
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 261 0 this Lsun/security/tools/keytool/Main;
0 261 1 args [Ljava/lang/String;
1 261 2 i I
4 261 3 help Z
5 261 4 confFile Ljava/lang/String;
6 261 5 optionsSet Ljava/util/Set<Ljava/lang/String;>;
8 38 6 flags Ljava/lang/String;
10 38 7 lowerFlags Ljava/lang/String;
30 38 9 c Lsun/security/tools/keytool/Main$Command;
54 245 6 flags Ljava/lang/String;
57 60 7 option Lsun/security/tools/keytool/Main$Option;
63 245 7 modifier Ljava/lang/String;
64 245 8 pos I
68 245 9 c Lsun/security/tools/keytool/Main$Command;
197 207 10 providerClass Ljava/lang/String;
198 207 11 providerArg Ljava/lang/String;
212 222 10 provider Ljava/lang/String;
213 222 11 providerArg Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
boolean isKeyStoreRelated(sun.security.tools.keytool.Main$Command);
descriptor: (Lsun/security/tools/keytool/Main$Command;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 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=9, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.tools.keytool.Main.cacerts:Z
ifeq 6
1: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnonnull 2
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
ifnull 5
2: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
3: ldc "the.keystore.or.storetype.option.cannot.be.used.with.the.cacerts.option"
4: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.security.tools.KeyStoreUtil.getCacerts:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
6: StackMap locals:
StackMap stack:
ldc "PKCS11"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 8
7: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 11
8: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.token:Z
9: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnonnull 11
10: aload 0
ldc "NONE"
putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
11: StackMap locals:
StackMap stack:
ldc "NONE"
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.nullStream:Z
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 21
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 21
14: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
15: ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
16: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
17: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aastore
18: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
20: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 28
22: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.KEYPASSWD:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 23
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.STOREPASSWD:Lsun/security/tools/keytool/Main$Command;
if_acmpne 28
23: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
24: ldc ".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}"
25: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
26: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aastore
27: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 34
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 29
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnonnull 29
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 34
29: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
30: ldc ".keypass.and.new.can.not.be.specified.if.storetype.is.{0}"
31: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
32: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
aastore
33: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifeq 40
35: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 37
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 37
36: aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnonnull 37
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 40
37: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
38: ldc "if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified"
39: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
ifeq 45
41: aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 42
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[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.srcprotected.is.specified.then.srcstorepass.and.srckeypass.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.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 51
46: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 48
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 48
47: aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnonnull 48
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 51
48: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
49: ldc "if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified"
50: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
51: 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 56
52: aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 53
aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnull 56
53: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
54: ldc "if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified"
55: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
56: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.validity:J
lconst_0
lcmp
ifgt 60
57: new java.lang.Exception
dup
58: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Validity.must.be.greater.than.zero"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
59: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
60: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
ifnull 75
61: aload 0
getfield sun.security.tools.keytool.Main.providers:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 74
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream top java.util.Iterator
StackMap stack:
62: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.tools.keytool.Pair
astore 2
start local 2 63: aload 2
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.lang.String
aload 2
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.lang.String
64: invokestatic sun.security.tools.KeyStoreUtil.loadProviderByName:(Ljava/lang/String;Ljava/lang/String;)V
65: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 74
66: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "loadProviderByName: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
67: goto 74
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream sun.security.tools.keytool.Pair java.util.Iterator
StackMap stack: java.lang.IllegalArgumentException
68: pop
69: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
70: ldc "provider.name.not.found"
71: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
72: aload 2
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
aastore
73: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 2 74: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 62
75: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
ifnull 110
76: aconst_null
astore 2
start local 2 77: aload 0
getfield sun.security.tools.keytool.Main.pathlist:Ljava/lang/String;
ifnull 87
78: aconst_null
astore 3
start local 3 79: aload 3
ldc "java.class.path"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
80: invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
81: aload 3
ldc "env.class.path"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
82: invokestatic sun.security.tools.PathList.appendPath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
83: 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
84: aload 3
invokestatic sun.security.tools.PathList.pathToURLs:(Ljava/lang/String;)[Ljava/net/URL;
astore 4
start local 4 85: new java.net.URLClassLoader
dup
aload 4
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
astore 2
end local 4 end local 3 86: goto 88
87: StackMap locals: java.lang.ClassLoader
StackMap stack:
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
astore 2
88: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providerClasses:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 109
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
StackMap stack:
89: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.tools.keytool.Pair
astore 3
start local 3 90: aload 3
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.lang.String
aload 3
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.lang.String
aload 2
91: invokestatic sun.security.tools.KeyStoreUtil.loadProviderByClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
92: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 109
93: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "loadProviderByClass: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
94: goto 109
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader sun.security.tools.keytool.Pair java.util.Iterator
StackMap stack: java.lang.ClassCastException
95: pop
96: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
97: ldc "provclass.not.a.provider"
98: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
99: aload 3
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
aastore
100: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
101: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 5
start local 5 102: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
103: ldc "provider.class.not.found"
104: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
105: aload 3
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
aastore
106: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
107: aload 5
invokevirtual java.lang.IllegalArgumentException.getCause:()Ljava/lang/Throwable;
108: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 end local 3 109: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.lang.ClassLoader top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 89
end local 2 110: 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 115
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 115
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 115
111: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
112: ldc "Must.not.specify.both.v.and.rfc.with.list.command"
113: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
114: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
115: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.GENKEYPAIR:Lsun/security/tools/keytool/Main$Command;
if_acmpne 119
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 119
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
arraylength
bipush 6
if_icmpge 119
116: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
117: ldc "Key.password.must.be.at.least.6.characters"
118: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
119: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
ifnull 123
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
arraylength
bipush 6
if_icmpge 123
120: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
121: ldc "New.password.must.be.at.least.6.characters"
122: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
123: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 127
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
arraylength
bipush 6
if_icmpge 127
124: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
125: ldc "New.password.must.be.at.least.6.characters"
126: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
127: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnonnull 131
128: 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;
129: ldc ".keystore"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
130: putfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
131: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 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_acmpne 138
133: aload 0
aload 0
invokevirtual sun.security.tools.keytool.Main.inplaceImportCheck:()Z
putfield sun.security.tools.keytool.Main.inplaceImport:Z
134: aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 138
135: aload 0
invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
astore 2
136: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 138
137: aload 0
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
putfield sun.security.tools.keytool.Main.storePass:[C
138: 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 161
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 161
aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifne 161
139: 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;
140: aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifeq 146
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokevirtual java.io.File.length:()J
lconst_0
lcmp
ifne 146
141: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
142: ldc "Keystore.file.exists.but.is.empty."
143: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
144: 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;
145: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
146: 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;
147: goto 161
StackMap locals:
StackMap stack: java.io.FileNotFoundException
148: pop
149: 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 161
150: 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 161
151: 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 161
152: 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 161
153: 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 161
154: 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 161
155: 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 161
156: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
157: ldc "Keystore.file.does.not.exist."
158: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
159: 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;
160: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
161: 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 162
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 168
162: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
ifnonnull 168
163: 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;
164: ldc ""
aload 0
getfield sun.security.tools.keytool.Main.dest:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 168
165: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
166: ldc "Must.specify.destination.alias"
167: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
168: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.DELETE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 172
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 172
169: 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;
170: ldc ""
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 172
171: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Must.specify.alias"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
172: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
ifnull 179
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 179
aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
ifnonnull 179
173: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
ifnonnull 179
aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifne 179
174: aload 0
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokestatic java.security.KeyStore.getInstance:(Ljava/io/File;[C)Ljava/security/KeyStore;
putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
175: aload 0
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
176: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
ldc "pkcs12"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 204
177: aload 0
aload 0
getfield sun.security.tools.keytool.Main.ksfile:Ljava/io/File;
invokestatic sun.security.pkcs12.PKCS12KeyStore.isPasswordless:(Ljava/io/File;)Z
putfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
178: goto 204
179: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
ifnonnull 181
180: aload 0
invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
181: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
ifnonnull 184
182: 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;
183: goto 185
184: 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;
185: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
ldc "pkcs12"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 197
186: aload 0
187: ldc "NONE"
188: ldc "keystore.pkcs12.certProtectionAlgorithm"
189: invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
190: ifeq 195
191: ldc "NONE"
192: ldc "keystore.pkcs12.macAlgorithm"
193: invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
194: ifeq 195
iconst_1
goto 196
StackMap locals:
StackMap stack: sun.security.tools.keytool.Main
195: iconst_0
196: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore
StackMap stack: sun.security.tools.keytool.Main int
putfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
197: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 204
198: aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 201
199: 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
200: goto 202
201: 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
202: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 204
203: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
204: 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 208
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 208
205: new java.lang.UnsupportedOperationException
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
206: ldc ".keypasswd.commands.not.supported.if.storetype.is.PKCS12"
207: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
208: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 211
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 211
209: 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
210: goto 279
StackMap locals:
StackMap stack:
211: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 216
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 216
212: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnonnull 279
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
arraylength
bipush 6
if_icmpge 279
213: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
214: ldc "Keystore.password.must.be.at.least.6.characters"
215: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
216: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 279
217: aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifne 272
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 272
218: 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 272
219: aload 0
getfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
ifne 272
220: 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 233
221: 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 233
222: 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 233
223: 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 233
224: 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 233
225: 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 233
226: 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 233
227: 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 233
228: 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 233
229: 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 233
230: 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 233
231: 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 233
232: 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 267
233: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 234: 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 239
235: getstatic java.lang.System.err:Ljava/io/PrintStream;
236: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.destination.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
237: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
238: goto 242
239: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
240: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
241: invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
242: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
243: 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
244: 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
245: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 250
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 246
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
arraylength
bipush 6
if_icmpge 250
246: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
247: ldc "Keystore.password.is.too.short.must.be.at.least.6.characters"
248: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
249: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
250: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 259
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 259
aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnonnull 259
251: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Re.enter.new.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
252: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 4
start local 4 253: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 4
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
254: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
aload 4
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 259
255: getstatic java.lang.System.err:Ljava/io/PrintStream;
256: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "They.don.t.match.Try.again"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
257: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
258: aload 0
aconst_null
putfield sun.security.tools.keytool.Main.storePass:[C
end local 4 259: StackMap locals:
StackMap stack:
iinc 3 1
260: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 262
iload 3
iconst_3
261: if_icmplt 234
262: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 272
263: getstatic java.lang.System.err:Ljava/io/PrintStream;
264: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Too.many.failures.try.later"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
265: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
266: return
end local 3 267: 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.PRINTCRL:Lsun/security/tools/keytool/Main$Command;
if_acmpeq 272
268: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
269: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
270: 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
271: 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
272: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 275
273: 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
274: goto 279
StackMap locals:
StackMap stack:
275: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
ifnull 279
276: 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;
277: 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
278: aload 0
getfield sun.security.tools.keytool.Main.ksStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
279: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnull 291
ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 291
280: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
281: ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
282: 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 283: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnull 287
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 287
284: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-keypass"
aastore
astore 4
start local 4 285: 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
286: aload 0
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
putfield sun.security.tools.keytool.Main.keyPass:[C
end local 4 287: StackMap locals: java.text.MessageFormat
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.destKeyPass:[C
ifnull 291
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 291
288: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-destkeypass"
aastore
astore 4
start local 4 289: 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
290: 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 291: 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 293
292: aload 0
iconst_0
putfield sun.security.tools.keytool.Main.trustcacerts:Z
293: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 295
294: aload 0
invokestatic sun.security.tools.KeyStoreUtil.getCacertsKeyStore:()Ljava/security/KeyStore;
putfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
295: 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 317
296: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 308
297: aconst_null
astore 3
aconst_null
astore 4
298: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
299: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
300: invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 301: 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
302: aload 5
ifnull 309
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 309
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
303: astore 3
aload 5
ifnull 304
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
304: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
305: astore 4
aload 3
ifnonnull 306
aload 4
astore 3
goto 307
StackMap locals:
StackMap stack:
306: aload 3
aload 4
if_acmpeq 307
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
307: aload 3
athrow
308: 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
309: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 539
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 539
310: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
311: ldc "Certification.request.stored.in.file.filename."
312: 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 313: 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 314: 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
315: 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 316: goto 539
StackMap locals:
StackMap stack:
317: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.DELETE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 321
318: 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
319: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
320: goto 539
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.EXPORTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpne 342
322: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 334
323: aconst_null
astore 3
aconst_null
astore 4
324: new java.io.PrintStream
dup
new java.io.FileOutputStream
dup
325: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
326: invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 327: 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
328: aload 5
ifnull 335
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 335
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
329: astore 3
aload 5
ifnull 330
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
330: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
331: astore 4
aload 3
ifnonnull 332
aload 4
astore 3
goto 333
StackMap locals:
StackMap stack:
332: aload 3
aload 4
if_acmpeq 333
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
333: aload 3
athrow
334: StackMap locals:
StackMap stack:
aload 0
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
335: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 539
336: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
337: ldc "Certificate.stored.in.file.filename."
338: 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 339: 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 340: 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 341: goto 539
StackMap locals:
StackMap stack:
342: 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 353
343: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 350
344: aload 0
ldc "DSA"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
345: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
346: ldc "keyalg.option.1.missing.warning"
347: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
348: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
aastore
349: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
350: 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.groupName:Ljava/lang/String;
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;Ljava/lang/String;)V
351: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
352: goto 539
StackMap locals:
StackMap stack:
353: 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 364
354: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 361
355: aload 0
ldc "DES"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
356: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
357: ldc "keyalg.option.1.missing.warning"
358: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
359: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
aastore
360: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
361: 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
362: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
363: goto 539
StackMap locals:
StackMap stack:
364: 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 370
365: aload 0
getfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
ifnonnull 367
366: aload 0
ldc "PBE"
putfield sun.security.tools.keytool.Main.keyAlgName:Ljava/lang/String;
367: 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
368: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
369: goto 539
StackMap locals:
StackMap stack:
370: 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 383
371: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 381
372: aconst_null
astore 3
aconst_null
astore 4
373: 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 374: aload 0
aload 5
invokevirtual sun.security.tools.keytool.Main.doImportIdentityDatabase:(Ljava/io/InputStream;)V
375: aload 5
ifnull 539
aload 5
invokevirtual java.io.InputStream.close:()V
goto 539
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
376: astore 3
aload 5
ifnull 377
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
377: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
378: astore 4
aload 3
ifnonnull 379
aload 4
astore 3
goto 380
StackMap locals:
StackMap stack:
379: aload 3
aload 4
if_acmpeq 380
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
380: aload 3
athrow
381: 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
382: goto 539
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.IMPORTCERT:Lsun/security/tools/keytool/Main$Command;
if_acmpne 426
384: getstatic java.lang.System.in:Ljava/io/InputStream;
astore 3
start local 3 385: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 387
386: 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
387: StackMap locals: java.io.InputStream
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 388
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
goto 389
StackMap locals:
StackMap stack:
388: ldc "mykey"
StackMap locals:
StackMap stack: java.lang.String
389: astore 4
start local 4 390: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
391: aload 4
ldc Ljava/security/KeyStore$PrivateKeyEntry;
392: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
393: ifeq 404
394: 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
395: aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 400
396: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
397: ldc "Certificate.reply.was.installed.in.keystore"
398: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
399: goto 423
400: StackMap locals: java.lang.String
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
401: ldc "Certificate.reply.was.not.installed.in.keystore"
402: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
403: goto 423
StackMap locals:
StackMap stack:
404: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 4
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifeq 409
405: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 4
406: ldc Ljava/security/KeyStore$TrustedCertificateEntry;
407: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
408: ifeq 423
409: 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
410: aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 415
411: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
412: ldc "Certificate.was.added.to.keystore"
413: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
414: goto 423
415: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
416: ldc "Certificate.was.not.added.to.keystore"
417: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
418: goto 423
StackMap locals:
StackMap stack: java.lang.Throwable
419: astore 5
420: aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 422
421: aload 3
invokevirtual java.io.InputStream.close:()V
422: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
athrow
423: StackMap locals:
StackMap stack:
aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 539
424: aload 3
invokevirtual java.io.InputStream.close:()V
end local 4 end local 3 425: goto 539
StackMap locals:
StackMap stack:
426: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
getstatic sun.security.tools.keytool.Main$Command.IMPORTKEYSTORE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 432
427: aload 2
ifnonnull 429
428: aload 0
invokevirtual sun.security.tools.keytool.Main.loadSourceKeyStore:()Ljava/security/KeyStore;
astore 2
429: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.tools.keytool.Main.doImportKeyStore:(Ljava/security/KeyStore;)V
430: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
431: goto 539
StackMap locals:
StackMap stack:
432: 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 451
433: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.keyPassNew:[C
434: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 436
435: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
436: 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 442
437: new java.text.MessageFormat
dup
438: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.does.not.exist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
439: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 440: 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 441: 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 442: 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 448
443: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
444: ldc "Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key"
445: 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 446: 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 447: 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 448: 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
449: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
450: goto 539
StackMap locals:
StackMap stack:
451: 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 459
452: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 454
453: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
454: 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
455: 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 457
456: 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
457: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
458: goto 539
StackMap locals:
StackMap stack:
459: 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 464
460: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.keyPassNew:[C
461: 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
462: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
463: goto 539
StackMap locals:
StackMap stack:
464: 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 474
465: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
ifnonnull 469
466: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 469
467: aload 0
getfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
ifne 469
468: aload 0
invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
469: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnull 472
470: 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
471: goto 539
472: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintEntries:(Ljava/io/PrintStream;)V
473: goto 539
StackMap locals:
StackMap stack:
474: 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 477
475: aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintCert:(Ljava/io/PrintStream;)V
476: goto 539
StackMap locals:
StackMap stack:
477: 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 481
478: 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
479: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
480: goto 539
StackMap locals:
StackMap stack:
481: 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 485
482: aload 0
invokevirtual sun.security.tools.keytool.Main.doChangeStorePasswd:()V
483: aload 0
iconst_1
putfield sun.security.tools.keytool.Main.kssave:Z
484: goto 539
StackMap locals:
StackMap stack:
485: 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 508
486: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 488
487: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
488: StackMap locals:
StackMap stack:
getstatic java.lang.System.in:Ljava/io/InputStream;
astore 3
start local 3 489: aload 0
getfield sun.security.tools.keytool.Main.infilename:Ljava/lang/String;
ifnull 491
490: 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
491: StackMap locals: java.io.InputStream
StackMap stack:
aconst_null
astore 4
start local 4 492: aload 0
getfield sun.security.tools.keytool.Main.outfilename:Ljava/lang/String;
ifnull 495
493: 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
494: aload 4
astore 1
495: 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
496: goto 503
StackMap locals:
StackMap stack: java.lang.Throwable
497: astore 5
498: aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 500
499: aload 3
invokevirtual java.io.InputStream.close:()V
500: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
ifnull 502
501: aload 4
invokevirtual java.io.PrintStream.close:()V
502: StackMap locals:
StackMap stack:
aload 5
athrow
503: StackMap locals:
StackMap stack:
aload 3
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 505
504: aload 3
invokevirtual java.io.InputStream.close:()V
505: StackMap locals:
StackMap stack:
aload 4
ifnull 539
506: aload 4
invokevirtual java.io.PrintStream.close:()V
end local 4 end local 3 507: goto 539
StackMap locals:
StackMap stack:
508: 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 524
509: aload 0
getfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
ifnonnull 511
510: aload 0
ldc "mykey"
putfield sun.security.tools.keytool.Main.alias:Ljava/lang/String;
511: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 522
512: aconst_null
astore 3
aconst_null
astore 4
513: 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
514: astore 5
start local 5 515: aload 0
aload 5
invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
516: aload 5
ifnull 539
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 539
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
517: astore 3
aload 5
ifnull 518
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
518: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
519: astore 4
aload 3
ifnonnull 520
aload 4
astore 3
goto 521
StackMap locals:
StackMap stack:
520: aload 3
aload 4
if_acmpeq 521
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
521: aload 3
athrow
522: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.doGenCRL:(Ljava/io/PrintStream;)V
523: goto 539
StackMap locals:
StackMap stack:
524: 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 537
525: aload 0
getfield sun.security.tools.keytool.Main.filename:Ljava/lang/String;
ifnull 535
526: aconst_null
astore 3
aconst_null
astore 4
527: 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 528: aload 0
aload 5
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintCertReq:(Ljava/io/InputStream;Ljava/io/PrintStream;)V
529: aload 5
ifnull 539
aload 5
invokevirtual java.io.InputStream.close:()V
goto 539
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
StackMap stack: java.lang.Throwable
530: astore 3
aload 5
ifnull 531
aload 5
invokevirtual java.io.InputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
531: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
532: astore 4
aload 3
ifnonnull 533
aload 4
astore 3
goto 534
StackMap locals:
StackMap stack:
533: aload 3
aload 4
if_acmpeq 534
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
534: aload 3
athrow
535: 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
536: goto 539
StackMap locals:
StackMap stack:
537: 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 539
538: 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
539: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.kssave:Z
ifeq 568
540: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 548
541: new java.text.MessageFormat
dup
542: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".Storing.ksfname."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
543: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 544: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 545
ldc "keystore"
goto 546
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int
545: aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int java.lang.String
546: aastore
astore 4
start local 4 547: 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 548: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 551
549: 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
550: goto 568
551: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
ifnull 552
aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
goto 553
StackMap locals:
StackMap stack:
552: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
StackMap locals:
StackMap stack: char[]
553: astore 3
start local 3 554: aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifeq 557
555: 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
556: goto 568
557: StackMap locals: char[]
StackMap stack:
new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 4
start local 4 558: 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
559: aconst_null
astore 5
aconst_null
astore 6
560: 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 561: aload 7
aload 4
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokevirtual java.io.FileOutputStream.write:([B)V
562: aload 7
ifnull 568
aload 7
invokevirtual java.io.FileOutputStream.close:()V
goto 568
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore char[] java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
563: astore 5
aload 7
ifnull 564
aload 7
invokevirtual java.io.FileOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
564: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
565: astore 6
aload 5
ifnonnull 566
aload 6
astore 5
goto 567
StackMap locals:
StackMap stack:
566: aload 5
aload 6
if_acmpeq 567
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
567: aload 5
athrow
end local 4 end local 3 568: 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 617
569: aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifne 617
aload 0
getfield sun.security.tools.keytool.Main.nullStream:Z
ifne 617
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
ifnull 617
570: 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 571: aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
ifnull 572
aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
goto 573
StackMap locals: java.io.File
StackMap stack:
572: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
StackMap locals:
StackMap stack: char[]
573: astore 4
start local 4 574: aload 3
invokevirtual java.io.File.exists:()Z
ifeq 617
575: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
astore 5
start local 5 576: aload 0
aload 3
aload 4
invokestatic java.security.KeyStore.getInstance:(Ljava/io/File;[C)Ljava/security/KeyStore;
putfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
577: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
astore 5
578: aload 5
ldc "JKS"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 580
579: aload 5
ldc "JCEKS"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 597
580: StackMap locals: char[] java.lang.String
StackMap stack:
iconst_1
istore 6
start local 6 581: 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 8
goto 589
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File char[] java.lang.String int top java.util.Iterator
StackMap stack:
582: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 583: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
584: aload 7
ldc Ljava/security/KeyStore$TrustedCertificateEntry;
585: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
586: ifne 589
587: iconst_0
istore 6
588: goto 590
end local 7 589: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 582
590: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File char[] java.lang.String int
StackMap stack:
iload 6
ifne 597
591: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
592: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "jks.storetype.warning"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
593: aload 5
aastore
dup
iconst_1
aload 0
getfield sun.security.tools.keytool.Main.ksfname:Ljava/lang/String;
aastore
594: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 595: goto 597
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File char[] java.lang.String
StackMap stack: java.security.KeyStoreException
596: pop
597: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.inplaceImport:Z
ifeq 617
598: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
astore 6
start local 6 599: 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
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
600: invokestatic java.security.KeyStore.getInstance:(Ljava/io/File;[C)Ljava/security/KeyStore;
601: invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
602: astore 6
603: goto 605
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore java.io.File char[] java.lang.String java.lang.String
StackMap stack: java.security.KeyStoreException
604: pop
605: StackMap locals:
StackMap stack:
aload 5
aload 6
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 607
606: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "backup.keystore.warning"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
goto 608
607: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "migrate.keystore.warning"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
608: StackMap locals:
StackMap stack: java.lang.String
astore 7
start local 7 609: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
610: aload 7
iconst_4
anewarray java.lang.Object
dup
iconst_0
611: aload 0
getfield sun.security.tools.keytool.Main.srcksfname:Ljava/lang/String;
aastore
dup
iconst_1
612: aload 6
aastore
dup
iconst_2
613: aload 0
getfield sun.security.tools.keytool.Main.inplaceBackupName:Ljava/lang/String;
aastore
dup
iconst_3
614: aload 5
aastore
615: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
616: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 5 end local 4 end local 3 617: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.KeyStore
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 618 0 this Lsun/security/tools/keytool/Main;
0 618 1 out Ljava/io/PrintStream;
63 74 2 provider Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;
77 110 2 cl Ljava/lang/ClassLoader;
79 86 3 path Ljava/lang/String;
85 86 4 urls [Ljava/net/URL;
90 109 3 provider Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/lang/String;>;
102 109 5 e Ljava/lang/IllegalArgumentException;
132 618 2 srcKeyStore Ljava/security/KeyStore;
234 267 3 count I
253 259 4 storePassAgain [C
283 291 3 form Ljava/text/MessageFormat;
285 287 4 source [Ljava/lang/Object;
289 291 4 source [Ljava/lang/Object;
301 304 5 ps Ljava/io/PrintStream;
313 316 3 form Ljava/text/MessageFormat;
314 316 4 source [Ljava/lang/Object;
327 330 5 ps Ljava/io/PrintStream;
339 341 3 form Ljava/text/MessageFormat;
340 341 4 source [Ljava/lang/Object;
374 377 5 inStream Ljava/io/InputStream;
385 425 3 inStream Ljava/io/InputStream;
390 425 4 importAlias Ljava/lang/String;
440 442 3 form Ljava/text/MessageFormat;
441 442 4 source [Ljava/lang/Object;
446 448 3 form Ljava/text/MessageFormat;
447 448 4 source [Ljava/lang/Object;
489 507 3 inStream Ljava/io/InputStream;
492 507 4 ps Ljava/io/PrintStream;
515 518 5 ps Ljava/io/PrintStream;
528 531 5 inStream Ljava/io/InputStream;
544 548 3 form Ljava/text/MessageFormat;
547 548 4 source [Ljava/lang/Object;
554 568 3 pass [C
558 568 4 bout Ljava/io/ByteArrayOutputStream;
561 564 7 fout Ljava/io/FileOutputStream;
571 617 3 f Ljava/io/File;
574 617 4 pass [C
576 617 5 realType Ljava/lang/String;
581 595 6 allCerts Z
583 589 7 a Ljava/lang/String;
599 617 6 realSourceStoreType Ljava/lang/String;
609 617 7 format Ljava/lang/String;
Exception table:
from to target type
63 67 68 Class java.lang.IllegalArgumentException
90 94 95 Class java.lang.ClassCastException
90 94 101 Class java.lang.IllegalArgumentException
139 147 148 Class java.io.FileNotFoundException
301 302 303 any
298 305 305 any
327 328 329 any
324 331 331 any
374 375 376 any
373 378 378 any
390 419 419 any
495 497 497 any
515 516 517 any
513 519 519 any
528 529 530 any
527 532 532 any
561 562 563 any
560 565 565 any
576 595 596 Class java.security.KeyStoreException
599 603 604 Class java.security.KeyStoreException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out
private void doGenCert(java.lang.String, java.lang.String, java.io.InputStream, java.io.PrintStream);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=32, args_size=5
start local 0 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
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/security/PrivateKey;)Ljava/lang/String;
astore 2
23: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.io.InputStream java.io.PrintStream java.security.cert.Certificate byte[] sun.security.x509.X509CertImpl sun.security.x509.X509CertInfo sun.security.x509.X500Name java.util.Date java.util.Date sun.security.x509.CertificateValidity java.security.PrivateKey
StackMap stack:
aload 2
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 14
start local 14 24: aload 14
aload 13
invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
25: new sun.security.x509.X509CertInfo
dup
invokespecial sun.security.x509.X509CertInfo.<init>:()V
astore 15
start local 15 26: aload 2
aload 13
invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
27: astore 16
start local 16 28: aload 2
aload 16
invokestatic sun.security.x509.AlgorithmId.getWithParameterSpec:(Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)Lsun/security/x509/AlgorithmId;
astore 17
start local 17 29: aload 15
ldc "validity"
aload 12
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
30: aload 15
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 15
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 15
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 15
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 sun.security.x509.X509CertInfo java.security.spec.AlgorithmParameterSpec 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 15
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 15
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 sun.security.x509.X509CertInfo java.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
StackMap stack: sun.security.x509.X509CertInfo java.lang.String
59: new sun.security.x509.X500Name
dup
aload 0
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 sun.security.x509.X509CertInfo java.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10
StackMap stack: sun.security.x509.X509CertInfo java.lang.String sun.security.x509.X500Name
invokevirtual sun.security.x509.X509CertInfo.set:(Ljava/lang/String;Ljava/lang/Object;)V
61: 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 15
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 15
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/x509/X509CertInfo;)V
astore 26
start local 26 77: aload 26
aload 13
aload 16
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 sun.security.x509.X509CertInfo java.security.spec.AlgorithmParameterSpec sun.security.x509.AlgorithmId java.io.BufferedReader int java.lang.StringBuffer byte[] sun.security.pkcs10.PKCS10 sun.security.x509.CertificateExtensions java.util.Iterator sun.security.x509.CertificateExtensions sun.security.x509.X509CertImpl top int int java.security.cert.Certificate[]
StackMap stack:
80: aload 30
iload 28
aaload
astore 27
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 info Lsun/security/x509/X509CertInfo;
28 90 16 params Ljava/security/spec/AlgorithmParameterSpec;
29 90 17 algID Lsun/security/x509/AlgorithmId;
41 90 18 reader Ljava/io/BufferedReader;
42 90 19 canRead Z
43 90 20 sb Ljava/lang/StringBuffer;
44 52 21 s Ljava/lang/String;
54 90 21 rawReq [B
55 90 22 req Lsun/security/pkcs10/PKCS10;
62 90 23 reqex Lsun/security/x509/CertificateExtensions;
63 90 24 attrs Ljava/util/Iterator<Lsun/security/pkcs10/PKCS10Attribute;>;
65 67 25 attr Lsun/security/pkcs10/PKCS10Attribute;
75 90 25 ext Lsun/security/x509/CertificateExtensions;
77 90 26 cert Lsun/security/x509/X509CertImpl;
81 85 27 ca Ljava/security/cert/Certificate;
83 85 31 xca Ljava/security/cert/X509Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
sigAlgName
in
out
private void doGenCRL(java.io.PrintStream);
descriptor: (Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=15, args_size=2
start local 0 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
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/security/PrivateKey;)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
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/security/PrivateKey;)Ljava/lang/String;
astore 2
20: StackMap locals: sun.security.pkcs10.PKCS10 sun.security.x509.CertificateExtensions
StackMap stack:
aload 2
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 9
start local 9 21: aload 9
aload 5
invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
22: aload 2
aload 5
invokestatic sun.security.x509.AlgorithmId.getDefaultAlgorithmParameterSpec:(Ljava/lang/String;Ljava/security/PrivateKey;)Ljava/security/spec/PSSParameterSpec;
23: astore 10
start local 10 24: aload 10
ifnull 26
25: aload 9
aload 10
invokevirtual java.security.Signature.setParameter:(Ljava/security/spec/AlgorithmParameterSpec;)V
26: StackMap locals: java.security.Signature java.security.spec.AlgorithmParameterSpec
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.dname:Ljava/lang/String;
ifnonnull 28
27: 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 29
28: StackMap locals:
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
29: StackMap locals:
StackMap stack: sun.security.x509.X500Name
astore 11
start local 11 30: aload 7
aload 11
aload 9
invokevirtual sun.security.pkcs10.PKCS10.encodeAndSign:(Lsun/security/x509/X500Name;Ljava/security/Signature;)V
31: aload 7
aload 3
invokevirtual sun.security.pkcs10.PKCS10.print:(Ljava/io/PrintStream;)V
32: 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
33: 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 34 0 this Lsun/security/tools/keytool/Main;
0 34 1 alias Ljava/lang/String;
0 34 2 sigAlgName Ljava/lang/String;
0 34 3 out Ljava/io/PrintStream;
3 34 4 objs Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
4 34 5 privKey Ljava/security/PrivateKey;
7 34 6 cert Ljava/security/cert/Certificate;
11 13 7 form Ljava/text/MessageFormat;
12 13 8 source [Ljava/lang/Object;
14 34 7 request Lsun/security/pkcs10/PKCS10;
15 34 8 ext Lsun/security/x509/CertificateExtensions;
21 34 9 signature Ljava/security/Signature;
24 34 10 params Ljava/security/spec/AlgorithmParameterSpec;
30 34 11 subject Lsun/security/x509/X500Name;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
sigAlgName
out
private void doDeleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 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 4
1: aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 4
2: aload 0
getfield sun.security.tools.keytool.Main.isPasswordlessKeyStore:Z
ifne 4
3: aload 0
invokevirtual sun.security.tools.keytool.Main.printNoIntegrityWarning:()V
4: StackMap locals:
StackMap stack:
aload 1
ifnonnull 6
5: ldc "mykey"
astore 1
6: 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 12
7: new java.text.MessageFormat
dup
8: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.does.not.exist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
9: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 10: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 4
start local 4 11: 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 12: 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 13: aload 3
ifnonnull 19
14: new java.text.MessageFormat
dup
15: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.has.no.certificate"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
16: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 17: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 5
start local 5 18: 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 19: 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
20: 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
21: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/security/tools/keytool/Main;
0 22 1 alias Ljava/lang/String;
0 22 2 out Ljava/io/PrintStream;
10 12 3 form Ljava/text/MessageFormat;
11 12 4 source [Ljava/lang/Object;
13 22 3 cert Ljava/security/cert/X509Certificate;
17 19 4 form Ljava/text/MessageFormat;
18 19 5 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
out
private char[] promptForKeyPass(java.lang.String, java.lang.String, char[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;[C)[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnull 2
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 50
aload 0
getfield sun.security.tools.keytool.Main.protectedPath:Z
ifne 50
3: iconst_0
istore 4
start local 4 4: goto 41
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.print:(Ljava/lang/String;)V
10: aload 3
ifnull 22
11: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
12: aload 2
ifnonnull 17
13: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
14: ldc ".RETURN.if.same.as.keystore.password."
15: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
16: goto 22
17: StackMap locals: java.text.MessageFormat java.lang.Object[]
StackMap stack:
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
18: ldc ".RETURN.if.same.as.for.otherAlias."
19: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
20: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
astore 7
start local 7 21: 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 22: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
23: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 7
start local 7 24: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
25: aload 7
ifnonnull 27
aload 3
ifnull 27
26: aload 3
areturn
27: StackMap locals: char[]
StackMap stack:
aload 7
ifnull 37
aload 7
arraylength
bipush 6
if_icmplt 37
28: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Re.enter.new.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
29: getstatic java.lang.System.in:Ljava/io/InputStream;
invokestatic sun.security.util.Password.readPassword:(Ljava/io/InputStream;)[C
astore 8
start local 8 30: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 8
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
31: aload 7
aload 8
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 36
32: getstatic java.lang.System.err:Ljava/io/PrintStream;
33: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "They.don.t.match.Try.again"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
34: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: goto 40
36: StackMap locals: char[]
StackMap stack:
aload 7
areturn
end local 8 37: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
38: ldc "Key.password.is.too.short.must.be.at.least.6.characters"
39: 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 40: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
41: iload 4
iconst_3
if_icmplt 5
42: iload 4
iconst_3
if_icmpne 50
43: 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 47
44: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
45: ldc "Too.many.failures.Key.entry.not.cloned"
46: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
48: ldc "Too.many.failures.key.not.added.to.keystore"
49: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 4 50: 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 51 0 this Lsun/security/tools/keytool/Main;
0 51 1 alias Ljava/lang/String;
0 51 2 orig Ljava/lang/String;
0 51 3 origPass [C
4 50 4 count I
8 40 5 form Ljava/text/MessageFormat;
9 40 6 source [Ljava/lang/Object;
21 22 7 src [Ljava/lang/Object;
24 40 7 entered [C
30 37 8 passAgain [C
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
orig
origPass
private char[] promptForCredential();
descriptor: ()[C
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 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 46
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 46
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: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
40: ldc "Generated.keysize.bit.keyAlgName.secret.key"
41: 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 42: iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
43: aload 5
invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
aastore
44: astore 8
start local 8 45: 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 46: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 48
47: 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
48: StackMap locals:
StackMap stack:
iload 4
ifeq 51
49: 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
50: goto 54
51: 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
52: 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
53: invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
54: 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 55 0 this Lsun/security/tools/keytool/Main;
0 55 1 alias Ljava/lang/String;
0 55 2 keyAlgName Ljava/lang/String;
0 55 3 keysize I
6 8 4 form Ljava/text/MessageFormat;
7 8 5 source [Ljava/lang/Object;
9 55 4 useDefaultPBEAlgorithm Z
10 55 5 secKey Ljavax/crypto/SecretKey;
12 25 6 factory Ljavax/crypto/SecretKeyFactory;
20 25 7 form Ljava/text/MessageFormat;
24 25 8 source [Ljava/lang/Object;
27 46 6 keygen Ljavax/crypto/KeyGenerator;
42 46 7 form Ljava/text/MessageFormat;
45 46 8 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
keyAlgName
keysize
private static java.lang.String getCompatibleSigAlgName(java.security.PrivateKey);
descriptor: (Ljava/security/PrivateKey;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokestatic sun.security.x509.AlgorithmId.getDefaultSigAlgForKey:(Ljava/security/PrivateKey;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.String
StackMap stack:
new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
4: ldc "Cannot.derive.signature.algorithm"
5: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 key Ljava/security/PrivateKey;
1 6 1 result Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
key
private void doGenKeyPair(java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=14, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 5
ifnull 3
1: iload 4
iconst_m1
if_icmpeq 18
2: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "groupname.keysize.coexist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
iload 4
iconst_m1
if_icmpne 13
4: ldc "EC"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 7
5: getstatic sun.security.util.SecurityProviderConstants.DEF_EC_KEY_SIZE:I
istore 4
6: goto 18
StackMap locals:
StackMap stack:
7: ldc "RSA"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
8: getstatic sun.security.util.SecurityProviderConstants.DEF_RSA_KEY_SIZE:I
istore 4
9: goto 18
StackMap locals:
StackMap stack:
10: ldc "DSA"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 18
11: getstatic sun.security.util.SecurityProviderConstants.DEF_DSA_KEY_SIZE:I
istore 4
12: goto 18
13: StackMap locals:
StackMap stack:
ldc "EC"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 18
14: aload 0
getfield sun.security.tools.keytool.Main.weakWarnings:Ljava/util/List;
15: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "deprecate.keysize.for.ec"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
16: aload 0
iload 4
invokevirtual sun.security.tools.keytool.Main.ecGroupNameForSize:(I)Ljava/lang/String;
aastore
17: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: StackMap locals:
StackMap stack:
aload 1
ifnonnull 20
19: ldc "mykey"
astore 1
20: 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 26
21: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
22: ldc "Key.pair.not.generated.alias.alias.already.exists"
23: 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 24: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 8
start local 8 25: 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 26: StackMap locals:
StackMap stack:
new sun.security.tools.keytool.CertAndKeyGen
dup
aload 3
aload 6
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
27: astore 7
start local 7 28: aload 2
ifnonnull 32
29: aload 0
iconst_1
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
30: aload 0
invokevirtual sun.security.tools.keytool.Main.getX500Name:()Lsun/security/x509/X500Name;
astore 8
start local 8 31: goto 33
end local 8 32: 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 8
start local 8 33: StackMap locals: sun.security.x509.X500Name
StackMap stack:
aload 5
ifnull 36
34: aload 7
aload 5
invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(Ljava/lang/String;)V
35: goto 37
36: StackMap locals:
StackMap stack:
aload 7
iload 4
invokevirtual sun.security.tools.keytool.CertAndKeyGen.generate:(I)V
37: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPrivateKey:()Ljava/security/PrivateKey;
astore 9
start local 9 38: aload 0
39: aconst_null
40: aconst_null
41: aload 0
getfield sun.security.tools.keytool.Main.v3ext:Ljava/util/List;
42: aload 7
invokevirtual sun.security.tools.keytool.CertAndKeyGen.getPublicKeyAnyway:()Ljava/security/PublicKey;
43: aconst_null
44: invokevirtual sun.security.tools.keytool.Main.createV3Extensions:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
astore 10
start local 10 45: iconst_1
anewarray java.security.cert.X509Certificate
astore 11
start local 11 46: aload 11
iconst_0
aload 7
47: aload 8
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 10
48: invokevirtual sun.security.tools.keytool.CertAndKeyGen.getSelfCertificate:(Lsun/security/x509/X500Name;Ljava/util/Date;JLsun/security/x509/CertificateExtensions;)Ljava/security/cert/X509Certificate;
aastore
49: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
50: ldc "Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for"
51: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 12
start local 12 52: iconst_5
anewarray java.lang.Object
dup
iconst_0
53: aload 5
ifnonnull 54
iload 4
goto 55
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String sun.security.tools.keytool.CertAndKeyGen sun.security.x509.X500Name java.security.PrivateKey sun.security.x509.CertificateExtensions java.security.cert.X509Certificate[] java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int
54: aload 9
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
StackMap locals: sun.security.tools.keytool.Main java.lang.String java.lang.String java.lang.String int java.lang.String java.lang.String sun.security.tools.keytool.CertAndKeyGen sun.security.x509.X500Name java.security.PrivateKey sun.security.x509.CertificateExtensions java.security.cert.X509Certificate[] java.text.MessageFormat
StackMap stack: java.lang.Object[] java.lang.Object[] int int
55: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
56: aload 0
aload 9
invokevirtual sun.security.tools.keytool.Main.fullDisplayAlgName:(Ljava/security/Key;)Ljava/lang/String;
aastore
dup
iconst_2
57: aload 11
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getSigAlgName:()Ljava/lang/String;
aastore
dup
iconst_3
58: aload 0
getfield sun.security.tools.keytool.Main.validity:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_4
59: aload 8
aastore
60: astore 13
start local 13 61: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 12
aload 13
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
62: aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
ifnonnull 64
63: 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
64: StackMap locals: java.lang.Object[]
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 11
iconst_0
aaload
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
65: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 9
aload 0
getfield sun.security.tools.keytool.Main.keyPass:[C
aload 11
invokevirtual java.security.KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
66: return
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 67 0 this Lsun/security/tools/keytool/Main;
0 67 1 alias Ljava/lang/String;
0 67 2 dname Ljava/lang/String;
0 67 3 keyAlgName Ljava/lang/String;
0 67 4 keysize I
0 67 5 groupName Ljava/lang/String;
0 67 6 sigAlgName Ljava/lang/String;
24 26 7 form Ljava/text/MessageFormat;
25 26 8 source [Ljava/lang/Object;
28 67 7 keypair Lsun/security/tools/keytool/CertAndKeyGen;
31 32 8 x500Name Lsun/security/x509/X500Name;
33 67 8 x500Name Lsun/security/x509/X500Name;
38 67 9 privKey Ljava/security/PrivateKey;
45 67 10 ext Lsun/security/x509/CertificateExtensions;
46 67 11 chain [Ljava/security/cert/X509Certificate;
52 67 12 form Ljava/text/MessageFormat;
61 67 13 source [Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
dname
keyAlgName
keysize
groupName
sigAlgName
private java.lang.String ecGroupNameForSize(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: ldc "EC"
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 2
start local 2 1: aload 2
new sun.security.util.ECKeySizeParameterSpec
dup
iload 1
invokespecial sun.security.util.ECKeySizeParameterSpec.<init>:(I)V
invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
2: aload 2
invokevirtual java.security.AlgorithmParameters.toString:()Ljava/lang/String;
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
iconst_0
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/tools/keytool/Main;
0 3 1 size I
1 3 2 ap Ljava/security/AlgorithmParameters;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
size
private void doCloneEntry(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=4
start local 0 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=6, 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 116
38: StackMap locals:
StackMap stack:
aload 3
ldc "SecretKeyEntry, "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: goto 116
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 87
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 81
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
iload 5
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
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 116
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.SHA.256."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
76: aload 0
ldc "SHA-256"
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
invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;[Ljava/security/cert/Certificate;)V
80: goto 116
81: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
82: ldc "Certificate.chain.length."
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: iconst_0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
85: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 86: goto 116
StackMap locals:
StackMap stack:
87: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 2
88: ldc Ljava/security/KeyStore$TrustedCertificateEntry;
89: invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
90: ifeq 115
91: 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 92: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "trustedCertEntry"
aastore
astore 5
start local 5 93: new java.lang.StringBuilder
dup
new java.text.MessageFormat
dup
94: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Entry.type.type."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
95: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
96: 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;
97: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 98: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifeq 102
aload 4
instanceof java.security.cert.X509Certificate
ifeq 102
99: aload 3
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
100: 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
101: goto 113
StackMap locals: java.security.cert.Certificate java.lang.Object[] java.lang.String
StackMap stack:
102: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 106
103: aload 3
aload 6
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
104: aload 0
aload 4
aload 3
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
105: goto 113
StackMap locals:
StackMap stack:
106: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 109
107: aload 3
aload 4
invokevirtual java.security.cert.Certificate.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
108: goto 113
109: StackMap locals:
StackMap stack:
aload 3
ldc "trustedCertEntry, "
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
110: aload 3
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Certificate.fingerprint.SHA.256."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
111: aload 0
ldc "SHA-256"
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;
112: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
113: 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 114: goto 116
115: 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
116: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 117 0 this Lsun/security/tools/keytool/Main;
0 117 1 label Ljava/lang/String;
0 117 2 alias Ljava/lang/String;
0 117 3 out Ljava/io/PrintStream;
4 6 4 form Ljava/text/MessageFormat;
5 6 5 source [Ljava/lang/Object;
10 18 4 form Ljava/text/MessageFormat;
11 18 5 source [Ljava/lang/Object;
17 18 6 src [Ljava/lang/Object;
23 25 4 form Ljava/text/MessageFormat;
24 25 5 source [Ljava/lang/Object;
29 31 4 form Ljava/text/MessageFormat;
30 31 5 source [Ljava/lang/Object;
34 37 4 source [Ljava/lang/Object;
43 46 4 source [Ljava/lang/Object;
49 86 4 chain [Ljava/security/cert/Certificate;
57 73 5 i I
61 71 6 form Ljava/text/MessageFormat;
62 71 7 source [Ljava/lang/Object;
92 114 4 cert Ljava/security/cert/Certificate;
93 114 5 source [Ljava/lang/Object;
98 114 6 mf Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
label
alias
out
boolean inplaceImportCheck();
descriptor: ()Z
flags: (0x0000)
Code:
stack=6, locals=2, args_size=1
start local 0 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=8, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: ldc "PKCS11"
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 5
4: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 14
5: StackMap locals: java.io.InputStream java.io.File int
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 16
6: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
7: ldc ".keystore.must.be.NONE.if.storetype.is.{0}"
8: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
9: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
aastore
10: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
12: aload 0
invokevirtual sun.security.tools.keytool.Main.tinyHelp:()V
13: goto 16
14: 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
15: new java.io.FileInputStream
dup
aload 2
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 1
16: StackMap locals:
StackMap stack:
aload 2
ifnull 23
aload 1
ifnull 23
aload 0
getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
ifnonnull 23
17: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
ifnonnull 23
18: aload 2
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
invokestatic java.security.KeyStore.getInstance:(Ljava/io/File;[C)Ljava/security/KeyStore;
astore 4
start local 4 19: aload 0
aload 4
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
20: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
ldc "pkcs12"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 29
21: aload 2
invokestatic sun.security.pkcs12.PKCS12KeyStore.isPasswordless:(Ljava/io/File;)Z
istore 3
22: goto 29
end local 4 23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
ifnonnull 25
24: aload 0
invokestatic java.security.KeyStore.getDefaultType:()Ljava/lang/String;
putfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
25: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
ifnonnull 28
26: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
astore 4
start local 4 27: goto 29
end local 4 28: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
aload 0
getfield sun.security.tools.keytool.Main.srcProviderName:Ljava/lang/String;
invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;
astore 4
start local 4 29: StackMap locals: java.security.KeyStore
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 37
30: aload 0
getfield sun.security.tools.keytool.Main.srcprotectedPath:Z
ifne 37
31: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 37
32: iload 3
ifne 37
33: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Enter.source.keystore.password."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
34: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
35: 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
36: 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
37: 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 46
38: aload 0
getfield sun.security.tools.keytool.Main.srckeyPass:[C
ifnull 46
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnull 46
39: 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 46
40: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
41: ldc "Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value."
42: 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 43: iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "-srckeypass"
aastore
astore 6
start local 6 44: 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
45: aload 0
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
putfield sun.security.tools.keytool.Main.srckeyPass:[C
end local 6 end local 5 46: StackMap locals:
StackMap stack:
aload 4
aload 1
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
47: goto 52
end local 4 StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File int
StackMap stack: java.lang.Throwable
48: astore 7
49: aload 1
ifnull 51
50: aload 1
invokevirtual java.io.InputStream.close:()V
51: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File int top top top java.lang.Throwable
StackMap stack:
aload 7
athrow
start local 4 52: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream java.io.File int java.security.KeyStore
StackMap stack:
aload 1
ifnull 54
53: aload 1
invokevirtual java.io.InputStream.close:()V
54: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.srcstorePass:[C
ifnonnull 68
55: iload 3
ifne 68
56: aload 0
getfield sun.security.tools.keytool.Main.srcstoretype:Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifne 68
57: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
58: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
59: ldc ".WARNING.WARNING.WARNING."
60: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
61: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
62: ldc ".The.integrity.of.the.information.stored.in.the.srckeystore."
63: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
64: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
65: ldc ".WARNING.WARNING.WARNING."
66: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
67: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
68: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lsun/security/tools/keytool/Main;
1 69 1 is Ljava/io/InputStream;
2 69 2 srcksfile Ljava/io/File;
3 69 3 srcIsPasswordless Z
19 23 4 store Ljava/security/KeyStore;
27 28 4 store Ljava/security/KeyStore;
29 48 4 store Ljava/security/KeyStore;
52 69 4 store Ljava/security/KeyStore;
43 46 5 form Ljava/text/MessageFormat;
44 46 6 source [Ljava/lang/Object;
Exception table:
from to target type
16 48 48 any
Exceptions:
throws java.lang.Exception
private void doImportKeyStore(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 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.Path.of:(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 43
StackMap locals: sun.security.tools.keytool.Main java.security.KeyStore java.lang.String java.lang.String sun.security.tools.keytool.Pair java.security.KeyStore$Entry java.security.KeyStore$PasswordProtection char[]
StackMap stack:
37: aload 4
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
ifnull 43
38: ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 40
39: aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
goto 41
StackMap locals:
StackMap stack:
40: aload 4
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast char[]
41: StackMap locals:
StackMap stack: char[]
astore 7
42: new java.security.KeyStore$PasswordProtection
dup
aload 7
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 6
43: 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 44: aload 8
ifnull 46
45: 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
46: 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
47: ldc "PKCS12"
aload 0
getfield sun.security.tools.keytool.Main.storetype:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 52
48: aload 7
ifnull 52
aload 7
aload 0
getfield sun.security.tools.keytool.Main.storePass:[C
invokestatic java.util.Arrays.equals:([C[C)Z
ifne 52
49: new java.lang.Exception
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
50: ldc "The.destination.pkcs12.keystore.has.different.storepass.and.keypass.Please.retry.with.destkeypass.specified."
51: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
52: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 8 53: 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 54: 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 55: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
56: ldc "Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported."
57: 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 58: 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
59: 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 60 0 this Lsun/security/tools/keytool/Main;
0 60 1 srckeystore Ljava/security/KeyStore;
0 60 2 alias Ljava/lang/String;
3 60 3 newAlias Ljava/lang/String;
5 29 4 source [Ljava/lang/Object;
17 29 5 reply Ljava/lang/String;
30 60 4 objs Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
31 60 5 entry Ljava/security/KeyStore$Entry;
32 60 6 pp Ljava/security/KeyStore$PasswordProtection;
33 60 7 newPass [C
44 53 8 c Ljava/security/cert/Certificate;
54 60 8 kse Ljava/security/KeyStoreException;
55 60 9 source2 [Ljava/lang/Object;
58 60 10 form Ljava/text/MessageFormat;
Exception table:
from to target type
43 52 53 Class java.security.KeyStoreException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
srckeystore
alias
private void doImportKeyStoreAll(java.security.KeyStore);
descriptor: (Ljava/security/KeyStore;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 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=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Keystore.type."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: aload 1
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Keystore.provider."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.getProvider:()Ljava/security/Provider;
invokevirtual java.security.Provider.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: aload 1
invokevirtual java.io.PrintStream.println:()V
5: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.size:()I
iconst_1
if_icmpne 10
6: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
7: ldc "Your.keystore.contains.keyStore.size.entry"
8: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
9: goto 13
10: StackMap locals:
StackMap stack:
new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
11: ldc "Your.keystore.contains.keyStore.size.entries"
12: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack: java.text.MessageFormat
astore 2
start local 2 14: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
astore 3
start local 3 15: aload 1
aload 2
aload 3
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: aload 1
invokevirtual java.io.PrintStream.println:()V
17: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
invokevirtual java.security.KeyStore.aliases:()Ljava/util/Enumeration;
astore 4
start local 4 18: goto 29
19: StackMap locals: java.text.MessageFormat java.lang.Object[] java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 20: aload 0
new java.lang.StringBuilder
dup
ldc "<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
aload 1
invokevirtual sun.security.tools.keytool.Main.doPrintEntry:(Ljava/lang/String;Ljava/lang/String;Ljava/io/PrintStream;)V
21: aload 0
getfield sun.security.tools.keytool.Main.verbose:Z
ifne 22
aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 29
22: StackMap locals: java.lang.String
StackMap stack:
aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "NEWLINE"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
23: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
24: ldc "STAR"
25: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: aload 1
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
27: ldc "STARNN"
28: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 29: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 19
end local 4 30: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lsun/security/tools/keytool/Main;
0 31 1 out Ljava/io/PrintStream;
14 31 2 form Ljava/text/MessageFormat;
15 31 3 source [Ljava/lang/Object;
18 30 4 e Ljava/util/Enumeration<Ljava/lang/String;>;
20 29 5 alias Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out
private static <T> java.lang.Iterable<T> e2i(java.util.Enumeration<T>);
descriptor: (Ljava/util/Enumeration;)Ljava/lang/Iterable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new sun.security.tools.keytool.Main$1
dup
aload 0
invokespecial sun.security.tools.keytool.Main$1.<init>:(Ljava/util/Enumeration;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/util/Enumeration<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Enumeration<TT;>;)Ljava/lang/Iterable<TT;>;
MethodParameters:
Name Flags
e final
public static java.util.Collection<? extends java.security.cert.CRL> loadCRLs(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Collection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aload 0
ifnonnull 5
3: getstatic java.lang.System.in:Ljava/io/InputStream;
astore 1
4: goto 16
5: StackMap locals: java.io.InputStream java.net.URI
StackMap stack:
new java.net.URI
dup
aload 0
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
astore 2
6: aload 2
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
ldc "ldap"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 16
7: aload 2
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
astore 1
8: goto 16
StackMap locals:
StackMap stack: java.lang.Exception
9: astore 3
start local 3 10: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 1
11: goto 16
StackMap locals: java.lang.String java.io.InputStream java.net.URI java.lang.Exception
StackMap stack: java.lang.Exception
12: astore 4
start local 4 13: aload 2
ifnull 14
aload 2
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
ifnonnull 15
14: StackMap locals: java.lang.Exception
StackMap stack:
aload 4
athrow
15: StackMap locals:
StackMap stack:
aload 3
athrow
end local 4 end local 3 16: StackMap locals:
StackMap stack:
aload 1
ifnull 33
17: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 3
start local 3 18: sipush 4096
newarray 8
astore 4
start local 4 19: StackMap locals: java.io.ByteArrayOutputStream byte[]
StackMap stack:
aload 1
aload 4
invokevirtual java.io.InputStream.read:([B)I
istore 5
start local 5 20: iload 5
ifge 21
goto 23
21: StackMap locals: int
StackMap stack:
aload 3
aload 4
iconst_0
iload 5
invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
end local 5 22: goto 19
23: StackMap locals:
StackMap stack:
ldc "X509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
24: new java.io.ByteArrayInputStream
dup
aload 3
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
25: invokevirtual java.security.cert.CertificateFactory.generateCRLs:(Ljava/io/InputStream;)Ljava/util/Collection;
astore 7
26: aload 1
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 28
27: aload 1
invokevirtual java.io.InputStream.close:()V
28: StackMap locals: java.lang.String java.io.InputStream java.net.URI java.io.ByteArrayOutputStream byte[] top top java.util.Collection
StackMap stack:
aload 7
areturn
end local 4 end local 3 29: StackMap locals: java.lang.String java.io.InputStream java.net.URI
StackMap stack: java.lang.Throwable
astore 6
30: aload 1
getstatic java.lang.System.in:Ljava/io/InputStream;
if_acmpeq 32
31: aload 1
invokevirtual java.io.InputStream.close:()V
32: StackMap locals: java.lang.String java.io.InputStream java.net.URI top top top java.lang.Throwable
StackMap stack:
aload 6
athrow
33: StackMap locals: java.lang.String java.io.InputStream java.net.URI
StackMap stack:
new java.security.cert.URICertStoreParameters
dup
aload 2
invokespecial java.security.cert.URICertStoreParameters.<init>:(Ljava/net/URI;)V
34: astore 3
start local 3 35: ldc "LDAP"
aload 3
invokestatic java.security.cert.CertStore.getInstance:(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
astore 4
start local 4 36: aload 4
new java.security.cert.X509CRLSelector
dup
invokespecial java.security.cert.X509CRLSelector.<init>:()V
invokevirtual java.security.cert.CertStore.getCRLs:(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 src Ljava/lang/String;
1 37 1 in Ljava/io/InputStream;
2 37 2 uri Ljava/net/URI;
10 16 3 e Ljava/lang/Exception;
13 16 4 e2 Ljava/lang/Exception;
18 29 3 bout Ljava/io/ByteArrayOutputStream;
19 29 4 b [B
20 22 5 len I
35 37 3 params Ljava/security/cert/URICertStoreParameters;
36 37 4 s Ljava/security/cert/CertStore;
Exception table:
from to target type
5 8 9 Class java.lang.Exception
10 11 12 Class java.lang.Exception
17 26 29 any
Exceptions:
throws java.lang.Exception
Signature: (Ljava/lang/String;)Ljava/util/Collection<+Ljava/security/cert/CRL;>;
MethodParameters:
Name Flags
src
public static java.util.List<java.security.cert.CRL> readCRLsFromCert(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=12, args_size=1
start local 0 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/Key;)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/Key;)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/Key;)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=5, 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
aload 1
invokevirtual sun.security.tools.keytool.Main.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
iload 5
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
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 java.util.Collection<? extends java.security.cert.Certificate> generateCertificates(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.InputStream.readAllBytes:()[B
astore 2
start local 2 1: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
2: new java.io.ByteArrayInputStream
dup
aload 2
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
3: areturn
4: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[]
StackMap stack: java.security.cert.CertificateException
astore 3
start local 3 5: aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
ifnull 11
6: ldc "X.509"
aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
7: new java.io.ByteArrayInputStream
dup
aload 2
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokevirtual java.security.cert.CertificateFactory.generateCertificates:(Ljava/io/InputStream;)Ljava/util/Collection;
8: areturn
9: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[] java.security.cert.CertificateException
StackMap stack: java.lang.Exception
astore 4
start local 4 10: aload 3
aload 4
invokevirtual java.security.cert.CertificateException.addSuppressed:(Ljava/lang/Throwable;)V
end local 4 11: StackMap locals:
StackMap stack:
aload 3
athrow
end local 3 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 in Ljava/io/InputStream;
1 12 2 data [B
5 12 3 e Ljava/security/cert/CertificateException;
10 11 4 e2 Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 Class java.security.cert.CertificateException
6 8 9 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertificateException, java.io.IOException
Signature: (Ljava/io/InputStream;)Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
MethodParameters:
Name Flags
in
private java.security.cert.Certificate generateCertificate(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/security/cert/Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.InputStream.readAllBytes:()[B
astore 2
start local 2 1: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
2: new java.io.ByteArrayInputStream
dup
aload 2
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
3: areturn
4: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[]
StackMap stack: java.security.cert.CertificateException
astore 3
start local 3 5: aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
ifnull 11
6: ldc "X.509"
aload 0
getfield sun.security.tools.keytool.Main.providerName:Ljava/lang/String;
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
7: new java.io.ByteArrayInputStream
dup
aload 2
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
8: areturn
9: StackMap locals: sun.security.tools.keytool.Main java.io.InputStream byte[] java.security.cert.CertificateException
StackMap stack: java.lang.Exception
astore 4
start local 4 10: aload 3
aload 4
invokevirtual java.security.cert.CertificateException.addSuppressed:(Ljava/lang/Throwable;)V
end local 4 11: StackMap locals:
StackMap stack:
aload 3
athrow
end local 3 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 in Ljava/io/InputStream;
1 12 2 data [B
5 12 3 e Ljava/security/cert/CertificateException;
10 11 4 e2 Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 Class java.security.cert.CertificateException
6 8 9 Class java.lang.Exception
Exceptions:
throws java.security.cert.CertificateException, java.io.IOException
MethodParameters:
Name Flags
in
private static java.lang.String oneInMany(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 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 67
1: ldc "jdk.jar.disabledAlgorithms"
ldc ""
invokestatic java.security.Security.setProperty:(Ljava/lang/String;Ljava/lang/String;)V
2: 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 3: aload 2
invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
astore 3
start local 3 4: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 4
start local 4 5: sipush 8192
newarray 8
astore 5
start local 5 6: iconst_0
istore 6
start local 6 7: goto 62
8: 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 9: aconst_null
astore 8
aconst_null
astore 9
10: aload 2
aload 7
invokevirtual java.util.jar.JarFile.getInputStream:(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
astore 10
start local 10 11: 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 11
12: aload 10
ifnull 18
aload 10
invokevirtual java.io.InputStream.close:()V
goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 8
aload 10
ifnull 14
aload 10
invokevirtual java.io.InputStream.close:()V
end local 10 StackMap locals:
StackMap stack:
14: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 9
aload 8
ifnonnull 16
aload 9
astore 8
goto 17
StackMap locals:
StackMap stack:
16: aload 8
aload 9
if_acmpeq 17
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 8
athrow
18: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.util.jar.JarEntry.getCodeSigners:()[Ljava/security/CodeSigner;
astore 8
start local 8 19: aload 8
ifnull 62
20: aload 8
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 61
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] top int int java.security.CodeSigner[]
StackMap stack:
21: aload 12
iload 10
aaload
astore 9
start local 9 22: aload 4
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 60
23: aload 4
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
24: 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
25: aload 1
invokevirtual java.io.PrintStream.println:()V
26: aload 1
invokevirtual java.io.PrintStream.println:()V
27: 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
28: aload 1
invokevirtual java.io.PrintStream.println:()V
29: aload 9
invokevirtual java.security.CodeSigner.getSignerCertPath:()Ljava/security/cert/CertPath;
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
30: astore 13
start local 13 31: iconst_0
istore 14
start local 14 32: aload 13
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
goto 42
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int top java.util.Iterator
StackMap stack:
33: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 15
start local 15 34: aload 15
checkcast java.security.cert.X509Certificate
astore 17
start local 17 35: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 39
36: 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
37: aload 0
aload 17
aload 1
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
38: goto 40
39: 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
40: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.PrintStream.println:()V
41: 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 42: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int top java.util.Iterator
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
43: aload 9
invokevirtual java.security.CodeSigner.getTimestamp:()Ljava/security/Timestamp;
astore 15
start local 15 44: aload 15
ifnull 60
45: 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
46: aload 1
invokevirtual java.io.PrintStream.println:()V
47: aload 15
invokevirtual java.security.Timestamp.getSignerCertPath:()Ljava/security/cert/CertPath;
invokevirtual java.security.cert.CertPath.getCertificates:()Ljava/util/List;
astore 13
48: iconst_0
istore 14
49: aload 13
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 59
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp top java.util.Iterator
StackMap stack:
50: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 16
start local 16 51: aload 16
checkcast java.security.cert.X509Certificate
astore 18
start local 18 52: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 56
53: 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
54: aload 0
aload 18
aload 1
invokevirtual sun.security.tools.keytool.Main.dumpCert:(Ljava/security/cert/Certificate;Ljava/io/PrintStream;)V
55: goto 57
56: 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
57: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.PrintStream.println:()V
58: 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 59: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.util.jar.JarFile java.util.Enumeration java.util.Set byte[] int java.util.jar.JarEntry java.security.CodeSigner[] java.security.CodeSigner int int java.security.CodeSigner[] java.util.List int java.security.Timestamp top java.util.Iterator
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
end local 15 end local 14 end local 13 end local 9 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:
iinc 10 1
StackMap locals:
StackMap stack:
61: iload 10
iload 11
if_icmplt 21
end local 8 end local 7 62: 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 8
63: aload 2
invokevirtual java.util.jar.JarFile.close:()V
64: aload 4
invokeinterface java.util.Set.isEmpty:()Z
ifeq 110
65: 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 66: goto 110
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream
StackMap stack:
67: aload 0
getfield sun.security.tools.keytool.Main.sslserver:Ljava/lang/String;
ifnull 99
68: 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
invokestatic sun.security.provider.certpath.ssl.SSLServerCertStore.getInstance:(Ljava/net/URI;)Ljava/security/cert/CertStore;
astore 2
start local 2 69: aload 2
aconst_null
invokevirtual java.security.cert.CertStore.getCertificates:(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
astore 3
start local 3 70: aload 3
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 3 74: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.CertStore
StackMap stack: java.security.cert.CertStoreException
astore 4
start local 4 75: aload 4
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 4
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 java.security.cert.CertStore top java.security.cert.CertStoreException
StackMap stack:
aload 4
athrow
end local 4 start local 3 82: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.CertStore java.util.Collection
StackMap stack:
iconst_0
istore 4
start local 4 83: aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 6
goto 97
StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.CertStore java.util.Collection int top java.util.Iterator
StackMap stack:
84: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.Certificate
astore 5
start local 5 85: aload 0
getfield sun.security.tools.keytool.Main.rfc:Z
ifeq 88
86: aload 0
aload 5
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 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 4
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 5
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 4
iinc 4 1
aload 3
invokeinterface java.util.Collection.size:()I
invokestatic sun.security.tools.keytool.Main.oneInMany:(Ljava/lang/String;II)Ljava/lang/String;
aload 5
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 7
start local 7 95: aload 0
getfield sun.security.tools.keytool.Main.debug:Z
ifeq 97
96: aload 7
invokevirtual java.lang.Exception.printStackTrace:()V
end local 7 end local 5 97: StackMap locals: sun.security.tools.keytool.Main java.io.PrintStream java.security.cert.CertStore java.util.Collection int top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 84
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;
3 66 2 jf Ljava/util/jar/JarFile;
4 66 3 entries Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
5 66 4 ss Ljava/util/Set<Ljava/security/CodeSigner;>;
6 66 5 buffer [B
7 66 6 pos I
9 62 7 je Ljava/util/jar/JarEntry;
11 14 10 is Ljava/io/InputStream;
19 62 8 signers [Ljava/security/CodeSigner;
22 60 9 signer Ljava/security/CodeSigner;
31 60 13 certs Ljava/util/List<+Ljava/security/cert/Certificate;>;
32 60 14 cc I
34 42 15 cert Ljava/security/cert/Certificate;
35 42 17 x Ljava/security/cert/X509Certificate;
44 60 15 ts Ljava/security/Timestamp;
51 59 16 cert Ljava/security/cert/Certificate;
52 59 18 x Ljava/security/cert/X509Certificate;
69 98 2 cs Ljava/security/cert/CertStore;
70 74 3 chain Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
82 98 3 chain Ljava/util/Collection<+Ljava/security/cert/Certificate;>;
75 82 4 cse Ljava/security/cert/CertStoreException;
83 98 4 i I
85 97 5 cert Ljava/security/cert/Certificate;
95 97 7 e Ljava/lang/Exception;
102 105 4 inStream Ljava/io/FileInputStream;
Exception table:
from to target type
11 12 13 any
10 15 15 any
69 74 74 Class java.security.cert.CertStoreException
85 93 94 Class java.lang.Exception
102 103 104 any
101 106 106 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
out final
private void doChangeStorePasswd();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
aload 0
getfield sun.security.tools.keytool.Main.newPass:[C
putfield sun.security.tools.keytool.Main.storePassNew:[C
1: aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
ifnonnull 3
2: 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
3: 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 13
4: 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 2
goto 12
StackMap locals: sun.security.tools.keytool.Main top java.util.Iterator
StackMap stack:
5: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 6: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.isCertificateEntry:(Ljava/lang/String;)Z
ifne 12
7: 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;
8: astore 3
start local 3 9: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
aload 3
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
checkcast java.security.KeyStore$Entry
10: new java.security.KeyStore$PasswordProtection
dup
aload 0
getfield sun.security.tools.keytool.Main.storePassNew:[C
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
11: invokevirtual java.security.KeyStore.setEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
end local 3 end local 1 12: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: StackMap locals: sun.security.tools.keytool.Main
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/tools/keytool/Main;
6 12 1 alias Ljava/lang/String;
9 12 3 objs Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
Exceptions:
throws java.lang.Exception
private void doSelfCert(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=18, args_size=4
start local 0 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
invokestatic sun.security.tools.keytool.Main.getCompatibleSigAlgName:(Ljava/security/PrivateKey;)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
aload 2
invokevirtual sun.security.tools.keytool.Main.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
aload 2
invokevirtual sun.security.tools.keytool.Main.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 fullDisplayAlgName(java.security.Key);
descriptor: (Ljava/security/Key;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
instanceof java.security.interfaces.ECKey
ifeq 5
2: aload 1
checkcast java.security.interfaces.ECKey
invokeinterface java.security.interfaces.ECKey.getParams:()Ljava/security/spec/ECParameterSpec;
astore 3
start local 3 3: aload 3
instanceof sun.security.util.NamedCurve
ifeq 5
4: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
end local 3 5: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
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 key Ljava/security/Key;
1 6 2 result Ljava/lang/String;
3 5 3 paramSpec Ljava/security/spec/ECParameterSpec;
MethodParameters:
Name Flags
key
private java.lang.String withWeak(java.security.Key);
descriptor: (Ljava/security/Key;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
istore 2
start local 2 1: aload 0
aload 1
invokevirtual sun.security.tools.keytool.Main.fullDisplayAlgName:(Ljava/security/Key;)Ljava/lang/String;
astore 3
start local 3 2: 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 6
3: iload 2
iflt 5
4: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "key.bit"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
5: StackMap locals: int java.lang.String
StackMap stack:
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "unknown.size.1"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "key.bit.weak"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 3 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 key Ljava/security/Key;
1 7 2 kLen I
2 7 3 displayAlg Ljava/lang/String;
MethodParameters:
Name Flags
key
private void printX509Cert(java.security.cert.X509Certificate, java.io.PrintStream);
descriptor: (Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=3
start local 0 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 10
anewarray java.lang.Object
dup
iconst_0
aload 1
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.toString:()Ljava/lang/String;
aastore
dup
iconst_1
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 "SHA-1"
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 "SHA-256"
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 5
aastore
dup
bipush 8
15: aload 0
aload 4
invokevirtual sun.security.tools.keytool.Main.withWeak:(Ljava/security/Key;)Ljava/lang/String;
aastore
dup
bipush 9
16: aload 1
invokevirtual java.security.cert.X509Certificate.getVersion:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
17: astore 6
start local 6 18: 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
19: aload 1
instanceof sun.security.x509.X509CertImpl
ifeq 26
20: aload 1
checkcast sun.security.x509.X509CertImpl
astore 7
start local 7 21: 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 22: aload 8
ldc "extensions"
invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
23: checkcast sun.security.x509.CertificateExtensions
astore 9
start local 9 24: aload 9
ifnull 26
25: 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 26: 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 27 0 this Lsun/security/tools/keytool/Main;
0 27 1 cert Ljava/security/cert/X509Certificate;
0 27 2 out Ljava/io/PrintStream;
3 27 3 form Ljava/text/MessageFormat;
4 27 4 pkey Ljava/security/PublicKey;
5 27 5 sigName Ljava/lang/String;
18 27 6 source [Ljava/lang/Object;
21 26 7 impl Lsun/security/x509/X509CertImpl;
22 26 8 certInfo Lsun/security/x509/X509CertInfo;
24 26 9 exts Lsun/security/x509/CertificateExtensions;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
cert
out
private static void printExtensions(java.lang.String, sun.security.x509.CertificateExtensions, java.io.PrintStream);
descriptor: (Ljava/lang/String;Lsun/security/x509/CertificateExtensions;Ljava/io/PrintStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 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.security.util.HexDumpEncoder
dup
invokespecial sun.security.util.HexDumpEncoder.<init>:()V
aload 6
invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
aload 2
invokevirtual sun.security.util.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.keyStore:Ljava/security/KeyStore;
aload 1
invokevirtual java.security.KeyStore.containsAlias:(Ljava/lang/String;)Z
ifne 7
2: new java.text.MessageFormat
dup
3: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.does.not.exist"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
4: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 5: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 6
start local 6 6: new java.lang.Exception
dup
aload 5
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 7: StackMap locals: java.security.Key
StackMap stack:
aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
ldc Ljava/security/KeyStore$PrivateKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifne 14
8: aload 0
getfield sun.security.tools.keytool.Main.keyStore:Ljava/security/KeyStore;
aload 1
ldc Ljava/security/KeyStore$SecretKeyEntry;
invokevirtual java.security.KeyStore.entryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
ifne 14
9: new java.text.MessageFormat
dup
10: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Alias.alias.has.no.key"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
11: invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 5
start local 5 12: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 6
start local 6 13: new java.lang.Exception
dup
aload 5
aload 6
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 14: StackMap locals:
StackMap stack:
aload 3
ifnonnull 26
15: aload 2
ifnull 23
16: 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
17: aload 0
getfield sun.security.tools.keytool.Main.passwords:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
18: aload 4
aload 2
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
19: areturn
20: StackMap locals:
StackMap stack: java.security.UnrecoverableKeyException
astore 5
start local 5 21: aload 0
getfield sun.security.tools.keytool.Main.token:Z
ifeq 23
22: aload 5
athrow
end local 5 23: StackMap locals:
StackMap stack:
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
24: 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
25: aload 4
aload 3
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
areturn
26: 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
27: 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 28 0 this Lsun/security/tools/keytool/Main;
0 28 1 alias Ljava/lang/String;
0 28 2 storePass [C
0 28 3 keyPass [C
1 28 4 key Ljava/security/Key;
5 7 5 form Ljava/text/MessageFormat;
6 7 6 source [Ljava/lang/Object;
12 14 5 form Ljava/text/MessageFormat;
13 14 6 source [Ljava/lang/Object;
21 23 5 e Ljava/security/UnrecoverableKeyException;
Exception table:
from to target type
16 19 20 Class java.security.UnrecoverableKeyException
Exceptions:
throws java.lang.Exception
Signature: (Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair<Ljava/security/Key;[C>;
MethodParameters:
Name Flags
alias
storePass
keyPass
private sun.security.tools.keytool.Pair<java.security.KeyStore$Entry, char[]> recoverEntry(java.security.KeyStore, java.lang.String, char[], char[]);
descriptor: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=5
start local 0 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:
aload 1
aload 2
aconst_null
invokevirtual java.security.KeyStore.getEntry:(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
astore 5
start local 5 7: aload 5
aconst_null
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
8: areturn
end local 5 9: StackMap locals:
StackMap stack: java.security.UnrecoverableEntryException
astore 5
start local 5 10: ldc "PKCS11"
aload 1
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 12
11: aload 1
invokevirtual java.security.KeyStore.getType:()Ljava/lang/String;
invokestatic sun.security.tools.KeyStoreUtil.isWindowsKeyStore:(Ljava/lang/String;)Z
ifeq 13
12: StackMap locals: java.security.UnrecoverableEntryException
StackMap stack:
aload 5
athrow
end local 5 13: StackMap locals:
StackMap stack:
aload 4
ifnull 17
14: new java.security.KeyStore$PasswordProtection
dup
aload 4
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 5
start local 5 15: 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 16: 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 17: StackMap locals:
StackMap stack:
aload 3
ifnull 25
18: new java.security.KeyStore$PasswordProtection
dup
aload 3
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
astore 5
start local 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 6
aload 3
invokestatic sun.security.tools.keytool.Pair.of:(Ljava/lang/Object;Ljava/lang/Object;)Lsun/security/tools/keytool/Pair;
21: areturn
end local 6 end local 5 22: StackMap locals:
StackMap stack: java.security.UnrecoverableEntryException
astore 5
start local 5 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 5
athrow
end local 5 25: StackMap locals:
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
start local 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
start local 6 28: 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 9 5 entry Ljava/security/KeyStore$Entry;
10 13 5 une Ljava/security/UnrecoverableEntryException;
15 17 5 pp Ljava/security/KeyStore$PasswordProtection;
16 17 6 entry Ljava/security/KeyStore$Entry;
19 22 5 pp Ljava/security/KeyStore$PasswordProtection;
20 22 6 entry Ljava/security/KeyStore$Entry;
23 25 5 une Ljava/security/UnrecoverableEntryException;
27 29 5 pp Ljava/security/KeyStore$PasswordProtection;
28 29 6 entry Ljava/security/KeyStore$Entry;
Exception table:
from to target type
6 8 9 Class java.security.UnrecoverableEntryException
18 21 22 Class java.security.UnrecoverableEntryException
Exceptions:
throws java.lang.Exception
Signature: (Ljava/security/KeyStore;Ljava/lang/String;[C[C)Lsun/security/tools/keytool/Pair<Ljava/security/KeyStore$Entry;[C>;
MethodParameters:
Name Flags
ks
alias
pstore
pkey
private java.lang.String getCertFingerPrint(java.lang.String, java.security.cert.Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 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=13, 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: new java.util.HashSet
dup
aload 3
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 6
start local 6 3: aload 6
aload 6
invokevirtual java.util.HashSet.size:()I
anewarray java.security.cert.Certificate
invokevirtual java.util.HashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
astore 3
4: iconst_0
istore 4
start local 4 5: goto 9
6: StackMap locals: int java.security.PublicKey java.util.HashSet
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 8
7: goto 10
8: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
aload 3
arraylength
if_icmplt 6
10: StackMap locals:
StackMap stack:
iload 4
aload 3
arraylength
if_icmpne 16
11: new java.text.MessageFormat
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
12: ldc "Certificate.reply.does.not.contain.public.key.for.alias."
13: 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 14: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 8
start local 8 15: 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 16: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
astore 7
start local 7 17: aload 3
iconst_0
aload 3
iload 4
aaload
aastore
18: aload 3
iload 4
aload 7
aastore
19: aload 3
iconst_0
aaload
checkcast java.security.cert.X509Certificate
astore 8
start local 8 20: iconst_1
istore 4
goto 36
21: StackMap locals: java.security.cert.Certificate java.security.cert.X509Certificate
StackMap stack:
iload 4
istore 9
start local 9 22: goto 30
23: StackMap locals: int
StackMap stack:
aload 8
aload 3
iload 9
aaload
checkcast java.security.cert.X509Certificate
invokestatic sun.security.tools.KeyStoreUtil.signedBy:(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)Z
ifeq 29
24: aload 3
iload 4
aaload
astore 7
25: aload 3
iload 4
aload 3
iload 9
aaload
aastore
26: aload 3
iload 9
aload 7
aastore
27: aload 3
iload 4
aaload
checkcast java.security.cert.X509Certificate
astore 8
28: goto 31
29: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
30: iload 9
aload 3
arraylength
if_icmplt 23
31: StackMap locals:
StackMap stack:
iload 9
aload 3
arraylength
if_icmpne 35
32: new java.lang.Exception
dup
33: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Incomplete.certificate.chain.in.reply"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
34: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 9 35: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
36: iload 4
aload 3
arraylength
iconst_1
isub
if_icmplt 21
37: aload 0
getfield sun.security.tools.keytool.Main.noprompt:Z
ifeq 39
38: aload 3
areturn
39: StackMap locals:
StackMap stack:
aload 3
aload 3
arraylength
iconst_1
isub
aaload
astore 9
start local 9 40: iconst_1
istore 10
start local 10 41: aload 9
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 11
start local 11 42: aload 11
ifnonnull 45
aload 0
getfield sun.security.tools.keytool.Main.trustcacerts:Z
ifeq 45
aload 0
getfield sun.security.tools.keytool.Main.caks:Ljava/security/KeyStore;
ifnull 45
43: aload 9
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 11
44: iconst_0
istore 10
45: StackMap locals: java.security.cert.Certificate int sun.security.tools.keytool.Pair
StackMap stack:
aload 11
ifnonnull 59
46: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
47: getstatic java.lang.System.err:Ljava/io/PrintStream;
48: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Top.level.certificate.in.reply."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
49: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
50: aload 0
aload 9
checkcast java.security.cert.X509Certificate
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual sun.security.tools.keytool.Main.printX509Cert:(Ljava/security/cert/X509Certificate;Ljava/io/PrintStream;)V
51: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
52: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc ".is.not.trusted."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
53: aload 0
iconst_1
invokevirtual sun.security.tools.keytool.Main.printWeakWarnings:(Z)V
54: aload 0
55: getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Install.reply.anyway.no."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
56: invokevirtual sun.security.tools.keytool.Main.getYesNoReply:(Ljava/lang/String;)Ljava/lang/String;
astore 12
start local 12 57: ldc "NO"
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 75
58: aconst_null
areturn
end local 12 59: StackMap locals:
StackMap stack:
aload 11
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
aload 9
if_acmpeq 75
60: aload 3
arraylength
iconst_1
iadd
anewarray java.security.cert.Certificate
61: astore 12
start local 12 62: aload 3
iconst_0
aload 12
iconst_0
63: aload 3
arraylength
64: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
65: aload 12
aload 12
arraylength
iconst_1
isub
aload 11
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.Certificate
aastore
66: aload 12
astore 3
67: aload 0
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
iload 10
ifeq 69
68: ldc "alias.in.keystore"
goto 70
69: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.util.HashSet java.security.cert.Certificate java.security.cert.X509Certificate java.security.cert.Certificate int sun.security.tools.keytool.Pair java.security.cert.Certificate[]
StackMap stack: sun.security.tools.keytool.Main java.util.ResourceBundle
ldc "alias.in.cacerts"
70: StackMap locals: sun.security.tools.keytool.Main java.lang.String java.security.cert.Certificate java.security.cert.Certificate[] int java.security.PublicKey java.util.HashSet java.security.cert.Certificate java.security.cert.X509Certificate java.security.cert.Certificate int sun.security.tools.keytool.Pair java.security.cert.Certificate[]
StackMap stack: sun.security.tools.keytool.Main java.util.ResourceBundle java.lang.String
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
71: aload 11
getfield sun.security.tools.keytool.Pair.fst:Ljava/lang/Object;
aastore
72: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
73: aload 11
getfield sun.security.tools.keytool.Pair.snd:Ljava/lang/Object;
checkcast java.security.cert.Certificate
74: invokevirtual sun.security.tools.keytool.Main.checkWeak:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
end local 12 75: StackMap locals:
StackMap stack:
aload 3
areturn
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 76 0 this Lsun/security/tools/keytool/Main;
0 76 1 alias Ljava/lang/String;
0 76 2 userCert Ljava/security/cert/Certificate;
0 76 3 replyCerts [Ljava/security/cert/Certificate;
5 76 4 i I
2 76 5 userPubKey Ljava/security/PublicKey;
3 76 6 nodup Ljava/util/HashSet<Ljava/security/cert/Certificate;>;
14 16 7 form Ljava/text/MessageFormat;
15 16 8 source [Ljava/lang/Object;
17 76 7 tmpCert Ljava/security/cert/Certificate;
20 76 8 thisCert Ljava/security/cert/X509Certificate;
22 35 9 j I
40 76 9 topCert Ljava/security/cert/Certificate;
41 76 10 fromKeyStore Z
42 76 11 root Lsun/security/tools/keytool/Pair<Ljava/lang/String;Ljava/security/cert/Certificate;>;
57 59 12 reply Ljava/lang/String;
62 75 12 tmpCerts [Ljava/security/cert/Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
alias
userCert
replyCerts
private java.security.cert.Certificate[] establishCertChain(java.security.cert.Certificate, java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;Ljava/security/cert/Certificate;)[Ljava/security/cert/Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 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: aload 2
ifnull 17
14: 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 17
15: 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 17
16: 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 19
17: StackMap locals:
StackMap stack:
ldc "NO"
astore 2
18: goto 25
StackMap locals:
StackMap stack:
19: 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 21
20: 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 23
21: StackMap locals:
StackMap stack:
ldc "YES"
astore 2
22: goto 25
23: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Wrong.answer.try.again"
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
24: aconst_null
astore 2
25: StackMap locals:
StackMap stack:
aload 2
ifnull 2
26: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/tools/keytool/Main;
0 27 1 prompt Ljava/lang/String;
1 27 2 reply Ljava/lang/String;
2 27 3 maxRetry I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
prompt
private void keystorecerts2Hashtable(java.security.KeyStore, java.util.Hashtable<java.security.Principal, java.util.Vector<sun.security.tools.keytool.Pair<java.lang.String, java.security.cert.X509Certificate>>>);
descriptor: (Ljava/security/KeyStore;Ljava/util/Hashtable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 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_3
iconst_5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
invokevirtual java.util.Calendar.set:(II)V
64: aload 1
bipush 13
aload 5
bipush 6
bipush 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
invokevirtual java.util.Calendar.set:(II)V
65: 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.StringBuilder
dup
invokespecial java.lang.StringBuilder.<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.StringBuilder 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.StringBuilder.append:(C)Ljava/lang/StringBuilder;
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.StringBuilder 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.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 9 23: StackMap locals: java.lang.String java.lang.String[] int[] int int int java.lang.String java.lang.StringBuilder int top int int char[]
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
24: iload 10
iload 11
if_icmplt 16
25: aload 7
invokevirtual java.lang.StringBuilder.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.StringBuilder
dup
invokespecial java.lang.StringBuilder.<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.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
41: aload 5
ldc "\n "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
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.StringBuilder java.text.MessageFormat java.lang.Object[] int
StackMap stack:
aload 5
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
45: aload 5
aload 1
aload 2
iload 8
iaload
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
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.StringBuilder.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/StringBuilder;
15 27 8 first Z
17 23 9 c C
36 49 5 sb Ljava/lang/StringBuilder;
39 49 6 form Ljava/text/MessageFormat;
40 49 7 source [Ljava/lang/Object;
43 48 8 i I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
s
list
private sun.security.x509.GeneralName createGeneralName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 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 static void setExt(sun.security.x509.CertificateExtensions, sun.security.x509.Extension);
descriptor: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.x509.Extension.getId:()Ljava/lang/String;
aload 1
invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 result Lsun/security/x509/CertificateExtensions;
0 2 1 ex Lsun/security/x509/Extension;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
result
ex
private sun.security.x509.CertificateExtensions createV3Extensions(sun.security.x509.CertificateExtensions, sun.security.x509.CertificateExtensions, java.util.List<java.lang.String>, java.security.PublicKey, java.security.PublicKey);
descriptor: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=29, args_size=6
start local 0 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:
new sun.security.x509.CertificateExtensions
dup
invokespecial sun.security.x509.CertificateExtensions.<init>:()V
astore 6
start local 6 3: aload 2
ifnull 8
4: aload 2
invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 7
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.Extension
astore 7
start local 7 6: aload 6
aload 7
invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
end local 7 7: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions
StackMap stack:
aload 1
ifnull 63
9: new sun.security.x509.CertificateExtensions
dup
invokespecial sun.security.x509.CertificateExtensions.<init>:()V
astore 7
start local 7 10: aload 1
invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 13
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions top java.util.Iterator
StackMap stack:
11: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.Extension
astore 8
start local 8 12: aload 7
aload 8
invokevirtual sun.security.x509.Extension.getId:()Ljava/lang/String;
aload 8
invokevirtual sun.security.x509.CertificateExtensions.set:(Ljava/lang/String;Ljava/lang/Object;)V
end local 8 13: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 62
StackMap locals:
StackMap stack:
15: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 16: aload 8
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
ldc "honored="
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 62
17: aload 8
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
bipush 8
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
18: invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 10
start local 10 19: aload 10
ldc "all"
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 24
20: aload 7
invokevirtual sun.security.x509.CertificateExtensions.getAllExtensions:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 12
goto 23
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
21: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.x509.Extension
astore 11
start local 11 22: aload 6
aload 11
invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
end local 11 23: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
24: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List
StackMap stack:
aload 10
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 60
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
25: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 26: aload 11
ldc "all"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
goto 60
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 sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator
StackMap stack:
iconst_m1
istore 14
start local 14 28: aconst_null
astore 15
start local 15 29: aload 11
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 33
30: iconst_0
istore 13
start local 13 31: aload 11
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 15
32: goto 47
end local 13 33: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator top int java.lang.String
StackMap stack:
iconst_1
istore 13
start local 13 34: aload 11
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 16
start local 16 35: iload 16
iflt 46
36: aload 11
iconst_0
iload 16
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 15
37: aload 11
iload 16
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
iconst_2
anewarray java.lang.String
dup
iconst_0
38: ldc "critical"
aastore
dup
iconst_1
ldc "non-critical"
aastore
39: invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 14
40: iload 14
iconst_m1
if_icmpne 47
41: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
42: ldc "Illegal.value."
43: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
44: aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
45: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
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 sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator int int java.lang.String int
StackMap stack:
aload 11
astore 15
end local 16 47: StackMap locals:
StackMap stack:
aload 0
aload 15
invokevirtual sun.security.tools.keytool.Main.findOidForExtName:(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
astore 16
start local 16 48: iload 13
ifeq 59
49: aload 7
aload 16
invokevirtual sun.security.x509.CertificateExtensions.get:(Ljava/lang/String;)Lsun/security/x509/Extension;
astore 17
start local 17 50: aload 17
invokevirtual sun.security.x509.Extension.isCritical:()Z
ifne 51
iload 14
ifeq 52
51: StackMap locals: java.lang.String sun.security.x509.Extension
StackMap stack:
aload 17
invokevirtual sun.security.x509.Extension.isCritical:()Z
ifeq 57
iload 14
iconst_1
if_icmpne 57
52: StackMap locals:
StackMap stack:
aload 17
invokevirtual sun.security.x509.Extension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
53: aload 17
invokevirtual sun.security.x509.Extension.isCritical:()Z
ifeq 54
iconst_0
goto 55
StackMap locals:
StackMap stack: sun.security.util.ObjectIdentifier
54: iconst_1
55: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List java.lang.String java.util.Iterator int int java.lang.String java.lang.String sun.security.x509.Extension
StackMap stack: sun.security.util.ObjectIdentifier int
aload 17
invokevirtual sun.security.x509.Extension.getExtensionValue:()[B
56: invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
astore 17
57: StackMap locals:
StackMap stack:
aload 6
aload 17
invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
end local 17 58: goto 60
59: StackMap locals:
StackMap stack:
aload 6
aload 16
invokevirtual sun.security.x509.CertificateExtensions.delete:(Ljava/lang/String;)V
end local 16 end local 15 end local 14 end local 13 end local 11 60: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
61: goto 63
end local 10 end local 8 62: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
end local 7 63: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 337
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions top java.util.Iterator
StackMap stack:
64: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 65: iconst_0
istore 11
start local 11 66: aload 7
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 12
start local 12 67: iload 12
iflt 71
68: aload 7
iconst_0
iload 12
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
start local 9 69: aload 7
iload 12
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 10
start local 10 70: goto 73
end local 10 end local 9 71: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator top top int int
StackMap stack:
aload 7
astore 9
start local 9 72: aconst_null
astore 10
start local 10 73: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int
StackMap stack:
aload 9
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 13
start local 13 74: iload 13
iflt 78
75: aload 9
iload 13
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "critical"
aastore
invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
ifne 77
76: iconst_1
istore 11
77: StackMap locals: int
StackMap stack:
aload 9
iconst_0
iload 13
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
78: StackMap locals:
StackMap stack:
aload 9
ldc "honored"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 80
79: goto 337
80: StackMap locals:
StackMap stack:
aload 9
getstatic sun.security.tools.keytool.Main.extSupported:[Ljava/lang/String;
invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 14
start local 14 81: iload 14
tableswitch { // -1 - 8
-1: 296
0: 82
1: 117
2: 151
3: 189
4: 189
5: 216
6: 216
7: 332
8: 272
default: 332
}
82: StackMap locals: int
StackMap stack:
iconst_m1
istore 15
start local 15 83: iconst_0
istore 16
start local 16 84: aload 10
ifnonnull 87
85: iconst_1
istore 16
86: goto 113
87: StackMap locals: int int
StackMap stack:
aload 10
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 15
88: iconst_1
istore 16
89: goto 113
StackMap locals:
StackMap stack: java.lang.NumberFormatException
90: pop
91: aload 10
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 20
arraylength
istore 19
iconst_0
istore 18
goto 112
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int top int int java.lang.String[]
StackMap stack:
92: aload 20
iload 18
aaload
astore 17
start local 17 93: aload 17
ldc ":"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 21
start local 21 94: aload 21
arraylength
iconst_2
if_icmpeq 100
95: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
96: ldc "Illegal.value."
97: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
98: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
99: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
100: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int java.lang.String int int java.lang.String[] java.lang.String[]
StackMap stack:
aload 21
iconst_0
aaload
ldc "ca"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 103
101: aload 21
iconst_1
aaload
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
istore 16
102: goto 111
StackMap locals:
StackMap stack:
103: aload 21
iconst_0
aaload
ldc "pathlen"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 106
104: aload 21
iconst_1
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 15
105: goto 111
106: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
107: ldc "Illegal.value."
108: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
109: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
110: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
end local 21 end local 17 111: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int top int int java.lang.String[]
StackMap stack:
iinc 18 1
StackMap locals:
StackMap stack:
112: iload 18
iload 19
if_icmplt 92
113: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int int int
StackMap stack:
aload 6
new sun.security.x509.BasicConstraintsExtension
dup
iload 11
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iload 16
114: iload 15
invokespecial sun.security.x509.BasicConstraintsExtension.<init>:(Ljava/lang/Boolean;ZI)V
115: invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
116: goto 337
end local 16 end local 15 117: StackMap locals:
StackMap stack:
aload 10
ifnull 146
118: bipush 9
newarray 4
astore 17
start local 17 119: aload 10
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 21
arraylength
istore 20
iconst_0
istore 19
goto 138
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] top int int java.lang.String[]
StackMap stack:
120: aload 21
iload 19
aaload
astore 18
start local 18 121: aload 18
bipush 10
anewarray java.lang.String
dup
iconst_0
122: ldc "digitalSignature"
aastore
dup
iconst_1
123: ldc "nonRepudiation"
aastore
dup
iconst_2
124: ldc "keyEncipherment"
aastore
dup
iconst_3
125: ldc "dataEncipherment"
aastore
dup
iconst_4
126: ldc "keyAgreement"
aastore
dup
iconst_5
127: ldc "keyCertSign"
aastore
dup
bipush 6
128: ldc "cRLSign"
aastore
dup
bipush 7
129: ldc "encipherOnly"
aastore
dup
bipush 8
130: ldc "decipherOnly"
aastore
dup
bipush 9
131: ldc "contentCommitment"
aastore
132: invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 22
start local 22 133: iload 22
ifge 135
134: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Unknown.keyUsage.type."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
135: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] java.lang.String int int java.lang.String[] int
StackMap stack:
iload 22
bipush 9
if_icmpne 136
iconst_1
istore 22
136: StackMap locals:
StackMap stack:
aload 17
iload 22
iconst_1
bastore
end local 22 end local 18 137: iinc 19 1
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top boolean[] top int int java.lang.String[]
StackMap stack:
138: iload 19
iload 20
if_icmplt 120
139: new sun.security.x509.KeyUsageExtension
dup
aload 17
invokespecial sun.security.x509.KeyUsageExtension.<init>:([Z)V
astore 18
start local 18 140: aload 6
141: aload 18
invokevirtual sun.security.x509.KeyUsageExtension.getExtensionId:()Lsun/security/util/ObjectIdentifier;
142: iload 11
143: aload 18
invokevirtual sun.security.x509.KeyUsageExtension.getExtensionValue:()[B
144: invokestatic sun.security.x509.Extension.newExtension:(Lsun/security/util/ObjectIdentifier;Z[B)Lsun/security/x509/Extension;
invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
end local 18 end local 17 145: goto 337
146: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
147: ldc "Illegal.value."
148: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
149: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
150: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
151: StackMap locals:
StackMap stack:
aload 10
ifnull 184
152: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 17
start local 17 153: aload 10
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 21
arraylength
istore 20
iconst_0
istore 19
goto 181
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector top int int java.lang.String[]
StackMap stack:
154: aload 21
iload 19
aaload
astore 18
start local 18 155: aload 18
bipush 10
anewarray java.lang.String
dup
iconst_0
156: ldc "anyExtendedKeyUsage"
aastore
dup
iconst_1
157: ldc "serverAuth"
aastore
dup
iconst_2
158: ldc "clientAuth"
aastore
dup
iconst_3
159: ldc "codeSigning"
aastore
dup
iconst_4
160: ldc "emailProtection"
aastore
dup
iconst_5
161: ldc ""
aastore
dup
bipush 6
162: ldc ""
aastore
dup
bipush 7
163: ldc ""
aastore
dup
bipush 8
164: ldc "timeStamping"
aastore
dup
bipush 9
165: ldc "OCSPSigning"
aastore
166: invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 22
start local 22 167: iload 22
ifge 176
168: aload 17
new sun.security.util.ObjectIdentifier
dup
aload 18
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
169: goto 180
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector java.lang.String int int java.lang.String[] int
StackMap stack: java.lang.Exception
170: pop
171: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
172: ldc "Unknown.extendedkeyUsage.type."
173: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
174: aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
175: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
176: StackMap locals:
StackMap stack:
iload 22
ifne 179
177: aload 17
new sun.security.util.ObjectIdentifier
dup
ldc "2.5.29.37.0"
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
178: goto 180
179: StackMap locals:
StackMap stack:
aload 17
new sun.security.util.ObjectIdentifier
dup
new java.lang.StringBuilder
dup
ldc "1.3.6.1.5.5.7.3."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 22
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
invokevirtual java.util.Vector.add:(Ljava/lang/Object;)Z
pop
end local 22 end local 18 180: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.Vector top int int java.lang.String[]
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
181: iload 19
iload 20
if_icmplt 154
182: aload 6
new sun.security.x509.ExtendedKeyUsageExtension
dup
iload 11
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 17
invokespecial sun.security.x509.ExtendedKeyUsageExtension.<init>:(Ljava/lang/Boolean;Ljava/util/Vector;)V
invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
end local 17 183: goto 337
184: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
185: ldc "Illegal.value."
186: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
187: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
188: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
189: StackMap locals:
StackMap stack:
aload 10
ifnull 211
190: aload 10
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 17
start local 17 191: new sun.security.x509.GeneralNames
dup
invokespecial sun.security.x509.GeneralNames.<init>:()V
astore 18
start local 18 192: aload 17
dup
astore 22
arraylength
istore 21
iconst_0
istore 20
goto 201
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
StackMap stack:
193: aload 22
iload 20
aaload
astore 19
start local 19 194: aload 19
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 13
195: iload 13
ifge 197
196: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
ldc "Illegal item "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
197: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames java.lang.String int int java.lang.String[]
StackMap stack:
aload 19
iconst_0
iload 13
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 23
start local 23 198: aload 19
iload 13
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 24
start local 24 199: aload 18
aload 0
aload 23
aload 24
invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
pop
end local 24 end local 23 end local 19 200: iinc 20 1
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
StackMap stack:
201: iload 20
iload 21
if_icmplt 193
202: iload 14
iconst_3
if_icmpne 207
203: aload 6
new sun.security.x509.SubjectAlternativeNameExtension
dup
204: iload 11
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 18
invokespecial sun.security.x509.SubjectAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
205: invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
206: goto 337
207: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames
StackMap stack:
aload 6
new sun.security.x509.IssuerAlternativeNameExtension
dup
208: iload 11
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 18
invokespecial sun.security.x509.IssuerAlternativeNameExtension.<init>:(Ljava/lang/Boolean;Lsun/security/x509/GeneralNames;)V
209: invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
end local 18 end local 17 210: goto 337
211: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
212: ldc "Illegal.value."
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 7
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:
iload 11
ifeq 222
217: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
218: ldc "This.extension.cannot.be.marked.as.critical."
219: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
220: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
221: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
222: StackMap locals:
StackMap stack:
aload 10
ifnull 267
223: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
224: astore 17
start local 17 225: aload 10
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 18
start local 18 226: aload 18
dup
astore 22
arraylength
istore 21
iconst_0
istore 20
goto 261
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
227: aload 22
iload 20
aaload
astore 19
start local 19 228: aload 19
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 13
229: aload 19
bipush 58
iload 13
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 23
start local 23 230: iload 13
iflt 231
iload 23
ifge 236
231: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
232: ldc "Illegal.value."
233: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
234: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
235: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
236: StackMap locals:
StackMap stack:
aload 19
iconst_0
iload 13
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 24
start local 24 237: aload 19
iload 13
iconst_1
iadd
iload 23
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 25
start local 25 238: aload 19
iload 23
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 26
start local 26 239: aload 24
bipush 6
anewarray java.lang.String
dup
iconst_0
240: ldc ""
aastore
dup
iconst_1
241: ldc "ocsp"
aastore
dup
iconst_2
242: ldc "caIssuers"
aastore
dup
iconst_3
243: ldc "timeStamping"
aastore
dup
iconst_4
244: ldc ""
aastore
dup
iconst_5
245: ldc "caRepository"
aastore
246: invokestatic sun.security.tools.keytool.Main.oneOf:(Ljava/lang/String;[Ljava/lang/String;)I
istore 27
start local 27 247: iload 27
ifge 256
248: new sun.security.util.ObjectIdentifier
dup
aload 24
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
astore 28
start local 28 249: goto 257
end local 28 StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int java.lang.String java.lang.String java.lang.String int
StackMap stack: java.lang.Exception
250: pop
251: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
252: ldc "Unknown.AccessDescription.type."
253: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
254: aload 24
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
255: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
256: StackMap locals:
StackMap stack:
new sun.security.util.ObjectIdentifier
dup
new java.lang.StringBuilder
dup
ldc "1.3.6.1.5.5.7.48."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 27
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
astore 28
start local 28 257: StackMap locals: sun.security.util.ObjectIdentifier
StackMap stack:
aload 17
new sun.security.x509.AccessDescription
dup
258: aload 28
aload 0
aload 25
aload 26
invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
invokespecial sun.security.x509.AccessDescription.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/x509/GeneralName;)V
259: invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 19 260: iinc 20 1
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
261: iload 20
iload 21
if_icmplt 227
262: iload 14
iconst_5
if_icmpne 265
263: aload 6
new sun.security.x509.SubjectInfoAccessExtension
dup
aload 17
invokespecial sun.security.x509.SubjectInfoAccessExtension.<init>:(Ljava/util/List;)V
invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
264: 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 sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.util.List java.lang.String[]
StackMap stack:
aload 6
new sun.security.x509.AuthorityInfoAccessExtension
dup
aload 17
invokespecial sun.security.x509.AuthorityInfoAccessExtension.<init>:(Ljava/util/List;)V
invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
end local 18 end local 17 266: goto 337
267: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
268: ldc "Illegal.value."
269: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
270: aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
271: invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
272: StackMap locals:
StackMap stack:
aload 10
ifnull 291
273: aload 10
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 17
start local 17 274: new sun.security.x509.GeneralNames
dup
invokespecial sun.security.x509.GeneralNames.<init>:()V
astore 18
start local 18 275: aload 17
dup
astore 22
arraylength
istore 21
iconst_0
istore 20
goto 284
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
StackMap stack:
276: aload 22
iload 20
aaload
astore 19
start local 19 277: aload 19
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
istore 13
278: iload 13
ifge 280
279: new java.lang.Exception
dup
new java.lang.StringBuilder
dup
ldc "Illegal item "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
athrow
280: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames java.lang.String int int java.lang.String[]
StackMap stack:
aload 19
iconst_0
iload 13
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 23
start local 23 281: aload 19
iload 13
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 24
start local 24 282: aload 18
aload 0
aload 23
aload 24
invokevirtual sun.security.tools.keytool.Main.createGeneralName:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/x509/GeneralName;
invokevirtual sun.security.x509.GeneralNames.add:(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
pop
end local 24 end local 23 end local 19 283: iinc 20 1
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top java.lang.String[] sun.security.x509.GeneralNames top int int java.lang.String[]
StackMap stack:
284: iload 20
iload 21
if_icmplt 276
285: aload 6
new sun.security.x509.CRLDistributionPointsExtension
dup
286: iload 11
287: new sun.security.x509.DistributionPoint
dup
aload 18
aconst_null
aconst_null
invokespecial sun.security.x509.DistributionPoint.<init>:(Lsun/security/x509/GeneralNames;[ZLsun/security/x509/GeneralNames;)V
288: invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokespecial sun.security.x509.CRLDistributionPointsExtension.<init>:(ZLjava/util/List;)V
289: invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
end local 18 end local 17 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 sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
292: 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 7
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 9
invokespecial sun.security.util.ObjectIdentifier.<init>:(Ljava/lang/String;)V
astore 17
start local 17 297: aconst_null
astore 18
start local 18 298: aload 10
ifnull 326
299: aload 10
invokevirtual java.lang.String.length:()I
iconst_2
idiv
iconst_1
iadd
newarray 8
astore 18
300: iconst_0
istore 19
start local 19 301: aload 10
invokevirtual java.lang.String.toCharArray:()[C
dup
astore 23
arraylength
istore 22
iconst_0
istore 21
goto 317
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int top int int char[]
StackMap stack:
302: aload 23
iload 21
caload
istore 20
start local 20 303: iload 20
bipush 48
if_icmplt 306
iload 20
bipush 57
if_icmpgt 306
304: iload 20
bipush 48
isub
istore 24
start local 24 305: goto 311
end local 24 StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int int int int char[]
StackMap stack:
306: iload 20
bipush 65
if_icmplt 309
iload 20
bipush 70
if_icmpgt 309
307: iload 20
bipush 65
isub
bipush 10
iadd
istore 24
start local 24 308: goto 311
end local 24 StackMap locals:
StackMap stack:
309: iload 20
bipush 97
if_icmplt 316
iload 20
bipush 102
if_icmpgt 316
310: iload 20
bipush 97
isub
bipush 10
iadd
istore 24
start local 24 311: StackMap locals: int
StackMap stack:
iload 19
iconst_2
irem
ifne 314
312: aload 18
iload 19
iconst_2
idiv
iload 24
iconst_4
ishl
i2b
bastore
313: goto 315
314: StackMap locals:
StackMap stack:
aload 18
iload 19
iconst_2
idiv
dup2
baload
iload 24
iadd
i2b
bastore
315: StackMap locals:
StackMap stack:
iinc 19 1
end local 24 end local 20 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 sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int top int int char[]
StackMap stack:
iinc 21 1
StackMap locals:
StackMap stack:
317: iload 21
iload 22
if_icmplt 302
318: iload 19
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 7
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 sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int top top sun.security.util.ObjectIdentifier byte[] int
StackMap stack:
aload 18
iload 19
iconst_2
idiv
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 18
end local 19 325: goto 327
326: StackMap locals:
StackMap stack:
iconst_0
newarray 8
astore 18
327: StackMap locals:
StackMap stack:
aload 6
new sun.security.x509.Extension
dup
aload 17
iload 11
328: new sun.security.util.DerValue
dup
iconst_4
aload 18
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: invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
331: goto 337
end local 18 end local 17 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 sun.security.x509.CertificateExtensions java.lang.String java.util.Iterator java.lang.String java.lang.String int int int int
StackMap stack:
new java.lang.Exception
dup
new java.lang.StringBuilder
dup
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
333: 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 7
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 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 7 337: StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 64
338: aload 6
new sun.security.x509.SubjectKeyIdentifierExtension
dup
339: 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
invokespecial sun.security.x509.SubjectKeyIdentifierExtension.<init>:([B)V
340: invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
341: aload 5
ifnull 348
aload 4
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 348
342: aload 6
new sun.security.x509.AuthorityKeyIdentifierExtension
dup
343: new sun.security.x509.KeyIdentifier
dup
aload 5
invokespecial sun.security.x509.KeyIdentifier.<init>:(Ljava/security/PublicKey;)V
aconst_null
aconst_null
invokespecial sun.security.x509.AuthorityKeyIdentifierExtension.<init>:(Lsun/security/x509/KeyIdentifier;Lsun/security/x509/GeneralNames;Lsun/security/x509/SerialNumber;)V
344: invokestatic sun.security.tools.keytool.Main.setExt:(Lsun/security/x509/CertificateExtensions;Lsun/security/x509/Extension;)V
345: goto 348
StackMap locals: sun.security.tools.keytool.Main sun.security.x509.CertificateExtensions sun.security.x509.CertificateExtensions java.util.List java.security.PublicKey java.security.PublicKey sun.security.x509.CertificateExtensions
StackMap stack: java.io.IOException
346: astore 7
start local 7 347: new java.lang.RuntimeException
dup
aload 7
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 348: 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 349 0 this Lsun/security/tools/keytool/Main;
0 349 1 requestedEx Lsun/security/x509/CertificateExtensions;
0 349 2 existingEx Lsun/security/x509/CertificateExtensions;
0 349 3 extstrs Ljava/util/List<Ljava/lang/String;>;
0 349 4 pkey Ljava/security/PublicKey;
0 349 5 akey Ljava/security/PublicKey;
3 349 6 result Lsun/security/x509/CertificateExtensions;
6 7 7 ex Lsun/security/x509/Extension;
10 63 7 request2 Lsun/security/x509/CertificateExtensions;
12 13 8 ex Lsun/security/x509/Extension;
16 62 8 extstr Ljava/lang/String;
19 62 10 list Ljava/util/List<Ljava/lang/String;>;
22 23 11 ex Lsun/security/x509/Extension;
26 60 11 item Ljava/lang/String;
31 33 13 add Z
34 60 13 add Z
28 60 14 action I
29 60 15 type Ljava/lang/String;
35 47 16 colonpos I
48 60 16 n Ljava/lang/String;
50 58 17 e Lsun/security/x509/Extension;
65 337 7 extstr Ljava/lang/String;
69 71 9 name Ljava/lang/String;
72 337 9 name Ljava/lang/String;
70 71 10 value Ljava/lang/String;
73 337 10 value Ljava/lang/String;
66 337 11 isCritical Z
67 337 12 eqpos I
74 337 13 colonpos I
81 337 14 exttype I
83 117 15 pathLen I
84 117 16 isCA Z
93 111 17 part Ljava/lang/String;
94 111 21 nv [Ljava/lang/String;
119 145 17 ok [Z
121 137 18 s Ljava/lang/String;
133 137 22 p I
140 145 18 kue Lsun/security/x509/KeyUsageExtension;
153 183 17 v Ljava/util/Vector<Lsun/security/util/ObjectIdentifier;>;
155 180 18 s Ljava/lang/String;
167 180 22 p I
191 210 17 ps [Ljava/lang/String;
192 210 18 gnames Lsun/security/x509/GeneralNames;
194 200 19 item Ljava/lang/String;
198 200 23 t Ljava/lang/String;
199 200 24 v Ljava/lang/String;
225 266 17 accessDescriptions Ljava/util/List<Lsun/security/x509/AccessDescription;>;
226 266 18 ps [Ljava/lang/String;
228 260 19 item Ljava/lang/String;
230 260 23 colonpos2 I
237 260 24 m Ljava/lang/String;
238 260 25 t Ljava/lang/String;
239 260 26 v Ljava/lang/String;
247 260 27 p I
249 250 28 oid Lsun/security/util/ObjectIdentifier;
257 260 28 oid Lsun/security/util/ObjectIdentifier;
274 290 17 ps [Ljava/lang/String;
275 290 18 gnames Lsun/security/x509/GeneralNames;
277 283 19 item Ljava/lang/String;
281 283 23 t Ljava/lang/String;
282 283 24 v Ljava/lang/String;
297 332 17 oid Lsun/security/util/ObjectIdentifier;
298 332 18 data [B
301 325 19 pos I
303 316 20 c C
305 306 24 hex I
308 309 24 hex I
311 316 24 hex I
347 348 7 e Ljava/io/IOException;
Exception table:
from to target type
87 89 90 Class java.lang.NumberFormatException
168 169 170 Class java.lang.Exception
248 249 250 Class java.lang.Exception
8 345 346 Class java.io.IOException
Exceptions:
throws java.lang.Exception
Signature: (Lsun/security/x509/CertificateExtensions;Lsun/security/x509/CertificateExtensions;Ljava/util/List<Ljava/lang/String;>;Ljava/security/PublicKey;Ljava/security/PublicKey;)Lsun/security/x509/CertificateExtensions;
MethodParameters:
Name Flags
requestedEx
existingEx
extstrs
pkey
akey
private boolean isTrustedCert(java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 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=11, args_size=1
start local 0 0: aload 0
getfield sun.security.tools.keytool.Main.command:Lsun/security/tools/keytool/Main$Command;
ifnull 53
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 27
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 18
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
18: StackMap locals: sun.security.tools.keytool.Main$Option
StackMap stack:
aload 1
iload 4
aaload
ldc "\n"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 6
start local 6 19: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 24
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.lang.String[] int int sun.security.tools.keytool.Main$Option java.lang.String[] top int int java.lang.String[]
StackMap stack:
20: aload 10
iload 8
aaload
astore 7
start local 7 21: aload 7
invokevirtual java.lang.String.length:()I
iload 3
if_icmple 23
22: aload 7
invokevirtual java.lang.String.length:()I
istore 3
end local 7 23: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
24: iload 8
iload 9
if_icmplt 20
25: 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 6 end local 5 26: iinc 4 1
StackMap locals: sun.security.tools.keytool.Main java.lang.String[] java.lang.String[] int int
StackMap stack:
27: iload 4
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
if_icmplt 14
end local 4 28: iconst_0
istore 4
start local 4 29: goto 47
30: StackMap locals:
StackMap stack:
aload 1
iload 4
aaload
ldc "\n"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 31: aload 2
iload 4
aaload
ldc "\n"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 6
start local 6 32: iconst_0
istore 7
start local 7 33: goto 45
34: StackMap locals: java.lang.String[] java.lang.String[] int
StackMap stack:
iload 7
aload 5
arraylength
if_icmpge 35
aload 5
iload 7
aaload
goto 36
StackMap locals:
StackMap stack:
35: ldc ""
StackMap locals:
StackMap stack: java.lang.String
36: astore 8
start local 8 37: iload 7
aload 6
arraylength
if_icmpge 38
aload 6
iload 7
aaload
goto 39
StackMap locals: java.lang.String
StackMap stack:
38: ldc ""
StackMap locals:
StackMap stack: java.lang.String
39: astore 9
start local 9 40: iload 7
ifne 43
41: 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
aload 8
aastore
dup
iconst_1
aload 9
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
42: goto 44
43: StackMap locals: java.lang.String
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " %-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "s %s\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 9
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 9 end local 8 44: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
45: iload 7
aload 5
arraylength
if_icmpge 46
iload 7
aload 6
arraylength
if_icmplt 34
end local 7 end local 6 end local 5 46: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
47: iload 4
aload 1
arraylength
if_icmplt 30
end local 4 48: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
49: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
50: ldc "Use.keytool.help.for.all.available.commands"
51: 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 52: goto 72
53: StackMap locals: sun.security.tools.keytool.Main
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
54: ldc "Key.and.Certificate.Management.Tool"
55: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
56: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
57: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
ldc "Commands."
invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
58: getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
59: invokestatic sun.security.tools.keytool.Main$Command.values:()[Lsun/security/tools/keytool/Main$Command;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 64
StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
StackMap stack:
60: aload 4
iload 2
aaload
astore 1
start local 1 61: aload 1
getstatic sun.security.tools.keytool.Main$Command.KEYCLONE:Lsun/security/tools/keytool/Main$Command;
if_acmpne 62
goto 65
62: 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 63: iinc 2 1
StackMap locals: sun.security.tools.keytool.Main top int int sun.security.tools.keytool.Main$Command[]
StackMap stack:
64: iload 2
iload 3
if_icmplt 60
65: StackMap locals: sun.security.tools.keytool.Main
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
66: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
67: ldc "Use.keytool.help.for.all.available.commands"
68: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
69: getstatic java.lang.System.err:Ljava/io/PrintStream;
getstatic sun.security.tools.keytool.Main.rb:Ljava/util/ResourceBundle;
70: ldc "Use.keytool.command.name.help.for.usage.of.command.name"
71: invokevirtual java.util.ResourceBundle.getString:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
72: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 73 0 this Lsun/security/tools/keytool/Main;
10 52 1 left [Ljava/lang/String;
11 52 2 right [Ljava/lang/String;
12 52 3 lenLeft I
13 28 4 j I
15 26 5 opt Lsun/security/tools/keytool/Main$Option;
19 26 6 lefts [Ljava/lang/String;
21 23 7 s Ljava/lang/String;
29 48 4 j I
31 46 5 lefts [Ljava/lang/String;
32 46 6 rights [Ljava/lang/String;
33 46 7 i I
37 44 8 s1 Ljava/lang/String;
40 44 9 s2 Ljava/lang/String;
61 63 1 c Lsun/security/tools/keytool/Main$Command;
private void tinyHelp();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 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
private static boolean lambda$0(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic sun.security.tools.keytool.Main.collator:Ljava/text/Collator;
aload 0
ldc "-debug"
invokevirtual java.text.Collator.compare:(Ljava/lang/String;Ljava/lang/String;)I
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 x Ljava/lang/String;
}
SourceFile: "Main.java"
NestMembers:
sun.security.tools.keytool.Main$1 sun.security.tools.keytool.Main$1$1 sun.security.tools.keytool.Main$Command sun.security.tools.keytool.Main$Option
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore
public Encoder = java.util.Base64$Encoder of java.util.Base64
sun.security.tools.keytool.Main$1
final Command = sun.security.tools.keytool.Main$Command of sun.security.tools.keytool.Main
final Option = sun.security.tools.keytool.Main$Option of sun.security.tools.keytool.Main