to top
Android APIs
public abstract class

KeyStoreSpi

extends Object
java.lang.Object
   ↳ java.security.KeyStoreSpi

Class Overview

KeyStoreSpi is the Service Provider Interface (SPI) definition for KeyStore.

See Also

Summary

Public Constructors
KeyStoreSpi()
Public Methods
abstract Enumeration<String> engineAliases()
Returns an Enumeration over all alias names stored in this KeyStoreSpi.
abstract boolean engineContainsAlias(String alias)
Indicates whether the given alias is present in this KeyStoreSpi.
abstract void engineDeleteEntry(String alias)
Deletes the entry identified with the given alias from this KeyStoreSpi.
boolean engineEntryInstanceOf(String alias, Class<? extends KeyStore.Entry> entryClass)
Indicates whether the entry for the given alias is assignable to the provided Class.
abstract Certificate engineGetCertificate(String alias)
Returns the trusted certificate for the entry with the given alias.
abstract String engineGetCertificateAlias(Certificate cert)
Returns the alias associated with the first entry whose certificate matches the specified certificate.
abstract Certificate[] engineGetCertificateChain(String alias)
Returns the certificate chain for the entry with the given alias.
abstract Date engineGetCreationDate(String alias)
Returns the creation date of the entry with the given alias.
KeyStore.Entry engineGetEntry(String alias, KeyStore.ProtectionParameter protParam)
Returns the Entry with the given alias, using the specified ProtectionParameter.
abstract Key engineGetKey(String alias, char[] password)
Returns the key with the given alias, using the password to recover the key from the store.
abstract boolean engineIsCertificateEntry(String alias)
Indicates whether the specified alias is associated with a KeyStore.TrustedCertificateEntry.
abstract boolean engineIsKeyEntry(String alias)
Indicates whether the specified alias is associated with either a KeyStore.PrivateKeyEntry or a KeyStore.SecretKeyEntry.
void engineLoad(KeyStore.LoadStoreParameter param)
Loads this KeyStoreSpi using the specified LoadStoreParameter.
abstract void engineLoad(InputStream stream, char[] password)
Loads this KeyStoreSpi from the given InputStream.
abstract void engineSetCertificateEntry(String alias, Certificate cert)
Associates the given alias with a certificate.
void engineSetEntry(String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam)
Stores the given Entry in this KeyStoreSpi and associates the entry with the given alias.
abstract void engineSetKeyEntry(String alias, Key key, char[] password, Certificate[] chain)
Associates the given alias with the key, password and certificate chain.
abstract void engineSetKeyEntry(String alias, byte[] key, Certificate[] chain)
Associates the given alias with a key and a certificate chain.
abstract int engineSize()
Returns the number of entries stored in this KeyStoreSpi.
void engineStore(KeyStore.LoadStoreParameter param)
Stores this KeyStoreSpi using the specified LoadStoreParameter.
abstract void engineStore(OutputStream stream, char[] password)
Writes this KeyStoreSpi to the specified OutputStream.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public KeyStoreSpi ()

Since: API Level 1

Public Methods

public abstract Enumeration<String> engineAliases ()

Since: API Level 1

Returns an Enumeration over all alias names stored in this KeyStoreSpi.

Returns
  • an Enumeration over all alias names stored in this KeyStoreSpi.

public abstract boolean engineContainsAlias (String alias)

Since: API Level 1

Indicates whether the given alias is present in this KeyStoreSpi.

Parameters
alias the alias of an entry.
Returns
  • true if the alias exists, false otherwise.

public abstract void engineDeleteEntry (String alias)

Since: API Level 1

Deletes the entry identified with the given alias from this KeyStoreSpi.

Parameters
alias the alias for the entry.
Throws
KeyStoreException if the entry can not be deleted.

public boolean engineEntryInstanceOf (String alias, Class<? extends KeyStore.Entry> entryClass)

Since: API Level 1

Indicates whether the entry for the given alias is assignable to the provided Class.

Parameters
alias the alias for the entry.
entryClass the type of the entry.
Returns
  • true if the Entry for the alias is assignable to the specified entryClass.

public abstract Certificate engineGetCertificate (String alias)

Since: API Level 1

Returns the trusted certificate for the entry with the given alias.

Parameters
alias the alias for the entry.
Returns
  • the trusted certificate for the entry with the given alias, or null if the specified alias is not bound to an entry.

public abstract String engineGetCertificateAlias (Certificate cert)

Since: API Level 1

Returns the alias associated with the first entry whose certificate matches the specified certificate.

Parameters
cert the certificate to find the associated entry's alias for.
Returns
  • the alias or null if no entry with the specified certificate can be found.

public abstract Certificate[] engineGetCertificateChain (String alias)

Since: API Level 1

Returns the certificate chain for the entry with the given alias.

Parameters
alias the alias for the entry
Returns
  • the certificate chain for the entry with the given alias, or null if the specified alias is not bound to an entry.

public abstract Date engineGetCreationDate (String alias)

Since: API Level 1

Returns the creation date of the entry with the given alias.

Parameters
alias the alias for the entry.
Returns
  • the creation date, or null if the specified alias is not bound to an entry.

public KeyStore.Entry engineGetEntry (String alias, KeyStore.ProtectionParameter protParam)

Since: API Level 1

Returns the Entry with the given alias, using the specified ProtectionParameter.

