Package org.teiid.common.buffer.impl
Class EncryptedStorageManager
- java.lang.Object
-
- org.teiid.common.buffer.impl.EncryptedStorageManager
-
- All Implemented Interfaces:
StorageManager
public class EncryptedStorageManager extends Object implements StorageManager
Implements a block AES cipher over a regular filestore.
With ECB mode and no padding, we just replace the the bytes 1 block at a time with some special handling for when not block aligned.
A great deal of the security comes from the encryption key only being used on a temporary basis. We also xor by the block to add a very simple CTR like mode so that identical blocks don't result in the same storage bytes.
TODO: use masking for division
-
-
Constructor Summary
Constructors Constructor Description EncryptedStorageManager(StorageManager manager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.teiid.common.buffer.impl.EncryptedStorageManager.EncryptedFileStore
createFileStore(String name)
long
getMaxStorageSpace()
void
initialize()
-
-
-
Constructor Detail
-
EncryptedStorageManager
public EncryptedStorageManager(StorageManager manager)
-
-
Method Detail
-
initialize
public void initialize() throws TeiidComponentException
- Specified by:
initialize
in interfaceStorageManager
- Throws:
TeiidComponentException
-
createFileStore
public org.teiid.common.buffer.impl.EncryptedStorageManager.EncryptedFileStore createFileStore(String name)
- Specified by:
createFileStore
in interfaceStorageManager
-
getMaxStorageSpace
public long getMaxStorageSpace()
- Specified by:
getMaxStorageSpace
in interfaceStorageManager
-
-