| 
 | Cumulus4j API (1.1.0) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.cumulus4j.store.crypto.AbstractCryptoSession
org.cumulus4j.store.crypto.keymanager.KeyManagerCryptoSession
public class KeyManagerCryptoSession
 Implementation of CryptoSession working with a
 key-manager as shown in Deployment scenarios.
 
| Field Summary | 
|---|
| Fields inherited from interface org.cumulus4j.store.crypto.CryptoSession | 
|---|
| PROPERTY_CRYPTO_SESSION_ID | 
| Constructor Summary | |
|---|---|
| KeyManagerCryptoSession() | |
| Method Summary | |
|---|---|
|  void | close()Close the session. | 
|  Plaintext | decrypt(CryptoContext cryptoContext,
               Ciphertext ciphertext)Decrypt the given ciphertext. | 
|  Ciphertext | encrypt(CryptoContext cryptoContext,
               Plaintext plaintext)Encrypt the given plaintext. | 
| Methods inherited from class org.cumulus4j.store.crypto.AbstractCryptoSession | 
|---|
| assertNotClosed, getCreationTimestamp, getCryptoManager, getCryptoSessionID, getKeyStoreID, getLastUsageTimestamp, isClosed, setCryptoManager, setCryptoSessionID, updateLastUsageTimestamp | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public KeyManagerCryptoSession()
| Method Detail | 
|---|
public Ciphertext encrypt(CryptoContext cryptoContext,
                          Plaintext plaintext)
Encrypt the given plaintext.
 This method is thread-safe. Thus, implementors should keep in mind that Cipher is not thread-safe!
 
 The implementation in KeyManagerCryptoSession stores every plaintext
 encoded in the following form:
 
| Bytes | Description | ||||||||||||
| 1 | Version number | ||||||||||||
| 2 | EncryptionCoordinateSet.getEncryptionCoordinateSetID()(only 2 bytes, thus limiting to 65K possible values) | ||||||||||||
| 1 | ivLen: Length of the IV in bytes | ||||||||||||
| ivLen | Actual IV (random initialisation vector). | ||||||||||||
| 1 | macKeyLen: MAC's key length in bytes | ||||||||||||
| 1 | macIVLen: MAC's IV length in bytes | ||||||||||||
| 1 | macLen: Actual MAC's length in bytes | ||||||||||||
| 
 | |||||||||||||
cryptoContext - context used to encrypt or decrypt data.plaintext - the unencrypted information (aka plaintext) to be encrypted.
public Plaintext decrypt(CryptoContext cryptoContext,
                         Ciphertext ciphertext)
CryptoSessionDecrypt the given ciphertext.
 This method is thread-safe. Thus, implementors should keep in mind that Cipher is not thread-safe!
 
cryptoContext - context used to encrypt or decrypt data.ciphertext - the encrypted information (aka ciphertext) to be decrypted.
public void close()
AbstractCryptoSessionClose the session.
 After closing, the CryptoSession cannot be used for encryption/decryption anymore, i.e.
 CryptoSession.encrypt(CryptoContext, Plaintext) and CryptoSession.decrypt(CryptoContext, Ciphertext) very likely throw an exception. The other
 methods might still work.
 
This method can be called multiple times - every following call will be silently ignored.
 When overriding this method, you should first call super.close(); and
 then perform your own closing operations.
 
close in interface CryptoSessionclose in class AbstractCryptoSession| 
 | Cumulus4j API (1.1.0) | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||