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
- PKCS #8: Private-Key Information Syntax Standard, Version 1.2, November 1993
- Java™ Cryptography Architecture Standard Algorithm Name Documentation
Related Documentation
For further documentation, please see:- Java™ SE Platform Security Architecture
- How to Implement a Provider in the Java™ Cryptography Architecture
- Default Policy Implementation and Policy File Syntax
- Permissions in the Java™ SE Development Kit (JDK)
- Summary of Tools for Java™ Platform Security
- keytool ( for Solaris/Linux) ( for Windows)
- jarsigner ( for Solaris/Linux) ( for Windows)
Interfaces
| AlgorithmConstraints | This interface specifies constraints for cryptographic algorithms, keys (key sizes), and other algorithm parameters. | 
| 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.Certificateand related classes. | 
| DomainCombiner | Legacy security code; do not use. | 
| Guard | This interface represents a guard, which is an object that is used to protect access to another object. | 
| Key | The Key interface is the top-level interface for all keys. | 
| KeyStore.Entry | A marker interface for KeyStoreentry types. | 
| KeyStore.Entry.Attribute | An attribute associated with a keystore entry. | 
| KeyStore.LoadStoreParameter | A marker interface for KeyStoreloadandstoreparameters. | 
| KeyStore.ProtectionParameter | A marker interface for keystore protection parameters. | 
| Policy.Parameters | |
| 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 | A private key. | 
| PrivilegedAction<T> | Android doesn't support SecurityManager. | 
| PrivilegedExceptionAction<T> | Android doesn't support SecurityManager. | 
| PublicKey | A public key. | 
| SecureRandomParameters | A marker interface for parameters used in various SecureRandommethods. | 
Classes
| AccessControlContext | Android doesn't support SecurityManager. | 
| AccessController | Android doesn't support SecurityManager. | 
| AlgorithmParameterGenerator | The AlgorithmParameterGeneratorclass is used to generate a
 set of
 parameters to be used with a certain algorithm. | 
| AlgorithmParameterGeneratorSpi | This class defines the Service Provider Interface (SPI)
 for the AlgorithmParameterGeneratorclass, which
 is used to generate a set of parameters to be used with a certain algorithm. | 
| AlgorithmParameters | This class is used as an opaque representation of cryptographic parameters. | 
| AlgorithmParametersSpi | This class defines the Service Provider Interface (SPI)
 for the AlgorithmParametersclass, which is used to manage
 algorithm parameters. | 
| AllPermission | Android doesn't support SecurityManager. | 
| AuthProvider | Legacy security code; do not use. | 
| BasicPermission | Android doesn't support SecurityManager. | 
| CodeSigner | This class encapsulates information about a code signer. | 
| CodeSource | Legacy security code; do not use. | 
| DigestInputStream | A transparent stream that updates the associated message digest using the bits going through the stream. | 
| DigestOutputStream | A transparent stream that updates the associated message digest using the bits going through the stream. | 
| DomainLoadStoreParameter | Configuration data that specifies the keystores in a keystore domain. | 
| DrbgParameters | This class specifies the parameters used by a DRBG (Deterministic Random Bit Generator). | 
| DrbgParameters.Instantiation | DRBG parameters for instantiation. | 
| DrbgParameters.NextBytes | DRBG parameters for random bits generation. | 
| DrbgParameters.Reseed | DRBG parameters for reseed. | 
| GuardedObject | A GuardedObject is an object that is used to protect access to another object. | 
| 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, thejava.security.certpackage,
     andjava.security.Principal. | 
| 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, thejava.security.certpackage,
     andjava.security.Principal. | 
| 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 | This class defines the Service Provider Interface (SPI)
 for the KeyFactoryclass. | 
| KeyPair | This class is a simple holder for a key pair (a public key and a private key). | 
| KeyPairGenerator | The KeyPairGenerator class is used to generate pairs of public and private keys. | 
| KeyPairGeneratorSpi |  This class defines the Service Provider Interface (SPI)
 for the  | 
| KeyRep | Standardized representation for serialized Key objects. | 
| KeyStore | This class represents a storage facility for cryptographic keys and certificates. | 
| KeyStore.Builder | A description of a to-be-instantiated KeyStore object. | 
| KeyStore.CallbackHandlerProtection | A ProtectionParameter encapsulating a CallbackHandler. | 
| KeyStore.PasswordProtection | A password-based implementation of ProtectionParameter. | 
| KeyStore.PrivateKeyEntry | A KeyStoreentry that holds aPrivateKeyand corresponding certificate chain. | 
| KeyStore.SecretKeyEntry | A KeyStoreentry that holds aSecretKey. | 
| KeyStore.TrustedCertificateEntry | A KeyStoreentry that holds a trustedCertificate. | 
| KeyStoreSpi | This class defines the Service Provider Interface (SPI)
 for the KeyStoreclass. | 
| MessageDigest | This MessageDigest class provides applications the functionality of a message digest algorithm, such as SHA-1 or SHA-256. | 
| MessageDigestSpi | This class defines the Service Provider Interface (SPI)
 for the MessageDigestclass, which provides the functionality
 of a message digest algorithm, such as MD5 or SHA. | 
| Permission | Android doesn't support SecurityManager. | 
| PermissionCollection | Android doesn't support SecurityManager. | 
| Permissions | Android doesn't support SecurityManager. | 
| PKCS12Attribute | An attribute associated with a PKCS12 keystore entry. | 
| Policy | Android doesn't support SecurityManager. | 
| PolicySpi | This class defines the Service Provider Interface (SPI)
 for the Policyclass. | 
| ProtectionDomain | Legacy security code; do not use. | 
| Provider | This class represents a "provider" for the Java Security API, where a provider implements some or all parts of Java Security. | 
| Provider.Service | The description of a security service. | 
| 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 | This class provides a cryptographically strong random number generator (RNG). | 
| SecureRandomSpi | This class defines the Service Provider Interface (SPI)
 for the SecureRandomclass. | 
| Security | This class centralizes all security properties and common security methods. | 
| SecurityPermission | Legacy security code; do not use. | 
| Signature | The Signature class is used to provide applications the functionality of a digital signature algorithm. | 
| SignatureSpi | This class defines the Service Provider Interface (SPI)
 for the Signatureclass, which is used to provide the
 functionality of a digital signature algorithm. | 
| SignedObject | SignedObject is a class for the purpose of creating authentic runtime objects whose integrity cannot be compromised without being detected. | 
| 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, thejava.security.certpackage,
     andjava.security.Principal. | 
| Timestamp | This class encapsulates information about a signed timestamp. | 
| UnresolvedPermission | Legacy security code; do not use. | 
Enums
| CryptoPrimitive | An enumeration of cryptographic primitives. | 
| DrbgParameters.Capability | The reseedable and prediction resistance capabilities of a DRBG. | 
| KeyRep.Type | Key type. | 
Exceptions
| 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 | This is the generic Message Digest exception. | 
| GeneralSecurityException | The GeneralSecurityExceptionclass is a generic
 security exception class that provides type safety for all the
 security-related exception classes that extend from it. | 
| InvalidAlgorithmParameterException | This is the exception for invalid or inappropriate algorithm parameters. | 
| InvalidKeyException | This is the exception for invalid Keys (invalid encoding, wrong length, uninitialized, etc). | 
| InvalidParameterException | This exception, designed for use by the JCA/JCE engine classes, is thrown when an invalid parameter is passed to a method. | 
| KeyException | This is the basic key exception. | 
| KeyManagementException | This is the general key management exception for all operations dealing with key management. | 
| KeyStoreException | This is the generic KeyStore exception. | 
| NoSuchAlgorithmException | This exception is thrown when a particular cryptographic algorithm is requested but is not available in the environment. | 
| NoSuchProviderException | This exception is thrown when a particular security provider is requested but is not available in the environment. | 
| PrivilegedActionException | Legacy security code; do not use. | 
| 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 | This is the generic Signature exception. | 
| UnrecoverableEntryException | This exception is thrown if an entry in the keystore cannot be recovered. | 
| UnrecoverableKeyException | This exception is thrown if a key in the keystore cannot be recovered. | 
- Interfaces
- Classes- AccessControlContext
- AccessController
- AlgorithmParameterGenerator
- AlgorithmParameterGeneratorSpi
- AlgorithmParameters
- AlgorithmParametersSpi
- AllPermission
- AuthProvider
- BasicPermission
- CodeSigner
- CodeSource
- DigestInputStream
- DigestOutputStream
- DomainLoadStoreParameter
- DrbgParameters
- DrbgParameters.Instantiation
- DrbgParameters.NextBytes
- DrbgParameters.Reseed
- GuardedObject
- Identity
- IdentityScope
- KeyFactory
- KeyFactorySpi
- KeyPair
- KeyPairGenerator
- KeyPairGeneratorSpi
- KeyRep
- KeyStore
- KeyStore.Builder
- KeyStore.CallbackHandlerProtection
- KeyStore.PasswordProtection
- KeyStore.PrivateKeyEntry
- KeyStore.SecretKeyEntry
- KeyStore.TrustedCertificateEntry
- KeyStoreSpi
- MessageDigest
- MessageDigestSpi
- Permission
- PermissionCollection
- Permissions
- PKCS12Attribute
- Policy
- PolicySpi
- ProtectionDomain
- Provider
- Provider.Service
- SecureClassLoader
- SecureRandom
- SecureRandomSpi
- Security
- SecurityPermission
- Signature
- SignatureSpi
- SignedObject
- Signer
- Timestamp
- UnresolvedPermission
 
- Enums
- Exceptions- AccessControlException
- DigestException
- GeneralSecurityException
- InvalidAlgorithmParameterException
- InvalidKeyException
- InvalidParameterException
- KeyException
- KeyManagementException
- KeyStoreException
- NoSuchAlgorithmException
- NoSuchProviderException
- PrivilegedActionException
- ProviderException
- SignatureException
- UnrecoverableEntryException
- UnrecoverableKeyException
 
