Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

# java.security

Provides the classes and interfaces for the security framework. This includes classes that implement an easily configurable, fine-grained access control security architecture. This package also supports the generation and storage of cryptographic public key pairs, as well as a number of exportable cryptographic operations including those for message digest and signature generation. Finally, this package provides classes that support signed/guarded objects and secure random number generation. Many of the classes provided in this package (the cryptographic and secure random number generator classes in particular) are provider-based. The class itself defines a programming interface to which applications may write. The implementations themselves may then be written by independent third-party vendors and plugged in seamlessly as needed. Therefore application developers may take advantage of any number of provider-based implementations without having to add or rewrite code.

## Package Specification

- [**Java™
  Cryptography Architecture (JCA) Reference Guide**](https://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html)
- PKCS #8: Private-Key Information Syntax Standard, Version 1.2, November 1993
- [**Java™
  Cryptography Architecture Standard Algorithm Name
  Documentation**](https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html)

## Related Documentation

For further documentation, please see:

- [**Java™
  SE Platform Security Architecture**](https://docs.oracle.com/javase/8/docs/technotes/guides/security/spec/security-spec.doc.html)
- [**How to Implement a Provider in the
  Java™ Cryptography Architecture**](https://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/HowToImplAProvider.html)
- [**Default Policy Implementation and Policy File Syntax**](https://docs.oracle.com/javase/8/docs/technotes/guides/security/PolicyFiles.html)
- [**Permissions in the
  Java™ SE Development Kit (JDK)**](https://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html)
- [**Summary of Tools for
  Java™ Platform Security**](https://docs.oracle.com/javase/8/docs/technotes/guides/security/SecurityToolsSummary.html)
- **keytool** ([for Solaris/Linux](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html)) ([for Windows](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html))
- **jarsigner** ([for Solaris/Linux](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jarsigner.html)) ([for Windows](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/jarsigner.html))

## Interfaces

|---|---|
| [AlgorithmConstraints](https://developer.android.com/reference/java/security/AlgorithmConstraints) | This interface specifies constraints for cryptographic algorithms, keys (key sizes), and other algorithm parameters. |
| [Certificate](https://developer.android.com/reference/java/security/Certificate) | *This interface was deprecated in API level 3. This class is deprecated and subject to removal in a future version of Java SE. It has been replaced by `java.security.cert.Certificate` and related classes.* |
| [DomainCombiner](https://developer.android.com/reference/java/security/DomainCombiner) | Legacy security code; do not use. |
| [Guard](https://developer.android.com/reference/java/security/Guard) | This interface represents a guard, which is an object that is used to protect access to another object. |
| [Key](https://developer.android.com/reference/java/security/Key) | The Key interface is the top-level interface for all keys. |
| [KeyStore.Entry](https://developer.android.com/reference/java/security/KeyStore.Entry) | A marker interface for `KeyStore` entry types. |
| [KeyStore.Entry.Attribute](https://developer.android.com/reference/java/security/KeyStore.Entry.Attribute) | An attribute associated with a keystore entry. |
| [KeyStore.LoadStoreParameter](https://developer.android.com/reference/java/security/KeyStore.LoadStoreParameter) | A marker interface for `KeyStore` `https://developer.android.com/reference/java/security/KeyStore#load(java.security.KeyStore.LoadStoreParameter)` and `https://developer.android.com/reference/java/security/KeyStore#store(java.security.KeyStore.LoadStoreParameter)` parameters. |
| [KeyStore.ProtectionParameter](https://developer.android.com/reference/java/security/KeyStore.ProtectionParameter) | A marker interface for keystore protection parameters. |
| [Policy.Parameters](https://developer.android.com/reference/java/security/Policy.Parameters) |   |
| [Principal](https://developer.android.com/reference/java/security/Principal) | This interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, a corporation, and a login id. |
| [PrivateKey](https://developer.android.com/reference/java/security/PrivateKey) | A private key. |
| [PrivilegedAction](https://developer.android.com/reference/java/security/PrivilegedAction)\<T\> | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [PrivilegedExceptionAction](https://developer.android.com/reference/java/security/PrivilegedExceptionAction)\<T\> | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [PublicKey](https://developer.android.com/reference/java/security/PublicKey) | A public key. |
| [SecureRandomParameters](https://developer.android.com/reference/java/security/SecureRandomParameters) | A marker interface for parameters used in various `SecureRandom` methods. |

## Classes

|---|---|
| [AccessControlContext](https://developer.android.com/reference/java/security/AccessControlContext) | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [AccessController](https://developer.android.com/reference/java/security/AccessController) | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [AlgorithmParameterGenerator](https://developer.android.com/reference/java/security/AlgorithmParameterGenerator) | The `AlgorithmParameterGenerator` class is used to generate a set of parameters to be used with a certain algorithm. |
| [AlgorithmParameterGeneratorSpi](https://developer.android.com/reference/java/security/AlgorithmParameterGeneratorSpi) | This class defines the *Service Provider Interface* (**SPI** ) for the `AlgorithmParameterGenerator` class, which is used to generate a set of parameters to be used with a certain algorithm. |
| [AlgorithmParameters](https://developer.android.com/reference/java/security/AlgorithmParameters) | This class is used as an opaque representation of cryptographic parameters. |
| [AlgorithmParametersSpi](https://developer.android.com/reference/java/security/AlgorithmParametersSpi) | This class defines the *Service Provider Interface* (**SPI** ) for the `AlgorithmParameters` class, which is used to manage algorithm parameters. |
| [AllPermission](https://developer.android.com/reference/java/security/AllPermission) | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [AuthProvider](https://developer.android.com/reference/java/security/AuthProvider) | Legacy security code; do not use. |
| [BasicPermission](https://developer.android.com/reference/java/security/BasicPermission) | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [CodeSigner](https://developer.android.com/reference/java/security/CodeSigner) | This class encapsulates information about a code signer. |
| [CodeSource](https://developer.android.com/reference/java/security/CodeSource) | Legacy security code; do not use. |
| [DigestInputStream](https://developer.android.com/reference/java/security/DigestInputStream) | A transparent stream that updates the associated message digest using the bits going through the stream. |
| [DigestOutputStream](https://developer.android.com/reference/java/security/DigestOutputStream) | A transparent stream that updates the associated message digest using the bits going through the stream. |
| [DomainLoadStoreParameter](https://developer.android.com/reference/java/security/DomainLoadStoreParameter) | Configuration data that specifies the keystores in a keystore domain. |
| [DrbgParameters](https://developer.android.com/reference/java/security/DrbgParameters) | This class specifies the parameters used by a DRBG (Deterministic Random Bit Generator). |
| [DrbgParameters.Instantiation](https://developer.android.com/reference/java/security/DrbgParameters.Instantiation) | DRBG parameters for instantiation. |
| [DrbgParameters.NextBytes](https://developer.android.com/reference/java/security/DrbgParameters.NextBytes) | DRBG parameters for random bits generation. |
| [DrbgParameters.Reseed](https://developer.android.com/reference/java/security/DrbgParameters.Reseed) | DRBG parameters for reseed. |
| [GuardedObject](https://developer.android.com/reference/java/security/GuardedObject) | A GuardedObject is an object that is used to protect access to another object. |
| [Identity](https://developer.android.com/reference/java/security/Identity) | *This class was deprecated in API level 3. This class is deprecated and subject to removal in a future version of Java SE. It has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.* |
| [IdentityScope](https://developer.android.com/reference/java/security/IdentityScope) | *This class was deprecated in API level 3. This class is deprecated and subject to removal in a future version of Java SE. It has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.* |
| [KeyFactory](https://developer.android.com/reference/java/security/KeyFactory) | Key factories are used to convert *keys* (opaque cryptographic keys of type `Key`) into *key specifications* (transparent representations of the underlying key material), and vice versa. |
| [KeyFactorySpi](https://developer.android.com/reference/java/security/KeyFactorySpi) | This class defines the *Service Provider Interface* (**SPI** ) for the `KeyFactory` class. |
| [KeyPair](https://developer.android.com/reference/java/security/KeyPair) | This class is a simple holder for a key pair (a public key and a private key). |
| [KeyPairGenerator](https://developer.android.com/reference/java/security/KeyPairGenerator) | The KeyPairGenerator class is used to generate pairs of public and private keys. |
| [KeyPairGeneratorSpi](https://developer.android.com/reference/java/security/KeyPairGeneratorSpi) | This class defines the *Service Provider Interface* (**SPI** ) for the `KeyPairGenerator` class, which is used to generate pairs of public and private keys. |
| [KeyRep](https://developer.android.com/reference/java/security/KeyRep) | Standardized representation for serialized Key objects. |
| [KeyStore](https://developer.android.com/reference/java/security/KeyStore) | This class represents a storage facility for cryptographic keys and certificates. |
| [KeyStore.Builder](https://developer.android.com/reference/java/security/KeyStore.Builder) | A description of a to-be-instantiated KeyStore object. |
| [KeyStore.CallbackHandlerProtection](https://developer.android.com/reference/java/security/KeyStore.CallbackHandlerProtection) | A ProtectionParameter encapsulating a CallbackHandler. |
| [KeyStore.PasswordProtection](https://developer.android.com/reference/java/security/KeyStore.PasswordProtection) | A password-based implementation of `ProtectionParameter`. |
| [KeyStore.PrivateKeyEntry](https://developer.android.com/reference/java/security/KeyStore.PrivateKeyEntry) | A `KeyStore` entry that holds a `PrivateKey` and corresponding certificate chain. |
| [KeyStore.SecretKeyEntry](https://developer.android.com/reference/java/security/KeyStore.SecretKeyEntry) | A `KeyStore` entry that holds a `SecretKey`. |
| [KeyStore.TrustedCertificateEntry](https://developer.android.com/reference/java/security/KeyStore.TrustedCertificateEntry) | A `KeyStore` entry that holds a trusted `Certificate`. |
| [KeyStoreSpi](https://developer.android.com/reference/java/security/KeyStoreSpi) | This class defines the *Service Provider Interface* (**SPI** ) for the `KeyStore` class. |
| [MessageDigest](https://developer.android.com/reference/java/security/MessageDigest) | This MessageDigest class provides applications the functionality of a message digest algorithm, such as SHA-1 or SHA-256. |
| [MessageDigestSpi](https://developer.android.com/reference/java/security/MessageDigestSpi) | This class defines the *Service Provider Interface* (**SPI** ) for the `MessageDigest` class, which provides the functionality of a message digest algorithm, such as MD5 or SHA. |
| [Permission](https://developer.android.com/reference/java/security/Permission) | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [PermissionCollection](https://developer.android.com/reference/java/security/PermissionCollection) | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [Permissions](https://developer.android.com/reference/java/security/Permissions) | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [PKCS12Attribute](https://developer.android.com/reference/java/security/PKCS12Attribute) | An attribute associated with a PKCS12 keystore entry. |
| [Policy](https://developer.android.com/reference/java/security/Policy) | Android doesn't support `https://developer.android.com/reference/java/lang/SecurityManager`. |
| [PolicySpi](https://developer.android.com/reference/java/security/PolicySpi) | This class defines the *Service Provider Interface* (**SPI** ) for the `Policy` class. |
| [ProtectionDomain](https://developer.android.com/reference/java/security/ProtectionDomain) | Legacy security code; do not use. |
| [Provider](https://developer.android.com/reference/java/security/Provider) | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security. |
| [Provider.Service](https://developer.android.com/reference/java/security/Provider.Service) | The description of a security service. |
| [SecureClassLoader](https://developer.android.com/reference/java/security/SecureClassLoader) | This class extends ClassLoader with additional support for defining classes with an associated code source and permissions which are retrieved by the system policy by default. |
| [SecureRandom](https://developer.android.com/reference/java/security/SecureRandom) | This class provides a cryptographically strong random number generator (RNG). |
| [SecureRandomSpi](https://developer.android.com/reference/java/security/SecureRandomSpi) | This class defines the *Service Provider Interface* (**SPI** ) for the `https://developer.android.com/reference/java/security/SecureRandom` class. |
| [Security](https://developer.android.com/reference/java/security/Security) | This class centralizes all security properties and common security methods. |
| [SecurityPermission](https://developer.android.com/reference/java/security/SecurityPermission) | Legacy security code; do not use. |
| [Signature](https://developer.android.com/reference/java/security/Signature) | The Signature class is used to provide applications the functionality of a digital signature algorithm. |
| [SignatureSpi](https://developer.android.com/reference/java/security/SignatureSpi) | This class defines the *Service Provider Interface* (**SPI** ) for the `Signature` class, which is used to provide the functionality of a digital signature algorithm. |
| [SignedObject](https://developer.android.com/reference/java/security/SignedObject) | SignedObject is a class for the purpose of creating authentic runtime objects whose integrity cannot be compromised without being detected. |
| [Signer](https://developer.android.com/reference/java/security/Signer) | *This class was deprecated in API level 3. This class is deprecated and subject to removal in a future version of Java SE. It has been replaced by `java.security.KeyStore`, the `java.security.cert` package, and `java.security.Principal`.* |
| [Timestamp](https://developer.android.com/reference/java/security/Timestamp) | This class encapsulates information about a signed timestamp. |
| [UnresolvedPermission](https://developer.android.com/reference/java/security/UnresolvedPermission) | Legacy security code; do not use. |

## Enums

|---|---|
| [CryptoPrimitive](https://developer.android.com/reference/java/security/CryptoPrimitive) | An enumeration of cryptographic primitives. |
| [DrbgParameters.Capability](https://developer.android.com/reference/java/security/DrbgParameters.Capability) | The reseedable and prediction resistance capabilities of a DRBG. |
| [KeyRep.Type](https://developer.android.com/reference/java/security/KeyRep.Type) | Key type. |

## Exceptions

|---|---|
| [AccessControlException](https://developer.android.com/reference/java/security/AccessControlException) | This exception is thrown by the AccessController to indicate that a requested access (to a critical system resource such as the file system or the network) is denied. |
| [DigestException](https://developer.android.com/reference/java/security/DigestException) | This is the generic Message Digest exception. |
| [GeneralSecurityException](https://developer.android.com/reference/java/security/GeneralSecurityException) | The `GeneralSecurityException` class is a generic security exception class that provides type safety for all the security-related exception classes that extend from it. |
| [InvalidAlgorithmParameterException](https://developer.android.com/reference/java/security/InvalidAlgorithmParameterException) | This is the exception for invalid or inappropriate algorithm parameters. |
| [InvalidKeyException](https://developer.android.com/reference/java/security/InvalidKeyException) | This is the exception for invalid Keys (invalid encoding, wrong length, uninitialized, etc). |
| [InvalidParameterException](https://developer.android.com/reference/java/security/InvalidParameterException) | This exception, designed for use by the JCA/JCE engine classes, is thrown when an invalid parameter is passed to a method. |
| [KeyException](https://developer.android.com/reference/java/security/KeyException) | This is the basic key exception. |
| [KeyManagementException](https://developer.android.com/reference/java/security/KeyManagementException) | This is the general key management exception for all operations dealing with key management. |
| [KeyStoreException](https://developer.android.com/reference/java/security/KeyStoreException) | This is the generic KeyStore exception. |
| [NoSuchAlgorithmException](https://developer.android.com/reference/java/security/NoSuchAlgorithmException) | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment. |
| [NoSuchProviderException](https://developer.android.com/reference/java/security/NoSuchProviderException) | This exception is thrown when a particular security provider is requested but is not available in the environment. |
| [PrivilegedActionException](https://developer.android.com/reference/java/security/PrivilegedActionException) | Legacy security code; do not use. |
| [ProviderException](https://developer.android.com/reference/java/security/ProviderException) | A runtime exception for Provider exceptions (such as misconfiguration errors or unrecoverable internal errors), which may be subclassed by Providers to throw specialized, provider-specific runtime errors. |
| [SignatureException](https://developer.android.com/reference/java/security/SignatureException) | This is the generic Signature exception. |
| [UnrecoverableEntryException](https://developer.android.com/reference/java/security/UnrecoverableEntryException) | This exception is thrown if an entry in the keystore cannot be recovered. |
| [UnrecoverableKeyException](https://developer.android.com/reference/java/security/UnrecoverableKeyException) | This exception is thrown if a key in the keystore cannot be recovered. |

-

  ## Interfaces

  - [AlgorithmConstraints](https://developer.android.com/reference/java/security/AlgorithmConstraints)
  - [Certificate](https://developer.android.com/reference/java/security/Certificate)
  - [DomainCombiner](https://developer.android.com/reference/java/security/DomainCombiner)
  - [Guard](https://developer.android.com/reference/java/security/Guard)
  - [Key](https://developer.android.com/reference/java/security/Key)
  - [KeyStore.Entry](https://developer.android.com/reference/java/security/KeyStore.Entry)
  - [KeyStore.Entry.Attribute](https://developer.android.com/reference/java/security/KeyStore.Entry.Attribute)
  - [KeyStore.LoadStoreParameter](https://developer.android.com/reference/java/security/KeyStore.LoadStoreParameter)
  - [KeyStore.ProtectionParameter](https://developer.android.com/reference/java/security/KeyStore.ProtectionParameter)
  - [Policy.Parameters](https://developer.android.com/reference/java/security/Policy.Parameters)
  - [Principal](https://developer.android.com/reference/java/security/Principal)
  - [PrivateKey](https://developer.android.com/reference/java/security/PrivateKey)
  - [PrivilegedAction](https://developer.android.com/reference/java/security/PrivilegedAction)
  - [PrivilegedExceptionAction](https://developer.android.com/reference/java/security/PrivilegedExceptionAction)
  - [PublicKey](https://developer.android.com/reference/java/security/PublicKey)
  - [SecureRandomParameters](https://developer.android.com/reference/java/security/SecureRandomParameters)
-

  ## Classes

  - [AccessControlContext](https://developer.android.com/reference/java/security/AccessControlContext)
  - [AccessController](https://developer.android.com/reference/java/security/AccessController)
  - [AlgorithmParameterGenerator](https://developer.android.com/reference/java/security/AlgorithmParameterGenerator)
  - [AlgorithmParameterGeneratorSpi](https://developer.android.com/reference/java/security/AlgorithmParameterGeneratorSpi)
  - [AlgorithmParameters](https://developer.android.com/reference/java/security/AlgorithmParameters)
  - [AlgorithmParametersSpi](https://developer.android.com/reference/java/security/AlgorithmParametersSpi)
  - [AllPermission](https://developer.android.com/reference/java/security/AllPermission)
  - [AuthProvider](https://developer.android.com/reference/java/security/AuthProvider)
  - [BasicPermission](https://developer.android.com/reference/java/security/BasicPermission)
  - [CodeSigner](https://developer.android.com/reference/java/security/CodeSigner)
  - [CodeSource](https://developer.android.com/reference/java/security/CodeSource)
  - [DigestInputStream](https://developer.android.com/reference/java/security/DigestInputStream)
  - [DigestOutputStream](https://developer.android.com/reference/java/security/DigestOutputStream)
  - [DomainLoadStoreParameter](https://developer.android.com/reference/java/security/DomainLoadStoreParameter)
  - [DrbgParameters](https://developer.android.com/reference/java/security/DrbgParameters)
  - [DrbgParameters.Instantiation](https://developer.android.com/reference/java/security/DrbgParameters.Instantiation)
  - [DrbgParameters.NextBytes](https://developer.android.com/reference/java/security/DrbgParameters.NextBytes)
  - [DrbgParameters.Reseed](https://developer.android.com/reference/java/security/DrbgParameters.Reseed)
  - [GuardedObject](https://developer.android.com/reference/java/security/GuardedObject)
  - [Identity](https://developer.android.com/reference/java/security/Identity)
  - [IdentityScope](https://developer.android.com/reference/java/security/IdentityScope)
  - [KeyFactory](https://developer.android.com/reference/java/security/KeyFactory)
  - [KeyFactorySpi](https://developer.android.com/reference/java/security/KeyFactorySpi)
  - [KeyPair](https://developer.android.com/reference/java/security/KeyPair)
  - [KeyPairGenerator](https://developer.android.com/reference/java/security/KeyPairGenerator)
  - [KeyPairGeneratorSpi](https://developer.android.com/reference/java/security/KeyPairGeneratorSpi)
  - [KeyRep](https://developer.android.com/reference/java/security/KeyRep)
  - [KeyStore](https://developer.android.com/reference/java/security/KeyStore)
  - [KeyStore.Builder](https://developer.android.com/reference/java/security/KeyStore.Builder)
  - [KeyStore.CallbackHandlerProtection](https://developer.android.com/reference/java/security/KeyStore.CallbackHandlerProtection)
  - [KeyStore.PasswordProtection](https://developer.android.com/reference/java/security/KeyStore.PasswordProtection)
  - [KeyStore.PrivateKeyEntry](https://developer.android.com/reference/java/security/KeyStore.PrivateKeyEntry)
  - [KeyStore.SecretKeyEntry](https://developer.android.com/reference/java/security/KeyStore.SecretKeyEntry)
  - [KeyStore.TrustedCertificateEntry](https://developer.android.com/reference/java/security/KeyStore.TrustedCertificateEntry)
  - [KeyStoreSpi](https://developer.android.com/reference/java/security/KeyStoreSpi)
  - [MessageDigest](https://developer.android.com/reference/java/security/MessageDigest)
  - [MessageDigestSpi](https://developer.android.com/reference/java/security/MessageDigestSpi)
  - [Permission](https://developer.android.com/reference/java/security/Permission)
  - [PermissionCollection](https://developer.android.com/reference/java/security/PermissionCollection)
  - [Permissions](https://developer.android.com/reference/java/security/Permissions)
  - [PKCS12Attribute](https://developer.android.com/reference/java/security/PKCS12Attribute)
  - [Policy](https://developer.android.com/reference/java/security/Policy)
  - [PolicySpi](https://developer.android.com/reference/java/security/PolicySpi)
  - [ProtectionDomain](https://developer.android.com/reference/java/security/ProtectionDomain)
  - [Provider](https://developer.android.com/reference/java/security/Provider)
  - [Provider.Service](https://developer.android.com/reference/java/security/Provider.Service)
  - [SecureClassLoader](https://developer.android.com/reference/java/security/SecureClassLoader)
  - [SecureRandom](https://developer.android.com/reference/java/security/SecureRandom)
  - [SecureRandomSpi](https://developer.android.com/reference/java/security/SecureRandomSpi)
  - [Security](https://developer.android.com/reference/java/security/Security)
  - [SecurityPermission](https://developer.android.com/reference/java/security/SecurityPermission)
  - [Signature](https://developer.android.com/reference/java/security/Signature)
  - [SignatureSpi](https://developer.android.com/reference/java/security/SignatureSpi)
  - [SignedObject](https://developer.android.com/reference/java/security/SignedObject)
  - [Signer](https://developer.android.com/reference/java/security/Signer)
  - [Timestamp](https://developer.android.com/reference/java/security/Timestamp)
  - [UnresolvedPermission](https://developer.android.com/reference/java/security/UnresolvedPermission)
-

  ## Enums

  - [CryptoPrimitive](https://developer.android.com/reference/java/security/CryptoPrimitive)
  - [DrbgParameters.Capability](https://developer.android.com/reference/java/security/DrbgParameters.Capability)
  - [KeyRep.Type](https://developer.android.com/reference/java/security/KeyRep.Type)
-

  ## Exceptions

  - [AccessControlException](https://developer.android.com/reference/java/security/AccessControlException)
  - [DigestException](https://developer.android.com/reference/java/security/DigestException)
  - [GeneralSecurityException](https://developer.android.com/reference/java/security/GeneralSecurityException)
  - [InvalidAlgorithmParameterException](https://developer.android.com/reference/java/security/InvalidAlgorithmParameterException)
  - [InvalidKeyException](https://developer.android.com/reference/java/security/InvalidKeyException)
  - [InvalidParameterException](https://developer.android.com/reference/java/security/InvalidParameterException)
  - [KeyException](https://developer.android.com/reference/java/security/KeyException)
  - [KeyManagementException](https://developer.android.com/reference/java/security/KeyManagementException)
  - [KeyStoreException](https://developer.android.com/reference/java/security/KeyStoreException)
  - [NoSuchAlgorithmException](https://developer.android.com/reference/java/security/NoSuchAlgorithmException)
  - [NoSuchProviderException](https://developer.android.com/reference/java/security/NoSuchProviderException)
  - [PrivilegedActionException](https://developer.android.com/reference/java/security/PrivilegedActionException)
  - [ProviderException](https://developer.android.com/reference/java/security/ProviderException)
  - [SignatureException](https://developer.android.com/reference/java/security/SignatureException)
  - [UnrecoverableEntryException](https://developer.android.com/reference/java/security/UnrecoverableEntryException)
  - [UnrecoverableKeyException](https://developer.android.com/reference/java/security/UnrecoverableKeyException)