Most visited

Recently visited

Added in API level 18
Deprecated since API level 23


public final class KeyStoreParameter
extends Object implements KeyStore.ProtectionParameter


This class was deprecated in API level 23.
Use KeyProtection instead.

This provides the optional parameters that can be specified for KeyStore entries that work with Android KeyStore facility. The Android KeyStore facility is accessed through a KeyStore API using the AndroidKeyStore provider. The context passed in may be used to pop up some UI to ask the user to unlock or initialize the Android KeyStore facility.

Any entries placed in the KeyStore may be retrieved later. Note that there is only one logical instance of the KeyStore per application UID so apps using the sharedUid facility will also share a KeyStore.

Keys may be generated using the KeyPairGenerator facility with a KeyPairGeneratorSpec to specify the entry's alias. A self-signed X.509 certificate will be attached to generated entries, but that may be replaced at a later time by a certificate signed by a real Certificate Authority.


Nested classes

class KeyStoreParameter.Builder

This class was deprecated in API level 23. Use KeyProtection.Builder instead.  

Public methods

boolean isEncryptionRequired()

Returns true if the KeyStore entry must be encrypted at rest.

Inherited methods

From class java.lang.Object

Public methods


Added in API level 18
boolean isEncryptionRequired ()

Returns true if the KeyStore entry must be encrypted at rest. This will protect the entry with the secure lock screen credential (e.g., password, PIN, or pattern).

Note that encrypting the key at rest requires that the secure lock screen (e.g., password, PIN, pattern) is set up, otherwise key generation will fail. Moreover, this key will be deleted when the secure lock screen is disabled or reset (e.g., by the user or a Device Administrator). Finally, this key cannot be used until the user unlocks the secure lock screen after boot.


See also: