public abstract class java.security.KeyStoreSpi
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: java.security.KeyStoreSpi
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/KeyStoreSpi;
public abstract java.security.Key engineGetKey(java.lang.String, char[]);
descriptor: (Ljava/lang/String;[C)Ljava/security/Key;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
MethodParameters:
Name Flags
alias
password
public abstract java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/security/cert/Certificate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
alias
public abstract java.security.cert.Certificate engineGetCertificate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/cert/Certificate;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
alias
public abstract java.util.Date engineGetCreationDate(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Date;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
alias
public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
password
chain
public abstract void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]);
descriptor: (Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
key
chain
public abstract void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate);
descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
cert
public abstract void engineDeleteEntry(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
public abstract java.util.Enumeration<java.lang.String> engineAliases();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;
public abstract boolean engineContainsAlias(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
alias
public abstract int engineSize();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean engineIsKeyEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
alias
public abstract boolean engineIsCertificateEntry(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
alias
public abstract java.lang.String engineGetCertificateAlias(java.security.cert.Certificate);
descriptor: (Ljava/security/cert/Certificate;)Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
cert
public abstract void engineStore(java.io.OutputStream, char[]);
descriptor: (Ljava/io/OutputStream;[C)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
public void engineStore(java.security.KeyStore$LoadStoreParameter);
descriptor: (Ljava/security/KeyStore$LoadStoreParameter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/security/KeyStoreSpi;
0 1 1 param Ljava/security/KeyStore$LoadStoreParameter;
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
param
public abstract void engineLoad(java.io.InputStream, char[]);
descriptor: (Ljava/io/InputStream;[C)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
stream
password
public void engineLoad(java.security.KeyStore$LoadStoreParameter);
descriptor: (Ljava/security/KeyStore$LoadStoreParameter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
aconst_null
aconst_null
invokevirtual java.security.KeyStoreSpi.engineLoad:(Ljava/io/InputStream;[C)V
2: return
3: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.KeyStore$SimpleLoadStoreParameter
ifeq 28
4: aload 1
invokeinterface java.security.KeyStore$LoadStoreParameter.getProtectionParameter:()Ljava/security/KeyStore$ProtectionParameter;
astore 2
start local 2 5: aload 2
instanceof java.security.KeyStore$PasswordProtection
ifeq 8
6: aload 2
checkcast java.security.KeyStore$PasswordProtection
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
astore 3
start local 3 7: goto 26
end local 3 StackMap locals: java.security.KeyStore$ProtectionParameter
StackMap stack:
8: aload 2
instanceof java.security.KeyStore$CallbackHandlerProtection
ifeq 25
9: aload 2
checkcast java.security.KeyStore$CallbackHandlerProtection
invokevirtual java.security.KeyStore$CallbackHandlerProtection.getCallbackHandler:()Ljavax/security/auth/callback/CallbackHandler;
10: astore 4
start local 4 11: new javax.security.auth.callback.PasswordCallback
dup
ldc "Password: "
iconst_0
invokespecial javax.security.auth.callback.PasswordCallback.<init>:(Ljava/lang/String;Z)V
12: astore 5
start local 5 13: aload 4
iconst_1
anewarray javax.security.auth.callback.Callback
dup
iconst_0
aload 5
aastore
invokeinterface javax.security.auth.callback.CallbackHandler.handle:([Ljavax/security/auth/callback/Callback;)V
14: goto 19
StackMap locals: java.security.KeyStoreSpi java.security.KeyStore$LoadStoreParameter java.security.KeyStore$ProtectionParameter top javax.security.auth.callback.CallbackHandler javax.security.auth.callback.PasswordCallback
StackMap stack: javax.security.auth.callback.UnsupportedCallbackException
15: astore 6
start local 6 16: new java.security.NoSuchAlgorithmException
dup
17: ldc "Could not obtain password"
aload 6
18: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 19: StackMap locals:
StackMap stack:
aload 5
invokevirtual javax.security.auth.callback.PasswordCallback.getPassword:()[C
astore 3
start local 3 20: aload 5
invokevirtual javax.security.auth.callback.PasswordCallback.clearPassword:()V
21: aload 3
ifnonnull 26
22: new java.security.NoSuchAlgorithmException
dup
23: ldc "No password provided"
24: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 end local 3 25: StackMap locals: java.security.KeyStoreSpi java.security.KeyStore$LoadStoreParameter java.security.KeyStore$ProtectionParameter
StackMap stack:
new java.security.NoSuchAlgorithmException
dup
ldc "ProtectionParameter must be PasswordProtection or CallbackHandlerProtection"
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
start local 3 26: StackMap locals: char[]
StackMap stack:
aload 0
aconst_null
aload 3
invokevirtual java.security.KeyStoreSpi.engineLoad:(Ljava/io/InputStream;[C)V
27: return
end local 3 end local 2 28: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljava/security/KeyStoreSpi;
0 29 1 param Ljava/security/KeyStore$LoadStoreParameter;
5 28 2 protection Ljava/security/KeyStore$ProtectionParameter;
7 8 3 password [C
20 25 3 password [C
26 28 3 password [C
11 25 4 handler Ljavax/security/auth/callback/CallbackHandler;
13 25 5 callback Ljavax/security/auth/callback/PasswordCallback;
16 19 6 e Ljavax/security/auth/callback/UnsupportedCallbackException;
Exception table:
from to target type
13 14 15 Class javax.security.auth.callback.UnsupportedCallbackException
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
MethodParameters:
Name Flags
param
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=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineContainsAlias:(Ljava/lang/String;)Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 10
3: aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineIsCertificateEntry:(Ljava/lang/String;)Z
ifeq 7
4: new java.security.KeyStore$TrustedCertificateEntry
dup
5: aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
6: invokespecial java.security.KeyStore$TrustedCertificateEntry.<init>:(Ljava/security/cert/Certificate;)V
areturn
7: StackMap locals:
StackMap stack:
new java.security.UnrecoverableKeyException
dup
8: ldc "requested entry requires a password"
9: invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$PasswordProtection
ifeq 25
11: aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineIsCertificateEntry:(Ljava/lang/String;)Z
ifeq 15
12: new java.lang.UnsupportedOperationException
dup
13: ldc "trusted certificate entries are not password-protected"
14: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineIsKeyEntry:(Ljava/lang/String;)Z
ifeq 25
16: aload 2
checkcast java.security.KeyStore$PasswordProtection
17: astore 3
start local 3 18: aload 3
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
astore 4
start local 4 19: aload 0
aload 1
aload 4
invokevirtual java.security.KeyStoreSpi.engineGetKey:(Ljava/lang/String;[C)Ljava/security/Key;
astore 5
start local 5 20: aload 5
instanceof java.security.PrivateKey
ifeq 23
21: aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineGetCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
astore 6
start local 6 22: new java.security.KeyStore$PrivateKeyEntry
dup
aload 5
checkcast java.security.PrivateKey
aload 6
invokespecial java.security.KeyStore$PrivateKeyEntry.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;)V
areturn
end local 6 23: StackMap locals: java.security.KeyStore$PasswordProtection char[] java.security.Key
StackMap stack:
aload 5
instanceof javax.crypto.SecretKey
ifeq 25
24: new java.security.KeyStore$SecretKeyEntry
dup
aload 5
checkcast javax.crypto.SecretKey
invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
areturn
end local 5 end local 4 end local 3 25: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljava/security/KeyStoreSpi;
0 26 1 alias Ljava/lang/String;
0 26 2 protParam Ljava/security/KeyStore$ProtectionParameter;
18 25 3 pp Ljava/security/KeyStore$PasswordProtection;
19 25 4 password [C
20 25 5 key Ljava/security/Key;
22 23 6 chain [Ljava/security/cert/Certificate;
Exceptions:
throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException
MethodParameters:
Name Flags
alias
protParam
public 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: (0x0001) ACC_PUBLIC
Code:
stack=5, 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 15
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;
invokevirtual java.security.KeyStoreSpi.engineSetCertificateEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;)V
14: return
end local 5 15: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$PrivateKeyEntry
ifeq 27
16: aload 4
ifnull 17
aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
ifnonnull 20
17: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
18: ldc "non-null password required to create PrivateKeyEntry"
19: invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 0
21: aload 1
22: aload 2
checkcast java.security.KeyStore$PrivateKeyEntry
invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
23: aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
24: aload 2
checkcast java.security.KeyStore$PrivateKeyEntry
invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
25: invokevirtual java.security.KeyStoreSpi.engineSetKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
26: return
27: StackMap locals:
StackMap stack:
aload 2
instanceof java.security.KeyStore$SecretKeyEntry
ifeq 39
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 0
33: aload 1
34: aload 2
checkcast java.security.KeyStore$SecretKeyEntry
invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
35: aload 4
invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
36: aconst_null
37: invokevirtual java.security.KeyStoreSpi.engineSetKeyEntry:(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
38: return
39: StackMap locals:
StackMap stack:
new java.security.KeyStoreException
dup
40: 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;
41: 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 42 0 this Ljava/security/KeyStoreSpi;
0 42 1 alias Ljava/lang/String;
0 42 2 entry Ljava/security/KeyStore$Entry;
0 42 3 protParam Ljava/security/KeyStore$ProtectionParameter;
4 42 4 pProtect Ljava/security/KeyStore$PasswordProtection;
13 15 5 tce Ljava/security/KeyStore$TrustedCertificateEntry;
Exceptions:
throws java.security.KeyStoreException
MethodParameters:
Name Flags
alias
entry
protParam
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=2, locals=3, 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 java.security.KeyStoreSpi.engineIsCertificateEntry:(Ljava/lang/String;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/security/KeyStore$PrivateKeyEntry;
if_acmpne 7
3: aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineIsKeyEntry:(Ljava/lang/String;)Z
ifeq 6
4: aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
ifnull 6
5: iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/security/KeyStore$SecretKeyEntry;
if_acmpne 12
8: aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineIsKeyEntry:(Ljava/lang/String;)Z
ifeq 11
9: aload 0
aload 1
invokevirtual java.security.KeyStoreSpi.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
ifnonnull 11
10: iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/security/KeyStoreSpi;
0 13 1 alias Ljava/lang/String;
0 13 2 entryClass Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;
Signature: (Ljava/lang/String;Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;)Z
MethodParameters:
Name Flags
alias
entryClass
}
SourceFile: "KeyStoreSpi.java"
InnerClasses:
public CallbackHandlerProtection = java.security.KeyStore$CallbackHandlerProtection of java.security.KeyStore
public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
public abstract LoadStoreParameter = java.security.KeyStore$LoadStoreParameter of java.security.KeyStore
public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
SimpleLoadStoreParameter = java.security.KeyStore$SimpleLoadStoreParameter of java.security.KeyStore
public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore