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 Details

  • Method Details

    • getSecureRandom

      SecureRandom getSecureRandom()
    • createNewCipher

      CipherProvider createNewCipher(int mode) throws StandardException
      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 created
      storageFactory - storageFactory is used to access any stored data that might be needed for verification process of the encryption key
      properties - properties at time of database connection as well as those in service.properties
      Throws:
      StandardException
    • saveProperties

      void saveProperties(Properties properties)