Return-Path:
This data encryption feature provides the ability to store user data in -an encrypted form. The user who boots the database must provide a boot password.
+an encrypted form. The user who boots the database must provide a boot password +or encryption key.You must specify the full package and class name of the provider, and you must also add the libraries to the application's classpath.
- -Encrypted databases cannot be booted automatically along with all other
system databases on system startup (see "derby.system.bootAll" in the
-
After the database is booted, all connections can access the database without
the boot password. Only a connection that boots the database requires the
Modified: db/derby/docs/branches/10.9/src/devguide/cdevcsecure67151.dita
URL: http://svn.apache.org/viewvc/db/derby/docs/branches/10.9/src/devguide/cdevcsecure67151.dita?rev=1395632&r1=1395631&r2=1395632&view=diff
==============================================================================
--- db/derby/docs/branches/10.9/src/devguide/cdevcsecure67151.dita (original)
+++ db/derby/docs/branches/10.9/src/devguide/cdevcsecure67151.dita Mon Oct 8 15:58:56 2012
@@ -59,8 +59,8 @@ the encryptionAlgorithm=algorithm
is not supported by the provider you have specified,
To specify the AES encryption algorithm with a key length other than the -default of 128, specify the encryptionKeyLength attribute. For example, -you might specify the following connection attributes:
+default of 128, specify the encryptionKeyLength=length attribute. For +example, you might specify the following connection attributes:The length of the encryption key depends on the algorithm used:
@@ -36,14 +37,15 @@ of bytes in the encryption key (56 bits= bytes). The minimum number of characters for the boot password allowed byIt is a good idea not to use words that would be easily guessed, such as -a login name or simple words or numbers. A bootPassword, like any password, -should be a mix of numbers and upper- and lowercase letters.
+a login name or simple words or numbers. A boot password, like any password, +should be a mix of numbers and uppercase and lowercase letters.You turn on and configure encryption and specify the corresponding boot password on the connection URL for a database when you create it:
The Java Runtime Environment (JRE) determines the default encryption provider, -as follows:
You have the option of specifying an alternate encryption provider. The
-default encryption algorithm is DES, but you have the option of specifying
-an alternate algorithm as well. See
The following connection URL specifies a boot password:
+The following URL specifies an encryption key:
+
The default encryption algorithm is DES.
+You can specify an encryption provider and/or encryption algorithm
+other than the defaults by using the encryptionProvider=providerName and
+encryptionAlgorithm=algorithm attributes. See
+
See the
The JRE determines the default encryption provider as follows:
+All attributes are optional.
+For more information on working with connection URL attributes, see the +following: +
For complete information about the attributes, see "Setting attributes for
the database connection URL" in the
When you use the newBootPassword attribute, a new encryption
-key is generated internally by the engine and the key is protected using the
-new boot password. The newly generated encryption key encrypts the database,
+ When you use the newBootPassword=newPassword attribute, a new
+encryption key is generated internally by the engine, and the key is protected
+using the new boot password. The newly generated encryption key encrypts the database,
including the existing data. You cannot change the encryption provider or
encryption algorithm when you apply a new boot password. To encrypt
a database with a new boot password:
Modified: db/derby/docs/branches/10.9/src/devguide/tdevcsecurenewextkey.dita
URL: http://svn.apache.org/viewvc/db/derby/docs/branches/10.9/src/devguide/tdevcsecurenewextkey.dita?rev=1395632&r1=1395631&r2=1395632&view=diff
==============================================================================
--- db/derby/docs/branches/10.9/src/devguide/tdevcsecurenewextkey.dita (original)
+++ db/derby/docs/branches/10.9/src/devguide/tdevcsecurenewextkey.dita Mon Oct 8 15:58:56 2012
@@ -21,7 +21,7 @@ limitations under the License.
To encrypt a database with a new external encryption key:
If Encrypting a database with a new encryption key is a time consuming
+ Encrypting a database with a new encryption key is a time-consuming
process because it involves encrypting all of the existing data in the database
with the new encryption key. If the process is interrupted before completion,
-all the changes are rolled back the next time that the database is booted.
+all the changes are rolled back the next time the database is booted.
If the interruption occurs immediately after the database is encrypted with
the new encryption key but before the connection is returned to the application,
you might not be able to boot the database with the old encryption key. In
@@ -40,7 +40,7 @@ encryption key. When you encrypt an existing, unencrypted database, you can specify
-whether the database should be encrypted using a boot password or an external
-encryption key. You can also specify the encryptionProvider attribute
-and the encryptionAlgorithm attribute on the connection URL. The database
-is configure with the specified encryption attributes and all of the existing
-data in the database is encrypted. Encrypting a database is a time
-consuming process because it involves encrypting all of the existing data
+whether the database should be encrypted using a boot password
+(bootPassword=key) or an external encryption key
+(encryptionKey=key). You can also specify the
+encryptionProvider=providerName attribute and the
+encryptionAlgorithm=algorithm attribute on the connection URL. The
+database
+is configured with the specified encryption attributes, and all of the existing
+data in the database is encrypted. See the Encrypting a database is a
+time-consuming process because it involves encrypting all of the existing data
in the database. If the process is interrupted before completion, all the
-changes are rolled back the next time that the database is booted. If the
+changes are rolled back the next time the database is booted. If the
interruption occurs immediately after the database is encrypted but before
the connection is returned to the application, you might not be able to boot
the database without the boot password or external encryption key. In these
@@ -52,13 +58,14 @@ or the external encryption key. To encrypt an existing unencrypted
database: