public void initialise() throws InitialisationException
{
if (algorithm == null)
{
throw new InitialisationException(CoreMessages.objectIsNull("Algorithm"), this);
}
else
{
logger.debug("Using encryption algorithm: " + algorithm);
}
keySpec = createKeySpec();
try
{
secretKey = getSecretKey();
// Create Ciphers
encryptCipher = Cipher.getInstance(getAlgorithm());
decryptCipher = Cipher.getInstance(getAlgorithm());
AlgorithmParameterSpec paramSpec = createAlgorithmParameterSpec();
if (paramSpec != null)
{
encryptCipher.init(Cipher.ENCRYPT_MODE, secretKey, paramSpec);
decryptCipher.init(Cipher.DECRYPT_MODE, secretKey, paramSpec);
}
else
{
encryptCipher.init(Cipher.ENCRYPT_MODE, secretKey);
decryptCipher.init(Cipher.DECRYPT_MODE, secretKey);
}
}
catch (Exception e)
{
throw new InitialisationException(CoreMessages.failedToCreate("encryption ciphers"),
e, this);
}
}