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 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[] 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 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;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: iconst_3
anewarray java.lang.String
dup
iconst_0
1: ldc "1.2.840.113549.1.9.20"
aastore
dup
iconst_1
2: ldc "1.2.840.113549.1.9.21"
aastore
dup
iconst_2
3: ldc "2.16.840.1.113894.746875.1.1"
aastore
4: putstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Ljava/lang/String;
5: 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;
6: 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
7: 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
8: 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
9: 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
10: 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
11: 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
12: 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
13: putstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd40BitRC2CBC:[I
14: 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
15: putstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd3KeyTripleDESCBC:[I
16: 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
17: putstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage:[I
18: 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
19: 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;
20: 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;
21: 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;
22: 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;
23: 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;
24: 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;
25: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd40BitRC2CBC:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
26: putstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd40BitRC2CBC_OID:Lsun/security/util/ObjectIdentifier;
27: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd3KeyTripleDESCBC:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
28: putstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd3KeyTripleDESCBC_OID:Lsun/security/util/ObjectIdentifier;
29: 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;
30: iconst_1
anewarray sun.security.util.ObjectIdentifier
dup
iconst_0
31: new sun.security.util.ObjectIdentifier
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.AnyExtendedKeyUsage:[I
invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
aastore
32: putstatic sun.security.pkcs12.PKCS12KeyStore.AnyUsage:[Lsun/security/util/ObjectIdentifier;
33: goto 35
StackMap locals:
StackMap stack: java.io.IOException
34: pop
35: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
19 33 34 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 11
invokevirtual sun.security.pkcs12.PKCS12KeyStore.parseAlgParameters:(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
invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 13
start local 13 39: aload 13
iconst_2
aload 12
aload 7
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
40: aload 13
aload 6
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 11
start local 11 41: goto 47
end local 13 end local 12 end local 11 42: StackMap locals:
StackMap stack: java.lang.Exception
astore 12
start local 12 43: aload 2
arraylength
ifne 46
44: iconst_1
newarray 5
astore 2
45: goto 37
46: 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 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 byte[]
StackMap stack:
new sun.security.util.DerValue
dup
aload 11
invokespecial sun.security.util.DerValue.<init>:([B)V
astore 12
start local 12 48: aload 12
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 13
start local 13 49: aload 13
invokevirtual sun.security.util.DerInputStream.getInteger:()I
pop
50: aload 13
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 14
start local 14 51: aload 14
arraylength
iconst_1
if_icmplt 52
aload 14
arraylength
iconst_2
if_icmple 53
52: StackMap locals: sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
new java.io.IOException
dup
ldc "Invalid length for AlgorithmIdentifier"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
53: StackMap locals:
StackMap stack:
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 54: aload 15
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
astore 16
start local 16 55: aload 3
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 66
56: aload 16
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
astore 17
start local 17 57: new java.security.spec.PKCS8EncodedKeySpec
dup
aload 11
invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
astore 18
start local 18 58: aload 17
aload 18
invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
astore 4
59: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 91
60: 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
61: 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;
62: 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;
63: 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;
64: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 18 end local 17 65: goto 91
66: StackMap locals: sun.security.x509.AlgorithmId java.lang.String
StackMap stack:
aload 13
invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
astore 17
start local 17 67: new javax.crypto.spec.SecretKeySpec
dup
aload 17
aload 16
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
68: astore 18
start local 18 69: aload 16
ldc "PBE"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 76
70: aload 16
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
71: astore 19
start local 19 72: aload 19
aload 18
ldc Ljavax/crypto/spec/PBEKeySpec;
invokevirtual javax.crypto.SecretKeyFactory.getKeySpec:(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
73: astore 20
start local 20 74: aload 19
aload 20
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 4
end local 20 end local 19 75: goto 77
76: StackMap locals: byte[] javax.crypto.spec.SecretKeySpec
StackMap stack:
aload 18
astore 4
77: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 91
78: 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
79: 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;
80: 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;
81: 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;
82: 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 83: goto 91
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
84: astore 9
start local 9 85: new java.security.UnrecoverableKeyException
dup
new java.lang.StringBuilder
dup
ldc "Get Key failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
86: 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;
87: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
88: astore 10
start local 10 89: aload 10
aload 9
invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
90: aload 10
athrow
end local 10 end local 9 91: 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 92 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 92 1 alias Ljava/lang/String;
0 92 2 password [C
1 92 3 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
2 92 4 key Ljava/security/Key;
5 92 5 encrBytes [B
15 20 6 encryptedKey [B
27 92 6 encryptedKey [B
19 20 7 algParams Ljava/security/AlgorithmParameters;
27 92 7 algParams Ljava/security/AlgorithmParameters;
18 20 8 algOid Lsun/security/util/ObjectIdentifier;
27 92 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 83 10 ic I
41 42 11 keyInfo [B
47 83 11 keyInfo [B
38 42 12 skey Ljavax/crypto/SecretKey;
39 42 13 cipher Ljavax/crypto/Cipher;
43 47 12 e Ljava/lang/Exception;
48 83 12 val Lsun/security/util/DerValue;
49 83 13 in Lsun/security/util/DerInputStream;
51 83 14 value [Lsun/security/util/DerValue;
54 83 15 algId Lsun/security/x509/AlgorithmId;
55 83 16 keyAlgo Ljava/lang/String;
57 65 17 kfac Ljava/security/KeyFactory;
58 65 18 kspec Ljava/security/spec/PKCS8EncodedKeySpec;
67 83 17 keyBytes [B
69 83 18 secretKeySpec Ljavax/crypto/spec/SecretKeySpec;
72 75 19 sKeyFactory Ljavax/crypto/SecretKeyFactory;
74 75 20 pbeKeySpec Ljava/security/spec/KeySpec;
85 91 9 e Ljava/lang/Exception;
89 91 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 41 42 Class java.lang.Exception
27 83 84 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=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
aconst_null
invokevirtual sun.security.pkcs12.PKCS12KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;Ljava/util/Set;)V
1: return
end local 4 end local 3 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 key Ljava/security/Key;
0 2 3 password [C
0 2 4 chain [Ljava/security/cert/Certificate;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
password
chain
private void setKeyEntry(java.lang.String, java.security.Key, char[], java.security.cert.Certificate[], java.util.Set<sun.security.pkcs12.PKCS12Attribute>);
descriptor: (Ljava/lang/String;Ljava/security/Key;[C[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 28
1: new sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.<init>:()V
astore 7
start local 7 2: aload 7
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.date:Ljava/util/Date;
3: aload 2
invokeinterface java.security.Key.getFormat:()Ljava/lang/String;
ldc "PKCS#8"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
4: aload 2
invokeinterface java.security.Key.getFormat:()Ljava/lang/String;
ldc "PKCS8"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
5: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key char[] 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 11
6: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
7: new java.lang.StringBuilder
dup
ldc "Setting a protected private key at alias '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: 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;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 7
12: aload 0
aload 2
invokeinterface java.security.Key.getEncoded:()[B
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey:([B[C)[B
13: putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
14: goto 16
15: 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
16: StackMap locals:
StackMap stack:
aload 4
ifnull 25
17: aload 4
arraylength
iconst_1
if_icmple 19
aload 0
aload 4
invokevirtual sun.security.pkcs12.PKCS12KeyStore.validateChain:([Ljava/security/cert/Certificate;)Z
ifne 19
18: new java.security.KeyStoreException
dup
ldc "Certificate chain is not valid"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
19: 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;
20: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
aload 4
arraylength
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
21: 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 "Setting a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
23: 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;
24: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
26: aload 7
astore 6
end local 7 start local 6 27: goto 49
end local 6 StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key char[] java.security.cert.Certificate[] java.util.Set
StackMap stack:
28: aload 2
instanceof javax.crypto.SecretKey
ifeq 48
29: new sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.<init>:()V
astore 7
start local 7 30: aload 7
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.date:Ljava/util/Date;
31: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 8
start local 8 32: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 9
start local 9 33: aload 9
iconst_0
invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
34: 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 35: aload 10
aload 9
invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
36: aload 9
aload 2
invokeinterface java.security.Key.getEncoded:()[B
invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
37: aload 8
bipush 48
aload 9
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
38: aload 7
39: aload 0
aload 8
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey:([B[C)[B
40: putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
41: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 45
42: 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
43: 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;
44: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
45: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key char[] 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
46: aload 7
astore 6
end local 10 end local 9 end local 8 end local 7 start local 6 47: goto 49
end local 6 48: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key char[] 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 49: 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;
50: aload 5
ifnull 52
51: aload 6
getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
52: 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
53: 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;
54: 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 55: goto 60
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key char[] java.security.cert.Certificate[] java.util.Set
StackMap stack: java.lang.Exception
56: astore 6
start local 6 57: 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
58: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
59: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 60: 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 61 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 61 1 alias Ljava/lang/String;
0 61 2 key Ljava/security/Key;
0 61 3 password [C
0 61 4 chain [Ljava/security/cert/Certificate;
0 61 5 attributes Ljava/util/Set<Lsun/security/pkcs12/PKCS12Attribute;>;
27 28 6 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
47 48 6 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
49 55 6 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
2 27 7 keyEntry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
30 47 7 keyEntry Lsun/security/pkcs12/PKCS12KeyStore$SecretKeyEntry;
32 47 8 pkcs8 Lsun/security/util/DerOutputStream;
33 47 9 secretKeyInfo Lsun/security/util/DerOutputStream;
35 47 10 algId Lsun/security/x509/AlgorithmId;
57 60 6 nsae Ljava/lang/Exception;
Exception table:
from to target type
0 55 56 Class java.lang.Exception
Exceptions:
throws java.security.KeyStoreException
Signature: (Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;Ljava/util/Set<Lsun/security/pkcs12/PKCS12Attribute;>;)V
MethodParameters:
Name Flags
alias
key
password
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: new sun.security.pkcs.EncryptedPrivateKeyInfo
aload 2
invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:([B)V
1: goto 6
StackMap locals:
StackMap stack: java.io.IOException
2: astore 4
start local 4 3: 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
4: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
5: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 6: StackMap locals:
StackMap stack:
new sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.<init>:()V
astore 4
start local 4 7: aload 4
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.date:Ljava/util/Date;
8: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 12
9: 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
10: 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;
11: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
12: 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
13: goto 15
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
14: pop
15: 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;
16: aload 4
aload 2
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
17: aload 3
ifnull 26
18: aload 3
arraylength
iconst_1
if_icmple 20
aload 0
aload 3
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 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;
21: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
aload 3
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
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
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 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
28: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 29 1 alias Ljava/lang/String;
0 29 2 key [B
0 29 3 chain [Ljava/security/cert/Certificate;
3 6 4 ioe Ljava/io/IOException;
7 29 4 entry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
Exception table:
from to target type
0 1 2 Class java.io.IOException
12 13 14 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.DerInputStream);
descriptor: (Lsun/security/util/DerInputStream;)Ljava/security/AlgorithmParameters;
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: aload 1
invokevirtual sun.security.util.DerInputStream.available:()I
ifne 4
2: aconst_null
astore 3
start local 3 3: goto 7
end local 3 4: StackMap locals: java.security.AlgorithmParameters
StackMap stack:
aload 1
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 3
start local 3 5: aload 3
getfield sun.security.util.DerValue.tag:B
iconst_5
if_icmpne 7
6: aconst_null
astore 3
7: StackMap locals: sun.security.util.DerValue
StackMap stack:
aload 3
ifnull 15
8: ldc "PBE"
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 2
9: aload 2
aload 3
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokevirtual java.security.AlgorithmParameters.init:([B)V
end local 3 10: goto 15
StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream java.security.AlgorithmParameters
StackMap stack: java.lang.Exception
11: astore 3
start local 3 12: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "parseAlgParameters failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: 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
14: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 15: StackMap locals:
StackMap stack:
aload 2
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 in Lsun/security/util/DerInputStream;
1 16 2 algParams Ljava/security/AlgorithmParameters;
3 4 3 params Lsun/security/util/DerValue;
5 10 3 params Lsun/security/util/DerValue;
12 15 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 10 11 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
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[], char[]);
descriptor: ([B[C)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
ldc "PBEWithSHA1AndDESede"
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEAlgorithmParameters:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
2: astore 4
start local 4 3: aload 0
aload 2
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
astore 5
start local 5 4: ldc "PBEWithSHA1AndDESede"
invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 6
start local 6 5: aload 6
iconst_1
aload 5
aload 4
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
6: aload 6
aload 1
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 7
start local 7 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 " (Cipher algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual javax.crypto.Cipher.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: 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 byte[] char[] byte[] java.security.AlgorithmParameters javax.crypto.SecretKey javax.crypto.Cipher byte[]
StackMap stack:
new sun.security.x509.AlgorithmId
dup
getstatic sun.security.pkcs12.PKCS12KeyStore.pbeWithSHAAnd3KeyTripleDESCBC_OID:Lsun/security/util/ObjectIdentifier;
aload 4
invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)V
12: astore 8
start local 8 13: new sun.security.pkcs.EncryptedPrivateKeyInfo
dup
aload 8
aload 7
invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:(Lsun/security/x509/AlgorithmId;[B)V
14: astore 9
start local 9 15: aload 9
invokevirtual sun.security.pkcs.EncryptedPrivateKeyInfo.getEncoded:()[B
astore 3
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 16: goto 24
StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] char[] byte[]
StackMap stack: java.lang.Exception
17: astore 4
start local 4 18: new java.security.UnrecoverableKeyException
dup
new java.lang.StringBuilder
dup
ldc "Encrypt Private Key failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: 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;
20: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
21: astore 5
start local 5 22: aload 5
aload 4
invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
23: aload 5
athrow
end local 5 end local 4 24: 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 25 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 25 1 data [B
0 25 2 password [C
1 25 3 key [B
3 16 4 algParams Ljava/security/AlgorithmParameters;
4 16 5 skey Ljavax/crypto/SecretKey;
5 16 6 cipher Ljavax/crypto/Cipher;
7 16 7 encryptedKey [B
13 16 8 algid Lsun/security/x509/AlgorithmId;
15 16 9 encrInfo Lsun/security/pkcs/EncryptedPrivateKeyInfo;
18 24 4 e Ljava/lang/Exception;
22 24 5 uke Ljava/security/UnrecoverableKeyException;
Exception table:
from to target type
1 16 17 Class java.lang.Exception
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
MethodParameters:
Name Flags
data
password
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<sun.security.pkcs12.PKCS12Attribute>);
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 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 1: aload 4
ifnull 3
aload 4
instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
ifeq 3
2: new java.security.KeyStoreException
dup
ldc "Cannot overwrite own certificate"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
3: 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;
4: aload 3
5: invokespecial sun.security.pkcs12.PKCS12KeyStore$CertEntry.<init>:(Ljava/security/cert/X509Certificate;[BLjava/lang/String;[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)V
6: astore 5
start local 5 7: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
8: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
aload 1
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
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 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;
11: 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$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 14 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 14 1 alias Ljava/lang/String;
0 14 2 cert Ljava/security/cert/Certificate;
0 14 3 attributes Ljava/util/Set<Lsun/security/pkcs12/PKCS12Attribute;>;
1 14 4 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
7 14 5 certEntry Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
Exceptions:
throws java.security.KeyStoreException
Signature: (Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set<Lsun/security/pkcs12/PKCS12Attribute;>;)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=5, locals=9, 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: invokestatic sun.misc.SharedSecrets.getJavaSecurityKeyStoreAccess:()Lsun/misc/JavaSecurityKeyStoreAccess;
astore 4
start local 4 4: aload 2
ifnonnull 18
5: aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsCertificateEntry:(Ljava/lang/String;)Z
ifeq 15
6: aload 3
instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
ifeq 18
7: aload 3
checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
ifnull 18
8: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 12
9: 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
10: 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;
11: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
12: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry sun.misc.JavaSecurityKeyStoreAccess
StackMap stack:
aload 4
13: 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;
14: invokeinterface sun.misc.JavaSecurityKeyStoreAccess.constructTrustedCertificateEntry:(Ljava/security/cert/Certificate;Ljava/util/Set;)Ljava/security/KeyStore$TrustedCertificateEntry;
areturn
15: StackMap locals:
StackMap stack:
new java.security.UnrecoverableKeyException
dup
16: ldc "requested entry requires a password"
17: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$PasswordProtection
ifeq 41
19: aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsCertificateEntry:(Ljava/lang/String;)Z
ifeq 23
20: new java.lang.UnsupportedOperationException
dup
21: ldc "trusted certificate entries are not password-protected"
22: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsKeyEntry:(Ljava/lang/String;)Z
ifeq 37
24: aload 2
checkcast java.security.KeyStore$PasswordProtection
25: astore 5
start local 5 26: aload 5
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
astore 6
start local 6 27: aload 0
aload 1
aload 6
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineGetKey:(Ljava/lang/String;[C)Ljava/security/Key;
astore 7
start local 7 28: aload 7
instanceof java.security.PrivateKey
ifeq 33
29: aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineGetCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
astore 8
start local 8 30: aload 4
aload 7
checkcast java.security.PrivateKey
aload 8
31: aload 0
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getAttributes:(Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
32: invokeinterface sun.misc.JavaSecurityKeyStoreAccess.constructPrivateKeyEntry:(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/util/Set;)Ljava/security/KeyStore$PrivateKeyEntry;
areturn
end local 8 33: StackMap locals: java.security.KeyStore$PasswordProtection char[] java.security.Key
StackMap stack:
aload 7
instanceof javax.crypto.SecretKey
ifeq 41
34: aload 4
aload 7
checkcast javax.crypto.SecretKey
35: aload 0
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getAttributes:(Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
36: invokeinterface sun.misc.JavaSecurityKeyStoreAccess.constructSecretKeyEntry:(Ljavax/crypto/SecretKey;Ljava/util/Set;)Ljava/security/KeyStore$SecretKeyEntry;
areturn
end local 7 end local 6 end local 5 37: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsKeyEntry:(Ljava/lang/String;)Z
ifne 41
38: new java.lang.UnsupportedOperationException
dup
39: ldc "untrusted certificate entries are not password-protected"
40: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 42 1 alias Ljava/lang/String;
0 42 2 protParam Ljava/security/KeyStore$ProtectionParameter;
3 42 3 entry Lsun/security/pkcs12/PKCS12KeyStore$Entry;
4 42 4 jsksa Lsun/misc/JavaSecurityKeyStoreAccess;
26 37 5 pp Ljava/security/KeyStore$PasswordProtection;
27 37 6 password [C
28 37 7 key Ljava/security/Key;
30 33 8 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=7, locals=7, 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:
invokestatic sun.misc.SharedSecrets.getJavaSecurityKeyStoreAccess:()Lsun/misc/JavaSecurityKeyStoreAccess;
astore 5
start local 5 7: aload 2
instanceof java.security.KeyStore$TrustedCertificateEntry
ifeq 18
8: aload 3
ifnull 12
aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
ifnull 12
9: new java.security.KeyStoreException
dup
10: ldc "trusted certificate entries are not password-protected"
11: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: sun.misc.JavaSecurityKeyStoreAccess
StackMap stack:
aload 2
checkcast java.security.KeyStore$TrustedCertificateEntry
13: astore 6
start local 6 14: aload 0
aload 1
aload 6
invokevirtual java.security.KeyStore$TrustedCertificateEntry.getTrustedCertificate:()Ljava/security/cert/Certificate;
15: aload 5
aload 6
invokeinterface sun.misc.JavaSecurityKeyStoreAccess.getTrustedCertificateEntryAttributes:(Ljava/security/KeyStore$TrustedCertificateEntry;)Ljava/util/Set;
16: invokevirtual sun.security.pkcs12.PKCS12KeyStore.setCertEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set;)V
17: return
end local 6 18: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$PrivateKeyEntry
ifeq 29
19: aload 4
ifnull 20
aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
ifnonnull 23
20: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
21: ldc "non-null password required to create PrivateKeyEntry"
22: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 2
checkcast java.security.KeyStore$PrivateKeyEntry
astore 6
start local 6 24: aload 0
aload 1
aload 6
invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
25: aload 6
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
26: aload 5
aload 6
invokeinterface sun.misc.JavaSecurityKeyStoreAccess.getPrivateKeyEntryAttributes:(Ljava/security/KeyStore$PrivateKeyEntry;)Ljava/util/Set;
27: invokevirtual sun.security.pkcs12.PKCS12KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;Ljava/util/Set;)V
28: return
end local 6 29: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$SecretKeyEntry
ifeq 40
30: aload 4
ifnull 31
aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
ifnonnull 34
31: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
32: ldc "non-null password required to create SecretKeyEntry"
33: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals:
StackMap stack:
aload 2
checkcast java.security.KeyStore$SecretKeyEntry
astore 6
start local 6 35: aload 0
aload 1
aload 6
invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
36: aconst_null
37: aload 5
aload 6
invokeinterface sun.misc.JavaSecurityKeyStoreAccess.getSecretKeyEntryAttributes:(Ljava/security/KeyStore$SecretKeyEntry;)Ljava/util/Set;
38: invokevirtual sun.security.pkcs12.PKCS12KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;Ljava/util/Set;)V
39: return
end local 6 40: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
41: 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;
42: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
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 alias Ljava/lang/String;
0 43 2 entry Ljava/security/KeyStore$Entry;
0 43 3 protParam Ljava/security/KeyStore$ProtectionParameter;
4 43 4 pProtect Ljava/security/KeyStore$PasswordProtection;
7 43 5 jsksa Lsun/misc/JavaSecurityKeyStoreAccess;
14 18 6 tce Ljava/security/KeyStore$TrustedCertificateEntry;
24 29 6 pke Ljava/security/KeyStore$PrivateKeyEntry;
35 40 6 ske Ljava/security/KeyStore$SecretKeyEntry;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
entry
protParam
private java.util.Set<sun.security.pkcs12.PKCS12Attribute> 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 sun.security.pkcs12.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 sun.security.pkcs12.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 sun.security.pkcs12.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 sun.security.pkcs12.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 sun.security.pkcs12.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 sun.security.pkcs12.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 sun.security.pkcs12.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 sun.security.pkcs12.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<Lsun/security/pkcs12/PKCS12Attribute;>;
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 byte[] getBagAttributes(java.lang.String, byte[], java.util.Set<sun.security.pkcs12.PKCS12Attribute>);
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<Lsun/security/pkcs12/PKCS12Attribute;>;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;[BLjava/util/Set<Lsun/security/pkcs12/PKCS12Attribute;>;)[B
MethodParameters:
Name Flags
alias
keyId
attributes
private byte[] getBagAttributes(java.lang.String, byte[], sun.security.util.ObjectIdentifier[], java.util.Set<sun.security.pkcs12.PKCS12Attribute>);
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 sun.security.pkcs12.PKCS12Attribute
astore 10
start local 10 47: aload 10
invokevirtual sun.security.pkcs12.PKCS12Attribute.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 sun.security.pkcs12.PKCS12Attribute java.util.Iterator java.lang.String
StackMap stack:
aload 9
aload 10
invokevirtual sun.security.pkcs12.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<Lsun/security/pkcs12/PKCS12Attribute;>;
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 Lsun/security/pkcs12/PKCS12Attribute;
48 53 12 attributeName Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;[B[Lsun/security/util/ObjectIdentifier;Ljava/util/Set<Lsun/security/pkcs12/PKCS12Attribute;>;)[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 16
12: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 14
13: 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
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:
aload 7
invokevirtual sun.security.pkcs.ContentInfo.getData:()[B
astore 6
start local 6 15: goto 17
end local 6 16: StackMap locals:
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 17: 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 18: aload 9
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 10
start local 10 19: aload 10
arraylength
istore 11
start local 11 20: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
21: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
22: aload 0
iconst_0
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
23: iconst_0
istore 12
start local 12 24: goto 92
25: 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 26: new sun.security.pkcs.ContentInfo
dup
aload 15
invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;)V
astore 14
start local 14 27: aload 14
invokevirtual sun.security.pkcs.ContentInfo.getContentType:()Lsun/security/util/ObjectIdentifier;
astore 8
28: aconst_null
astore 13
start local 13 29: 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
30: aload 14
invokevirtual sun.security.pkcs.ContentInfo.getData:()[B
astore 13
31: goto 89
StackMap locals: byte[] sun.security.pkcs.ContentInfo sun.security.util.DerInputStream
StackMap stack:
32: aload 8
getstatic sun.security.pkcs.ContentInfo.ENCRYPTED_DATA_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Lsun/security/util/ObjectIdentifier;)Z
ifeq 88
33: aload 2
ifnonnull 37
34: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 91
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 91
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_3
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 17
start local 17 41: aload 17
arraylength
iconst_3
if_icmpeq 43
42: new java.io.IOException
dup
ldc "Invalid length for EncryptedContentInfo"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
43: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 17
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
pop
44: aload 17
iconst_1
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
pop
45: aload 17
iconst_2
aaload
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 49
46: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "unsupported encrypted content type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
47: aload 17
iconst_2
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;
48: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
iconst_4
istore 18
start local 18 50: aload 17
iconst_2
aaload
invokevirtual sun.security.util.DerValue.isConstructed:()Z
ifeq 52
51: iload 18
bipush 32
ior
i2b
istore 18
52: StackMap locals: int
StackMap stack:
aload 17
iconst_2
aaload
iload 18
invokevirtual sun.security.util.DerValue.resetTag:(B)V
53: aload 17
iconst_2
aaload
invokevirtual sun.security.util.DerValue.getOctetString:()[B
astore 13
54: aload 17
iconst_1
aaload
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 19
start local 19 55: aload 19
invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
astore 20
start local 20 56: aload 0
aload 19
invokevirtual sun.security.pkcs12.PKCS12KeyStore.parseAlgParameters:(Lsun/security/util/DerInputStream;)Ljava/security/AlgorithmParameters;
astore 21
start local 21 57: iconst_0
istore 23
start local 23 58: aload 21
ifnull 69
59: aload 21
ldc Ljavax/crypto/spec/PBEParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
checkcast javax.crypto.spec.PBEParameterSpec
60: astore 22
start local 22 61: goto 66
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
62: pop
63: new java.io.IOException
dup
64: ldc "Invalid PBE algorithm parameters"
65: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
start local 22 66: 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
67: iload 23
ldc 5000000
if_icmple 69
68: new java.io.IOException
dup
ldc "PBE iteration count too large"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 22 69: 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 74
70: 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
71: 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;
72: 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;
73: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
74: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
astore 24
start local 24 75: 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 76: aload 25
iconst_2
aload 24
aload 21
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
77: aload 25
aload 13
invokevirtual javax.crypto.Cipher.doFinal:([B)[B
astore 13
78: goto 89
end local 25 end local 24 79: StackMap locals:
StackMap stack: java.lang.Exception
astore 24
start local 24 80: aload 2
arraylength
ifne 83
81: iconst_1
newarray 5
astore 2
82: goto 74
83: StackMap locals: java.lang.Exception
StackMap stack:
new java.io.IOException
dup
ldc "keystore password was incorrect"
84: new java.security.UnrecoverableKeyException
dup
85: 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;
86: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
87: 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 88: 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
89: 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 90: 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 91: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
92: iload 12
iload 11
if_icmplt 25
end local 12 93: aload 2
ifnull 118
aload 4
invokevirtual sun.security.util.DerInputStream.available:()I
ifle 118
94: new sun.security.pkcs12.MacData
dup
aload 4
invokespecial sun.security.pkcs12.MacData.<init>:(Lsun/security/util/DerInputStream;)V
astore 12
start local 12 95: aload 12
invokevirtual sun.security.pkcs12.MacData.getIterations:()I
istore 13
start local 13 96: iload 13
ldc 5000000
if_icmple 100
97: new java.security.InvalidAlgorithmParameterException
dup
98: 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;
99: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
100: 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;
101: astore 14
start local 14 102: aload 14
ldc "-"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 14
103: 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 104: 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
105: astore 16
start local 16 106: aload 0
aload 2
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
astore 17
start local 17 107: aload 15
aload 17
aload 16
invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
108: aload 15
aload 6
invokevirtual javax.crypto.Mac.update:([B)V
109: aload 15
invokevirtual javax.crypto.Mac.doFinal:()[B
astore 18
start local 18 110: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 114
111: 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
112: 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;
113: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
114: 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 118
115: 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 116: 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 117: 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 118: 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[]
119: astore 12
start local 12 120: iconst_0
istore 13
start local 13 121: goto 149
122: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] int
StackMap stack:
aload 12
iload 13
aaload
astore 14
start local 14 123: aload 14
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.keyId:[B
ifnull 148
124: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
125: astore 15
start local 15 126: aload 0
aload 14
invokevirtual sun.security.pkcs12.PKCS12KeyStore.findMatchedCertificate:(Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;)Ljava/security/cert/X509Certificate;
astore 16
start local 16 127: goto 145
128: 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 140
129: aload 15
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 18
goto 139
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:
130: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 17
start local 17 131: aload 16
aload 17
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 139
132: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 146
133: 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
134: aload 16
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
135: invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
136: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
137: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
138: goto 146
end local 17 139: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 130
140: 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
141: aload 16
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 17
start local 17 142: 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 144
143: goto 146
144: 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 145: StackMap locals:
StackMap stack:
aload 16
ifnonnull 128
146: StackMap locals:
StackMap stack:
aload 15
invokevirtual java.util.ArrayList.size:()I
ifle 148
147: 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 148: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
149: iload 13
aload 12
arraylength
if_icmplt 122
end local 13 150: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 163
151: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount: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.privateKeyCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
153: ldc " protected private 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.secretKeyCount: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.secretKeyCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
157: ldc " protected secret key(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.certificateCount:I
ifle 163
160: 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;
161: ldc " certificate(s)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
162: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
163: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
164: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certsMap:Ljava/util/LinkedHashMap;
invokevirtual java.util.LinkedHashMap.clear:()V
165: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
166: 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 167 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 167 1 stream Ljava/io/InputStream;
0 167 2 password [C
4 167 3 val Lsun/security/util/DerValue;
5 167 4 s Lsun/security/util/DerInputStream;
6 167 5 version I
15 16 6 authSafeData [B
17 167 6 authSafeData [B
10 167 7 authSafe Lsun/security/pkcs/ContentInfo;
11 167 8 contentType Lsun/security/util/ObjectIdentifier;
18 167 9 as Lsun/security/util/DerInputStream;
19 167 10 safeContentsArray [Lsun/security/util/DerValue;
20 167 11 count I
24 93 12 i I
29 91 13 safeContentsData [B
27 91 14 safeContents Lsun/security/pkcs/ContentInfo;
26 91 15 sci Lsun/security/util/DerInputStream;
39 88 16 edi Lsun/security/util/DerInputStream;
41 88 17 seq [Lsun/security/util/DerValue;
50 88 18 newTag B
55 88 19 in Lsun/security/util/DerInputStream;
56 88 20 algOid Lsun/security/util/ObjectIdentifier;
57 88 21 algParams Ljava/security/AlgorithmParameters;
61 62 22 pbeSpec Ljavax/crypto/spec/PBEParameterSpec;
66 69 22 pbeSpec Ljavax/crypto/spec/PBEParameterSpec;
58 88 23 ic I
75 79 24 skey Ljavax/crypto/SecretKey;
76 79 25 cipher Ljavax/crypto/Cipher;
80 88 24 e Ljava/lang/Exception;
90 91 16 sc Lsun/security/util/DerInputStream;
95 118 12 macData Lsun/security/pkcs12/MacData;
96 118 13 ic I
102 116 14 algName Ljava/lang/String;
104 116 15 m Ljavax/crypto/Mac;
106 116 16 params Ljavax/crypto/spec/PBEParameterSpec;
107 116 17 key Ljavax/crypto/SecretKey;
110 116 18 macResult [B
117 118 14 e Ljava/lang/Exception;
120 167 12 list [Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
121 150 13 m I
123 148 14 entry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
126 148 15 chain Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
127 148 16 cert Ljava/security/cert/X509Certificate;
131 139 17 chainCert Ljava/security/cert/X509Certificate;
142 145 17 issuerDN Ljavax/security/auth/x500/X500Principal;
Exception table:
from to target type
59 61 62 Class java.security.spec.InvalidParameterSpecException
74 78 79 Class java.lang.Exception
96 116 116 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 148
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 57
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 37
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
arraylength
iconst_2
if_icmpeq 24
23: new java.io.IOException
dup
ldc "Invalid length for CertBag"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 11
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
pop
25: aload 11
iconst_1
aaload
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 29
26: 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
27: 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;
28: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
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 30: ldc "X509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 13
start local 13 31: aload 13
32: new java.io.ByteArrayInputStream
dup
aload 12
invokevirtual sun.security.util.DerValue.getOctetString:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
33: invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
astore 14
start local 14 34: aload 14
astore 9
35: 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 36: goto 57
StackMap locals:
StackMap stack:
37: aload 6
getstatic sun.security.pkcs12.PKCS12KeyStore.SecretBag_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 55
38: 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 39: aload 10
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 11
start local 11 40: aload 11
arraylength
iconst_2
if_icmpeq 42
41: new java.io.IOException
dup
ldc "Invalid length for SecretBag"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 11
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
pop
43: aload 11
iconst_1
aaload
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 49
44: new java.io.IOException
dup
45: new java.lang.StringBuilder
dup
ldc "unsupported PKCS12 secret value type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
46: aload 11
iconst_1
aaload
getfield sun.security.util.DerValue.tag:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
47: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
48: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
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 50: new sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.<init>:()V
astore 13
start local 13 51: aload 13
aload 12
invokevirtual sun.security.util.DerValue.getOctetString:()[B
putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
52: aload 13
astore 9
53: 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 54: goto 57
55: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 57
56: 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
57: StackMap locals:
StackMap stack:
aload 7
iconst_3
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 10
start local 10 58: goto 61
end local 10 StackMap locals:
StackMap stack: java.io.IOException
59: pop
60: aconst_null
astore 10
start local 10 61: StackMap locals: sun.security.util.DerValue[]
StackMap stack:
aconst_null
astore 11
start local 11 62: aconst_null
astore 12
start local 12 63: aconst_null
astore 13
start local 13 64: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 14
start local 14 65: aload 10
ifnull 99
66: iconst_0
istore 15
start local 15 67: goto 98
68: 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 69: new sun.security.util.DerInputStream
dup
aload 16
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 17
start local 17 70: aload 17
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 18
start local 18 71: aload 18
arraylength
iconst_2
if_icmpeq 73
72: new java.io.IOException
dup
ldc "Invalid length for Attribute"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
73: StackMap locals: byte[] sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 18
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
astore 19
start local 19 74: 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
75: astore 20
start local 20 76: aload 20
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 21
start local 21 77: goto 82
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
78: astore 22
start local 22 79: 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;
80: 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;
81: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 22 start local 21 82: 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 85
83: aload 21
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getBMPString:()Ljava/lang/String;
astore 11
84: goto 97
StackMap locals:
StackMap stack:
85: aload 19
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 88
86: aload 21
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOctetString:()[B
astore 12
87: goto 97
88: 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 96
89: aload 21
arraylength
anewarray sun.security.util.ObjectIdentifier
astore 13
90: iconst_0
istore 22
start local 22 91: goto 94
92: 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
93: iinc 22 1
StackMap locals:
StackMap stack:
94: iload 22
aload 21
arraylength
if_icmplt 92
end local 22 95: goto 97
96: StackMap locals:
StackMap stack:
aload 14
new sun.security.pkcs12.PKCS12Attribute
dup
aload 16
invokespecial sun.security.pkcs12.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 97: 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:
98: iload 15
aload 10
arraylength
if_icmplt 68
end local 15 99: StackMap locals:
StackMap stack:
aload 9
instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
ifeq 128
100: aload 9
checkcast sun.security.pkcs12.PKCS12KeyStore$KeyEntry
astore 15
start local 15 101: aload 9
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 105
102: aload 12
ifnonnull 105
103: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
if_icmpne 147
104: ldc "01"
ldc "UTF8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
astore 12
105: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$KeyEntry
StackMap stack:
aload 15
aload 12
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.keyId:[B
106: new java.lang.String
dup
aload 12
ldc "UTF8"
invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
astore 16
start local 16 107: aconst_null
astore 17
start local 17 108: aload 16
ldc "Time "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 115
109: new java.util.Date
dup
110: aload 16
iconst_5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
111: invokespecial java.util.Date.<init>:(J)V
astore 17
112: goto 115
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
113: pop
114: aconst_null
astore 17
115: StackMap locals:
StackMap stack:
aload 17
ifnonnull 117
116: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 17
117: StackMap locals:
StackMap stack:
aload 15
aload 17
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.date:Ljava/util/Date;
118: aload 9
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 120
119: 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
120: StackMap locals:
StackMap stack:
aload 15
getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
ifnonnull 122
121: aload 15
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
122: 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
123: aload 11
ifnonnull 125
124: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getUnfriendlyName:()Ljava/lang/String;
astore 11
125: StackMap locals:
StackMap stack:
aload 15
aload 11
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.alias:Ljava/lang/String;
126: 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 127: goto 147
StackMap locals:
StackMap stack:
128: aload 9
instanceof java.security.cert.X509Certificate
ifeq 147
129: aload 9
checkcast java.security.cert.X509Certificate
astore 15
start local 15 130: aload 12
ifnonnull 133
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
if_icmpne 133
131: iload 5
ifne 133
132: ldc "01"
ldc "UTF8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
astore 12
133: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 13
ifnull 142
134: aload 11
ifnonnull 136
135: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getUnfriendlyName:()Ljava/lang/String;
astore 11
136: StackMap locals:
StackMap stack:
new sun.security.pkcs12.PKCS12KeyStore$CertEntry
dup
aload 15
aload 12
aload 11
aload 13
137: aload 14
138: invokespecial sun.security.pkcs12.PKCS12KeyStore$CertEntry.<init>:(Ljava/security/cert/X509Certificate;[BLjava/lang/String;[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)V
139: astore 16
start local 16 140: 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 141: goto 143
142: 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
143: StackMap locals:
StackMap stack:
aload 15
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 16
start local 16 144: aload 16
ifnull 147
145: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certsMap:Ljava/util/LinkedHashMap;
aload 16
invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
ifne 147
146: 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 147: 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:
148: iload 5
iload 4
if_icmplt 4
end local 5 149: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 150 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 150 1 stream Lsun/security/util/DerInputStream;
0 150 2 password [C
1 150 3 safeBags [Lsun/security/util/DerValue;
2 150 4 count I
3 149 5 i I
7 147 6 bagId Lsun/security/util/ObjectIdentifier;
6 147 7 sbi Lsun/security/util/DerInputStream;
8 147 8 bagValue Lsun/security/util/DerValue;
5 147 9 bagItem Ljava/lang/Object;
15 18 10 kEntry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
21 36 10 cs Lsun/security/util/DerInputStream;
22 36 11 certValues [Lsun/security/util/DerValue;
30 36 12 certValue Lsun/security/util/DerValue;
31 36 13 cf Ljava/security/cert/CertificateFactory;
34 36 14 cert Ljava/security/cert/X509Certificate;
39 54 10 ss Lsun/security/util/DerInputStream;
40 54 11 secretValues [Lsun/security/util/DerValue;
50 54 12 secretValue Lsun/security/util/DerValue;
51 54 13 kEntry Lsun/security/pkcs12/PKCS12KeyStore$SecretKeyEntry;
58 59 10 attrSet [Lsun/security/util/DerValue;
61 147 10 attrSet [Lsun/security/util/DerValue;
62 147 11 alias Ljava/lang/String;
63 147 12 keyId [B
64 147 13 trustedKeyUsage [Lsun/security/util/ObjectIdentifier;
65 147 14 attributes Ljava/util/Set<Lsun/security/pkcs12/PKCS12Attribute;>;
67 99 15 j I
69 97 16 encoded [B
70 97 17 as Lsun/security/util/DerInputStream;
71 97 18 attrSeq [Lsun/security/util/DerValue;
74 97 19 attrId Lsun/security/util/ObjectIdentifier;
76 97 20 vs Lsun/security/util/DerInputStream;
77 78 21 valSet [Lsun/security/util/DerValue;
82 97 21 valSet [Lsun/security/util/DerValue;
79 82 22 e Ljava/io/IOException;
91 95 22 k I
101 127 15 entry Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;
107 127 16 keyIdStr Ljava/lang/String;
108 127 17 date Ljava/util/Date;
130 147 15 cert Ljava/security/cert/X509Certificate;
140 141 16 certEntry Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
144 147 16 subjectDN Ljavax/security/auth/x500/X500Principal;
Exception table:
from to target type
57 58 59 Class java.io.IOException
76 77 78 Class java.io.IOException
109 112 113 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;
}
SourceFile: "PKCS12KeyStore.java"
NestMembers:
sun.security.pkcs12.PKCS12KeyStore$CertEntry 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 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
private CertEntry = sun.security.pkcs12.PKCS12KeyStore$CertEntry 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