Parameters
alias the alias of the requested entry.
protParam the ProtectionParameter, used to protect the requested entry, maybe null.
Returns
  • he Entry with the given alias, using the specified ProtectionParameter.
Throws
NoSuchAlgorithmException if the required algorithm is not available.
UnrecoverableEntryException if the entry can not be recovered.
KeyStoreException if this operation fails

public abstract Key engineGetKey (String alias, char[] password)

Since: API Level 1

Returns the key with the given alias, using the password to recover the key from the store.

Parameters
alias the alias for the entry.
password the password used to recover the key.
Returns
  • the key with the specified alias, or null if the specified alias is not bound to an entry.
Throws
NoSuchAlgorithmException if the algorithm for recovering the key is not available.
UnrecoverableKeyException if the key can not be recovered.

public abstract boolean engineIsCertificateEntry (String alias)

Since: API Level 1

Indicates whether the specified alias is associated with a KeyStore.TrustedCertificateEntry.

Parameters
alias the alias of an entry.
Returns
  • true if the given alias is associated with a certificate entry.

public abstract boolean engineIsKeyEntry (String alias)

Since: API Level 1

Indicates whether the specified alias is associated with either a KeyStore.PrivateKeyEntry or a KeyStore.SecretKeyEntry.

Parameters
alias the alias of an entry.
Returns
  • true if the given alias is associated with a key entry.

public void engineLoad (KeyStore.LoadStoreParameter param)

Since: API Level 1

Loads this KeyStoreSpi using the specified LoadStoreParameter.

Parameters
param the LoadStoreParameter that specifies how to load this KeyStoreSpi, maybe null.
Throws
IOException if a problem occurred while reading from the stream.
NoSuchAlgorithmException if the required algorithm is not available.
CertificateException if the an exception occurred while loading the certificates of this code KeyStoreSpi.
IllegalArgumentException if the given KeyStore.LoadStoreParameter is not recognized.

public abstract void engineLoad (InputStream stream, char[] password)

Since: API Level 1

Loads this KeyStoreSpi from the given InputStream. Utilizes the given password to verify the stored data.

Parameters
stream the InputStream to load this KeyStoreSpi's data from.
password the password to verify the stored data, maybe null.
Throws
IOException if a problem occurred while reading from the stream.
NoSuchAlgorithmException if the required algorithm is not available.
CertificateException if the an exception occurred while loading the certificates of this code KeyStoreSpi.

public abstract void engineSetCertificateEntry (String alias, Certificate cert)

Since: API Level 1

Associates the given alias with a certificate.

If the specified alias already exists, it will be reassigned.

Parameters
alias the alias for the certificate.
cert the certificate.
Throws
KeyStoreException if an existing alias is not associated to an entry containing a trusted certificate, or this method fails for any other reason.

public void engineSetEntry (String alias, KeyStore.Entry entry, KeyStore.ProtectionParameter protParam)

Since: API Level 1

Stores the given Entry in this KeyStoreSpi and associates the entry with the given alias. The entry is protected by the specified ProtectionParameter.

If the specified alias already exists, it will be reassigned.

Parameters
alias the alias for the entry.
entry the entry to store.
protParam the ProtectionParameter to protect the entry.
Throws
KeyStoreException if this operation fails.

public abstract void engineSetKeyEntry (String alias, Key key, char[] password, Certificate[] chain)

Since: API Level 1

Associates the given alias with the key, password and certificate chain.

If the specified alias already exists, it will be reassigned.

Parameters
alias the alias for the key.
key the key.
password the password.
chain the certificate chain.
Throws
KeyStoreException if the specified key can not be protected, or if this operation fails for another reason.
IllegalArgumentException if key is a PrivateKey and chain does not contain any certificates.

public abstract void engineSetKeyEntry (String alias, byte[] key, Certificate[] chain)

Since: API Level 1

Associates the given alias with a key and a certificate chain.

If the specified alias already exists, it will be reassigned.

Parameters
alias the alias for the key.
key the key in an encoded format.
chain the certificate chain.
Throws
KeyStoreException if this operation fails.
IllegalArgumentException if key is a PrivateKey and chain does.

public abstract int engineSize ()

Since: API Level 1

Returns the number of entries stored in this KeyStoreSpi.

Returns
  • the number of entries stored in this KeyStoreSpi.

public void engineStore (KeyStore.LoadStoreParameter param)

Since: API Level 1

Stores this KeyStoreSpi using the specified LoadStoreParameter.

Parameters
param the LoadStoreParameter that specifies how to store this KeyStoreSpi, maybe null.
Throws
IOException if a problem occurred while writing to the stream.
NoSuchAlgorithmException if the required algorithm is not available.
CertificateException if the an exception occurred while storing the certificates of this code KeyStoreSpi.
IllegalArgumentException if the given KeyStore.LoadStoreParameter is not recognized.

public abstract void engineStore (OutputStream stream, char[] password)

Since: API Level 1

Writes this KeyStoreSpi to the specified OutputStream. The data written to the OutputStream is protected by the specified password.

Parameters
stream the OutputStream to write the store's data to.
password the password to protect the data.
Throws
IOException if a problem occurred while writing to the stream.
NoSuchAlgorithmException if the required algorithm is not available.
CertificateException if the an exception occurred while storing the certificates of this code KeyStoreSpi.