[ http://issues.apache.org/jira/browse/DERBY-1373?page=all ]
Mike Matrigali updated DERBY-1373: ---------------------------------- Committed the 10.1_explicitsvnadd_derby1373.diff.txt patch to the 10.1 branch: m101_142:149>svn commit Sending java\engine\org\apache\derby\impl\services\jce\JCECipherFactory.java Adding java\testing\org\apache\derbyTesting\functionTests\master\encryptionKey_jar.out Sending java\testing\org\apache\derbyTesting\functionTests\suites\encryptionAll.runall Sending java\testing\org\apache\derbyTesting\functionTests\tests\store\copyfiles.ant Adding java\testing\org\apache\derbyTesting\functionTests\tests\store\encryptionKey_jar.sql Adding java\testing\org\apache\derbyTesting\functionTests\tests\store\encryptionKey_jar_app.properties Transmitting file data ...... Committed revision 425172. > Encrypted databases cannot be booted using the jar subprotocol (and possibly > also using http/https/classpath) > ------------------------------------------------------------------------------------------------------------- > > Key: DERBY-1373 > URL: http://issues.apache.org/jira/browse/DERBY-1373 > Project: Derby > Issue Type: Bug > Components: Store > Affects Versions: 10.1.2.4 > Environment: Environment does not matter. > Reporter: Mathias Herberts > Assigned To: Mathias Herberts > Fix For: 10.2.0.0, 10.1.4.0 > > Attachments: 10.1_derby1373.diff.txt, > 10.1_explicitsvnadd_derby1373.diff.txt, derby1373.diff.txt, > derby1373.stat.txt, encryptedJar.patch, InputStreamFile.java-patch, > InputStreamRandomAccessFile.java > > > 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 null. > 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: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira