Package javax.crypto
package javax.crypto
Provides the classes and interfaces for cryptographic
operations. The cryptographic operations defined in this package
include encryption, key generation and key agreement, and Message
Authentication Code (MAC) generation.
Support for encryption includes symmetric, asymmetric, block, and stream ciphers. This package also supports secure streams and sealed objects.
Many of the classes provided in this package 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.
Related Documentation
For further documentation, please see:- Since:
- 1.4
- External Specifications
-
ClassDescriptionThis exception is thrown when a
Cipher
operating in an AEAD mode (such as GCM/CCM) is unable to verify the supplied authentication tag.This exception is thrown when a particular padding mechanism is expected for the input data but the data is not padded properly.This class provides the functionality of a cryptographic cipher for encryption and decryption.ACipherInputStream
is composed of anInputStream
and aCipher
object so that read() methods return data that are read in from the underlyingInputStream
but have been additionally processed by theCipher
object.ACipherOutputStream
is composed of anOutputStream
and aCipher
object so that write() methods first process the data before writing them out to the underlyingOutputStream
.This class defines the Service Provider Interface (SPI) for theCipher
class.An exception that is thrown by theKEM.Decapsulator.decapsulate(byte[])
method to denote an error during decapsulation.This class implements theEncryptedPrivateKeyInfo
type as defined in PKCS #8.This class provides the functionality of an exemption mechanism, examples of which are key recovery, key weakening, and key escrow.This is the generic ExemptionMechanism exception.This class defines the Service Provider Interface (SPI) for theExemptionMechanism
class.This exception is thrown when the length of data provided to a block cipher is incorrect, i.e., does not match the block size of the cipher.Preview.This class provides the functionality of a Key Derivation Function (KDF), which is a cryptographic algorithm for deriving additional keys from input keying material (IKM) and (optionally) other data.Preview.This class provides the functionality of a Key Encapsulation Mechanism (KEM).A decapsulator, generated byKEM.newDecapsulator(java.security.PrivateKey)
on the KEM receiver side.This class specifies the return value of the encapsulate method of a Key Encapsulation Mechanism (KEM), which includes the shared secret (as aSecretKey
), the key encapsulation message, and optional parameters.An encapsulator, generated byKEM.newEncapsulator(java.security.PublicKey)
on the KEM sender side.This class defines the Service Provider Interface (SPI) for theKEM
class.The KEM decapsulator implementation, generated byKEMSpi.engineNewDecapsulator(java.security.PrivateKey, java.security.spec.AlgorithmParameterSpec)
on the KEM receiver side.The KEM encapsulator implementation, generated byKEMSpi.engineNewEncapsulator(java.security.PublicKey, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom)
on the KEM sender side.This class provides the functionality of a key agreement (or key exchange) protocol.This class defines the Service Provider Interface (SPI) for theKeyAgreement
class.This class provides the functionality of a secret (symmetric) key generator.This class defines the Service Provider Interface (SPI) for theKeyGenerator
class.This class provides the functionality of a "Message Authentication Code" (MAC) algorithm.This class defines the Service Provider Interface (SPI) for theMac
class.This exception is thrown when a particular padding mechanism is requested but is not available in the environment.TheNullCipher
class is a class that provides an "identity cipher" -- one that does not transform the plain text.This class enables a programmer to create an object and protect its confidentiality with a cryptographic algorithm.A secret (symmetric) key.This class represents a factory for secret keys.This class defines the Service Provider Interface (SPI) for theSecretKeyFactory
class.This exception is thrown when an output buffer provided by the user is too short to hold the operation result.