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 sun.security.util.KnownOIDs[] CORE_ATTRIBUTES;
descriptor: [Lsun/security/util/KnownOIDs;
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 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.List<java.security.cert.X509Certificate> allCerts;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/security/cert/X509Certificate;>;
private java.util.ArrayList<sun.security.pkcs12.PKCS12KeyStore$CertEntry> certEntries;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;>;
private static final long[][] ;
descriptor: [[J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long[][] ;
descriptor: [[J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: iconst_3
anewarray sun.security.util.KnownOIDs
dup
iconst_0
1: getstatic sun.security.util.KnownOIDs.FriendlyName:Lsun/security/util/KnownOIDs;
aastore
dup
iconst_1
2: getstatic sun.security.util.KnownOIDs.LocalKeyID:Lsun/security/util/KnownOIDs;
aastore
dup
iconst_2
3: getstatic sun.security.util.KnownOIDs.ORACLE_TrustedKeyUsage:Lsun/security/util/KnownOIDs;
aastore
4: putstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Lsun/security/util/KnownOIDs;
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: getstatic sun.security.util.KnownOIDs.PKCS8ShroudedKeyBag:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
7: putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS8ShroudedKeyBag_OID:Lsun/security/util/ObjectIdentifier;
8: getstatic sun.security.util.KnownOIDs.CertBag:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
9: putstatic sun.security.pkcs12.PKCS12KeyStore.CertBag_OID:Lsun/security/util/ObjectIdentifier;
10: getstatic sun.security.util.KnownOIDs.SecretBag:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
11: putstatic sun.security.pkcs12.PKCS12KeyStore.SecretBag_OID:Lsun/security/util/ObjectIdentifier;
12: getstatic sun.security.util.KnownOIDs.FriendlyName:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
13: putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9FriendlyName_OID:Lsun/security/util/ObjectIdentifier;
14: getstatic sun.security.util.KnownOIDs.LocalKeyID:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
15: putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
16: getstatic sun.security.util.KnownOIDs.CertTypeX509:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
17: putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9CertType_OID:Lsun/security/util/ObjectIdentifier;
18: getstatic sun.security.util.KnownOIDs.PBES2:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
19: putstatic sun.security.pkcs12.PKCS12KeyStore.pbes2_OID:Lsun/security/util/ObjectIdentifier;
20: getstatic sun.security.util.KnownOIDs.ORACLE_TrustedKeyUsage:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
21: putstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
22: iconst_1
anewarray sun.security.util.ObjectIdentifier
dup
iconst_0
23: getstatic sun.security.util.KnownOIDs.anyExtendedKeyUsage:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
aastore
24: putstatic sun.security.pkcs12.PKCS12KeyStore.AnyUsage:[Lsun/security/util/ObjectIdentifier;
25: bipush 9
anewarray long[]
dup
iconst_0
26: iconst_3
newarray 11
dup
iconst_0
ldc 3494795514211237894
lastore
dup
iconst_1
ldc 660487941423303937
lastore
dup
iconst_2
ldc 504861105470833664
lastore
aastore
dup
iconst_1
27: 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_2
28: 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_3
29: 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_4
30: 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_5
31: iconst_3
newarray 11
dup
iconst_0
ldc 3495637735769768195
lastore
dup
iconst_1
ldc 3495356260894190214
lastore
dup
iconst_2
ldc 5226136052833911200
lastore
aastore
dup
bipush 6
32: 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 7
33: 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 8
34: iconst_3
newarray 11
dup
iconst_0
ldc 3495919210746348033
lastore
dup
iconst_1
ldc 229828716530761734
lastore
dup
iconst_2
ldc 660487941423303937
lastore
aastore
35: putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
36: bipush 9
anewarray long[]
dup
iconst_0
37: iconst_3
newarray 11
dup
iconst_0
ldc -1
lastore
dup
iconst_1
ldc -1
lastore
dup
iconst_2
ldc -256
lastore
aastore
dup
iconst_1
38: 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_2
39: 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_3
40: 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_4
41: 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_5
42: iconst_3
newarray 11
dup
iconst_0
ldc -281474959933441
lastore
dup
iconst_1
ldc -281470681743361
lastore
dup
iconst_2
ldc -1
lastore
aastore
dup
bipush 6
43: 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 7
44: 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 8
45: iconst_3
newarray 11
dup
iconst_0
ldc -281474976645121
lastore
dup
iconst_1
ldc -1099511627521
lastore
dup
iconst_2
ldc -1
lastore
aastore
46: putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_MASKS:[[J
47: return
LocalVariableTable:
Start End Slot Name Signature
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
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore.allCerts:Ljava/util/List;
13: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
14: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 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;
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[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 63
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.security.KeyStoreException
57: astore 6
start local 6 58: aload 6
athrow
end local 6 59: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 60: 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
61: aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
62: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 63: 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 64 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 64 1 alias Ljava/lang/String;
0 64 2 key Ljava/security/Key;
0 64 3 passwordProtection Ljava/security/KeyStore$PasswordProtection;
0 64 4 chain [Ljava/security/cert/Certificate;
0 64 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 59 6 kse Ljava/security/KeyStoreException;
60 63 6 nsae Ljava/lang/Exception;
Exception table:
from to target type
0 56 57 Class java.security.KeyStoreException
0 56 59 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;
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.keyId:[B
14: 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;
15: aload 4
aload 2
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
16: aload 3
ifnull 25
17: aload 3
arraylength
iconst_1
if_icmple 19
aload 0
aload 3
invokevirtual sun.security.pkcs12.PKCS12KeyStore.validateChain:([Ljava/security/cert/Certificate;)Z
ifne 19
18: new java.security.KeyStoreException
dup
ldc "Certificate chain is not valid"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 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;
20: aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
aload 3
arraylength
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
21: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 25
22: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Setting a "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
23: ldc "-certificate chain at alias '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
iadd
putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
26: aload 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
27: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 28 1 alias Ljava/lang/String;
0 28 2 key [B
0 28 3 chain [Ljava/security/cert/Certificate;
4 7 4 ioe Ljava/io/IOException;
8 28 4 entry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
Exception table:
from to target type
1 2 3 Class java.io.IOException
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:[Lsun/security/util/KnownOIDs;
iconst_0
aaload
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 53
49: getstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Lsun/security/util/KnownOIDs;
iconst_1
aaload
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 53
50: getstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Lsun/security/util/KnownOIDs;
iconst_2
aaload
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
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 95
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 94
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 93
37: aload 2
ifnonnull 41
38: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 94
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 94
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_3
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 17
start local 17 45: aload 17
arraylength
iconst_3
if_icmpeq 47
46: new java.io.IOException
dup
ldc "Invalid length for EncryptedContentInfo"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 17
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
pop
48: aload 17
iconst_1
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
pop
49: aload 17
iconst_2
aaload
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 53
50: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "unsupported encrypted content type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
51: aload 17
iconst_2
aaload
getfield sun.security.util.DerValue.tag:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
52: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
53: StackMap locals:
StackMap stack:
iconst_4
istore 18
start local 18 54: aload 17
iconst_2
aaload
invokevirtual sun.security.util.DerValue.isConstructed:()Z
ifeq 56
55: iload 18
bipush 32
ior
i2b
istore 18
56: StackMap locals: int
StackMap stack:
aload 17
iconst_2
aaload
iload 18
invokevirtual sun.security.util.DerValue.resetTag:(B)V
57: aload 17
iconst_2
aaload
invokevirtual sun.security.util.DerValue.getOctetString:()[B
astore 19
start local 19 58: aload 17
iconst_1
aaload
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 20
start local 20 59: aload 20
invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
astore 21
start local 21 60: 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 61: iconst_0
istore 24
start local 24 62: aload 22
ifnull 78
63: aload 22
ldc Ljavax/crypto/spec/PBEParameterSpec;
invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
checkcast javax.crypto.spec.PBEParameterSpec
64: astore 23
start local 23 65: goto 70
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
66: pop
67: new java.io.IOException
dup
68: ldc "Invalid PBE algorithm parameters"
69: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
start local 23 70: 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
71: iload 24
ldc 5000000
if_icmple 73
72: new java.io.IOException
dup
ldc "cert PBE iteration count too large"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
73: StackMap locals:
StackMap stack:
aload 0
74: aload 21
aload 22
invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEParamsToAlgorithm:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
75: putfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
76: aload 0
iload 24
putfield sun.security.pkcs12.PKCS12KeyStore.certPbeIterationCount:I
77: iconst_1
istore 12
end local 23 78: 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 83
79: 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
80: 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;
81: 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;
82: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
83: 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;
84: aload 2
85: invokestatic sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run:(Lsun/security/pkcs12/PKCS12KeyStore$RetryWithZero;[C)Ljava/lang/Object;
pop
86: goto 94
StackMap locals:
StackMap stack: java.lang.Exception
87: astore 25
start local 25 88: new java.io.IOException
dup
ldc "keystore password was incorrect"
89: new java.security.UnrecoverableKeyException
dup
90: 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;
91: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
92: 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 93: 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 94: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
95: iload 13
iload 11
if_icmplt 28
end local 13 96: iload 12
ifne 98
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
ifle 98
97: aload 0
ldc "NONE"
putfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
98: StackMap locals:
StackMap stack:
aload 4
invokevirtual sun.security.util.DerInputStream.available:()I
ifle 120
99: aload 2
ifnull 121
100: new sun.security.pkcs12.MacData
dup
aload 4
invokespecial sun.security.pkcs12.MacData.<init>:(Lsun/security/util/DerInputStream;)V
astore 13
start local 13 101: aload 13
invokevirtual sun.security.pkcs12.MacData.getIterations:()I
istore 14
start local 14 102: iload 14
ldc 5000000
if_icmple 106
103: new java.security.InvalidAlgorithmParameterException
dup
104: 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;
105: invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
106: 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;
107: astore 15
start local 15 108: aload 15
ldc "-"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 15
109: 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;
110: aload 0
iload 14
putfield sun.security.pkcs12.PKCS12KeyStore.macIterationCount:I
111: 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 112: 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
113: astore 17
start local 17 114: 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;
115: aload 2
116: 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 117: goto 121
StackMap locals:
StackMap stack: java.lang.Exception
118: astore 15
start local 15 119: 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 120: StackMap locals:
StackMap stack:
aload 0
ldc "NONE"
putfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
121: 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[]
122: astore 13
start local 13 123: iconst_0
istore 14
start local 14 124: goto 153
125: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] int
StackMap stack:
aload 13
iload 14
aaload
astore 15
start local 15 126: aload 15
getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.keyId:[B
ifnull 152
127: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
128: astore 16
start local 16 129: aload 0
aload 15
invokevirtual sun.security.pkcs12.PKCS12KeyStore.findMatchedCertificate:(Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;)Ljava/security/cert/X509Certificate;
astore 17
start local 17 130: goto 147
131: 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 143
132: aload 16
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 19
goto 142
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:
133: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 18
start local 18 134: aload 17
aload 18
invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
ifeq 142
135: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 148
136: 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
137: aload 17
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
138: invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
139: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
140: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
141: goto 148
end local 18 142: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 133
143: 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
144: aload 17
invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
ifeq 146
145: goto 148
146: StackMap locals:
StackMap stack:
aload 0
aload 17
invokevirtual sun.security.pkcs12.PKCS12KeyStore.findIssuer:(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
astore 17
147: StackMap locals:
StackMap stack:
aload 17
ifnonnull 131
148: StackMap locals:
StackMap stack:
aload 16
invokevirtual java.util.ArrayList.size:()I
ifle 151
149: 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;
150: goto 152
151: 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 152: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
153: iload 14
aload 13
arraylength
if_icmplt 125
end local 14 154: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 159
155: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "PKCS12KeyStore load: private key count: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
156: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". secret key count: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
157: ldc ". certificate count: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
158: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
159: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
160: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.allCerts:Ljava/util/List;
invokeinterface java.util.List.clear:()V
161: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
162: 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 163 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 163 1 stream Ljava/io/InputStream;
0 163 2 password [C
8 163 3 val Lsun/security/util/DerValue;
9 163 4 s Lsun/security/util/DerInputStream;
10 163 5 version I
17 18 6 authSafeData [B
19 163 6 authSafeData [B
14 163 7 authSafe Lsun/security/pkcs/ContentInfo;
15 163 8 contentType Lsun/security/util/ObjectIdentifier;
20 163 9 as Lsun/security/util/DerInputStream;
21 163 10 safeContentsArray [Lsun/security/util/DerValue;
22 163 11 count I
26 163 12 seeEncBag Z
27 96 13 i I
30 94 14 safeContents Lsun/security/pkcs/ContentInfo;
29 94 15 sci Lsun/security/util/DerInputStream;
43 93 16 edi Lsun/security/util/DerInputStream;
45 93 17 seq [Lsun/security/util/DerValue;
54 93 18 newTag B
58 93 19 rawData [B
59 93 20 in Lsun/security/util/DerInputStream;
60 93 21 algOid Lsun/security/util/ObjectIdentifier;
61 93 22 algParams Ljava/security/AlgorithmParameters;
65 66 23 pbeSpec Ljavax/crypto/spec/PBEParameterSpec;
70 78 23 pbeSpec Ljavax/crypto/spec/PBEParameterSpec;
62 93 24 ic I
88 93 25 e Ljava/lang/Exception;
101 120 13 macData Lsun/security/pkcs12/MacData;
102 120 14 ic I
108 117 15 algName Ljava/lang/String;
112 117 16 m Ljavax/crypto/Mac;
114 117 17 params Ljavax/crypto/spec/PBEParameterSpec;
119 120 15 e Ljava/lang/Exception;
123 163 13 list [Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
124 154 14 m I
126 152 15 entry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
129 152 16 chain Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
130 152 17 cert Ljava/security/cert/X509Certificate;
134 142 18 chainCert Ljava/security/cert/X509Certificate;
Exception table:
from to target type
63 65 66 Class java.security.spec.InvalidParameterSpecException
83 86 87 Class java.lang.Exception
102 117 118 Class java.lang.Exception
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
private java.security.cert.X509Certificate findIssuer(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
astore 3
start local 3 2: aload 1
3: getstatic sun.security.util.KnownOIDs.AuthorityKeyID:Lsun/security/util/KnownOIDs;
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
4: invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
astore 4
start local 4 5: aconst_null
astore 5
start local 5 6: aload 4
ifnull 15
7: new sun.security.x509.AuthorityKeyIdentifierExtension
dup
8: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
9: new sun.security.util.DerValue
dup
aload 4
invokespecial sun.security.util.DerValue.<init>:([B)V
invokevirtual sun.security.util.DerValue.getOctetString:()[B
10: invokespecial sun.security.x509.AuthorityKeyIdentifierExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
11: invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.getEncodedKeyIdentifier:()[B
12: astore 5
13: goto 15
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal byte[] byte[]
StackMap stack: java.io.IOException
14: pop
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.allCerts:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 35
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal byte[] byte[] top java.util.Iterator
StackMap stack:
16: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate
astore 6
start local 6 17: aload 6
invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
aload 3
invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
ifeq 35
18: aload 5
ifnull 34
19: aload 6
20: getstatic sun.security.util.KnownOIDs.SubjectKeyID:Lsun/security/util/KnownOIDs;
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
21: invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
astore 8
start local 8 22: aconst_null
astore 9
start local 9 23: aload 8
ifnull 29
24: new sun.security.util.DerValue
dup
aload 8
invokespecial sun.security.util.DerValue.<init>:([B)V
25: invokevirtual sun.security.util.DerValue.getOctetString:()[B
26: astore 9
27: goto 29
StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal byte[] byte[] java.security.cert.X509Certificate java.util.Iterator byte[] byte[]
StackMap stack: java.io.IOException
28: pop
29: StackMap locals:
StackMap stack:
aload 9
ifnull 32
30: aload 5
aload 9
invokestatic java.util.Arrays.equals:([B[B)Z
ifeq 35
31: aload 6
areturn
32: StackMap locals:
StackMap stack:
aload 6
astore 2
end local 9 end local 8 33: goto 35
34: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 35: StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal byte[] byte[] top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
36: aload 2
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 37 1 input Ljava/security/cert/X509Certificate;
1 37 2 fallback Ljava/security/cert/X509Certificate;
2 37 3 issuerPrinc Ljavax/security/auth/x500/X500Principal;
5 37 4 issuerIdExtension [B
6 37 5 issuerId [B
17 35 6 cert Ljava/security/cert/X509Certificate;
22 33 8 subjectIdExtension [B
23 33 9 subjectId [B
Exception table:
from to target type
7 13 14 Class java.io.IOException
24 27 28 Class java.io.IOException
MethodParameters:
Name Flags
input
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 147
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 57
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 37
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
arraylength
iconst_2
if_icmpeq 24
23: new java.io.IOException
dup
ldc "Invalid length for CertBag"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 10
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
pop
25: aload 10
iconst_1
aaload
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 29
26: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "unsupported PKCS12 cert value type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
27: aload 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;
28: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
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 30: ldc "X509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 12
start local 12 31: aload 12
32: new java.io.ByteArrayInputStream
dup
aload 11
invokevirtual sun.security.util.DerValue.getOctetString:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
33: invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
astore 13
start local 13 34: aload 13
astore 8
35: 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 36: goto 57
StackMap locals:
StackMap stack:
37: aload 5
getstatic sun.security.pkcs12.PKCS12KeyStore.SecretBag_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 55
38: new sun.security.util.DerInputStream
dup
aload 7
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 9
start local 9 39: aload 9
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 10
start local 10 40: aload 10
arraylength
iconst_2
if_icmpeq 42
41: new java.io.IOException
dup
ldc "Invalid length for SecretBag"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 10
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
pop
43: aload 10
iconst_1
aaload
iconst_0
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 49
44: new java.io.IOException
dup
45: new java.lang.StringBuilder
dup
ldc "unsupported PKCS12 secret value type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
46: aload 10
iconst_1
aaload
getfield sun.security.util.DerValue.tag:B
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
47: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
48: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
49: StackMap locals:
StackMap stack:
aload 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 50: new sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
dup
invokespecial sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.<init>:()V
astore 12
start local 12 51: aload 12
aload 11
invokevirtual sun.security.util.DerValue.getOctetString:()[B
putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
52: aload 12
astore 8
53: 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 54: goto 57
55: StackMap locals:
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 57
56: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Unsupported PKCS12 bag type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 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
57: StackMap locals:
StackMap stack:
aload 6
iconst_3
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 9
start local 9 58: goto 61
end local 9 StackMap locals:
StackMap stack: java.io.IOException
59: pop
60: aconst_null
astore 9
start local 9 61: StackMap locals: sun.security.util.DerValue[]
StackMap stack:
aconst_null
astore 10
start local 10 62: aconst_null
astore 11
start local 11 63: aconst_null
astore 12
start local 12 64: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 13
start local 13 65: aload 9
ifnull 99
66: iconst_0
istore 14
start local 14 67: goto 98
68: 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 69: new sun.security.util.DerInputStream
dup
aload 15
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 16
start local 16 70: aload 16
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 17
start local 17 71: aload 17
arraylength
iconst_2
if_icmpeq 73
72: new java.io.IOException
dup
ldc "Invalid length for Attribute"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
73: StackMap locals: byte[] sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
aload 17
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
astore 18
start local 18 74: 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
75: astore 19
start local 19 76: aload 19
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 20
start local 20 77: goto 82
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
78: astore 21
start local 21 79: 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;
80: 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;
81: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 21 start local 20 82: 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 85
83: aload 20
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getBMPString:()Ljava/lang/String;
astore 10
84: goto 97
StackMap locals:
StackMap stack:
85: aload 18
getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 88
86: aload 20
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getOctetString:()[B
astore 11
87: goto 97
88: 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 96
89: aload 20
arraylength
anewarray sun.security.util.ObjectIdentifier
astore 12
90: iconst_0
istore 21
start local 21 91: goto 94
92: 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
93: iinc 21 1
StackMap locals:
StackMap stack:
94: iload 21
aload 20
arraylength
if_icmplt 92
end local 21 95: goto 97
96: 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 97: 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:
98: iload 14
aload 9
arraylength
if_icmplt 68
end local 14 99: StackMap locals:
StackMap stack:
aload 8
instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
ifeq 130
100: aload 8
checkcast sun.security.pkcs12.PKCS12KeyStore$KeyEntry
astore 14
start local 14 101: aload 11
ifnonnull 107
102: aload 8
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 106
103: aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
if_icmpne 146
104: ldc "01"
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 11
105: goto 107
106: StackMap locals: sun.security.pkcs12.PKCS12KeyStore$KeyEntry
StackMap stack:
ldc "00"
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 11
107: StackMap locals:
StackMap stack:
aload 14
aload 11
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.keyId:[B
108: new java.lang.String
dup
aload 11
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
astore 15
start local 15 109: aconst_null
astore 16
start local 16 110: aload 15
ldc "Time "
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 117
111: new java.util.Date
dup
112: aload 15
iconst_5
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
113: invokespecial java.util.Date.<init>:(J)V
astore 16
114: goto 117
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
115: pop
116: aconst_null
astore 16
117: StackMap locals:
StackMap stack:
aload 16
ifnonnull 119
118: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
astore 16
119: StackMap locals:
StackMap stack:
aload 14
aload 16
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.date:Ljava/util/Date;
120: aload 8
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 122
121: 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
122: StackMap locals:
StackMap stack:
aload 14
getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
ifnonnull 124
123: aload 14
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
124: 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
125: aload 10
ifnonnull 127
126: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getUnfriendlyName:()Ljava/lang/String;
astore 10
127: StackMap locals:
StackMap stack:
aload 14
aload 10
putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.alias:Ljava/lang/String;
128: 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 129: goto 146
StackMap locals:
StackMap stack:
130: aload 8
instanceof java.security.cert.X509Certificate
ifeq 146
131: aload 8
checkcast java.security.cert.X509Certificate
astore 14
start local 14 132: aload 11
ifnonnull 135
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
iconst_1
if_icmpne 135
133: iload 4
ifne 135
134: ldc "01"
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 11
135: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 12
ifnull 144
136: aload 10
ifnonnull 138
137: aload 0
invokevirtual sun.security.pkcs12.PKCS12KeyStore.getUnfriendlyName:()Ljava/lang/String;
astore 10
138: StackMap locals:
StackMap stack:
new sun.security.pkcs12.PKCS12KeyStore$CertEntry
dup
aload 14
aload 11
aload 10
aload 12
139: aload 13
140: invokespecial sun.security.pkcs12.PKCS12KeyStore$CertEntry.<init>:(Ljava/security/cert/X509Certificate;[BLjava/lang/String;[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)V
141: astore 15
start local 15 142: 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 143: goto 145
144: 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
145: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs12.PKCS12KeyStore.allCerts:Ljava/util/List;
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
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 146: 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:
147: iload 4
iload 3
if_icmplt 4
end local 4 148: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 149 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 149 1 stream Lsun/security/util/DerInputStream;
1 149 2 safeBags [Lsun/security/util/DerValue;
2 149 3 count I
3 148 4 i I
7 146 5 bagId Lsun/security/util/ObjectIdentifier;
6 146 6 sbi Lsun/security/util/DerInputStream;
8 146 7 bagValue Lsun/security/util/DerValue;
5 146 8 bagItem Ljava/lang/Object;
15 18 9 kEntry Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
21 36 9 cs Lsun/security/util/DerInputStream;
22 36 10 certValues [Lsun/security/util/DerValue;
30 36 11 certValue Lsun/security/util/DerValue;
31 36 12 cf Ljava/security/cert/CertificateFactory;
34 36 13 cert Ljava/security/cert/X509Certificate;
39 54 9 ss Lsun/security/util/DerInputStream;
40 54 10 secretValues [Lsun/security/util/DerValue;
50 54 11 secretValue Lsun/security/util/DerValue;
51 54 12 kEntry Lsun/security/pkcs12/PKCS12KeyStore$SecretKeyEntry;
58 59 9 attrSet [Lsun/security/util/DerValue;
61 146 9 attrSet [Lsun/security/util/DerValue;
62 146 10 alias Ljava/lang/String;
63 146 11 keyId [B
64 146 12 trustedKeyUsage [Lsun/security/util/ObjectIdentifier;
65 146 13 attributes Ljava/util/Set<Ljava/security/PKCS12Attribute;>;
67 99 14 j I
69 97 15 encoded [B
70 97 16 as Lsun/security/util/DerInputStream;
71 97 17 attrSeq [Lsun/security/util/DerValue;
74 97 18 attrId Lsun/security/util/ObjectIdentifier;
76 97 19 vs Lsun/security/util/DerInputStream;
77 78 20 valSet [Lsun/security/util/DerValue;
82 97 20 valSet [Lsun/security/util/DerValue;
79 82 21 e Ljava/io/IOException;
91 95 21 k I
101 129 14 entry Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;
109 129 15 keyIdStr Ljava/lang/String;
110 129 16 date Ljava/util/Date;
132 146 14 cert Ljava/security/cert/X509Certificate;
142 143 15 certEntry Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
Exception table:
from to target type
57 58 59 Class java.io.IOException
76 77 78 Class java.io.IOException
111 114 115 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: aload 13
arraylength
iconst_1
if_icmplt 10
aload 13
arraylength
iconst_2
if_icmple 11
10: 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[]
StackMap stack:
new java.io.IOException
dup
ldc "Invalid length for AlgorithmIdentifier"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
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 12: aload 14
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
astore 15
start local 15 13: aload 4
instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
ifeq 24
14: aload 15
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
astore 16
start local 16 15: new java.security.spec.PKCS8EncodedKeySpec
dup
aload 10
invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
astore 17
start local 17 16: aload 16
aload 17
invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
astore 18
start local 18 17: getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 23
18: 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
19: 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;
20: 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;
21: 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;
22: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
23: 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 24: StackMap locals:
StackMap stack:
aload 12
invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
astore 16
start local 16 25: new javax.crypto.spec.SecretKeySpec
dup
aload 16
aload 15
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
26: astore 17
start local 17 27: aload 15
ldc "PBE"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 34
28: aload 15
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
29: astore 19
start local 19 30: aload 19
aload 17
ldc Ljavax/crypto/spec/PBEKeySpec;
invokevirtual javax.crypto.SecretKeyFactory.getKeySpec:(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
31: astore 20
start local 20 32: 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 33: goto 35
end local 18 34: StackMap locals: byte[] javax.crypto.spec.SecretKeySpec
StackMap stack:
aload 17
astore 18
start local 18 35: StackMap locals: java.security.Key
StackMap stack:
getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
ifnull 41
36: 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
37: 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;
38: 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;
39: 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;
40: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
41: 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 42 0 this Lsun/security/pkcs12/PKCS12KeyStore;
0 42 7 pass [C
1 42 8 skey Ljavax/crypto/SecretKey;
3 42 9 cipher Ljavax/crypto/Cipher;
5 42 10 keyInfo [B
6 42 11 val Lsun/security/util/DerValue;
7 42 12 in Lsun/security/util/DerInputStream;
9 42 13 value [Lsun/security/util/DerValue;
12 42 14 algId Lsun/security/x509/AlgorithmId;
13 42 15 keyAlgo Ljava/lang/String;
15 24 16 kfac Ljava/security/KeyFactory;
16 24 17 kspec Ljava/security/spec/PKCS8EncodedKeySpec;
17 24 18 tmp Ljava/security/Key;
25 42 16 keyBytes [B
27 42 17 secretKeySpec Ljavax/crypto/spec/SecretKeySpec;
33 34 18 tmp Ljava/security/Key;
35 42 18 tmp Ljava/security/Key;
30 33 19 sKeyFactory Ljavax/crypto/SecretKeyFactory;
32 33 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