public final class com.sun.crypto.provider.JceKeyStore extends java.security.KeyStoreSpi
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.crypto.provider.JceKeyStore
super_class: java.security.KeyStoreSpi
{
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int JCEKS_MAGIC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -825307442
private static final int JKS_MAGIC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -17957139
private static final int VERSION_1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int VERSION_2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private java.util.Hashtable<java.lang.String, java.lang.Object> entries;
descriptor: Ljava/util/Hashtable;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "keystore"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic com.sun.crypto.provider.JceKeyStore.debug:Lsun/security/util/Debug;
1: 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
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/crypto/provider/JceKeyStore;
public java.security.Key engineGetKey(java.lang.String, char[]);
descriptor: (Ljava/lang/String;[C)Ljava/security/Key;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 2: aload 4
instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
ifne 5
3: aload 4
instanceof com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
ifne 5
4: aconst_null
areturn
5: StackMap locals: java.security.Key java.lang.Object
StackMap stack:
new com.sun.crypto.provider.KeyProtector
dup
aload 2
invokespecial com.sun.crypto.provider.KeyProtector.<init>:([C)V
astore 5
start local 5 6: aload 4
instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
ifeq 14
7: aload 4
checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
astore 6
start local 6 8: new com.sun.crypto.provider.EncryptedPrivateKeyInfo
dup
aload 6
invokespecial com.sun.crypto.provider.EncryptedPrivateKeyInfo.<init>:([B)V
astore 7
start local 7 9: goto 12
end local 7 StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String char[] java.security.Key java.lang.Object com.sun.crypto.provider.KeyProtector byte[]
StackMap stack: java.io.IOException
10: pop
11: new java.security.UnrecoverableKeyException
dup
ldc "Private key not stored as PKCS #8 EncryptedPrivateKeyInfo"
invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
athrow
start local 7 12: StackMap locals: com.sun.crypto.provider.EncryptedPrivateKeyInfo
StackMap stack:
aload 5
aload 7
invokevirtual com.sun.crypto.provider.KeyProtector.recover:(Lcom/sun/crypto/provider/EncryptedPrivateKeyInfo;)Ljava/security/Key;
astore 3
end local 7 end local 6 13: goto 16
14: StackMap locals:
StackMap stack:
aload 4
checkcast com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
astore 6
start local 6 15: aload 5
aload 6
getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.sealedKey:Ljavax/crypto/SealedObject;
aload 6
getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.maxLength:I
invokevirtual com.sun.crypto.provider.KeyProtector.unseal:(Ljavax/crypto/SealedObject;I)Ljava/security/Key;
astore 3
end local 6 16: StackMap locals:
StackMap stack:
aload 3
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 17 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 17 1 alias Ljava/lang/String;
0 17 2 password [C
1 17 3 key Ljava/security/Key;
2 17 4 entry Ljava/lang/Object;
6 17 5 keyProtector Lcom/sun/crypto/provider/KeyProtector;
8 13 6 encrBytes [B
9 10 7 encrInfo Lcom/sun/crypto/provider/EncryptedPrivateKeyInfo;
12 13 7 encrInfo Lcom/sun/crypto/provider/EncryptedPrivateKeyInfo;
15 16 6 ske Lcom/sun/crypto/provider/JceKeyStore$SecretKeyEntry;
Exception table:
from to target type
8 9 10 Class java.io.IOException
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=3, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
ifeq 5
3: aload 3
checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
ifnull 5
4: aload 3
checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
astore 2
5: StackMap locals: java.security.cert.Certificate[] java.lang.Object
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 6 1 alias Ljava/lang/String;
1 6 2 chain [Ljava/security/cert/Certificate;
2 6 3 entry Ljava/lang/Object;
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=3, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
ifnull 9
3: aload 3
instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
ifeq 6
4: aload 3
checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
astore 2
5: goto 9
StackMap locals: java.security.cert.Certificate java.lang.Object
StackMap stack:
6: aload 3
instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
ifeq 9
7: aload 3
checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
ifnull 9
8: aload 3
checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
iconst_0
aaload
astore 2
9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 10 1 alias Ljava/lang/String;
1 10 2 cert Ljava/security/cert/Certificate;
2 10 3 entry Ljava/lang/Object;
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=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
ifnull 10
3: aload 3
instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
ifeq 6
4: new java.util.Date
dup
aload 3
checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.date:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
invokespecial java.util.Date.<init>:(J)V
astore 2
5: goto 10
StackMap locals: java.util.Date java.lang.Object
StackMap stack:
6: aload 3
instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
ifeq 9
7: new java.util.Date
dup
aload 3
checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
invokespecial java.util.Date.<init>:(J)V
astore 2
8: goto 10
9: StackMap locals:
StackMap stack:
new java.util.Date
dup
aload 3
checkcast com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.date:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
invokespecial java.util.Date.<init>:(J)V
astore 2
10: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 11 1 alias Ljava/lang/String;
1 11 2 date Ljava/util/Date;
2 11 3 entry Ljava/lang/Object;
MethodParameters:
Name Flags
alias
public 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: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
dup
astore 5
monitorenter
1: new com.sun.crypto.provider.KeyProtector
dup
aload 3
invokespecial com.sun.crypto.provider.KeyProtector.<init>:([C)V
astore 6
start local 6 2: aload 2
instanceof java.security.PrivateKey
ifeq 13
3: new com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
dup
invokespecial com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.<init>:()V
astore 7
start local 7 4: aload 7
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
5: aload 7
aload 6
aload 2
checkcast java.security.PrivateKey
invokevirtual com.sun.crypto.provider.KeyProtector.protect:(Ljava/security/PrivateKey;)[B
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
6: aload 4
ifnull 10
7: aload 4
arraylength
ifeq 10
8: aload 7
aload 4
invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
9: goto 11
10: StackMap locals: java.util.Hashtable com.sun.crypto.provider.KeyProtector com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
StackMap stack:
aload 7
aconst_null
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
11: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 7
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 12: goto 21
13: StackMap locals:
StackMap stack:
new com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
dup
invokespecial com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.<init>:()V
astore 7
start local 7 14: aload 7
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.date:Ljava/util/Date;
15: aload 7
aload 6
aload 2
invokevirtual com.sun.crypto.provider.KeyProtector.seal:(Ljava/security/Key;)Ljavax/crypto/SealedObject;
putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.sealedKey:Ljavax/crypto/SealedObject;
16: aload 7
ldc 2147483647
putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.maxLength:I
17: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 7
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 7 end local 6 18: goto 21
StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String java.security.Key char[] java.security.cert.Certificate[] java.util.Hashtable
StackMap stack: java.lang.Exception
19: astore 6
start local 6 20: new java.security.KeyStoreException
dup
aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
end local 6 21: StackMap locals:
StackMap stack:
aload 5
monitorexit
22: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
23: aload 5
monitorexit
24: athrow
25: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 26 1 alias Ljava/lang/String;
0 26 2 key Ljava/security/Key;
0 26 3 password [C
0 26 4 chain [Ljava/security/cert/Certificate;
2 18 6 keyProtector Lcom/sun/crypto/provider/KeyProtector;
4 12 7 entry Lcom/sun/crypto/provider/JceKeyStore$PrivateKeyEntry;
14 18 7 entry Lcom/sun/crypto/provider/JceKeyStore$SecretKeyEntry;
20 21 6 e Ljava/lang/Exception;
Exception table:
from to target type
1 18 19 Class java.lang.Exception
1 22 23 any
23 24 23 any
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
password
chain
public void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
dup
astore 4
monitorenter
1: new com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
dup
invokespecial com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.<init>:()V
astore 5
start local 5 2: aload 5
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
3: aload 5
aload 2
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
4: aload 3
ifnull 8
5: aload 3
arraylength
ifeq 8
6: aload 5
aload 3
invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
7: goto 9
8: StackMap locals: java.util.Hashtable com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
StackMap stack:
aload 5
aconst_null
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
9: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 5
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 10: aload 4
monitorexit
11: goto 14
StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String byte[] java.security.cert.Certificate[] java.util.Hashtable
StackMap stack: java.lang.Throwable
12: aload 4
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 15 1 alias Ljava/lang/String;
0 15 2 key [B
0 15 3 chain [Ljava/security/cert/Certificate;
2 10 5 entry Lcom/sun/crypto/provider/JceKeyStore$PrivateKeyEntry;
Exception table:
from to target type
1 11 12 any
12 13 12 any
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
chain
public void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
dup
astore 3
monitorenter
1: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 2: aload 4
ifnull 7
3: aload 4
instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
ifeq 5
4: new java.security.KeyStoreException
dup
ldc "Cannot overwrite own certificate"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.util.Hashtable java.lang.Object
StackMap stack:
aload 4
instanceof com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
ifeq 7
6: new java.security.KeyStoreException
dup
ldc "Cannot overwrite secret key"
invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
new com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
dup
invokespecial com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.<init>:()V
astore 5
start local 5 8: aload 5
aload 2
putfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
9: aload 5
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
putfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.date:Ljava/util/Date;
10: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
aload 5
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 4 11: aload 3
monitorexit
12: goto 15
StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String java.security.cert.Certificate java.util.Hashtable
StackMap stack: java.lang.Throwable
13: aload 3
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 16 1 alias Ljava/lang/String;
0 16 2 cert Ljava/security/cert/Certificate;
2 11 4 entry Ljava/lang/Object;
8 11 5 trustedCertEntry Lcom/sun/crypto/provider/JceKeyStore$TrustedCertEntry;
Exception table:
from to target type
1 12 13 any
13 14 13 any
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
cert
public void engineDeleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
dup
astore 2
monitorenter
1: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 2
monitorexit
3: goto 6
StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String java.util.Hashtable
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 7 1 alias Ljava/lang/String;
Exception table:
from to target type
1 3 4 any
4 5 4 any
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 com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/JceKeyStore;
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 com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/JceKeyStore;
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 com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/crypto/provider/JceKeyStore;
public boolean engineIsKeyEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
ifne 4
3: aload 3
instanceof com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
ifeq 5
4: StackMap locals: int java.lang.Object
StackMap stack:
iconst_1
istore 2
5: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 6 1 alias Ljava/lang/String;
1 6 2 isKey Z
2 6 3 entry Ljava/lang/Object;
MethodParameters:
Name Flags
alias
public boolean engineIsCertificateEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 1
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
ifeq 4
3: iconst_1
istore 2
4: StackMap locals: int java.lang.Object
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 5 1 alias Ljava/lang/String;
1 5 2 isCert Z
2 5 3 entry Ljava/lang/Object;
MethodParameters:
Name Flags
alias
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: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 3
start local 3 1: goto 12
2: StackMap locals: com.sun.crypto.provider.JceKeyStore java.security.cert.Certificate top java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 3: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
ifeq 7
5: aload 5
checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
astore 2
start local 2 6: goto 10
end local 2 StackMap locals: java.lang.String java.lang.Object
StackMap stack:
7: aload 5
instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
ifeq 12
8: aload 5
checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
ifnull 12
9: aload 5
checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
iconst_0
aaload
astore 2
start local 2 10: StackMap locals: com.sun.crypto.provider.JceKeyStore java.security.cert.Certificate java.security.cert.Certificate java.util.Enumeration java.lang.String java.lang.Object
StackMap stack:
aload 2
aload 1
invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
ifeq 12
11: aload 4
areturn
end local 5 end local 4 end local 2 12: StackMap locals: com.sun.crypto.provider.JceKeyStore java.security.cert.Certificate top java.util.Enumeration
StackMap stack:
aload 3
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 2
13: aconst_null
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 14 1 cert Ljava/security/cert/Certificate;
6 7 2 certElem Ljava/security/cert/Certificate;
10 12 2 certElem Ljava/security/cert/Certificate;
1 14 3 e Ljava/util/Enumeration<Ljava/lang/String;>;
3 12 4 alias Ljava/lang/String;
4 12 5 entry Ljava/lang/Object;
MethodParameters:
Name Flags
cert
public void engineStore(java.io.OutputStream, char[]);
descriptor: (Ljava/io/OutputStream;[C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
dup
astore 3
monitorenter
1: aload 2
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "password can't be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.util.Hashtable
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.crypto.provider.JceKeyStore.getPreKeyedHash:([C)Ljava/security/MessageDigest;
astore 5
start local 5 4: new java.io.DataOutputStream
dup
new java.security.DigestOutputStream
dup
aload 1
aload 5
invokespecial java.security.DigestOutputStream.<init>:(Ljava/io/OutputStream;Ljava/security/MessageDigest;)V
invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
5: astore 6
start local 6 6: aconst_null
astore 7
start local 7 7: aload 6
ldc -825307442
invokevirtual java.io.DataOutputStream.writeInt:(I)V
8: aload 6
iconst_2
invokevirtual java.io.DataOutputStream.writeInt:(I)V
9: aload 6
aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.size:()I
invokevirtual java.io.DataOutputStream.writeInt:(I)V
10: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 8
start local 8 11: goto 49
12: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable top java.security.MessageDigest java.io.DataOutputStream java.io.ObjectOutputStream java.util.Enumeration
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 13: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 9
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 10
start local 10 14: aload 10
instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
ifeq 35
15: aload 10
checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
astore 11
start local 11 16: aload 6
iconst_1
invokevirtual java.io.DataOutputStream.writeInt:(I)V
17: aload 6
aload 9
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
18: aload 6
aload 11
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
invokevirtual java.io.DataOutputStream.writeLong:(J)V
19: aload 6
aload 11
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
arraylength
invokevirtual java.io.DataOutputStream.writeInt:(I)V
20: aload 6
aload 11
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
invokevirtual java.io.DataOutputStream.write:([B)V
21: aload 11
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
ifnonnull 24
22: iconst_0
istore 12
start local 12 23: goto 25
end local 12 24: StackMap locals: java.lang.String java.lang.Object com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
StackMap stack:
aload 11
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
arraylength
istore 12
start local 12 25: StackMap locals: int
StackMap stack:
aload 6
iload 12
invokevirtual java.io.DataOutputStream.writeInt:(I)V
26: iconst_0
istore 13
start local 13 27: goto 33
28: StackMap locals: int
StackMap stack:
aload 11
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
iload 13
aaload
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 4
start local 4 29: aload 6
aload 11
getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
iload 13
aaload
invokevirtual java.security.cert.Certificate.getType:()Ljava/lang/String;
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
30: aload 6
aload 4
arraylength
invokevirtual java.io.DataOutputStream.writeInt:(I)V
31: aload 6
aload 4
invokevirtual java.io.DataOutputStream.write:([B)V
32: iinc 13 1
end local 4 StackMap locals:
StackMap stack:
33: iload 13
iload 12
if_icmplt 28
end local 13 end local 12 end local 11 34: goto 49
StackMap locals:
StackMap stack:
35: aload 10
instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
ifeq 44
36: aload 6
iconst_2
invokevirtual java.io.DataOutputStream.writeInt:(I)V
37: aload 6
aload 9
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
38: aload 6
aload 10
checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.date:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
invokevirtual java.io.DataOutputStream.writeLong:(J)V
39: aload 10
checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
invokevirtual java.security.cert.Certificate.getEncoded:()[B
astore 4
start local 4 40: aload 6
aload 10
checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
invokevirtual java.security.cert.Certificate.getType:()Ljava/lang/String;
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
41: aload 6
aload 4
arraylength
invokevirtual java.io.DataOutputStream.writeInt:(I)V
42: aload 6
aload 4
invokevirtual java.io.DataOutputStream.write:([B)V
43: goto 49
end local 4 44: StackMap locals:
StackMap stack:
aload 6
iconst_3
invokevirtual java.io.DataOutputStream.writeInt:(I)V
45: aload 6
aload 9
invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
46: aload 6
aload 10
checkcast com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.date:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
invokevirtual java.io.DataOutputStream.writeLong:(J)V
47: new java.io.ObjectOutputStream
dup
aload 6
invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 7
48: aload 7
aload 10
checkcast com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.sealedKey:Ljavax/crypto/SealedObject;
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
end local 10 end local 9 49: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 12
50: aload 5
invokevirtual java.security.MessageDigest.digest:()[B
astore 9
start local 9 51: aload 6
aload 9
invokevirtual java.io.DataOutputStream.write:([B)V
52: aload 6
invokevirtual java.io.DataOutputStream.flush:()V
end local 9 end local 8 53: goto 60
StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable top java.security.MessageDigest java.io.DataOutputStream java.io.ObjectOutputStream
StackMap stack: java.lang.Throwable
54: astore 14
55: aload 7
ifnull 58
56: aload 7
invokevirtual java.io.ObjectOutputStream.close:()V
57: goto 59
58: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable top java.security.MessageDigest java.io.DataOutputStream java.io.ObjectOutputStream top top top top top top java.lang.Throwable
StackMap stack:
aload 6
invokevirtual java.io.DataOutputStream.close:()V
59: StackMap locals:
StackMap stack:
aload 14
athrow
60: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable top java.security.MessageDigest java.io.DataOutputStream java.io.ObjectOutputStream
StackMap stack:
aload 7
ifnull 63
61: aload 7
invokevirtual java.io.ObjectOutputStream.close:()V
62: goto 64
63: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.io.DataOutputStream.close:()V
end local 7 end local 6 end local 5 64: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable
StackMap stack:
aload 3
monitorexit
65: goto 68
StackMap locals:
StackMap stack: java.lang.Throwable
66: aload 3
monitorexit
67: athrow
68: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 69 1 stream Ljava/io/OutputStream;
0 69 2 password [C
29 33 4 encoded [B
40 44 4 encoded [B
4 64 5 md Ljava/security/MessageDigest;
6 64 6 dos Ljava/io/DataOutputStream;
7 64 7 oos Ljava/io/ObjectOutputStream;
11 53 8 e Ljava/util/Enumeration<Ljava/lang/String;>;
13 49 9 alias Ljava/lang/String;
14 49 10 entry Ljava/lang/Object;
16 34 11 pentry Lcom/sun/crypto/provider/JceKeyStore$PrivateKeyEntry;
23 24 12 chainLen I
25 34 12 chainLen I
27 34 13 i I
51 53 9 digest [B
Exception table:
from to target type
7 54 54 any
1 65 66 any
66 67 66 any
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
public void engineLoad(java.io.InputStream, char[]);
descriptor: (Ljava/io/InputStream;[C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=28, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
dup
astore 3
monitorenter
1: aconst_null
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: aconst_null
astore 8
start local 8 5: aconst_null
astore 9
start local 9 6: iconst_0
istore 10
start local 10 7: iconst_0
istore 11
start local 11 8: iconst_0
istore 12
start local 12 9: aload 1
ifnonnull 12
10: aload 3
monitorexit
11: return
12: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable top java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int
StackMap stack:
aload 1
invokevirtual java.io.InputStream.readAllBytes:()[B
astore 13
start local 13 13: aload 13
arraylength
istore 14
start local 14 14: new java.io.ByteArrayInputStream
dup
aload 13
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 1
15: aload 2
ifnull 19
16: aload 0
aload 2
invokevirtual com.sun.crypto.provider.JceKeyStore.getPreKeyedHash:([C)Ljava/security/MessageDigest;
astore 5
17: new java.io.DataInputStream
dup
new java.security.DigestInputStream
dup
aload 1
aload 5
invokespecial java.security.DigestInputStream.<init>:(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 4
start local 4 18: goto 20
end local 4 19: StackMap locals: byte[] int
StackMap stack:
new java.io.DataInputStream
dup
aload 1
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 4
start local 4 20: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int
StackMap stack:
aconst_null
astore 15
start local 15 21: aload 4
invokevirtual java.io.DataInputStream.readInt:()I
istore 16
start local 16 22: aload 4
invokevirtual java.io.DataInputStream.readInt:()I
istore 17
start local 17 23: iload 16
ldc -825307442
if_icmpeq 24
iload 16
ldc -17957139
if_icmpne 25
24: StackMap locals: java.io.ObjectInputStream int int
StackMap stack:
iload 17
iconst_1
if_icmpeq 26
iload 17
iconst_2
if_icmpeq 26
25: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Invalid keystore format"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
26: StackMap locals:
StackMap stack:
iload 17
iconst_1
if_icmpne 29
27: ldc "X509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 6
28: goto 30
29: StackMap locals:
StackMap stack:
new java.util.Hashtable
dup
iconst_3
invokespecial java.util.Hashtable.<init>:(I)V
astore 7
30: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.clear:()V
31: aload 4
invokevirtual java.io.DataInputStream.readInt:()I
istore 18
start local 18 32: iconst_0
istore 19
start local 19 33: goto 102
34: StackMap locals: int int
StackMap stack:
aload 4
invokevirtual java.io.DataInputStream.readInt:()I
istore 20
start local 20 35: iload 20
iconst_1
if_icmpne 63
36: iinc 11 1
37: new com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
dup
invokespecial com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.<init>:()V
astore 22
start local 22 38: aload 4
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 21
start local 21 39: aload 22
new java.util.Date
dup
aload 4
invokevirtual java.io.DataInputStream.readLong:()J
invokespecial java.util.Date.<init>:(J)V
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
40: aload 22
aload 4
aload 4
invokevirtual java.io.DataInputStream.readInt:()I
invokestatic sun.security.util.IOUtils.readExactlyNBytes:(Ljava/io/InputStream;I)[B
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
41: aload 4
invokevirtual java.io.DataInputStream.readInt:()I
istore 23
start local 23 42: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 24
start local 24 43: iconst_0
istore 25
start local 25 44: goto 57
45: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream int int int int int java.lang.String com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry int java.util.List int
StackMap stack:
iload 17
iconst_2
if_icmpne 53
46: aload 4
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 26
start local 26 47: aload 7
aload 26
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 50
48: aload 7
aload 26
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.CertificateFactory
astore 6
49: goto 53
50: StackMap locals: java.lang.String
StackMap stack:
aload 26
51: invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 6
52: aload 7
aload 26
aload 6
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 26 53: StackMap locals:
StackMap stack:
aload 4
aload 4
invokevirtual java.io.DataInputStream.readInt:()I
invokestatic sun.security.util.IOUtils.readExactlyNBytes:(Ljava/io/InputStream;I)[B
astore 9
54: new java.io.ByteArrayInputStream
dup
aload 9
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 8
55: aload 24
aload 6
aload 8
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
56: iinc 25 1
StackMap locals:
StackMap stack:
57: iload 25
iload 23
if_icmplt 45
end local 25 58: aload 22
aload 24
59: iload 23
anewarray java.security.cert.Certificate
60: invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.security.cert.Certificate[]
putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
61: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 21
aload 22
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 24 end local 23 end local 22 62: goto 101
end local 21 StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream int int int int int
StackMap stack:
63: iload 20
iconst_2
if_icmpne 80
64: iinc 10 1
65: new com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
dup
invokespecial com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.<init>:()V
astore 22
start local 22 66: aload 4
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 21
start local 21 67: aload 22
new java.util.Date
dup
aload 4
invokevirtual java.io.DataInputStream.readLong:()J
invokespecial java.util.Date.<init>:(J)V
putfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.date:Ljava/util/Date;
68: iload 17
iconst_2
if_icmpne 75
69: aload 4
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 23
start local 23 70: aload 7
aload 23
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 73
71: aload 7
aload 23
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.security.cert.CertificateFactory
astore 6
72: goto 75
73: StackMap locals: java.lang.String com.sun.crypto.provider.JceKeyStore$TrustedCertEntry java.lang.String
StackMap stack:
aload 23
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 6
74: aload 7
aload 23
aload 6
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 23 75: StackMap locals:
StackMap stack:
aload 4
aload 4
invokevirtual java.io.DataInputStream.readInt:()I
invokestatic sun.security.util.IOUtils.readExactlyNBytes:(Ljava/io/InputStream;I)[B
astore 9
76: new java.io.ByteArrayInputStream
dup
aload 9
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 8
77: aload 22
aload 6
aload 8
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
putfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
78: aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 21
aload 22
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 22 79: goto 101
end local 21 StackMap locals:
StackMap stack:
80: iload 20
iconst_3
if_icmpne 98
81: iinc 12 1
82: new com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
dup
invokespecial com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.<init>:()V
astore 22
start local 22 83: aload 4
invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
astore 21
start local 21 84: aload 22
new java.util.Date
dup
aload 4
invokevirtual java.io.DataInputStream.readLong:()J
invokespecial java.util.Date.<init>:(J)V
putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.date:Ljava/util/Date;
85: new java.io.ObjectInputStream
dup
aload 4
invokespecial java.io.ObjectInputStream.<init>:(Ljava/io/InputStream;)V
astore 15
86: aload 15
astore 23
start local 23 87: aload 23
iload 14
invokedynamic run(Ljava/io/ObjectInputStream;I)Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
com/sun/crypto/provider/JceKeyStore.lambda$0(Ljava/io/ObjectInputStream;I)Ljava/lang/Void; (6)
()Ljava/lang/Void;
88: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
89: aload 22
aload 15
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
checkcast javax.crypto.SealedObject
putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.sealedKey:Ljavax/crypto/SealedObject;
90: aload 22
iload 14
putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.maxLength:I
end local 23 91: goto 96
StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream int int int int int java.lang.String com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
StackMap stack: java.lang.ClassNotFoundException
92: astore 23
start local 23 93: new java.io.IOException
dup
aload 23
invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 23 94: StackMap locals:
StackMap stack: java.io.InvalidClassException
pop
95: new java.io.IOException
dup
ldc "Invalid secret key format"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
96: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
aload 21
aload 22
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 22 97: goto 101
end local 21 98: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Unrecognized keystore entry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
99: iload 20
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
100: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 20 101: StackMap locals:
StackMap stack:
iinc 19 1
StackMap locals:
StackMap stack:
102: iload 19
iload 18
if_icmplt 34
end local 19 103: getstatic com.sun.crypto.provider.JceKeyStore.debug:Lsun/security/util/Debug;
ifnull 109
104: getstatic com.sun.crypto.provider.JceKeyStore.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "JceKeyStore load: private key count: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
105: iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". trusted key count: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
106: iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". secret key count: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
107: iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
108: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
109: StackMap locals:
StackMap stack:
aload 2
ifnull 125
110: aload 5
invokevirtual java.security.MessageDigest.digest:()[B
astore 19
start local 19 111: aload 4
aload 19
arraylength
invokestatic sun.security.util.IOUtils.readExactlyNBytes:(Ljava/io/InputStream;I)[B
astore 20
start local 20 112: aload 19
aload 20
invokestatic java.security.MessageDigest.isEqual:([B[B)Z
ifne 125
113: new java.io.IOException
dup
114: ldc "Keystore was tampered with, or password was incorrect"
115: new java.security.UnrecoverableKeyException
dup
116: ldc "Password verification failed"
117: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
118: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 20 end local 19 end local 18 end local 17 end local 16 119: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream
StackMap stack: java.lang.Throwable
astore 27
120: aload 15
ifnull 123
121: aload 15
invokevirtual java.io.ObjectInputStream.close:()V
122: goto 124
123: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream top top top top top top top top top top top java.lang.Throwable
StackMap stack:
aload 4
invokevirtual java.io.DataInputStream.close:()V
124: StackMap locals:
StackMap stack:
aload 27
athrow
125: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream
StackMap stack:
aload 15
ifnull 128
126: aload 15
invokevirtual java.io.ObjectInputStream.close:()V
127: goto 129
128: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.io.DataInputStream.close:()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 end local 7 end local 6 end local 5 end local 4 129: StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable
StackMap stack:
aload 3
monitorexit
130: goto 133
StackMap locals:
StackMap stack: java.lang.Throwable
131: aload 3
monitorexit
132: athrow
133: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 134 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 134 1 stream Ljava/io/InputStream;
0 134 2 password [C
18 19 4 dis Ljava/io/DataInputStream;
20 129 4 dis Ljava/io/DataInputStream;
2 129 5 md Ljava/security/MessageDigest;
3 129 6 cf Ljava/security/cert/CertificateFactory;
4 129 7 cfs Ljava/util/Hashtable<Ljava/lang/String;Ljava/security/cert/CertificateFactory;>;
5 129 8 bais Ljava/io/ByteArrayInputStream;
6 129 9 encoded [B
7 129 10 trustedKeyCount I
8 129 11 privateKeyCount I
9 129 12 secretKeyCount I
13 129 13 allData [B
14 129 14 fullLength I
21 129 15 ois Ljava/io/ObjectInputStream;
22 119 16 xMagic I
23 119 17 xVersion I
32 119 18 count I
33 103 19 i I
35 101 20 tag I
39 63 21 alias Ljava/lang/String;
67 80 21 alias Ljava/lang/String;
84 98 21 alias Ljava/lang/String;
38 62 22 entry Lcom/sun/crypto/provider/JceKeyStore$PrivateKeyEntry;
42 62 23 numOfCerts I
43 62 24 tmpCerts Ljava/util/List<Ljava/security/cert/Certificate;>;
44 58 25 j I
47 53 26 certType Ljava/lang/String;
66 79 22 entry Lcom/sun/crypto/provider/JceKeyStore$TrustedCertEntry;
70 75 23 certType Ljava/lang/String;
83 97 22 entry Lcom/sun/crypto/provider/JceKeyStore$SecretKeyEntry;
87 91 23 ois2 Ljava/io/ObjectInputStream;
93 94 23 cnfe Ljava/lang/ClassNotFoundException;
111 119 19 computed [B
112 119 20 actual [B
Exception table:
from to target type
85 91 92 Class java.lang.ClassNotFoundException
85 91 94 Class java.io.InvalidClassException
21 119 119 any
1 11 131 any
12 130 131 any
131 132 131 any
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
private java.security.MessageDigest getPreKeyedHash(char[]);
descriptor: ([C)Ljava/security/MessageDigest;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: ldc "SHA"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 4
start local 4 1: aload 1
arraylength
iconst_2
imul
newarray 8
astore 5
start local 5 2: iconst_0
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 8
5: StackMap locals: com.sun.crypto.provider.JceKeyStore char[] int int java.security.MessageDigest byte[]
StackMap stack:
aload 5
iload 3
iinc 3 1
aload 1
iload 2
caload
bipush 8
ishr
i2b
bastore
6: aload 5
iload 3
iinc 3 1
aload 1
iload 2
caload
i2b
bastore
7: iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 1
arraylength
if_icmplt 5
9: aload 4
aload 5
invokevirtual java.security.MessageDigest.update:([B)V
10: iconst_0
istore 2
goto 13
11: StackMap locals:
StackMap stack:
aload 5
iload 2
iconst_0
bastore
12: iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
aload 5
arraylength
if_icmplt 11
14: aload 4
ldc "Mighty Aphrodite"
ldc "UTF8"
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
invokevirtual java.security.MessageDigest.update:([B)V
15: aload 4
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 16 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 16 1 password [C
3 16 2 i I
4 16 3 j I
1 16 4 md Ljava/security/MessageDigest;
2 16 5 passwdBytes [B
Exceptions:
throws java.security.NoSuchAlgorithmException, java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
password
public boolean engineProbe(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, 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:
ldc -825307442
aload 2
invokevirtual java.io.DataInputStream.readInt:()I
if_icmpne 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/crypto/provider/JceKeyStore;
0 6 1 stream Ljava/io/InputStream;
2 3 2 dataStream Ljava/io/DataInputStream;
4 6 2 dataStream Ljava/io/DataInputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
stream
private static java.lang.Void lambda$0(java.io.ObjectInputStream, int);
descriptor: (Ljava/io/ObjectInputStream;I)Ljava/lang/Void;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
0: aload 0
1: new com.sun.crypto.provider.JceKeyStore$DeserializationChecker
dup
iload 1
invokespecial com.sun.crypto.provider.JceKeyStore$DeserializationChecker.<init>:(I)V
2: invokevirtual java.io.ObjectInputStream.setObjectInputFilter:(Ljava/io/ObjectInputFilter;)V
3: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "JceKeyStore.java"
NestMembers:
com.sun.crypto.provider.JceKeyStore$DeserializationChecker com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry com.sun.crypto.provider.JceKeyStore$SecretKeyEntry com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
InnerClasses:
private DeserializationChecker = com.sun.crypto.provider.JceKeyStore$DeserializationChecker of com.sun.crypto.provider.JceKeyStore
private final PrivateKeyEntry = com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry of com.sun.crypto.provider.JceKeyStore
private final SecretKeyEntry = com.sun.crypto.provider.JceKeyStore$SecretKeyEntry of com.sun.crypto.provider.JceKeyStore
private final TrustedCertEntry = com.sun.crypto.provider.JceKeyStore$TrustedCertEntry of com.sun.crypto.provider.JceKeyStore
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles