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