Package org.h2.tools

Class ChangeFileEncryption


  • public class ChangeFileEncryption
    extends org.h2.util.Tool
    Allows changing the database file encryption password or algorithm. This tool can not be used to change a password of a user. The database must be closed before using this tool.
    • Field Summary

      • Fields inherited from class org.h2.util.Tool

        out
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void execute​(java.lang.String dir, java.lang.String db, java.lang.String cipher, char[] decryptPassword, char[] encryptPassword, boolean quiet)
      Changes the password for a database.
      static void main​(java.lang.String... args)
      Options are case sensitive.
      void runTool​(java.lang.String... args)
      Run the tool with the given output stream and arguments.
      • Methods inherited from class org.h2.util.Tool

        isOption, printNoDatabaseFilesFound, setOut, showUsage, showUsageAndThrowUnsupportedOption, throwUnsupportedOption
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ChangeFileEncryption

        public ChangeFileEncryption()
    • Method Detail

      • main

        public static void main​(java.lang.String... args)
        Options are case sensitive.
        Supported options
        [-help] or [-?] Print the list of options
        [-cipher type] The encryption type (AES)
        [-dir <dir>] The database directory (default: .)
        [-db <database>] Database name (all databases if not set)
        [-decrypt <pwd>] The decryption password (if not set: not yet encrypted)
        [-encrypt <pwd>] The encryption password (if not set: do not encrypt)
        [-quiet] Do not print progress information
        Parameters:
        args - the command line arguments
      • runTool

        public void runTool​(java.lang.String... args)
                     throws java.sql.SQLException
        Description copied from class: org.h2.util.Tool
        Run the tool with the given output stream and arguments.
        Specified by:
        runTool in class org.h2.util.Tool
        Parameters:
        args - the argument list
        Throws:
        java.sql.SQLException - on failure
      • execute

        public static void execute​(java.lang.String dir,
                                   java.lang.String db,
                                   java.lang.String cipher,
                                   char[] decryptPassword,
                                   char[] encryptPassword,
                                   boolean quiet)
                            throws java.sql.SQLException
        Changes the password for a database. The passwords must be supplied as char arrays and are cleaned in this method. The database must be closed before calling this method.
        Parameters:
        dir - the directory (. for the current directory)
        db - the database name (null for all databases)
        cipher - the cipher (AES)
        decryptPassword - the decryption password as a char array
        encryptPassword - the encryption password as a char array
        quiet - don't print progress information
        Throws:
        java.sql.SQLException - on failure