db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sunitha Kambhampati (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-1373) Encrypted databases cannot be booted using the jar subprotocol (and possibly also using http/https/classpath)
Date Mon, 26 Jun 2006 18:21:30 GMT
    [ http://issues.apache.org/jira/browse/DERBY-1373?page=comments#action_12417867 ] 

Sunitha Kambhampati commented on DERBY-1373:

In my opinion, it seems like it would be good to pursue suresh's suggestion since then we
wont need to add a extra class.  Regarding your concern about tests - there are some existing
tests that would test the current codepaths for encryptionKey which is in store/encryptionKey.sql.

I think it would be great to have this issue resolved and I'd be willing to work with you
to add tests in case you want to pursue this.  You can add jar files to the tests.  For an
example of a test where this is used - see  java/testing/org/apache/derbyTesting/functionTests/tests/tools/dblook_test.java
and the corresponding files associated with it - dblook_test_app.properties that makes use
of the supportfiles attribute. 


> Encrypted databases cannot be booted using the jar subprotocol (and possibly also using
> -------------------------------------------------------------------------------------------------------------
>          Key: DERBY-1373
>          URL: http://issues.apache.org/jira/browse/DERBY-1373
>      Project: Derby
>         Type: Bug

>   Components: Store
>     Versions:
>  Environment: Environment does not matter.
>     Reporter: Mathias Herberts
>     Assignee: Mathias Herberts
>      Fix For:
>  Attachments: InputStreamFile.java-patch, InputStreamRandomAccessFile.java, encryptedJar.patch
> An encrypted database cannot be booted when using the jar subprotocol.
> The problem lies in the method run from JCECipherFactory. The call to getRandomAccessFile
returns null when the verifyKeyFile is an instance of InputStreamFile and the key verification
therefore fails.
> The implementation of getRandomAccessFile for InputStreamFile states that its code cannot
be reached which is untrue.
> The provided patch does two things, it provides a new class InputStreamRandomAccessFile
in package org.apache.derby.impl.io. This class provides simple implementations of readInt
and readFully so the key verification process succeeds. A quick scan of the derby source tree
showed no problem or possible impact of this simple implementation.
> The second thing the patch does is to modify org/apache/derby/impl/io/InputStreamFile.java
so the getRandomAccessFile creates an instance of InputStreamRandomAccessFile instead of returning
> This patch has been tested against trunk 410361. It solves the problem at least under
the jar subprotocol.
> The patch has not been tested against http/https/classpath.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message