[ 
https://issues.apache.org/jira/browse/DERBY-5792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458117#comment-13458117
 ] 

Kristian Waagan commented on DERBY-5792:
----------------------------------------

---- Kim ----
The one-time operation point seems a bit less compelling, if my guess (just a 
guess) is correct that "dataEncryption=true" is also a one-time operation? Or 
can you re-encrypt an encrypted database, changing from, say, one encryption 
algorithm to another? Would that work, or would it totally mess up your 
database? Anyway, I think reducing the possibility of confusion is desirable.
----
Actually, dataEncryption isn't considered a one-time operation, although for 
the end user it appears to be so:
 a) We save dataEncryption=true in service.properties. Even if you specify 
dataEncryption=false when connecting, we will read dataEncryption=true if the 
database is [already] encrypted.
 b) You can re-encrypt [1] an encrypted database, but I haven't checked if you 
have to specify dataEncryption=true or only newBootPassword/newEncryptionKey 
(with bootPassword to access the database in addition) to do so.


As for attribute handling I'm going for what seems to be the default action:
 o ignore attributes when they don't cause any trouble, for instance 
decryptDatabase=true on un-encrypted or booted database. One could argue the 
latter case deserves a warning.
 o raise exception if the attributes are truly conflicting 
(dataEncryption=true;decryptDatabase=true on un-encrypted database, 
decryptDatabase=true;createFrom=myEncryptedDb)


[1] I'd have to look at the code / docs again to say exactly what re-encrypt 
entails in all cases. I seem to recall some differences between using the boot 
attributes and the system procedure for changing the boot password.
                
> Make it possible to turn off encryption on an already encrypted database.
> -------------------------------------------------------------------------
>
>                 Key: DERBY-5792
>                 URL: https://issues.apache.org/jira/browse/DERBY-5792
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC, Store
>    Affects Versions: 10.10.0.0
>            Reporter: Rick Hillegas
>            Assignee: Kristian Waagan
>         Attachments: derby-5792-1a-boilerplate_and_preparation.diff
>
>
> Currently, you can encrypt an unencrypted database and you can change the 
> encryption key on an already encrypted database. However, Derby does not 
> expose a way to turn off (unencrypt) an already encrypted database.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to