|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.crypto.SealedObject
public class SealedObject
This class allows any Serializable
object to be
stored in an encrypted form.
When the sealed object is ready to be unsealed (and deserialized) the caller may use either
getObject(javax.crypto.Cipher)
, which uses an
already-initialized Cipher
.getObject(java.security.Key)
or getObject(java.security.Key,java.lang.String)
, which will
initialize a new cipher instance with the encodedParams
that
were stored with this sealed object (this is so parameters, such as
the IV, don't need to be known by the one unsealing the object).
Field Summary | |
---|---|
protected byte[] |
encodedParams
The encoded algorithm parameters. |
Constructor Summary | |
---|---|
protected |
SealedObject(SealedObject so)
Create a new sealed object from another sealed object. |
|
SealedObject(Serializable object,
Cipher cipher)
Create a new sealed object from a Serializable
object and a cipher. |
Method Summary | |
---|---|
String |
getAlgorithm()
Get the name of the algorithm used to seal this object. |
Object |
getObject(Cipher cipher)
Unseal and deserialize this sealed object with a specified (already initialized) cipher. |
Object |
getObject(Key key)
Unseal and deserialize this sealed object with the specified key. |
Object |
getObject(Key key,
String provider)
Unseal and deserialize this sealed object with the specified key, using a cipher from the named provider. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected byte[] encodedParams
Constructor Detail |
---|
public SealedObject(Serializable object, Cipher cipher) throws IOException, IllegalBlockSizeException
Serializable
object and a cipher.
object
- The object to seal.cipher
- The cipher to encrypt with.
IOException
- If serializing the object fails.
IllegalBlockSizeException
- If the cipher has no
padding and the size of the serialized representation of the
object is not a multiple of the cipher's block size.protected SealedObject(SealedObject so)
so
- The other sealed object.Method Detail |
---|
public final String getAlgorithm()
public final Object getObject(Cipher cipher) throws IOException, ClassNotFoundException, IllegalBlockSizeException, BadPaddingException
cipher
- The cipher to decrypt with.
IOException
- If reading fails.
ClassNotFoundException
- If deserialization fails.
IllegalBlockSizeException
- If the cipher has no
padding and the encrypted data is not a multiple of the
cipher's block size.
BadPaddingException
- If the padding bytes are
incorrect.public final Object getObject(Key key) throws IOException, ClassNotFoundException, InvalidKeyException, NoSuchAlgorithmException
key
- The key to decrypt with.
IOException
- If reading fails.
ClassNotFoundException
- If deserialization fails.
InvalidKeyException
- If the supplied key
cannot be used to unseal this object.
NoSuchAlgorithmException
- If the algorithm
used to originally seal this object is not available.public final Object getObject(Key key, String provider) throws IOException, ClassNotFoundException, InvalidKeyException, NoSuchAlgorithmException, NoSuchProviderException
key
- The key to decrypt with.provider
- The name of the provider to use.
IOException
- If reading fails.
ClassNotFoundException
- If deserialization fails.
InvalidKeyException
- If the supplied key
cannot be used to unseal this object.
NoSuchAlgorithmException
- If the algorithm
used to originally seal this object is not available from
the named provider.
NoSuchProviderException
- If the named provider
does not exist.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |