public final class sun.security.pkcs12.PKCS12KeyStore extends java.security.KeyStoreSpi
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs12.PKCS12KeyStore
super_class: java.security.KeyStoreSpi
{
public static final int VERSION_3;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final java.lang.String[] KEY_PROTECTION_ALGORITHM;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAX_ITERATION_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5000000
private static final int PBE_ITERATION_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 50000
private static final int MAC_ITERATION_COUNT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 100000
private static final int SALT_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
private static final java.lang.String[] CORE_ATTRIBUTES;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] keyBag;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] certBag;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] secretBag;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] pkcs9Name;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] pkcs9KeyId;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] pkcs9certType;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] pbeWithSHAAnd40BitRC2CBC;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] pbeWithSHAAnd3KeyTripleDESCBC;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] pbes2;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] TrustedKeyUsage;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] AnyExtendedKeyUsage;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static sun.security.util.ObjectIdentifier PKCS8ShroudedKeyBag_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier CertBag_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier SecretBag_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier PKCS9FriendlyName_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier PKCS9LocalKeyId_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier PKCS9CertType_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier pbeWithSHAAnd40BitRC2CBC_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier pbeWithSHAAnd3KeyTripleDESCBC_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier pbes2_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier TrustedKeyUsage_OID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static sun.security.util.ObjectIdentifier[] AnyUsage;
descriptor: [Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private int counter;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int privateKeyCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int secretKeyCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int certificateCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.security.SecureRandom random;
descriptor: Ljava/security/SecureRandom;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, sun.security.pkcs12.PKCS12KeyStore$Entry> entries;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lsun/security/pkcs12/PKCS12KeyStore$Entry;>;
private java.util.ArrayList<sun.security.pkcs12.PKCS12KeyStore$KeyEntry> keyList;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;>;
private java.util.LinkedHashMap<javax.security.auth.x500.X500Principal, java.security.cert.X509Certificate> certsMap;
descriptor: Ljava/util/LinkedHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/LinkedHashMap<Ljavax/security/auth/x500/X500Principal;Ljava/security/cert/X509Certificate;>;
private java.util.ArrayList<sun.security.pkcs12.PKCS12KeyStore$CertEntry> certEntries;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;>;
private static final long[][] ;
descriptor: [[J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[][] ;
descriptor: [[J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: iconst_2
anewarray java.lang.String
dup
iconst_0
1: ldc "keystore.pkcs12.keyProtectionAlgorithm"
aastore
dup
iconst_1
2: ldc "keystore.PKCS12.keyProtectionAlgorithm"
aastore
3: putstatic sun.security.pkcs12.PKCS12KeyStore.KEY_PROTECTION_ALGORITHM:[Ljava/lang/String;
4: iconst_3
anewarray java.lang.String
dup
iconst_0
5: ldc "1.2.840.113549.1.9.20"
aastore
dup
iconst_1
6: ldc "1.2.840.113549.1.9.21"
aastore
dup
iconst_2
7: ldc "2.16.840.1.113894.746875.1.1"
aastore
8: putstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Ljava/lang/String;
9: ldc "pkcs12"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
10: bipush 9
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
ldc 113549
iastore
dup
iconst_4
iconst_1
iastore
dup
iconst_5
bipush 12
iastore
dup
bipush 6
bipush 10
iastore
dup
bipush 7
iconst_1
iastore
dup
bipush 8
iconst_2
iastore
putstatic sun.security.pkcs12.PKCS12KeyStore.keyBag:[I
11: bipush 9
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
ldc 113549
iastore
dup
iconst_4
iconst_1
iastore
dup
iconst_5
bipush 12
iastore
dup
bipush 6
bipush 10
iastore
dup
bipush 7
iconst_1
iastore
dup
bipush 8
iconst_3
iastore
putstatic sun.security.pkcs12.PKCS12KeyStore.certBag:[I
12: bipush 9
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
ldc 113549
iastore
dup
iconst_4
iconst_1
iastore
dup
iconst_5
bipush 12
iastore
dup
bipush 6
bipush 10
iastore
dup
bipush 7
iconst_1
iastore
dup
bipush 8
iconst_5
iastore
putstatic sun.security.pkcs12.PKCS12KeyStore.secretBag:[I
13: bipush 7
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
ldc 113549
iastore
dup
iconst_4
iconst_1
iastore
dup
iconst_5
bipush 9
iastore
dup
bipush 6
bipush 20
iastore
putstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9Name:[I
14: bipush 7
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
ldc 113549
iastore
dup
iconst_4
iconst_1
iastore
dup
iconst_5
bipush 9
iastore
dup
bipush 6
bipush 21
iastore
putstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9KeyId:[I
15: bipush 8
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
ldc 113549
iastore
dup
iconst_4
iconst_1
iastore
dup
iconst_5
bipush 9
iastore
dup
bipush 6
bipush 22
iastore
dup
bipush 7
iconst_1
iastore
putstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9certType:[I
16: bipush 8
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
ldc 113549
iastore
dup
iconst_4
iconst_1
iastore
dup
iconst_5
bipush 12
iastore
dup
bipush 6
iconst_1
iastore
dup
bipush 7
bipush 6
iastore
17: putstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd40BitRC2CBC:[I
18: bipush 8
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
ldc 113549
iastore
dup
iconst_4
iconst_1
iastore
dup
iconst_5
bipush 12
iastore
dup
bipush 6
iconst_1
iastore
dup
bipush 7
iconst_3
iastore
19: putstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd3KeyTripleDESCBC:[I
20: bipush 7
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
ldc 113549
iastore
dup
iconst_4
iconst_1
iastore
dup
iconst_5
iconst_5
iastore
dup
bipush 6
bipush 13
iastore
putstatic sun.security.pkcs12.PKCS12KeyStore.pbes2:[I
21: bipush 8
newarray 10
dup
iconst_0
iconst_2
iastore
dup
iconst_1
bipush 16
iastore
dup
iconst_2
sipush 840
iastore
dup
iconst_3
iconst_1
iastore
dup
iconst_4
ldc 113894
iastore
dup
iconst_5
ldc 746875
iastore
dup
bipush 6
iconst_1
iastore
dup
bipush 7
iconst_1
iastore
22: putstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage:[I
23: iconst_5
newarray 10
dup
iconst_0
iconst_2
iastore
dup
iconst_1
iconst_5
iastore
dup
iconst_2
bipush 29
iastore
dup
iconst_3
bipush 37
iastore
putstatic sun.security.pkcs12.PKCS12KeyStore.AnyExtendedKeyUsage:[I
24: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.keyBag:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS8ShroudedKeyBag_OID:Lsun/security/util/ObjectIdentifier;
25: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.certBag:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
putstatic sun.security.pkcs12.PKCS12KeyStore.CertBag_OID:Lsun/security/util/ObjectIdentifier;
26: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.secretBag:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
putstatic sun.security.pkcs12.PKCS12KeyStore.SecretBag_OID:Lsun/security/util/ObjectIdentifier;
27: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9Name:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9FriendlyName_OID:Lsun/security/util/ObjectIdentifier;
28: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9KeyId:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
29: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9certType:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9CertType_OID:Lsun/security/util/ObjectIdentifier;
30: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd40BitRC2CBC:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
31: putstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd40BitRC2CBC_OID:Lsun/security/util/ObjectIdentifier;
32: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd3KeyTripleDESCBC:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
33: putstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd3KeyTripleDESCBC_OID:Lsun/security/util/ObjectIdentifier;
34: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pbes2:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
putstatic sun.security.pkcs12.PKCS12KeyStore.pbes2_OID:Lsun/security/util/ObjectIdentifier;
35: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
putstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
36: iconst_1
anewarray sun.security.util.ObjectIdentifier
dup
iconst_0
37: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.AnyExtendedKeyUsage:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
aastore
38: putstatic sun.security.pkcs12.PKCS12KeyStore.AnyUsage:[Lsun/security/util/ObjectIdentifier;
39: goto 41
StackMap locals:
StackMap stack: java.io.IOException
40: pop
41: StackMap locals:
StackMap stack:
bipush 8
anewarray long[]
dup
iconst_0
42: iconst_3
newarray 11
dup
iconst_0
ldc 3495356260826546992
lastore
dup
iconst_1
ldc -9079256822855334328
lastore
dup
iconst_2
ldc -8721487855316000640
lastore
aastore
dup
iconst_1
43: iconst_3
newarray 11
dup
iconst_0
ldc 3458766717192241158
lastore
dup
iconst_1
ldc 660487941423303937
lastore
dup
iconst_2
ldc 504860555169759232
lastore
aastore
dup
iconst_2
44: iconst_3
newarray 11
dup
iconst_0
ldc 3495074794423136385
lastore
dup
iconst_1
ldc 1698928106440439
lastore
dup
iconst_2
ldc 937037901038944260
lastore
aastore
dup
iconst_3
45: iconst_3
newarray 11
dup
iconst_0
ldc 3495356260826546992
lastore
dup
iconst_1
ldc -9151307806378932090
lastore
dup
iconst_2
ldc -644858042040418048
lastore
aastore
dup
iconst_4
46: iconst_3
newarray 11
dup
iconst_0
ldc 3495637735769768195
lastore
dup
iconst_1
ldc 3495356260894190214
lastore
dup
iconst_2
ldc 5226136052833911200
lastore
aastore
dup
iconst_5
47: iconst_3
newarray 11
dup
iconst_0
ldc 3495637735769768195
lastore
dup
iconst_1
ldc 3495637735770032426
lastore
dup
iconst_2
ldc -8770611878670825727
lastore
aastore
dup
bipush 6
48: iconst_3
newarray 11
dup
iconst_0
ldc 3495919210746348033
lastore
dup
iconst_1
ldc 229827617019135497
lastore
dup
iconst_2
ldc 3064216340979843335
lastore
aastore
dup
bipush 7
49: iconst_3
newarray 11
dup
iconst_0
ldc 3495919210746348033
lastore
dup
iconst_1
ldc 229828716530761734
lastore
dup
iconst_2
ldc 660487941423303937
lastore
aastore
50: putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
51: bipush 8
anewarray long[]
dup
iconst_0
52: iconst_3
newarray 11
dup
iconst_0
ldc -281470681743361
lastore
dup
iconst_1
ldc -72056494526300161
lastore
dup
iconst_2
ldc -16
lastore
aastore
dup
iconst_1
53: iconst_3
newarray 11
dup
iconst_0
ldc -71776119061282561
lastore
dup
iconst_1
ldc -1
lastore
dup
iconst_2
ldc -1095233437696
lastore
aastore
dup
iconst_2
54: iconst_3
newarray 11
dup
iconst_0
ldc -280375465082881
lastore
dup
iconst_1
ldc 72057594037927935
lastore
dup
iconst_2
ldc -65281
lastore
aastore
dup
iconst_3
55: iconst_3
newarray 11
dup
iconst_0
ldc -281470681743361
lastore
dup
iconst_1
ldc -71776119061217281
lastore
dup
iconst_2
ldc -256
lastore
aastore
dup
iconst_4
56: iconst_3
newarray 11
dup
iconst_0
ldc -281474959933441
lastore
dup
iconst_1
ldc -281470681743361
lastore
dup
iconst_2
ldc -1
lastore
aastore
dup
iconst_5
57: iconst_3
newarray 11
dup
iconst_0
ldc -281474959933441
lastore
dup
iconst_1
ldc -281474959933441
lastore
dup
iconst_2
ldc -1
lastore
aastore
dup
bipush 6
58: iconst_3
newarray 11
dup
iconst_0
ldc -281474976645121
lastore
dup
iconst_1
ldc -1099511562241
lastore
dup
iconst_2
ldc -1
lastore
aastore
dup
bipush 7
59: iconst_3
newarray 11
dup
iconst_0
ldc -281474976645121
lastore
dup
iconst_1
ldc -1099511627521
lastore
dup
iconst_2
ldc -1
lastore
aastore
60: putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_MASKS:[[J
61: return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
24 39 40 Class java.io.IOException
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.security.KeyStoreSpi.<init>:()V
1: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.counter:I
2: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
3: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
4: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
5: aload 0
6: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
7: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
8: aload 0
9: new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore.certsMap:Ljava/util/LinkedHashMap;
10: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/pkcs12/PKCS12KeyStore;
public java.security.Key engineGetKey(java.lang.String, char[]);
descriptor: (Ljava/lang/String;[C)Ljava/security/Key;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=21, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 3
ifnull 3
aload 3
instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
ifne 4
3: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 5: aload 3
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 8
6: aload 3
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
astore 5
7: goto 12
StackMap locals: byte[]
StackMap stack:
8: aload 3
instanceof sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
ifeq 11
9: aload 3
checkcast sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
astore 5
10: goto 12
11: StackMap locals:
StackMap stack:
new java.security.UnrecoverableKeyException
dup
ldc "Error locating key"
invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
new sun.security.pkcs.EncryptedPrivateKeyInfo
dup
aload 5
invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:([B)V
13: astore 9
start local 9 14: aload 9
invokevirtual sun.security.pkcs.EncryptedPrivateKeyInfo.getEncryptedData:()[B
astore 6
start local 6 15: new sun.security.util.DerValue
dup
aload 9
invokevirtual sun.security.pkcs.EncryptedPrivateKeyInfo.getAlgorithm:()Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.encode:()[B
invokespecial sun.security.util.DerValue.<init>:([B)V
astore 10
start local 10 16: aload 10
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 11
start local 11 17: aload 11
invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
astore 8
start local 8 18: aload 0
aload 8
aload 11
invokevirtual sun.security.pkcs12.PKCS12KeyStore.parseAlgParameters:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerInputStream;)Ljava/security/AlgorithmParameters;
astore 7
end local 11 end local 10 end local 9 start local 7 19: goto 27
end local 8 end local 7 end local 6 StackMap locals:
StackMap stack: java.io.IOException
20: astore 9
start local 9 21: new java.security.UnrecoverableKeyException
dup
new java.lang.StringBuilder
dup
ldc "Private key not stored as PKCS#8 EncryptedPrivateKeyInfo: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
24: astore 10
start local 10 25: aload 10
aload 9
invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
26: aload 10
athrow
end local 10 end local 9 start local 6 start local 7 start local 8 27: StackMap locals: byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier
StackMap stack:
iconst_0
istore 10
start local 10 28: aload 7
ifnull 37
29: aload 7
ldc Ljavax/crypto/spec/PBEParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
checkcast javax.crypto.spec.PBEParameterSpec
30: astore 9
start local 9 31: goto 34
end local 9 StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String char[] sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key byte[] byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier top int
StackMap stack: java.security.spec.InvalidParameterSpecException
32: pop
33: new java.io.IOException
dup
ldc "Invalid PBE algorithm parameters"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
start local 9 34: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String char[] sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key byte[] byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier javax.crypto.spec.PBEParameterSpec int
StackMap stack:
aload 9
invokevirtual javax.crypto.spec.PBEParameterSpec.getIterationCount:()I
istore 10
35: iload 10
ldc 5000000
if_icmple 37
36: new java.io.IOException
dup
ldc "PBE iteration count too large"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 9 37: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String char[] sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key byte[] byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier top int
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
astore 12
start local 12 38: aload 8
aload 7
invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEParamsToAlgorithm:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
39: invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 13
start local 13 40: aload 13
iconst_2
aload 12
aload 7
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
41: aload 13
aload 6
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 11
start local 11 42: goto 48
end local 13 end local 12 end local 11 43: StackMap locals:
StackMap stack: java.lang.Exception
astore 12
start local 12 44: aload 2
arraylength
ifne 47
45: iconst_1
newarray 5
astore 2
46: goto 37
47: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String char[] sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key byte[] byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier top int top java.lang.Exception
StackMap stack:
aload 12
athrow
end local 12 start local 11 48: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String char[] sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key byte[] byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier top int byte[]
StackMap stack:
new sun.security.util.DerValue
dup
aload 11
invokespecial sun.security.util.DerValue.<init>:([B)V
astore 12
start local 12 49: aload 12
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 13
start local 13 50: aload 13
invokevirtual sun.security.util.DerInputStream.getInteger:()I
pop
51: aload 13
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 14
start local 14 52: new sun.security.x509.AlgorithmId
dup
aload 14
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;)V
astore 15
start local 15 53: aload 15
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
astore 16
start local 16 54: aload 3
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 65
55: aload 16
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
astore 17
start local 17 56: new java.security.spec.PKCS8EncodedKeySpec
dup
aload 11
invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
astore 18
start local 18 57: aload 17
aload 18
invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
astore 4
58: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 90
59: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Retrieved a protected private key at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
60: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
61: new sun.security.x509.AlgorithmId
dup
aload 8
invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;)V
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
62: ldc " iterations: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 18 end local 17 64: goto 90
65: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String char[] sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key byte[] byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier top int byte[] sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.x509.AlgorithmId java.lang.String
StackMap stack:
aload 13
invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
astore 17
start local 17 66: new javax.crypto.spec.SecretKeySpec
dup
aload 17
aload 16
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
67: astore 18
start local 18 68: aload 16
ldc "PBE"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 75
69: aload 16
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
70: astore 19
start local 19 71: aload 19
aload 18
ldc Ljavax/crypto/spec/PBEKeySpec;
invokevirtual javax.crypto.SecretKeyFactory.getKeySpec:(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
72: astore 20
start local 20 73: aload 19
aload 20
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 4
end local 20 end local 19 74: goto 76
75: StackMap locals: byte[] javax.crypto.spec.SecretKeySpec
StackMap stack:
aload 18
astore 4
76: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 90
77: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Retrieved a protected secret key at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
78: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
79: new sun.security.x509.AlgorithmId
dup
aload 8
invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;)V
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
80: ldc " iterations: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
81: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
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 82: goto 90
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String char[] sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key byte[] byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier
StackMap stack: java.lang.Exception
83: astore 9
start local 9 84: new java.security.UnrecoverableKeyException
dup
new java.lang.StringBuilder
dup
ldc "Get Key failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
85: aload 9
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
86: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
87: astore 10
start local 10 88: aload 10
aload 9
invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
89: aload 10
athrow
end local 10 end local 9 90: StackMap locals:
StackMap stack:
aload 4
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 91 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 91 1 alias Ljava/lang/String;
0 91 2 password [C
1 91 3 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
2 91 4 key Ljava/security/Key;
5 91 5 encrBytes [B
15 20 6 encryptedKey [B
27 91 6 encryptedKey [B
19 20 7 algParams Ljava/security/AlgorithmParameters;
27 91 7 algParams Ljava/security/AlgorithmParameters;
18 20 8 algOid Lsun/security/util/ObjectIdentifier;
27 91 8 algOid Lsun/security/util/ObjectIdentifier;
14 19 9 encrInfo Lsun/security/pkcs/EncryptedPrivateKeyInfo;
16 19 10 val Lsun/security/util/DerValue;
17 19 11 in Lsun/security/util/DerInputStream;
21 27 9 ioe Ljava/io/IOException;
25 27 10 uke Ljava/security/UnrecoverableKeyException;
31 32 9 pbeSpec Ljavax/crypto/spec/PBEParameterSpec;
34 37 9 pbeSpec Ljavax/crypto/spec/PBEParameterSpec;
28 82 10 ic I
42 43 11 keyInfo [B
48 82 11 keyInfo [B
38 43 12 skey Ljavax/crypto/SecretKey;
40 43 13 cipher Ljavax/crypto/Cipher;
44 48 12 e Ljava/lang/Exception;
49 82 12 val Lsun/security/util/DerValue;
50 82 13 in Lsun/security/util/DerInputStream;
52 82 14 value [Lsun/security/util/DerValue;
53 82 15 algId Lsun/security/x509/AlgorithmId;
54 82 16 keyAlgo Ljava/lang/String;
56 64 17 kfac Ljava/security/KeyFactory;
57 64 18 kspec Ljava/security/spec/PKCS8EncodedKeySpec;
66 82 17 keyBytes [B
68 82 18 secretKeySpec Ljavax/crypto/spec/SecretKeySpec;
71 74 19 sKeyFactory Ljavax/crypto/SecretKeyFactory;
73 74 20 pbeKeySpec Ljava/security/spec/KeySpec;
84 90 9 e Ljava/lang/Exception;
88 90 10 uke Ljava/security/UnrecoverableKeyException;
Exception table:
from to target type
12 19 20 Class java.io.IOException
29 31 32 Class java.security.spec.InvalidParameterSpecException
37 42 43 Class java.lang.Exception
27 82 83 Class java.lang.Exception
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
MethodParameters:
Name Flags
alias
password
public java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/security/cert/Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 2
start local 2 1: aload 2
ifnull 10
aload 2
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 10
2: aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 9
5: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Retrieved a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: ldc "-certificate chain at alias '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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;
8: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
areturn
10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 11 1 alias Ljava/lang/String;
1 11 2 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
MethodParameters:
Name Flags
alias
public java.security.cert.Certificate engineGetCertificate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/cert/Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
aload 2
instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
ifeq 18
4: aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
ifnull 18
5: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 17
6: getstatic sun.security.pkcs12.PKCS12KeyStore.AnyUsage:[Lsun/security/util/ObjectIdentifier;
7: aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
8: invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
9: ifeq 14
10: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Retrieved a certificate at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "' (trusted for any purpose)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
13: goto 17
14: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Retrieved a certificate at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: ldc "' (trusted for limited purposes)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
17: StackMap locals:
StackMap stack:
aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
areturn
18: StackMap locals:
StackMap stack:
aload 2
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 26
19: aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
ifnonnull 21
20: aconst_null
areturn
21: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 25
22: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Retrieved a certificate at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
iconst_0
aaload
areturn
26: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 27 1 alias Ljava/lang/String;
1 27 2 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
MethodParameters:
Name Flags
alias
public java.util.Date engineGetCreationDate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Date;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 2
start local 2 1: aload 2
ifnull 3
2: new java.util.Date
dup
aload 2
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.date:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
invokespecial java.util.Date.<init>:(J)V
areturn
3: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 4 1 alias Ljava/lang/String;
1 4 2 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
MethodParameters:
Name Flags
alias
public synchronized void engineSetKeyEntry(java.lang.String, java.security.Key, char[], java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.security.KeyStore$PasswordProtection
dup
aload 3
invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
1: astore 5
start local 5 2: aload 0
aload 1
aload 2
aload 5
aload 4
aconst_null
invokevirtual sun.security.pkcs12.PKCS12KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
3: goto 9
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key char[] java.security.cert.Certificate[] java.security.KeyStore$PasswordProtection
StackMap stack: java.lang.Throwable
4: astore 6
5: aload 5
invokevirtual java.security.KeyStore$PasswordProtection.destroy:()V
6: goto 8
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key char[] java.security.cert.Certificate[] java.security.KeyStore$PasswordProtection java.lang.Throwable
StackMap stack: javax.security.auth.DestroyFailedException
7: pop
8: StackMap locals:
StackMap stack:
aload 6
athrow
9: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.security.KeyStore$PasswordProtection.destroy:()V
10: goto 12
StackMap locals:
StackMap stack: javax.security.auth.DestroyFailedException
11: pop
12: 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 13 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 13 1 alias Ljava/lang/String;
0 13 2 key Ljava/security/Key;
0 13 3 password [C
0 13 4 chain [Ljava/security/cert/Certificate;
2 13 5 passwordProtection Ljava/security/KeyStore$PasswordProtection;
Exception table:
from to target type
2 4 4 any
5 6 7 Class javax.security.auth.DestroyFailedException
9 10 11 Class javax.security.auth.DestroyFailedException
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
password
chain
private void setKeyEntry(java.lang.String, java.security.Key, java.security.KeyStore$PasswordProtection, java.security.cert.Certificate[], java.util.Set<java.security.KeyStore$Entry$Attribute>);
descriptor: (Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
instanceof java.security.PrivateKey
ifeq 29
1: aload 4
invokestatic sun.security.pkcs12.PKCS12KeyStore.checkX509Certs:([Ljava/security/cert/Certificate;)V
2: new sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.<init>:()V
astore 7
start local 7 3: aload 7
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.date:Ljava/util/Date;
4: aload 2
invokeinterface java.security.Key.getFormat:()Ljava/lang/String;
ldc "PKCS#8"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
5: aload 2
invokeinterface java.security.Key.getFormat:()Ljava/lang/String;
ldc "PKCS8"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
6: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set top sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 12
7: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
8: new java.lang.StringBuilder
dup
ldc "Setting a protected private key at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
aload 7
13: aload 0
aload 2
invokeinterface java.security.Key.getEncoded:()[B
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey:([BLjava/security/KeyStore$PasswordProtection;)[B
14: putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
15: goto 17
16: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
ldc "Private key is not encodedas PKCS#8"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 4
ifnull 26
18: aload 4
arraylength
iconst_1
if_icmple 20
aload 0
aload 4
invokevirtual sun.security.pkcs12.PKCS12KeyStore.validateChain:([Ljava/security/cert/Certificate;)Z
ifne 20
19: new java.security.KeyStoreException
dup
ldc "Certificate chain is not valid"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 7
aload 4
invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
21: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
aload 4
arraylength
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
22: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 26
23: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Setting a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
24: ldc "-certificate chain at alias '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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;
25: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
26: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
27: aload 7
astore 6
end local 7 start local 6 28: goto 50
end local 6 StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set
StackMap stack:
29: aload 2
instanceof javax.crypto.SecretKey
ifeq 49
30: new sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.<init>:()V
astore 7
start local 7 31: aload 7
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.date:Ljava/util/Date;
32: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 8
start local 8 33: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 34: aload 9
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
35: aload 2
invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
astore 10
start local 10 36: aload 10
aload 9
invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
37: aload 9
aload 2
invokeinterface java.security.Key.getEncoded:()[B
invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
38: aload 8
bipush 48
aload 9
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
39: aload 7
40: aload 0
aload 8
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey:([BLjava/security/KeyStore$PasswordProtection;)[B
41: putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
42: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 46
43: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Setting a protected secret key at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
44: aload 1
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;
45: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
46: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set top sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry sun.security.util.DerOutputStream sun.security.util.DerOutputStream sun.security.x509.AlgorithmId
StackMap stack:
aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
47: aload 7
astore 6
end local 10 end local 9 end local 8 end local 7 start local 6 48: goto 50
end local 6 49: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set
StackMap stack:
new java.security.KeyStoreException
dup
ldc "Unsupported Key type"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
start local 6 50: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
aload 6
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
51: aload 5
ifnull 53
52: aload 6
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
53: StackMap locals:
StackMap stack:
aload 6
new java.lang.StringBuilder
dup
ldc "Time "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.date:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "UTF8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
putfield sun.security.pkcs12.PKCS12KeyStore$Entry.keyId:[B
54: aload 6
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
putfield sun.security.pkcs12.PKCS12KeyStore$Entry.alias:Ljava/lang/String;
55: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 56: goto 61
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set
StackMap stack: java.lang.Exception
57: astore 6
start local 6 58: new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "Key protection algorithm not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
59: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
60: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 61: 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 62 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 62 1 alias Ljava/lang/String;
0 62 2 key Ljava/security/Key;
0 62 3 passwordProtection Ljava/security/KeyStore$PasswordProtection;
0 62 4 chain [Ljava/security/cert/Certificate;
0 62 5 attributes Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
28 29 6 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
48 49 6 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
50 56 6 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
3 28 7 keyEntry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
31 48 7 keyEntry Lsun/security/pkcs12/PKCS12KeyStore$SecretKeyEntry;
33 48 8 pkcs8 Lsun/security/util/DerOutputStream;
34 48 9 secretKeyInfo Lsun/security/util/DerOutputStream;
36 48 10 algId Lsun/security/x509/AlgorithmId;
58 61 6 nsae Ljava/lang/Exception;
Exception table:
from to target type
0 56 57 Class java.lang.Exception
Exceptions:
throws java.security.KeyStoreException
Signature: (Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;)V
MethodParameters:
Name Flags
alias
key
passwordProtection
chain
attributes
public synchronized void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic sun.security.pkcs12.PKCS12KeyStore.checkX509Certs:([Ljava/security/cert/Certificate;)V
1: new sun.security.pkcs.EncryptedPrivateKeyInfo
aload 2
invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:([B)V
2: goto 7
StackMap locals:
StackMap stack: java.io.IOException
3: astore 4
start local 4 4: new java.security.KeyStoreException
dup
new java.lang.StringBuilder
dup
ldc "Private key is not stored as PKCS#8 EncryptedPrivateKeyInfo: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
6: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack:
new sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.<init>:()V
astore 4
start local 4 8: aload 4
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.date:Ljava/util/Date;
9: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 13
10: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Setting a protected private key at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 1
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;
12: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
13: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "Time "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.date:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "UTF8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.keyId:[B
14: goto 16
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
15: pop
16: StackMap locals:
StackMap stack:
aload 4
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.alias:Ljava/lang/String;
17: aload 4
aload 2
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
18: aload 3
ifnull 27
19: aload 3
arraylength
iconst_1
if_icmple 21
aload 0
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.validateChain:([Ljava/security/cert/Certificate;)Z
ifne 21
20: new java.security.KeyStoreException
dup
ldc "Certificate chain is not valid"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
aload 4
aload 3
invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
22: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
aload 3
arraylength
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
23: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 27
24: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Setting a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
25: ldc "-certificate chain at alias '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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;
26: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
27: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
28: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
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/pkcs12/PKCS12KeyStore;
0 30 1 alias Ljava/lang/String;
0 30 2 key [B
0 30 3 chain [Ljava/security/cert/Certificate;
4 7 4 ioe Ljava/io/IOException;
8 30 4 entry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
Exception table:
from to target type
1 2 3 Class java.io.IOException
13 14 15 Class java.io.UnsupportedEncodingException
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
chain
private byte[] getSalt();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: bipush 20
newarray 8
astore 1
start local 1 1: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.random:Ljava/security/SecureRandom;
ifnonnull 3
2: aload 0
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore.random:Ljava/security/SecureRandom;
3: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.random:Ljava/security/SecureRandom;
aload 1
invokevirtual java.security.SecureRandom.nextBytes:([B)V
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs12/PKCS12KeyStore;
1 5 1 salt [B
private java.security.AlgorithmParameters getPBEAlgorithmParameters(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/AlgorithmParameters;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: new javax.crypto.spec.PBEParameterSpec
dup
aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getSalt:()[B
ldc 50000
invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
2: astore 3
start local 3 3: aload 1
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 2
4: aload 2
aload 3
invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
5: goto 10
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.AlgorithmParameters javax.crypto.spec.PBEParameterSpec
StackMap stack: java.lang.Exception
6: astore 4
start local 4 7: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "getPBEAlgorithmParameters failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 4
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
9: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 11 1 algorithm Ljava/lang/String;
1 11 2 algParams Ljava/security/AlgorithmParameters;
3 11 3 paramSpec Ljavax/crypto/spec/PBEParameterSpec;
7 10 4 e Ljava/lang/Exception;
Exception table:
from to target type
3 5 6 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
algorithm
private java.security.AlgorithmParameters parseAlgParameters(sun.security.util.ObjectIdentifier, sun.security.util.DerInputStream);
descriptor: (Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerInputStream;)Ljava/security/AlgorithmParameters;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
invokevirtual sun.security.util.DerInputStream.available:()I
ifne 4
2: aconst_null
astore 4
start local 4 3: goto 7
end local 4 4: StackMap locals: java.security.AlgorithmParameters
StackMap stack:
aload 2
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 4
start local 4 5: aload 4
getfield sun.security.util.DerValue.tag:B
iconst_5
if_icmpne 7
6: aconst_null
astore 4
7: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 4
ifnull 18
8: aload 1
getstatic sun.security.pkcs12.PKCS12KeyStore.pbes2_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 11
9: ldc "PBES2"
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 3
10: goto 12
11: StackMap locals:
StackMap stack:
ldc "PBE"
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 3
12: StackMap locals:
StackMap stack:
aload 3
aload 4
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokevirtual java.security.AlgorithmParameters.init:([B)V
end local 4 13: goto 18
StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.ObjectIdentifier sun.security.util.DerInputStream java.security.AlgorithmParameters
StackMap stack: java.lang.Exception
14: astore 4
start local 4 15: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "parseAlgParameters failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 4
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
17: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 18: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 19 1 algorithm Lsun/security/util/ObjectIdentifier;
0 19 2 in Lsun/security/util/DerInputStream;
1 19 3 algParams Ljava/security/AlgorithmParameters;
3 4 4 params Lsun/security/util/DerValue;
5 13 4 params Lsun/security/util/DerValue;
15 18 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 13 14 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
algorithm
in
private javax.crypto.SecretKey getPBEKey(char[]);
descriptor: ([C)Ljavax/crypto/SecretKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: new javax.crypto.spec.PBEKeySpec
dup
aload 1
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C)V
astore 3
start local 3 2: ldc "PBE"
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
astore 4
start local 4 3: aload 4
aload 3
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 2
4: aload 3
invokevirtual javax.crypto.spec.PBEKeySpec.clearPassword:()V
end local 4 end local 3 5: goto 10
StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] javax.crypto.SecretKey
StackMap stack: java.lang.Exception
6: astore 3
start local 3 7: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "getSecretKey failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 3
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
9: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 11 1 password [C
1 11 2 skey Ljavax/crypto/SecretKey;
2 5 3 keySpec Ljavax/crypto/spec/PBEKeySpec;
3 5 4 skFac Ljavax/crypto/SecretKeyFactory;
7 10 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 5 6 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
password
private byte[] encryptPrivateKey(byte[], java.security.KeyStore$PasswordProtection);
descriptor: ([BLjava/security/KeyStore$PasswordProtection;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
invokevirtual java.security.KeyStore$PasswordProtection.getProtectionAlgorithm:()Ljava/lang/String;
astore 4
start local 4 2: aload 4
ifnull 11
3: aload 2
invokevirtual java.security.KeyStore$PasswordProtection.getProtectionParameters:()Ljava/security/spec/AlgorithmParameterSpec;
4: astore 7
start local 7 5: aload 7
ifnull 9
6: aload 4
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 5
start local 5 7: aload 5
aload 7
invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
8: goto 16
end local 5 9: StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[] java.lang.String top top java.security.spec.AlgorithmParameterSpec
StackMap stack:
aload 0
aload 4
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEAlgorithmParameters:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 5
end local 7 start local 5 10: goto 16
end local 5 11: StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[] java.lang.String
StackMap stack:
new sun.security.pkcs12.PKCS12KeyStore$1
dup
aload 0
invokespecial sun.security.pkcs12.PKCS12KeyStore$1.<init>:(Lsun/security/pkcs12/PKCS12KeyStore;)V
12: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
13: aload 4
ifnull 14
aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifeq 15
14: StackMap locals:
StackMap stack:
ldc "PBEWithSHA1AndDESede"
astore 4
15: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEAlgorithmParameters:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 5
start local 5 16: StackMap locals: java.security.AlgorithmParameters
StackMap stack:
aload 4
invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEAlgorithmToOID:(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
astore 7
start local 7 17: aload 7
ifnonnull 21
18: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "PBE algorithm '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: ldc " 'is not supported for key entry protection"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[] java.lang.String java.security.AlgorithmParameters top sun.security.util.ObjectIdentifier
StackMap stack:
aload 0
aload 2
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
astore 8
start local 8 22: aload 4
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 9
start local 9 23: aload 9
iconst_1
aload 8
aload 5
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
24: aload 9
aload 1
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 10
start local 10 25: new sun.security.x509.AlgorithmId
dup
aload 7
aload 9
invokevirtual javax.crypto.Cipher.getParameters:()Ljava/security/AlgorithmParameters;
invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)V
astore 6
start local 6 26: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 30
27: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " (Cipher algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual javax.crypto.Cipher.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
28: ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
30: StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[] java.lang.String java.security.AlgorithmParameters sun.security.x509.AlgorithmId sun.security.util.ObjectIdentifier javax.crypto.SecretKey javax.crypto.Cipher byte[]
StackMap stack:
new sun.security.pkcs.EncryptedPrivateKeyInfo
dup
aload 6
aload 10
invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:(Lsun/security/x509/AlgorithmId;[B)V
31: astore 11
start local 11 32: aload 11
invokevirtual sun.security.pkcs.EncryptedPrivateKeyInfo.getEncoded:()[B
astore 3
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 33: goto 41
StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[]
StackMap stack: java.lang.Exception
34: astore 4
start local 4 35: new java.security.UnrecoverableKeyException
dup
new java.lang.StringBuilder
dup
ldc "Encrypt Private Key failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
36: aload 4
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
38: astore 5
start local 5 39: aload 5
aload 4
invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
40: aload 5
athrow
end local 5 end local 4 41: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 42 1 data [B
0 42 2 passwordProtection Ljava/security/KeyStore$PasswordProtection;
1 42 3 key [B
2 33 4 algorithm Ljava/lang/String;
7 9 5 algParams Ljava/security/AlgorithmParameters;
10 11 5 algParams Ljava/security/AlgorithmParameters;
16 33 5 algParams Ljava/security/AlgorithmParameters;
26 33 6 algid Lsun/security/x509/AlgorithmId;
5 10 7 algParamSpec Ljava/security/spec/AlgorithmParameterSpec;
17 33 7 pbeOID Lsun/security/util/ObjectIdentifier;
22 33 8 skey Ljavax/crypto/SecretKey;
23 33 9 cipher Ljavax/crypto/Cipher;
25 33 10 encryptedKey [B
32 33 11 encrInfo Lsun/security/pkcs/EncryptedPrivateKeyInfo;
35 41 4 e Ljava/lang/Exception;
39 41 5 uke Ljava/security/UnrecoverableKeyException;
Exception table:
from to target type
1 33 34 Class java.lang.Exception
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
MethodParameters:
Name Flags
data
passwordProtection
private static sun.security.util.ObjectIdentifier mapPBEAlgorithmToOID(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
ldc "pbewithhmacsha"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 2
1: getstatic sun.security.pkcs12.PKCS12KeyStore.pbes2_OID:Lsun/security/util/ObjectIdentifier;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.getOID:()Lsun/security/util/ObjectIdentifier;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
private static java.lang.String mapPBEParamsToAlgorithm(sun.security.util.ObjectIdentifier, java.security.AlgorithmParameters);
descriptor: (Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic sun.security.pkcs12.PKCS12KeyStore.pbes2_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 2
aload 1
ifnull 2
1: aload 1
invokevirtual java.security.AlgorithmParameters.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 algorithm Lsun/security/util/ObjectIdentifier;
0 3 1 algParams Ljava/security/AlgorithmParameters;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
algParams
public synchronized void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokevirtual sun.security.pkcs12.PKCS12KeyStore.setCertEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 2 1 alias Ljava/lang/String;
0 2 2 cert Ljava/security/cert/Certificate;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
cert
private void setCertEntry(java.lang.String, java.security.cert.Certificate, java.util.Set<java.security.KeyStore$Entry$Attribute>);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 6
aload 2
instanceof java.security.cert.X509Certificate
ifne 6
1: new java.security.KeyStoreException
dup
2: new java.lang.StringBuilder
dup
ldc "Only X.509 certificates are supported - rejecting class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 4
start local 4 7: aload 4
ifnull 9
aload 4
instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
ifeq 9
8: new java.security.KeyStoreException
dup
ldc "Cannot overwrite own certificate"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
new sun.security.pkcs12.PKCS12KeyStore$CertEntry
dup
aload 2
checkcast java.security.cert.X509Certificate
aconst_null
aload 1
getstatic sun.security.pkcs12.PKCS12KeyStore.AnyUsage:[Lsun/security/util/ObjectIdentifier;
10: aload 3
11: invokespecial sun.security.pkcs12.PKCS12KeyStore$CertEntry.<init>:(Ljava/security/cert/X509Certificate;[BLjava/lang/String;[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)V
12: astore 5
start local 5 13: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
14: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 19
16: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Setting a trusted certificate at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
19: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$CertEntry
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 20 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 20 1 alias Ljava/lang/String;
0 20 2 cert Ljava/security/cert/Certificate;
0 20 3 attributes Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
7 20 4 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
13 20 5 certEntry Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
Exceptions:
throws java.security.KeyStoreException
Signature: (Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;)V
MethodParameters:
Name Flags
alias
cert
attributes
public synchronized void engineDeleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 2
1: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Removing entry at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 2
start local 2 3: aload 2
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 9
4: aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
astore 3
start local 3 5: aload 3
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
ifnull 7
6: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
aload 3
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
arraylength
isub
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
7: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
StackMap stack:
aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
isub
putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
end local 3 8: goto 14
StackMap locals:
StackMap stack:
9: aload 2
instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
ifeq 12
10: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
iconst_1
isub
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
11: goto 14
StackMap locals:
StackMap stack:
12: aload 2
instanceof sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
ifeq 14
13: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
iconst_1
isub
putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 16 1 alias Ljava/lang/String;
3 16 2 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
5 8 3 keyEntry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
public java.util.Enumeration<java.lang.String> engineAliases();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs12/PKCS12KeyStore;
Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;
public boolean engineContainsAlias(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 1 1 alias Ljava/lang/String;
MethodParameters:
Name Flags
alias
public int engineSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs12/PKCS12KeyStore;
public boolean engineIsKeyEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 2
start local 2 1: aload 2
ifnull 3
aload 2
instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 4 1 alias Ljava/lang/String;
1 4 2 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
MethodParameters:
Name Flags
alias
public boolean engineIsCertificateEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 2
start local 2 1: aload 2
ifnull 4
aload 2
instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
ifeq 4
2: aload 2
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
ifnull 4
3: iconst_1
ireturn
4: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 5 1 alias Ljava/lang/String;
1 5 2 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
MethodParameters:
Name Flags
alias
public boolean engineEntryInstanceOf(java.lang.String, java.lang.Class<? extends java.security.KeyStore$Entry>);
descriptor: (Ljava/lang/String;Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc Ljava/security/KeyStore$TrustedCertificateEntry;
if_acmpne 2
1: aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsCertificateEntry:(Ljava/lang/String;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 3
start local 3 3: aload 2
ldc Ljava/security/KeyStore$PrivateKeyEntry;
if_acmpne 6
4: aload 3
ifnull 5
aload 3
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 5
iconst_1
ireturn
StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/security/KeyStore$SecretKeyEntry;
if_acmpne 9
7: aload 3
ifnull 8
aload 3
instanceof sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
ifeq 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 10 1 alias Ljava/lang/String;
0 10 2 entryClass Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;
3 10 3 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
Signature: (Ljava/lang/String;Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;)Z
MethodParameters:
Name Flags
alias
entryClass
public java.lang.String engineGetCertificateAlias(java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineAliases:()Ljava/util/Enumeration;
astore 3
start local 3 2: goto 14
3: StackMap locals: java.security.cert.Certificate java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 5
start local 5 5: aload 5
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 9
6: aload 5
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
ifnull 12
7: aload 5
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
iconst_0
aaload
astore 2
8: goto 12
StackMap locals: java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
9: aload 5
instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
ifeq 14
10: aload 5
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
ifnull 14
11: aload 5
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
astore 2
12: StackMap locals:
StackMap stack:
aload 2
ifnull 14
aload 2
aload 1
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 14
13: aload 4
areturn
end local 5 end local 4 14: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
end local 3 15: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 16 1 cert Ljava/security/cert/Certificate;
1 16 2 certElem Ljava/security/cert/Certificate;
2 15 3 e Ljava/util/Enumeration<Ljava/lang/String;>;
4 14 4 alias Ljava/lang/String;
5 14 5 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
MethodParameters:
Name Flags
cert
public synchronized void engineStore(java.io.OutputStream, char[]);
descriptor: (Ljava/io/OutputStream;[C)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "password can't be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 3
start local 3 3: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 4
start local 4 4: aload 4
iconst_3
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
5: aload 4
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 5
start local 5 6: aload 3
aload 5
invokevirtual sun.security.util.DerOutputStream.write:([B)V
7: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 6
start local 6 8: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 7
start local 7 9: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
ifgt 10
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
ifle 17
10: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.OutputStream char[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 14
11: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Storing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
12: ldc " protected key(s) in a PKCS#7 data"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.createSafeContent:()[B
astore 8
start local 8 15: new sun.security.pkcs.ContentInfo
dup
aload 8
invokespecial sun.security.pkcs.ContentInfo.<init>:([B)V
astore 9
start local 9 16: aload 9
aload 7
invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
end local 9 end local 8 17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
ifle 28
18: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 22
19: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Storing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
20: ldc " certificate(s) in a PKCS#7 encryptedData"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
21: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
22: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.pkcs12.PKCS12KeyStore.createEncryptedData:([C)[B
astore 8
start local 8 23: new sun.security.pkcs.ContentInfo
dup
getstatic sun.security.pkcs.ContentInfo.ENCRYPTED_DATA_OID:Lsun/security/util/ObjectIdentifier;
24: new sun.security.util.DerValue
dup
aload 8
invokespecial sun.security.util.DerValue.<init>:([B)V
25: invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerValue;)V
26: astore 9
start local 9 27: aload 9
aload 7
invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
end local 9 end local 8 28: StackMap locals:
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 8
start local 8 29: aload 8
bipush 48
aload 7
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
30: aload 8
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 9
start local 9 31: new sun.security.pkcs.ContentInfo
dup
aload 9
invokespecial sun.security.pkcs.ContentInfo.<init>:([B)V
astore 10
start local 10 32: aload 10
aload 6
invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
33: aload 6
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 11
start local 11 34: aload 3
aload 11
invokevirtual sun.security.util.DerOutputStream.write:([B)V
35: aload 0
aload 2
aload 9
invokevirtual sun.security.pkcs12.PKCS12KeyStore.calculateMac:([C[B)[B
astore 12
start local 12 36: aload 3
aload 12
invokevirtual sun.security.util.DerOutputStream.write:([B)V
37: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 13
start local 13 38: aload 13
bipush 48
aload 3
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
39: aload 13
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 14
start local 14 40: aload 1
aload 14
invokevirtual java.io.OutputStream.write:([B)V
41: aload 1
invokevirtual java.io.OutputStream.flush:()V
42: return
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 43 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 43 1 stream Ljava/io/OutputStream;
0 43 2 password [C
3 43 3 pfx Lsun/security/util/DerOutputStream;
4 43 4 version Lsun/security/util/DerOutputStream;
6 43 5 pfxVersion [B
8 43 6 authSafe Lsun/security/util/DerOutputStream;
9 43 7 authSafeContentInfo Lsun/security/util/DerOutputStream;
15 17 8 safeContentData [B
16 17 9 dataContentInfo Lsun/security/pkcs/ContentInfo;
23 28 8 encrData [B
27 28 9 encrContentInfo Lsun/security/pkcs/ContentInfo;
29 43 8 cInfo Lsun/security/util/DerOutputStream;
31 43 9 authenticatedSafe [B
32 43 10 contentInfo Lsun/security/pkcs/ContentInfo;
34 43 11 authSafeData [B
36 43 12 macData [B
38 43 13 pfxout Lsun/security/util/DerOutputStream;
40 43 14 pfxData [B
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
public java.security.KeyStore$Entry engineGetEntry(java.lang.String, java.security.KeyStore$ProtectionParameter);
descriptor: (Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineContainsAlias:(Ljava/lang/String;)Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 3
start local 3 3: aload 2
ifnonnull 17
4: aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsCertificateEntry:(Ljava/lang/String;)Z
ifeq 14
5: aload 3
instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
ifeq 17
6: aload 3
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
ifnull 17
7: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 11
8: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Retrieved a trusted certificate at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 1
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;
10: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
11: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
new java.security.KeyStore$TrustedCertificateEntry
dup
12: aload 3
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
aload 0
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getAttributes:(Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
13: invokespecial java.security.KeyStore$TrustedCertificateEntry.<init>:(Ljava/security/cert/Certificate;Ljava/util/Set;)V
areturn
14: StackMap locals:
StackMap stack:
new java.security.UnrecoverableKeyException
dup
15: ldc "requested entry requires a password"
16: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$PasswordProtection
ifeq 40
18: aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsCertificateEntry:(Ljava/lang/String;)Z
ifeq 22
19: new java.lang.UnsupportedOperationException
dup
20: ldc "trusted certificate entries are not password-protected"
21: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsKeyEntry:(Ljava/lang/String;)Z
ifeq 36
23: aload 2
checkcast java.security.KeyStore$PasswordProtection
24: astore 4
start local 4 25: aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
astore 5
start local 5 26: aload 0
aload 1
aload 5
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineGetKey:(Ljava/lang/String;[C)Ljava/security/Key;
astore 6
start local 6 27: aload 6
instanceof java.security.PrivateKey
ifeq 32
28: aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineGetCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
astore 7
start local 7 29: new java.security.KeyStore$PrivateKeyEntry
dup
aload 6
checkcast java.security.PrivateKey
aload 7
30: aload 0
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getAttributes:(Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
31: invokespecial java.security.KeyStore$PrivateKeyEntry.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
areturn
end local 7 32: StackMap locals: java.security.KeyStore$PasswordProtection char[] java.security.Key
StackMap stack:
aload 6
instanceof javax.crypto.SecretKey
ifeq 40
33: new java.security.KeyStore$SecretKeyEntry
dup
aload 6
checkcast javax.crypto.SecretKey
34: aload 0
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getAttributes:(Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
35: invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;Ljava/util/Set;)V
areturn
end local 6 end local 5 end local 4 36: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsKeyEntry:(Ljava/lang/String;)Z
ifne 40
37: new java.lang.UnsupportedOperationException
dup
38: ldc "untrusted certificate entries are not password-protected"
39: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 41 1 alias Ljava/lang/String;
0 41 2 protParam Ljava/security/KeyStore$ProtectionParameter;
3 41 3 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
25 36 4 pp Ljava/security/KeyStore$PasswordProtection;
26 36 5 password [C
27 36 6 key Ljava/security/Key;
29 32 7 chain [Ljava/security/cert/Certificate;
Exceptions:
throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException
MethodParameters:
Name Flags
alias
protParam
public synchronized void engineSetEntry(java.lang.String, java.security.KeyStore$Entry, java.security.KeyStore$ProtectionParameter);
descriptor: (Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnull 3
1: aload 3
instanceof java.security.KeyStore$PasswordProtection
ifne 3
2: new java.security.KeyStoreException
dup
ldc "unsupported protection parameter"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 4: aload 3
ifnull 6
5: aload 3
checkcast java.security.KeyStore$PasswordProtection
astore 4
6: StackMap locals: java.security.KeyStore$PasswordProtection
StackMap stack:
aload 2
instanceof java.security.KeyStore$TrustedCertificateEntry
ifeq 17
7: aload 3
ifnull 11
aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
ifnull 11
8: new java.security.KeyStoreException
dup
9: ldc "trusted certificate entries are not password-protected"
10: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 2
checkcast java.security.KeyStore$TrustedCertificateEntry
12: astore 5
start local 5 13: aload 0
aload 1
aload 5
invokevirtual java.security.KeyStore$TrustedCertificateEntry.getTrustedCertificate:()Ljava/security/cert/Certificate;
14: aload 5
invokevirtual java.security.KeyStore$TrustedCertificateEntry.getAttributes:()Ljava/util/Set;
15: invokevirtual sun.security.pkcs12.PKCS12KeyStore.setCertEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set;)V
16: return
end local 5 17: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$PrivateKeyEntry
ifeq 27
18: aload 4
ifnull 19
aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
ifnonnull 22
19: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
20: ldc "non-null password required to create PrivateKeyEntry"
21: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 2
checkcast java.security.KeyStore$PrivateKeyEntry
astore 5
start local 5 23: aload 0
aload 1
aload 5
invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
aload 4
24: aload 5
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
aload 5
invokevirtual java.security.KeyStore$PrivateKeyEntry.getAttributes:()Ljava/util/Set;
25: invokevirtual sun.security.pkcs12.PKCS12KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
26: return
end local 5 27: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$SecretKeyEntry
ifeq 37
28: aload 4
ifnull 29
aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
ifnonnull 32
29: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
30: ldc "non-null password required to create SecretKeyEntry"
31: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 2
checkcast java.security.KeyStore$SecretKeyEntry
astore 5
start local 5 33: aload 0
aload 1
aload 5
invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
aload 4
34: aconst_null
aload 5
invokevirtual java.security.KeyStore$SecretKeyEntry.getAttributes:()Ljava/util/Set;
35: invokevirtual sun.security.pkcs12.PKCS12KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
36: return
end local 5 37: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
38: new java.lang.StringBuilder
dup
ldc "unsupported entry type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokespecial java.security.KeyStoreException.<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 40 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 40 1 alias Ljava/lang/String;
0 40 2 entry Ljava/security/KeyStore$Entry;
0 40 3 protParam Ljava/security/KeyStore$ProtectionParameter;
4 40 4 pProtect Ljava/security/KeyStore$PasswordProtection;
13 17 5 tce Ljava/security/KeyStore$TrustedCertificateEntry;
23 27 5 pke Ljava/security/KeyStore$PrivateKeyEntry;
33 37 5 ske Ljava/security/KeyStore$SecretKeyEntry;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
entry
protParam
private java.util.Set<java.security.KeyStore$Entry$Attribute> getAttributes(sun.security.pkcs12.PKCS12KeyStore$Entry);
descriptor: (Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
ifnonnull 2
1: aload 1
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
2: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
new java.security.PKCS12Attribute
dup
3: getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9FriendlyName_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.alias:Ljava/lang/String;
invokespecial java.security.PKCS12Attribute.<init>:(Ljava/lang/String;Ljava/lang/String;)V
4: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.keyId:[B
astore 2
start local 2 6: aload 2
ifnull 10
7: aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
new java.security.PKCS12Attribute
dup
8: getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
aload 2
invokestatic sun.security.util.Debug.toString:([B)Ljava/lang/String;
invokespecial java.security.PKCS12Attribute.<init>:(Ljava/lang/String;Ljava/lang/String;)V
9: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals: byte[]
StackMap stack:
aload 1
instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
ifeq 24
11: aload 1
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
12: astore 3
start local 3 13: aload 3
ifnull 24
14: aload 3
arraylength
iconst_1
if_icmpne 20
15: aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
new java.security.PKCS12Attribute
dup
16: getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
17: aload 3
iconst_0
aaload
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokespecial java.security.PKCS12Attribute.<init>:(Ljava/lang/String;Ljava/lang/String;)V
18: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
19: goto 24
20: StackMap locals: sun.security.util.ObjectIdentifier[]
StackMap stack:
aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
new java.security.PKCS12Attribute
dup
21: getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
22: aload 3
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.security.PKCS12Attribute.<init>:(Ljava/lang/String;Ljava/lang/String;)V
23: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 24: StackMap locals:
StackMap stack:
aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 25 1 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
6 25 2 keyIdValue [B
13 24 3 trustedKeyUsageValue [Lsun/security/util/ObjectIdentifier;
Signature: (Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
MethodParameters:
Name Flags
entry
private byte[] generateHash(byte[]);
descriptor: ([B)[B
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: ldc "SHA1"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 3
start local 3 2: aload 3
aload 1
invokevirtual java.security.MessageDigest.update:([B)V
3: aload 3
invokevirtual java.security.MessageDigest.digest:()[B
astore 2
end local 3 4: goto 7
StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] byte[]
StackMap stack: java.lang.Exception
5: astore 3
start local 3 6: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "generateHash failed: "
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;
aload 3
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 8 1 data [B
1 8 2 digest [B
2 4 3 md Ljava/security/MessageDigest;
6 7 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 4 5 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
private byte[] calculateMac(char[], byte[]);
descriptor: ([C[B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: ldc "SHA1"
astore 4
start local 4 2: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getSalt:()[B
astore 5
start local 5 3: ldc "HmacPBESHA1"
invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac;
astore 6
start local 6 4: new javax.crypto.spec.PBEParameterSpec
dup
aload 5
ldc 100000
invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
5: astore 7
start local 7 6: aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
astore 8
start local 8 7: aload 6
aload 8
aload 7
invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
8: aload 6
aload 2
invokevirtual javax.crypto.Mac.update:([B)V
9: aload 6
invokevirtual javax.crypto.Mac.doFinal:()[B
astore 9
start local 9 10: new sun.security.pkcs12.MacData
dup
aload 4
aload 9
aload 5
11: ldc 100000
12: invokespecial sun.security.pkcs12.MacData.<init>:(Ljava/lang/String;[B[BI)V
astore 10
start local 10 13: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 11
start local 11 14: aload 11
aload 10
invokevirtual sun.security.pkcs12.MacData.getEncoded:()[B
invokevirtual sun.security.util.DerOutputStream.write:([B)V
15: aload 11
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 3
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 16: goto 19
StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] byte[] byte[] java.lang.String
StackMap stack: java.lang.Exception
17: astore 5
start local 5 18: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "calculateMac failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 19: StackMap locals:
StackMap stack:
aload 3
areturn
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/pkcs12/PKCS12KeyStore;
0 20 1 passwd [C
0 20 2 data [B
1 20 3 mData [B
2 20 4 algName Ljava/lang/String;
3 16 5 salt [B
4 16 6 m Ljavax/crypto/Mac;
6 16 7 params Ljavax/crypto/spec/PBEParameterSpec;
7 16 8 key Ljavax/crypto/SecretKey;
10 16 9 macResult [B
13 16 10 macData Lsun/security/pkcs12/MacData;
14 16 11 bytes Lsun/security/util/DerOutputStream;
18 19 5 e Ljava/lang/Exception;
Exception table:
from to target type
2 16 17 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
passwd
data
private boolean validateChain(java.security.cert.Certificate[]);
descriptor: ([Ljava/security/cert/Certificate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 9
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
3: astore 3
start local 3 4: aload 1
iload 2
iconst_1
iadd
aaload
checkcast java.security.cert.X509Certificate
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
5: astore 4
start local 4 6: aload 3
aload 4
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifne 8
7: iconst_0
ireturn
end local 4 end local 3 8: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 1
arraylength
iconst_1
isub
if_icmplt 2
end local 2 10: new java.util.HashSet
dup
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 11: aload 2
invokeinterface java.util.Set.size:()I
aload 1
arraylength
if_icmpne 12
iconst_1
ireturn
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.Certificate[] java.util.Set
StackMap stack:
12: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 13 1 certChain [Ljava/security/cert/Certificate;
1 10 2 i I
4 8 3 issuerDN Ljavax/security/auth/x500/X500Principal;
6 8 4 subjectDN Ljavax/security/auth/x500/X500Principal;
11 13 2 set Ljava/util/Set<Ljava/security/cert/Certificate;>;
MethodParameters:
Name Flags
certChain
private static void checkX509Certs(java.security.cert.Certificate[]);
descriptor: ([Ljava/security/cert/Certificate;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
ifnull 11
1: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 10
StackMap locals: java.security.cert.Certificate[] top int int java.security.cert.Certificate[]
StackMap stack:
2: aload 4
iload 2
aaload
astore 1
start local 1 3: aload 1
instanceof java.security.cert.X509Certificate
ifne 9
4: new java.security.KeyStoreException
dup
5: new java.lang.StringBuilder
dup
ldc "Only X.509 certificates are supported - rejecting class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
end local 1 9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
iload 3
if_icmplt 2
11: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 certs [Ljava/security/cert/Certificate;
3 9 1 cert Ljava/security/cert/Certificate;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
certs
private byte[] getBagAttributes(java.lang.String, byte[], java.util.Set<java.security.KeyStore$Entry$Attribute>);
descriptor: (Ljava/lang/String;[BLjava/util/Set;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aconst_null
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[B[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 1 1 alias Ljava/lang/String;
0 1 2 keyId [B
0 1 3 attributes Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;[BLjava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;)[B
MethodParameters:
Name Flags
alias
keyId
attributes
private byte[] getBagAttributes(java.lang.String, byte[], sun.security.util.ObjectIdentifier[], java.util.Set<java.security.KeyStore$Entry$Attribute>);
descriptor: (Ljava/lang/String;[B[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aconst_null
astore 7
start local 7 3: aload 1
ifnonnull 5
aload 2
ifnonnull 5
aload 7
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: byte[] byte[] byte[]
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 8
start local 8 6: aload 1
ifnull 15
7: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 8: aload 9
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9FriendlyName_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
9: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 10
start local 10 10: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 11
start local 11 11: aload 10
aload 1
invokevirtual sun.security.util.DerOutputStream.putBMPString:(Ljava/lang/String;)V
12: aload 9
bipush 49
aload 10
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
13: aload 11
bipush 48
aload 9
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
14: aload 11
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 6
end local 11 end local 10 end local 9 15: StackMap locals: sun.security.util.DerOutputStream
StackMap stack:
aload 2
ifnull 24
16: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 17: aload 9
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
18: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 10
start local 10 19: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 11
start local 11 20: aload 10
aload 2
invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
21: aload 9
bipush 49
aload 10
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
22: aload 11
bipush 48
aload 9
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
23: aload 11
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 5
end local 11 end local 10 end local 9 24: StackMap locals:
StackMap stack:
aload 3
ifnull 37
25: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 26: aload 9
getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
27: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 10
start local 10 28: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 11
start local 11 29: aload 3
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 33
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream sun.security.util.DerOutputStream sun.security.util.DerOutputStream top int int sun.security.util.ObjectIdentifier[]
StackMap stack:
30: aload 15
iload 13
aaload
astore 12
start local 12 31: aload 10
aload 12
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
end local 12 32: iinc 13 1
StackMap locals:
StackMap stack:
33: iload 13
iload 14
if_icmplt 30
34: aload 9
bipush 49
aload 10
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
35: aload 11
bipush 48
aload 9
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
36: aload 11
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 7
end local 11 end local 10 end local 9 37: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 38: aload 6
ifnull 40
39: aload 9
aload 6
invokevirtual sun.security.util.DerOutputStream.write:([B)V
40: StackMap locals: sun.security.util.DerOutputStream
StackMap stack:
aload 5
ifnull 42
41: aload 9
aload 5
invokevirtual sun.security.util.DerOutputStream.write:([B)V
42: StackMap locals:
StackMap stack:
aload 7
ifnull 44
43: aload 9
aload 7
invokevirtual sun.security.util.DerOutputStream.write:([B)V
44: StackMap locals:
StackMap stack:
aload 4
ifnull 54
45: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 53
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream top java.util.Iterator
StackMap stack:
46: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.KeyStore$Entry$Attribute
astore 10
start local 10 47: aload 10
invokeinterface java.security.KeyStore$Entry$Attribute.getName:()Ljava/lang/String;
astore 12
start local 12 48: getstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Ljava/lang/String;
iconst_0
aaload
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 53
49: getstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Ljava/lang/String;
iconst_1
aaload
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 53
50: getstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Ljava/lang/String;
iconst_2
aaload
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 52
51: goto 53
52: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream java.security.KeyStore$Entry$Attribute java.util.Iterator java.lang.String
StackMap stack:
aload 9
aload 10
checkcast java.security.PKCS12Attribute
invokevirtual java.security.PKCS12Attribute.getEncoded:()[B
invokevirtual sun.security.util.DerOutputStream.write:([B)V
end local 12 end local 10 53: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 46
54: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream
StackMap stack:
aload 8
bipush 49
aload 9
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
55: aload 8
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
areturn
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 56 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 56 1 alias Ljava/lang/String;
0 56 2 keyId [B
0 56 3 trustedUsage [Lsun/security/util/ObjectIdentifier;
0 56 4 attributes Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
1 56 5 localKeyID [B
2 56 6 friendlyName [B
3 56 7 trustedKeyUsage [B
6 56 8 bagAttrs Lsun/security/util/DerOutputStream;
8 15 9 bagAttr1 Lsun/security/util/DerOutputStream;
10 15 10 bagAttrContent1 Lsun/security/util/DerOutputStream;
11 15 11 bagAttrValue1 Lsun/security/util/DerOutputStream;
17 24 9 bagAttr2 Lsun/security/util/DerOutputStream;
19 24 10 bagAttrContent2 Lsun/security/util/DerOutputStream;
20 24 11 bagAttrValue2 Lsun/security/util/DerOutputStream;
26 37 9 bagAttr3 Lsun/security/util/DerOutputStream;
28 37 10 bagAttrContent3 Lsun/security/util/DerOutputStream;
29 37 11 bagAttrValue3 Lsun/security/util/DerOutputStream;
31 32 12 usage Lsun/security/util/ObjectIdentifier;
38 56 9 attrs Lsun/security/util/DerOutputStream;
47 53 10 attribute Ljava/security/KeyStore$Entry$Attribute;
48 53 12 attributeName Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;[B[Lsun/security/util/ObjectIdentifier;Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;)[B
MethodParameters:
Name Flags
alias
keyId
trustedUsage
attributes
private byte[] createEncryptedData(char[]);
descriptor: ([C)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=17, args_size=2
start local 0 start local 1 0: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineAliases:()Ljava/util/Enumeration;
astore 3
start local 3 2: goto 65
3: StackMap locals: sun.security.util.DerOutputStream java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 5
start local 5 5: aload 5
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 12
6: aload 5
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
astore 7
start local 7 7: aload 7
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
ifnull 10
8: aload 7
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
astore 6
start local 6 9: goto 16
end local 6 10: StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry top sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
StackMap stack:
iconst_0
anewarray java.security.cert.Certificate
astore 6
end local 7 start local 6 11: goto 16
end local 6 StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
12: aload 5
instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
ifeq 15
13: iconst_1
anewarray java.security.cert.Certificate
dup
iconst_0
aload 5
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
aastore
astore 6
start local 6 14: goto 16
end local 6 15: StackMap locals:
StackMap stack:
iconst_0
anewarray java.security.cert.Certificate
astore 6
start local 6 16: StackMap locals: java.security.cert.Certificate[]
StackMap stack:
iconst_0
istore 7
start local 7 17: goto 64
18: StackMap locals: int
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 8
start local 8 19: aload 8
getstatic sun.security.pkcs12.PKCS12KeyStore.CertBag_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
20: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 21: aload 9
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9CertType_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
22: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 10
start local 10 23: aload 6
iload 7
aaload
checkcast java.security.cert.X509Certificate
astore 11
start local 11 24: aload 10
aload 11
invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
25: aload 9
bipush -128
26: iconst_1
iconst_0
27: invokestatic sun.security.util.DerValue.createTag:(BZB)B
28: aload 10
29: invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
30: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 12
start local 12 31: aload 12
bipush 48
aload 9
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
32: aload 12
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 13
start local 13 33: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 14
start local 14 34: aload 14
aload 13
invokevirtual sun.security.util.DerOutputStream.write:([B)V
35: aload 8
bipush -128
36: iconst_1
iconst_0
37: invokestatic sun.security.util.DerValue.createTag:(BZB)B
38: aload 14
39: invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
40: aconst_null
astore 15
start local 15 41: iload 7
ifne 56
42: aload 5
instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
ifeq 49
43: aload 5
checkcast sun.security.pkcs12.PKCS12KeyStore$KeyEntry
astore 16
start local 16 44: aload 0
aload 16
getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.alias:Ljava/lang/String;
aload 16
getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.keyId:[B
45: aload 16
getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
46: invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[BLjava/util/Set;)[B
47: astore 15
end local 16 48: goto 60
49: StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry java.security.cert.Certificate[] int sun.security.util.DerOutputStream sun.security.util.DerOutputStream sun.security.util.DerOutputStream java.security.cert.X509Certificate sun.security.util.DerOutputStream byte[] sun.security.util.DerOutputStream byte[]
StackMap stack:
aload 5
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
astore 16
start local 16 50: aload 0
aload 16
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.alias:Ljava/lang/String;
aload 16
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.keyId:[B
51: aload 16
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
52: aload 16
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.attributes:Ljava/util/Set;
53: invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[B[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)[B
54: astore 15
end local 16 55: goto 60
56: StackMap locals:
StackMap stack:
aload 0
57: aload 11
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.getName:()Ljava/lang/String;
aconst_null
58: aload 5
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
59: invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[BLjava/util/Set;)[B
astore 15
60: StackMap locals:
StackMap stack:
aload 15
ifnull 62
61: aload 8
aload 15
invokevirtual sun.security.util.DerOutputStream.write:([B)V
62: StackMap locals:
StackMap stack:
aload 2
bipush 48
aload 8
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 63: iinc 7 1
StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry java.security.cert.Certificate[] int
StackMap stack:
64: iload 7
aload 6
arraylength
if_icmplt 18
end local 7 end local 6 end local 5 end local 4 65: StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
end local 3 66: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 3
start local 3 67: aload 3
bipush 48
aload 2
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
68: aload 3
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 4
start local 4 69: aload 0
aload 4
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.encryptContent:([B[C)[B
astore 5
start local 5 70: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 6
start local 6 71: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 7
start local 7 72: aload 6
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
73: aload 6
aload 5
invokevirtual sun.security.util.DerOutputStream.write:([B)V
74: aload 7
bipush 48
aload 6
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
75: aload 7
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
areturn
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/pkcs12/PKCS12KeyStore;
0 76 1 password [C
1 76 2 out Lsun/security/util/DerOutputStream;
2 66 3 e Ljava/util/Enumeration<Ljava/lang/String;>;
4 65 4 alias Ljava/lang/String;
5 65 5 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
9 10 6 certs [Ljava/security/cert/Certificate;
11 12 6 certs [Ljava/security/cert/Certificate;
14 15 6 certs [Ljava/security/cert/Certificate;
16 65 6 certs [Ljava/security/cert/Certificate;
7 11 7 keyEntry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
17 65 7 i I
19 63 8 safeBag Lsun/security/util/DerOutputStream;
21 63 9 certBag Lsun/security/util/DerOutputStream;
23 63 10 certValue Lsun/security/util/DerOutputStream;
24 63 11 cert Ljava/security/cert/X509Certificate;
31 63 12 certout Lsun/security/util/DerOutputStream;
33 63 13 certBagValue [B
34 63 14 bagValue Lsun/security/util/DerOutputStream;
41 63 15 bagAttrs [B
44 48 16 keyEntry Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;
50 55 16 certEntry Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
67 76 3 safeBagValue Lsun/security/util/DerOutputStream;
69 76 4 safeBagData [B
70 76 5 encrContentInfo [B
71 76 6 encrData Lsun/security/util/DerOutputStream;
72 76 7 encrDataContent Lsun/security/util/DerOutputStream;
Exceptions:
throws java.security.cert.CertificateException, java.io.IOException
MethodParameters:
Name Flags
password
private byte[] createSafeContent();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=1
start local 0 0: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineAliases:()Ljava/util/Enumeration;
astore 2
start local 2 2: goto 54
3: StackMap locals: sun.security.util.DerOutputStream java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 4: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
astore 4
start local 4 5: aload 4
ifnull 54
aload 4
instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
ifne 7
6: goto 54
7: StackMap locals: java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 5
start local 5 8: aload 4
checkcast sun.security.pkcs12.PKCS12KeyStore$KeyEntry
astore 6
start local 6 9: aload 6
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 27
10: aload 5
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS8ShroudedKeyBag_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
11: aload 6
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
astore 7
start local 7 12: aconst_null
astore 8
start local 8 13: new sun.security.pkcs.EncryptedPrivateKeyInfo
dup
aload 7
invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:([B)V
astore 8
14: goto 19
StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry sun.security.util.DerOutputStream sun.security.pkcs12.PKCS12KeyStore$KeyEntry byte[] sun.security.pkcs.EncryptedPrivateKeyInfo
StackMap stack: java.io.IOException
15: astore 9
start local 9 16: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Private key not stored as PKCS#8 EncryptedPrivateKeyInfo"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 9
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 9 19: StackMap locals:
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 20: aload 9
aload 8
invokevirtual sun.security.pkcs.EncryptedPrivateKeyInfo.getEncoded:()[B
invokevirtual sun.security.util.DerOutputStream.write:([B)V
21: aload 5
bipush -128
22: iconst_1
iconst_0
23: invokestatic sun.security.util.DerValue.createTag:(BZB)B
24: aload 9
25: invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
end local 9 end local 8 end local 7 26: goto 50
StackMap locals:
StackMap stack:
27: aload 6
instanceof sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
ifeq 54
28: aload 5
getstatic sun.security.pkcs12.PKCS12KeyStore.SecretBag_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
29: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 7
start local 7 30: aload 7
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS8ShroudedKeyBag_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
31: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 8
start local 8 32: aload 8
33: aload 6
checkcast sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
getfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
34: invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
35: aload 7
bipush -128
36: iconst_1
iconst_0
37: invokestatic sun.security.util.DerValue.createTag:(BZB)B
38: aload 8
39: invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
40: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 41: aload 9
bipush 48
aload 7
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
42: aload 9
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 10
start local 10 43: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 11
start local 11 44: aload 11
aload 10
invokevirtual sun.security.util.DerOutputStream.write:([B)V
45: aload 5
bipush -128
46: iconst_1
iconst_0
47: invokestatic sun.security.util.DerValue.createTag:(BZB)B
48: aload 11
49: invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
end local 11 end local 10 end local 9 end local 8 end local 7 50: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 4
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.keyId:[B
aload 4
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[BLjava/util/Set;)[B
51: astore 7
start local 7 52: aload 5
aload 7
invokevirtual sun.security.util.DerOutputStream.write:([B)V
53: aload 1
bipush 48
aload 5
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
end local 7 end local 6 end local 5 end local 4 end local 3 54: StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerOutputStream java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
end local 2 55: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
start local 2 56: aload 2
bipush 48
aload 1
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
57: aload 2
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lsun/security/pkcs12/PKCS12KeyStore;
1 58 1 out Lsun/security/util/DerOutputStream;
2 55 2 e Ljava/util/Enumeration<Ljava/lang/String;>;
4 54 3 alias Ljava/lang/String;
5 54 4 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
8 54 5 safeBag Lsun/security/util/DerOutputStream;
9 54 6 keyEntry Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;
12 26 7 encrBytes [B
13 26 8 encrInfo Lsun/security/pkcs/EncryptedPrivateKeyInfo;
16 19 9 ioe Ljava/io/IOException;
20 26 9 bagValue Lsun/security/util/DerOutputStream;
30 50 7 secretBag Lsun/security/util/DerOutputStream;
32 50 8 secretKeyValue Lsun/security/util/DerOutputStream;
41 50 9 secretBagSeq Lsun/security/util/DerOutputStream;
43 50 10 secretBagValue [B
44 50 11 bagValue Lsun/security/util/DerOutputStream;
52 54 7 bagAttrs [B
56 58 2 safeBagValue Lsun/security/util/DerOutputStream;
Exception table:
from to target type
13 14 15 Class java.io.IOException
Exceptions:
throws java.security.cert.CertificateException, java.io.IOException
private byte[] encryptContent(byte[], char[]);
descriptor: ([B[C)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
ldc "PBEWithSHA1AndRC2_40"
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEAlgorithmParameters:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
2: astore 4
start local 4 3: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 5
start local 5 4: new sun.security.x509.AlgorithmId
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd40BitRC2CBC_OID:Lsun/security/util/ObjectIdentifier;
aload 4
invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)V
5: astore 6
start local 6 6: aload 6
aload 5
invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
7: aload 5
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
astore 7
start local 7 8: aload 0
aload 2
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
astore 8
start local 8 9: ldc "PBEWithSHA1AndRC2_40"
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 9
start local 9 10: aload 9
iconst_1
aload 8
aload 4
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
11: aload 9
aload 1
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 3
12: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 21
13: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc " (Cipher algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual javax.crypto.Cipher.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 9 end local 8 16: goto 21
StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] char[] byte[] java.security.AlgorithmParameters sun.security.util.DerOutputStream sun.security.x509.AlgorithmId byte[]
StackMap stack: java.lang.Exception
17: astore 8
start local 8 18: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Failed to encrypt safe contents entry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
20: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 21: StackMap locals:
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 8
start local 8 22: aload 8
getstatic sun.security.pkcs.ContentInfo.DATA_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
23: aload 8
aload 7
invokevirtual sun.security.util.DerOutputStream.write:([B)V
24: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 25: aload 9
aload 3
invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
26: aload 8
bipush -128
27: iconst_0
iconst_0
28: invokestatic sun.security.util.DerValue.createTag:(BZB)B
29: aload 9
30: invokevirtual sun.security.util.DerOutputStream.writeImplicit:(BLsun/security/util/DerOutputStream;)V
31: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 10
start local 10 32: aload 10
bipush 48
aload 8
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
33: aload 10
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
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 34 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 34 1 data [B
0 34 2 password [C
1 34 3 encryptedData [B
3 34 4 algParams Ljava/security/AlgorithmParameters;
4 34 5 bytes Lsun/security/util/DerOutputStream;
6 34 6 algId Lsun/security/x509/AlgorithmId;
8 34 7 encodedAlgId [B
9 16 8 skey Ljavax/crypto/SecretKey;
10 16 9 cipher Ljavax/crypto/Cipher;
18 21 8 e Ljava/lang/Exception;
22 34 8 bytes2 Lsun/security/util/DerOutputStream;
25 34 9 tmpout2 Lsun/security/util/DerOutputStream;
32 34 10 out Lsun/security/util/DerOutputStream;
Exception table:
from to target type
8 16 17 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
password
public synchronized void engineLoad(java.io.InputStream, char[]);
descriptor: (Ljava/io/InputStream;[C)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=8, locals=26, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.counter:I
3: new sun.security.util.DerValue
dup
aload 1
invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
astore 3
start local 3 4: aload 3
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 4
start local 4 5: aload 4
invokevirtual sun.security.util.DerInputStream.getInteger:()I
istore 5
start local 5 6: iload 5
iconst_3
if_icmpeq 8
7: new java.io.IOException
dup
ldc "PKCS12 keystore not in version 3 format"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: sun.security.util.DerValue sun.security.util.DerInputStream int
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
9: new sun.security.pkcs.ContentInfo
dup
aload 4
invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;)V
astore 7
start local 7 10: aload 7
invokevirtual sun.security.pkcs.ContentInfo.getContentType:()Lsun/security/util/ObjectIdentifier;
astore 8
start local 8 11: aload 8
getstatic sun.security.pkcs.ContentInfo.DATA_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 7
invokevirtual sun.security.pkcs.ContentInfo.getData:()[B
astore 6
start local 6 13: goto 15
end local 6 14: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int top sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier
StackMap stack:
new java.io.IOException
dup
ldc "public key protected PKCS12 not supported"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
start local 6 15: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier
StackMap stack:
new sun.security.util.DerInputStream
dup
aload 6
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 9
start local 9 16: aload 9
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 10
start local 10 17: aload 10
arraylength
istore 11
start local 11 18: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
19: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
20: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
21: iconst_0
istore 12
start local 12 22: goto 88
23: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int
StackMap stack:
new sun.security.util.DerInputStream
dup
aload 10
iload 12
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 15
start local 15 24: new sun.security.pkcs.ContentInfo
dup
aload 15
invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;)V
astore 14
start local 14 25: aload 14
invokevirtual sun.security.pkcs.ContentInfo.getContentType:()Lsun/security/util/ObjectIdentifier;
astore 8
26: aconst_null
astore 13
start local 13 27: aload 8
getstatic sun.security.pkcs.ContentInfo.DATA_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 32
28: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 30
29: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ldc "Loading PKCS#7 data"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
30: StackMap locals: byte[] sun.security.pkcs.ContentInfo sun.security.util.DerInputStream
StackMap stack:
aload 14
invokevirtual sun.security.pkcs.ContentInfo.getData:()[B
astore 13
31: goto 85
StackMap locals:
StackMap stack:
32: aload 8
getstatic sun.security.pkcs.ContentInfo.ENCRYPTED_DATA_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 84
33: aload 2
ifnonnull 37
34: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 87
35: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ldc "Warning: skipping PKCS#7 encryptedData - no password was supplied"
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
36: goto 87
37: StackMap locals:
StackMap stack:
aload 14
invokevirtual sun.security.pkcs.ContentInfo.getContent:()Lsun/security/util/DerValue;
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
38: astore 16
start local 16 39: aload 16
invokevirtual sun.security.util.DerInputStream.getInteger:()I
pop
40: aload 16
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 17
start local 17 41: aload 17
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
pop
42: aload 17
iconst_1
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
pop
43: aload 17
iconst_2
aaload
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 45
44: new java.io.IOException
dup
ldc "encrypted content not present!"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
iconst_4
istore 18
start local 18 46: aload 17
iconst_2
aaload
invokevirtual sun.security.util.DerValue.isConstructed:()Z
ifeq 48
47: iload 18
bipush 32
ior
i2b
istore 18
48: StackMap locals: int
StackMap stack:
aload 17
iconst_2
aaload
iload 18
invokevirtual sun.security.util.DerValue.resetTag:(B)V
49: aload 17
iconst_2
aaload
invokevirtual sun.security.util.DerValue.getOctetString:()[B
astore 13
50: aload 17
iconst_1
aaload
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 19
start local 19 51: aload 19
invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
astore 20
start local 20 52: aload 0
aload 20
aload 19
invokevirtual sun.security.pkcs12.PKCS12KeyStore.parseAlgParameters:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerInputStream;)Ljava/security/AlgorithmParameters;
astore 21
start local 21 53: iconst_0
istore 23
start local 23 54: aload 21
ifnull 65
55: aload 21
ldc Ljavax/crypto/spec/PBEParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
checkcast javax.crypto.spec.PBEParameterSpec
56: astore 22
start local 22 57: goto 62
end local 22 StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int byte[] sun.security.pkcs.ContentInfo sun.security.util.DerInputStream sun.security.util.DerInputStream sun.security.util.DerValue[] int sun.security.util.DerInputStream sun.security.util.ObjectIdentifier java.security.AlgorithmParameters top int
StackMap stack: java.security.spec.InvalidParameterSpecException
58: pop
59: new java.io.IOException
dup
60: ldc "Invalid PBE algorithm parameters"
61: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
start local 22 62: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int byte[] sun.security.pkcs.ContentInfo sun.security.util.DerInputStream sun.security.util.DerInputStream sun.security.util.DerValue[] int sun.security.util.DerInputStream sun.security.util.ObjectIdentifier java.security.AlgorithmParameters javax.crypto.spec.PBEParameterSpec int
StackMap stack:
aload 22
invokevirtual javax.crypto.spec.PBEParameterSpec.getIterationCount:()I
istore 23
63: iload 23
ldc 5000000
if_icmple 65
64: new java.io.IOException
dup
ldc "PBE iteration count too large"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 22 65: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int byte[] sun.security.pkcs.ContentInfo sun.security.util.DerInputStream sun.security.util.DerInputStream sun.security.util.DerValue[] int sun.security.util.DerInputStream sun.security.util.ObjectIdentifier java.security.AlgorithmParameters top int
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 70
66: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Loading PKCS#7 encryptedData ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
67: new sun.security.x509.AlgorithmId
dup
aload 20
invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;)V
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
68: ldc " iterations: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 23
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
69: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
70: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
astore 24
start local 24 71: aload 20
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 25
start local 25 72: aload 25
iconst_2
aload 24
aload 21
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
73: aload 25
aload 13
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 13
74: goto 85
end local 25 end local 24 75: StackMap locals:
StackMap stack: java.lang.Exception
astore 24
start local 24 76: aload 2
arraylength
ifne 79
77: iconst_1
newarray 5
astore 2
78: goto 70
79: StackMap locals: java.lang.Exception
StackMap stack:
new java.io.IOException
dup
ldc "keystore password was incorrect"
80: new java.security.UnrecoverableKeyException
dup
81: new java.lang.StringBuilder
dup
ldc "failed to decrypt safe contents entry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 24
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
82: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
83: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 24 end local 23 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 84: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int byte[] sun.security.pkcs.ContentInfo sun.security.util.DerInputStream
StackMap stack:
new java.io.IOException
dup
ldc "public key protected PKCS12 not supported"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
85: StackMap locals:
StackMap stack:
new sun.security.util.DerInputStream
dup
aload 13
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 16
start local 16 86: aload 0
aload 16
aload 2
invokevirtual sun.security.pkcs12.PKCS12KeyStore.loadSafeContents:(Lsun/security/util/DerInputStream;[C)V
end local 16 end local 15 end local 14 end local 13 87: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
88: iload 12
iload 11
if_icmplt 23
end local 12 89: aload 2
ifnull 114
aload 4
invokevirtual sun.security.util.DerInputStream.available:()I
ifle 114
90: new sun.security.pkcs12.MacData
dup
aload 4
invokespecial sun.security.pkcs12.MacData.<init>:(Lsun/security/util/DerInputStream;)V
astore 12
start local 12 91: aload 12
invokevirtual sun.security.pkcs12.MacData.getIterations:()I
istore 13
start local 13 92: iload 13
ldc 5000000
if_icmple 96
93: new java.security.InvalidAlgorithmParameterException
dup
94: new java.lang.StringBuilder
dup
ldc "MAC iteration count too large: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
95: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
96: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int sun.security.pkcs12.MacData int
StackMap stack:
aload 12
invokevirtual sun.security.pkcs12.MacData.getDigestAlgName:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
97: astore 14
start local 14 98: aload 14
ldc "-"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 14
99: new java.lang.StringBuilder
dup
ldc "HmacPBE"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac;
astore 15
start local 15 100: new javax.crypto.spec.PBEParameterSpec
dup
aload 12
invokevirtual sun.security.pkcs12.MacData.getSalt:()[B
iload 13
invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
101: astore 16
start local 16 102: aload 0
aload 2
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
astore 17
start local 17 103: aload 15
aload 17
aload 16
invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
104: aload 15
aload 6
invokevirtual javax.crypto.Mac.update:([B)V
105: aload 15
invokevirtual javax.crypto.Mac.doFinal:()[B
astore 18
start local 18 106: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 110
107: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Checking keystore integrity ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
108: aload 15
invokevirtual javax.crypto.Mac.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " iterations: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
109: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
110: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int sun.security.pkcs12.MacData int java.lang.String javax.crypto.Mac javax.crypto.spec.PBEParameterSpec javax.crypto.SecretKey byte[]
StackMap stack:
aload 12
invokevirtual sun.security.pkcs12.MacData.getDigest:()[B
aload 18
invokestatic java.security.MessageDigest.isEqual:([B[B)Z
ifne 114
111: new java.security.UnrecoverableKeyException
dup
ldc "Failed PKCS12 integrity checking"
invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
athrow
end local 18 end local 17 end local 16 end local 15 end local 14 112: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int sun.security.pkcs12.MacData int
StackMap stack: java.lang.Exception
astore 14
start local 14 113: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Integrity check failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 14
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 14 end local 13 end local 12 114: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
anewarray sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[]
115: astore 12
start local 12 116: iconst_0
istore 13
start local 13 117: goto 145
118: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] int
StackMap stack:
aload 12
iload 13
aaload
astore 14
start local 14 119: aload 14
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.keyId:[B
ifnull 144
120: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
121: astore 15
start local 15 122: aload 0
aload 14
invokevirtual sun.security.pkcs12.PKCS12KeyStore.findMatchedCertificate:(Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;)Ljava/security/cert/X509Certificate;
astore 16
start local 16 123: goto 141
124: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry java.util.ArrayList java.security.cert.X509Certificate
StackMap stack:
aload 15
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 136
125: aload 15
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 18
goto 135
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] int sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry java.util.ArrayList java.security.cert.X509Certificate top java.util.Iterator
StackMap stack:
126: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 17
start local 17 127: aload 16
aload 17
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 135
128: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 142
129: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Loop detected in certificate chain. Skip adding repeated cert to chain. Subject: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
130: aload 16
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
131: invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
132: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
133: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
134: goto 142
end local 17 135: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 126
136: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] int sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry java.util.ArrayList java.security.cert.X509Certificate
StackMap stack:
aload 15
aload 16
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
137: aload 16
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 17
start local 17 138: aload 17
aload 16
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifeq 140
139: goto 142
140: StackMap locals: javax.security.auth.x500.X500Principal
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certsMap:Ljava/util/LinkedHashMap;
aload 17
invokevirtual java.util.LinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 16
end local 17 141: StackMap locals:
StackMap stack:
aload 16
ifnonnull 124
142: StackMap locals:
StackMap stack:
aload 15
invokevirtual java.util.ArrayList.size:()I
ifle 144
143: aload 14
aload 15
aload 15
invokevirtual java.util.ArrayList.size:()I
anewarray java.security.cert.Certificate
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
end local 16 end local 15 end local 14 144: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
145: iload 13
aload 12
arraylength
if_icmplt 118
end local 13 146: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 159
147: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
ifle 151
148: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Loaded "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
149: ldc " protected private key(s)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
150: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
151: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
ifle 155
152: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Loaded "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
153: ldc " protected secret key(s)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
154: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
155: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
ifle 159
156: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Loaded "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
157: ldc " certificate(s)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
158: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
159: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
160: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certsMap:Ljava/util/LinkedHashMap;
invokevirtual java.util.LinkedHashMap.clear:()V
161: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
162: return
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 163 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 163 1 stream Ljava/io/InputStream;
0 163 2 password [C
4 163 3 val Lsun/security/util/DerValue;
5 163 4 s Lsun/security/util/DerInputStream;
6 163 5 version I
13 14 6 authSafeData [B
15 163 6 authSafeData [B
10 163 7 authSafe Lsun/security/pkcs/ContentInfo;
11 163 8 contentType Lsun/security/util/ObjectIdentifier;
16 163 9 as Lsun/security/util/DerInputStream;
17 163 10 safeContentsArray [Lsun/security/util/DerValue;
18 163 11 count I
22 89 12 i I
27 87 13 safeContentsData [B
25 87 14 safeContents Lsun/security/pkcs/ContentInfo;
24 87 15 sci Lsun/security/util/DerInputStream;
39 84 16 edi Lsun/security/util/DerInputStream;
41 84 17 seq [Lsun/security/util/DerValue;
46 84 18 newTag B
51 84 19 in Lsun/security/util/DerInputStream;
52 84 20 algOid Lsun/security/util/ObjectIdentifier;
53 84 21 algParams Ljava/security/AlgorithmParameters;
57 58 22 pbeSpec Ljavax/crypto/spec/PBEParameterSpec;
62 65 22 pbeSpec Ljavax/crypto/spec/PBEParameterSpec;
54 84 23 ic I
71 75 24 skey Ljavax/crypto/SecretKey;
72 75 25 cipher Ljavax/crypto/Cipher;
76 84 24 e Ljava/lang/Exception;
86 87 16 sc Lsun/security/util/DerInputStream;
91 114 12 macData Lsun/security/pkcs12/MacData;
92 114 13 ic I
98 112 14 algName Ljava/lang/String;
100 112 15 m Ljavax/crypto/Mac;
102 112 16 params Ljavax/crypto/spec/PBEParameterSpec;
103 112 17 key Ljavax/crypto/SecretKey;
106 112 18 macResult [B
113 114 14 e Ljava/lang/Exception;
116 163 12 list [Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
117 146 13 m I
119 144 14 entry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
122 144 15 chain Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
123 144 16 cert Ljava/security/cert/X509Certificate;
127 135 17 chainCert Ljava/security/cert/X509Certificate;
138 141 17 issuerDN Ljavax/security/auth/x500/X500Principal;
Exception table:
from to target type
55 57 58 Class java.security.spec.InvalidParameterSpecException
70 74 75 Class java.lang.Exception
92 112 112 Class java.lang.Exception
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
private java.security.cert.X509Certificate findMatchedCertificate(sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry);
descriptor: (Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;)Ljava/security/cert/X509Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
astore 4
start local 4 4: aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.keyId:[B
aload 4
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.keyId:[B
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 8
5: aload 4
astore 2
6: aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.alias:Ljava/lang/String;
aload 4
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.alias:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
7: aload 4
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
areturn
8: StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry java.util.Iterator
StackMap stack:
aload 1
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.alias:Ljava/lang/String;
aload 4
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.alias:Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
9: aload 4
astore 3
end local 4 10: StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
11: aload 2
ifnull 12
aload 2
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
areturn
12: StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry
StackMap stack:
aload 3
ifnull 13
aload 3
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
areturn
13: 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 14 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 14 1 entry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
1 14 2 keyIdMatch Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
2 14 3 aliasMatch Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
4 10 4 ce Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
MethodParameters:
Name Flags
entry
private void loadSafeContents(sun.security.util.DerInputStream, char[]);
descriptor: (Lsun/security/util/DerInputStream;[C)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=23, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 1: aload 3
arraylength
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 142
4: StackMap locals: sun.security.util.DerValue[] int int
StackMap stack:
aconst_null
astore 9
start local 9 5: aload 3
iload 5
aaload
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 7
start local 7 6: aload 7
invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
astore 6
start local 6 7: aload 7
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 8
start local 8 8: aload 8
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 12
9: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "unsupported PKCS12 bag value type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 8
getfield sun.security.util.DerValue.tag:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream char[] sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object
StackMap stack:
aload 8
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 8
13: aload 6
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS8ShroudedKeyBag_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 19
14: new sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.<init>:()V
astore 10
start local 10 15: aload 10
aload 8
invokevirtual sun.security.util.DerValue.toByteArray:()[B
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
16: aload 10
astore 9
17: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
end local 10 18: goto 53
StackMap locals:
StackMap stack:
19: aload 6
getstatic sun.security.pkcs12.PKCS12KeyStore.CertBag_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 35
20: new sun.security.util.DerInputStream
dup
aload 8
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 10
start local 10 21: aload 10
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 11
start local 11 22: aload 11
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
pop
23: aload 11
iconst_1
aaload
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 27
24: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "unsupported PKCS12 cert value type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: aload 11
iconst_1
aaload
getfield sun.security.util.DerValue.tag:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 11
iconst_1
aaload
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 12
start local 12 28: ldc "X509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 13
start local 13 29: aload 13
30: new java.io.ByteArrayInputStream
dup
aload 12
invokevirtual sun.security.util.DerValue.getOctetString:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
31: invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
astore 14
start local 14 32: aload 14
astore 9
33: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
end local 14 end local 13 end local 12 end local 11 end local 10 34: goto 53
StackMap locals:
StackMap stack:
35: aload 6
getstatic sun.security.pkcs12.PKCS12KeyStore.SecretBag_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 51
36: new sun.security.util.DerInputStream
dup
aload 8
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 10
start local 10 37: aload 10
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 11
start local 11 38: aload 11
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
pop
39: aload 11
iconst_1
aaload
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 45
40: new java.io.IOException
dup
41: new java.lang.StringBuilder
dup
ldc "unsupported PKCS12 secret value type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
42: aload 11
iconst_1
aaload
getfield sun.security.util.DerValue.tag:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
43: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 11
iconst_1
aaload
getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 12
start local 12 46: new sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.<init>:()V
astore 13
start local 13 47: aload 13
aload 12
invokevirtual sun.security.util.DerValue.getOctetString:()[B
putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
48: aload 13
astore 9
49: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
end local 13 end local 12 end local 11 end local 10 50: goto 53
51: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 53
52: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Unsupported PKCS12 bag type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
53: StackMap locals:
StackMap stack:
aload 7
iconst_3
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 10
start local 10 54: goto 57
end local 10 StackMap locals:
StackMap stack: java.io.IOException
55: pop
56: aconst_null
astore 10
start local 10 57: StackMap locals: sun.security.util.DerValue[]
StackMap stack:
aconst_null
astore 11
start local 11 58: aconst_null
astore 12
start local 12 59: aconst_null
astore 13
start local 13 60: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 14
start local 14 61: aload 10
ifnull 93
62: iconst_0
istore 15
start local 15 63: goto 92
64: StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream char[] sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object sun.security.util.DerValue[] java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set int
StackMap stack:
aload 10
iload 15
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
astore 16
start local 16 65: new sun.security.util.DerInputStream
dup
aload 16
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 17
start local 17 66: aload 17
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 18
start local 18 67: aload 18
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
astore 19
start local 19 68: new sun.security.util.DerInputStream
dup
aload 18
iconst_1
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
69: astore 20
start local 20 70: aload 20
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 21
start local 21 71: goto 76
end local 21 StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream char[] sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object sun.security.util.DerValue[] java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set int byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.ObjectIdentifier sun.security.util.DerInputStream
StackMap stack: java.io.IOException
72: astore 22
start local 22 73: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Attribute "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 19
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
74: ldc " should have a value "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 22
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
75: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 22 start local 21 76: StackMap locals: sun.security.util.DerValue[]
StackMap stack:
aload 19
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9FriendlyName_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 79
77: aload 21
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getBMPString:()Ljava/lang/String;
astore 11
78: goto 91
StackMap locals:
StackMap stack:
79: aload 19
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 82
80: aload 21
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOctetString:()[B
astore 12
81: goto 91
82: StackMap locals:
StackMap stack:
aload 19
getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 90
83: aload 21
arraylength
anewarray sun.security.util.ObjectIdentifier
astore 13
84: iconst_0
istore 22
start local 22 85: goto 88
86: StackMap locals: int
StackMap stack:
aload 13
iload 22
aload 21
iload 22
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
aastore
87: iinc 22 1
StackMap locals:
StackMap stack:
88: iload 22
aload 21
arraylength
if_icmplt 86
end local 22 89: goto 91
90: StackMap locals:
StackMap stack:
aload 14
new java.security.PKCS12Attribute
dup
aload 16
invokespecial java.security.PKCS12Attribute.<init>:([B)V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 91: StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream char[] sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object sun.security.util.DerValue[] java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set int
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
92: iload 15
aload 10
arraylength
if_icmplt 64
end local 15 93: StackMap locals:
StackMap stack:
aload 9
instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
ifeq 122
94: aload 9
checkcast sun.security.pkcs12.PKCS12KeyStore$KeyEntry
astore 15
start local 15 95: aload 9
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 99
96: aload 12
ifnonnull 99
97: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
if_icmpne 141
98: ldc "01"
ldc "UTF8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
astore 12
99: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$KeyEntry
StackMap stack:
aload 15
aload 12
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.keyId:[B
100: new java.lang.String
dup
aload 12
ldc "UTF8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 16
start local 16 101: aconst_null
astore 17
start local 17 102: aload 16
ldc "Time "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 109
103: new java.util.Date
dup
104: aload 16
iconst_5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
105: invokespecial java.util.Date.<init>:(J)V
astore 17
106: goto 109
StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream char[] sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object sun.security.util.DerValue[] java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set sun.security.pkcs12.PKCS12KeyStore$KeyEntry java.lang.String java.util.Date
StackMap stack: java.lang.Exception
107: pop
108: aconst_null
astore 17
109: StackMap locals:
StackMap stack:
aload 17
ifnonnull 111
110: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 17
111: StackMap locals:
StackMap stack:
aload 15
aload 17
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.date:Ljava/util/Date;
112: aload 9
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 114
113: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
aload 15
checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
114: StackMap locals:
StackMap stack:
aload 15
getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
ifnonnull 116
115: aload 15
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
116: StackMap locals:
StackMap stack:
aload 15
getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
aload 14
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
117: aload 11
ifnonnull 119
118: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getUnfriendlyName:()Ljava/lang/String;
astore 11
119: StackMap locals:
StackMap stack:
aload 15
aload 11
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.alias:Ljava/lang/String;
120: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 11
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 15
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 17 end local 16 end local 15 121: goto 141
StackMap locals:
StackMap stack:
122: aload 9
instanceof java.security.cert.X509Certificate
ifeq 141
123: aload 9
checkcast java.security.cert.X509Certificate
astore 15
start local 15 124: aload 12
ifnonnull 127
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
if_icmpne 127
125: iload 5
ifne 127
126: ldc "01"
ldc "UTF8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
astore 12
127: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 13
ifnull 136
128: aload 11
ifnonnull 130
129: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getUnfriendlyName:()Ljava/lang/String;
astore 11
130: StackMap locals:
StackMap stack:
new sun.security.pkcs12.PKCS12KeyStore$CertEntry
dup
aload 15
aload 12
aload 11
aload 13
131: aload 14
132: invokespecial sun.security.pkcs12.PKCS12KeyStore$CertEntry.<init>:(Ljava/security/cert/X509Certificate;[BLjava/lang/String;[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)V
133: astore 16
start local 16 134: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 11
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 16
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 16 135: goto 137
136: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
new sun.security.pkcs12.PKCS12KeyStore$CertEntry
dup
aload 15
aload 12
aload 11
invokespecial sun.security.pkcs12.PKCS12KeyStore$CertEntry.<init>:(Ljava/security/cert/X509Certificate;[BLjava/lang/String;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
137: StackMap locals:
StackMap stack:
aload 15
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 16
start local 16 138: aload 16
ifnull 141
139: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certsMap:Ljava/util/LinkedHashMap;
aload 16
invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
ifne 141
140: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certsMap:Ljava/util/LinkedHashMap;
aload 16
aload 15
invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
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 141: StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream char[] sun.security.util.DerValue[] int int
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
142: iload 5
iload 4
if_icmplt 4
end local 5 143: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 144 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 144 1 stream Lsun/security/util/DerInputStream;
0 144 2 password [C
1 144 3 safeBags [Lsun/security/util/DerValue;
2 144 4 count I
3 143 5 i I
7 141 6 bagId Lsun/security/util/ObjectIdentifier;
6 141 7 sbi Lsun/security/util/DerInputStream;
8 141 8 bagValue Lsun/security/util/DerValue;
5 141 9 bagItem Ljava/lang/Object;
15 18 10 kEntry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
21 34 10 cs Lsun/security/util/DerInputStream;
22 34 11 certValues [Lsun/security/util/DerValue;
28 34 12 certValue Lsun/security/util/DerValue;
29 34 13 cf Ljava/security/cert/CertificateFactory;
32 34 14 cert Ljava/security/cert/X509Certificate;
37 50 10 ss Lsun/security/util/DerInputStream;
38 50 11 secretValues [Lsun/security/util/DerValue;
46 50 12 secretValue Lsun/security/util/DerValue;
47 50 13 kEntry Lsun/security/pkcs12/PKCS12KeyStore$SecretKeyEntry;
54 55 10 attrSet [Lsun/security/util/DerValue;
57 141 10 attrSet [Lsun/security/util/DerValue;
58 141 11 alias Ljava/lang/String;
59 141 12 keyId [B
60 141 13 trustedKeyUsage [Lsun/security/util/ObjectIdentifier;
61 141 14 attributes Ljava/util/Set<Ljava/security/PKCS12Attribute;>;
63 93 15 j I
65 91 16 encoded [B
66 91 17 as Lsun/security/util/DerInputStream;
67 91 18 attrSeq [Lsun/security/util/DerValue;
68 91 19 attrId Lsun/security/util/ObjectIdentifier;
70 91 20 vs Lsun/security/util/DerInputStream;
71 72 21 valSet [Lsun/security/util/DerValue;
76 91 21 valSet [Lsun/security/util/DerValue;
73 76 22 e Ljava/io/IOException;
85 89 22 k I
95 121 15 entry Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;
101 121 16 keyIdStr Ljava/lang/String;
102 121 17 date Ljava/util/Date;
124 141 15 cert Ljava/security/cert/X509Certificate;
134 135 16 certEntry Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
138 141 16 subjectDN Ljavax/security/auth/x500/X500Principal;
Exception table:
from to target type
53 54 55 Class java.io.IOException
70 71 72 Class java.io.IOException
103 106 107 Class java.lang.Exception
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
private java.lang.String getUnfriendlyName();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.counter:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.counter:I
1: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.counter:I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs12/PKCS12KeyStore;
public boolean engineProbe(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.io.DataInputStream
ifeq 3
1: aload 1
checkcast java.io.DataInputStream
astore 2
start local 2 2: goto 4
end local 2 3: StackMap locals:
StackMap stack:
new java.io.DataInputStream
dup
aload 1
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 2
start local 2 4: StackMap locals: java.io.DataInputStream
StackMap stack:
aload 2
invokevirtual java.io.DataInputStream.readLong:()J
lstore 3
start local 3 5: aload 2
invokevirtual java.io.DataInputStream.readLong:()J
lstore 5
start local 5 6: aload 2
invokevirtual java.io.DataInputStream.readLong:()J
lstore 7
start local 7 7: iconst_0
istore 9
start local 9 8: iconst_0
istore 10
start local 10 9: goto 22
10: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream java.io.DataInputStream long long long int int
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
iload 10
aaload
iconst_0
laload
11: lload 3
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_MASKS:[[J
iload 10
aaload
iconst_0
laload
land
12: lcmp
ifne 21
13: getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
iload 10
aaload
iconst_1
laload
14: lload 5
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_MASKS:[[J
iload 10
aaload
iconst_1
laload
land
15: lcmp
ifne 21
16: getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
iload 10
aaload
iconst_2
laload
17: lload 7
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_MASKS:[[J
iload 10
aaload
iconst_2
laload
land
18: lcmp
ifne 21
19: iconst_1
istore 9
20: goto 23
21: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
22: iload 10
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
arraylength
if_icmplt 10
end local 10 23: StackMap locals:
StackMap stack:
iload 9
ireturn
end local 9 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 24 1 stream Ljava/io/InputStream;
2 3 2 dataStream Ljava/io/DataInputStream;
4 24 2 dataStream Ljava/io/DataInputStream;
5 24 3 firstPeek J
6 24 5 nextPeek J
7 24 7 finalPeek J
8 24 9 result Z
9 23 10 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
}
SourceFile: "PKCS12KeyStore.java"
NestMembers:
sun.security.pkcs12.PKCS12KeyStore$1 sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12 sun.security.pkcs12.PKCS12KeyStore$Entry sun.security.pkcs12.PKCS12KeyStore$KeyEntry sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
InnerClasses:
public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
public abstract Attribute = java.security.KeyStore$Entry$Attribute of java.security.KeyStore$Entry
public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore
sun.security.pkcs12.PKCS12KeyStore$1
private CertEntry = sun.security.pkcs12.PKCS12KeyStore$CertEntry of sun.security.pkcs12.PKCS12KeyStore
public final DualFormatPKCS12 = sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12 of sun.security.pkcs12.PKCS12KeyStore
private Entry = sun.security.pkcs12.PKCS12KeyStore$Entry of sun.security.pkcs12.PKCS12KeyStore
private KeyEntry = sun.security.pkcs12.PKCS12KeyStore$KeyEntry of sun.security.pkcs12.PKCS12KeyStore
private PrivateKeyEntry = sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry of sun.security.pkcs12.PKCS12KeyStore
private SecretKeyEntry = sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry of sun.security.pkcs12.PKCS12KeyStore