Overview Summary |
See: Description
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.
Interface | Description |
---|---|
SecretKey |
A secret (symmetric) key.
|
Class | Description |
---|---|
Cipher |
This class provides the functionality of a cryptographic cipher for encryption and decryption.
|
CipherInputStream |
A CipherInputStream is composed of an InputStream and a Cipher so that read() methods return data that are read in from the underlying InputStream but have been additionally processed by the Cipher.
|
CipherOutputStream |
A CipherOutputStream is composed of an OutputStream and a Cipher so that write() methods first process the data before writing them out to the underlying OutputStream.
|
CipherSpi |
This class defines the Service Provider Interface (SPI) for the
Cipher class. |
EncryptedPrivateKeyInfo |
This class implements the
EncryptedPrivateKeyInfo type as defined in PKCS #8. |
ExemptionMechanism |
This class provides the functionality of an exemption mechanism, examples of which are key recovery , key weakening , and key escrow .
|
ExemptionMechanismSpi |
This class defines the Service Provider Interface (SPI) for the
ExemptionMechanism class. |
KeyAgreement |
This class provides the functionality of a key agreement (or key exchange) protocol.
|
KeyAgreementSpi |
This class defines the Service Provider Interface (SPI) for the
KeyAgreement class. |
KeyGenerator |
This class provides the functionality of a secret (symmetric) key generator.
|
KeyGeneratorSpi |
This class defines the Service Provider Interface (SPI) for the
KeyGenerator class. |
Mac |
This class provides the functionality of a "Message Authentication Code" (MAC) algorithm.
|
MacSpi |
This class defines the Service Provider Interface (SPI) for the
Mac class. |
NullCipher |
The NullCipher class is a class that provides an "identity cipher" -- one that does not transform the plain text.
|
SealedObject |
This class enables a programmer to create an object and protect its confidentiality with a cryptographic algorithm.
|
SecretKeyFactory |
This class represents a factory for secret keys.
|
SecretKeyFactorySpi |
This class defines the Service Provider Interface (SPI) for the
SecretKeyFactory class. |
Exception | Description |
---|---|
AEADBadTagException |
This exception is thrown when a
Cipher operating in an AEAD mode (such as GCM/CCM) is unable to verify the supplied authentication tag. |
BadPaddingException |
This exception is thrown when a particular padding mechanism is expected for the input data but the data is not padded properly.
|
ExemptionMechanismException |
This is the generic ExemptionMechanism exception.
|
IllegalBlockSizeException |
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.
|
NoSuchPaddingException |
This exception is thrown when a particular padding mechanism is requested but is not available in the environment.
|
ShortBufferException |
This exception is thrown when an output buffer provided by the user is too short to hold the operation result.
|
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.
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation . That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 20142017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-ea+159
© 2017 Oracle Corporation and/or its affiliates