Interface CipherFactory
- All Known Implementing Classes:
JCECipherFactory
public interface CipherFactory
A CipherFactory can create new CipherProvider, which is a wrapper for a
javax.crypto.Cipher
This service is only available when run on JDK1.2 or beyond.
To use this service, either the SunJCE or an alternative clean room
implementation of the JCE must be installed.
To use a CipherProvider to encrypt or decrypt, it needs 3 things:
1) A CipherProvider that is initialized to ENCRYPT or DECRYPT
2) A secret Key for the encryption/decryption
3) An Initialization Vector (IvParameterSpec) that is used to create some
randomness in the encryption
See $WS/docs/funcspec/mulan/configurableEncryption.html
See http://java.sun.com/products/JDK/1.1/docs/guide/security/CryptoSpec.html
See http://java.sun.com/products/JDK/1.2/docs/guide/security/CryptoSpec.html
See http://java.sun.com/products/jdk/1.2/jce/index.html
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
Get a CipherProvider that either Encrypts or Decrypts.static final int
Minimum bootPassword length -
Method Summary
Modifier and TypeMethodDescriptionchangeBootPassword
(String changeString, Properties properties, CipherProvider verify) createNewCipher
(int mode) Returns a CipherProvider which is the encryption or decryption engine.void
saveProperties
(Properties properties) void
verifyKey
(boolean create, StorageFactory storageFactory, Properties properties) Verify the external encryption key.
-
Field Details
-
MIN_BOOTPASS_LENGTH
static final int MIN_BOOTPASS_LENGTHMinimum bootPassword length- See Also:
-
ENCRYPT
static final int ENCRYPTGet a CipherProvider that either Encrypts or Decrypts.- See Also:
-
DECRYPT
static final int DECRYPT- See Also:
-
-
Method Details
-
getSecureRandom
SecureRandom getSecureRandom() -
createNewCipher
Returns a CipherProvider which is the encryption or decryption engine.- Parameters:
mode
- is either ENCRYPT or DECRYPT. The CipherProvider can only do encryption or decryption but not both.- Throws:
StandardException
- Standard Derby Error Policy
-
changeBootPassword
String changeBootPassword(String changeString, Properties properties, CipherProvider verify) throws StandardException - Throws:
StandardException
-
verifyKey
void verifyKey(boolean create, StorageFactory storageFactory, Properties properties) throws StandardException Verify the external encryption key. Throws exception if unable to verify that the encryption key is the same as that used during database creation or if there are any problems when trying to do the verification process.- Parameters:
create
- true means database is being created, whereas false implies that the database has already been createdstorageFactory
- storageFactory is used to access any stored data that might be needed for verification process of the encryption keyproperties
- properties at time of database connection as well as those in service.properties- Throws:
StandardException
-
saveProperties
-