Not able to create encrypted database

View: New views
12 Messages — Rating Filter:   Alert me  

Not able to create encrypted database

by Supal J Patel :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi,

I am using Derby 10.1.1 release. I am trying to create a encrypted database with J9 JRE. With J9 I am getting one JCE provider which is called J9JCEProvider. When I try to run the attached JDBCTest.java class I am getting the error "ERROR XBCXG: The encryption provider 'J9JCEProvider' does not exist.". For complete error message please refer to the attached ErrrorLog.txt file.

Can anyone help me with this problem?

Thanks and Regards,

Supal Patel



JVMJ9VM011W Unable to load j9jit23: The specified module could not be found.
SQL Exception: Failed to create database 'c:\SupalDB', see the next exception for details.
        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
        at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
        at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:181)
        at java.sql.DriverManager.getConnection(DriverManager.java:148)
        at myapp.JDBCTest.createConnection(JDBCTest.java:27)
        at myapp.JDBCTest.main(JDBCTest.java:20)
ERROR XBM01: Startup failed due to an exception. See next exception for details.
        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.iapi.services.monitor.Monitor.exceptionStartingModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown Source)
        at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
        at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
        at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:181)
        at java.sql.DriverManager.getConnection(DriverManager.java:148)
        at myapp.JDBCTest.createConnection(JDBCTest.java:27)
        at myapp.JDBCTest.main(JDBCTest.java:20)
ERROR XBCXG: The encryption provider 'J9JCEProvider' does not exist.
        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.impl.services.jce.JCECipherFactory.generateUniqueBytes(Unknown Source)
        at org.apache.derby.impl.services.jce.JCECipherFactory.handleBootPassword(Unknown Source)
        at org.apache.derby.impl.services.jce.JCECipherFactory.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
        at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
        at org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
        at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
        at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown Source)
        at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
        at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
        at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown Source)
        at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown Source)
        at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
        at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
        at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(DriverManager.java:181)
        at java.sql.DriverManager.getConnection(DriverManager.java:148)
        at myapp.JDBCTest.createConnection(JDBCTest.java:27)
        at myapp.JDBCTest.main(JDBCTest.java:20)

JDBCTest.java (1K) Download Attachment

Re: Not able to create encrypted database

by Rajesh Kartha-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Supal,

 > JVMJ9VM011W Unable to load j9jit23: The specified module could not be
found.

The above error seems to stem from the JVM.  From the file name  j9jit23, it seems you are using IBM15 sdk,
is that true?

I tried your test case and did not see the JVMJ9VM011W exception, but my create db still failed.
I checked the ibm15 version that I have and did not find any J9 related JCE extensions, which makes sense why the
db creation fails with the following errors:

<snip>
SQL Exception: Failed to create database 'SupalDB', see the next exception for d
etails.

ERROR XBM0G: Failed to start encryption engine. Please make sure you are running
 Java 2 and have downloaded an encryption provider such as jce and put it in you
r class path.

ERROR XBCXF: The class 'com.ibm.j9.jce.provider.J9JCEProvider' representing the
encryption provider cannot be found.
</snip>

My IBM15 version:

Java(TM) 2 Runtime Environment, Standard Edition (build pwi32dev-20060511 (SR2))

IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows 2000 x86-32 j9vmwi3223-20060
504 (JIT enabled)
J9VM - 20060501_06428_lHdSMR
JIT  - 20060428_1800_r8
GC   - 20060501_AA)
JCL  - 20060511a

Also, the db creation works fine with com.ibm.crypto.provider.IBMJCE (the one available with IBM15)

Are you using the default installation of the IBM15 sdk (with the JRE) ? Can you verify if there
is any J9 specific JCE provider in your jre/lib/ext directory ?

Regards,
Rajesh


Supal J Patel wrote:

>
> Hi,
>
> I am using Derby 10.1.1 release. I am trying to create a encrypted
> database with J9 JRE. With J9 I am getting one JCE provider which is
> called J9JCEProvider. When I try to run the attached JDBCTest.java
> class I am getting the error "ERROR XBCXG: The encryption provider
> 'J9JCEProvider' does not exist.". For complete error message please
> refer to the attached ErrrorLog.txt file.
>
> Can anyone help me with this problem?
>
> Thanks and Regards,
>
> Supal Patel
>
>
>------------------------------------------------------------------------
>
>JVMJ9VM011W Unable to load j9jit23: The specified module could not be found.
>SQL Exception: Failed to create database 'c:\SupalDB', see the next exception for details.
> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> at java.sql.DriverManager.getConnection(DriverManager.java:181)
> at java.sql.DriverManager.getConnection(DriverManager.java:148)
> at myapp.JDBCTest.createConnection(JDBCTest.java:27)
> at myapp.JDBCTest.main(JDBCTest.java:20)
>ERROR XBM01: Startup failed due to an exception. See next exception for details.
> at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> at org.apache.derby.iapi.services.monitor.Monitor.exceptionStartingModule(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown Source)
> at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> at java.sql.DriverManager.getConnection(DriverManager.java:181)
> at java.sql.DriverManager.getConnection(DriverManager.java:148)
> at myapp.JDBCTest.createConnection(JDBCTest.java:27)
> at myapp.JDBCTest.main(JDBCTest.java:20)
>ERROR XBCXG: The encryption provider 'J9JCEProvider' does not exist.
> at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> at org.apache.derby.impl.services.jce.JCECipherFactory.generateUniqueBytes(Unknown Source)
> at org.apache.derby.impl.services.jce.JCECipherFactory.handleBootPassword(Unknown Source)
> at org.apache.derby.impl.services.jce.JCECipherFactory.boot(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
> at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
> at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
> at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
> at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
> at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
> at org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
> at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(Unknown Source)
> at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Unknown Source)
> at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown Source)
> at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown Source)
> at org.apache.derby.impl.services.monitor.TopService.bootModule(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(Unknown Source)
> at org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService(Unknown Source)
> at org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
> at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> at java.sql.DriverManager.getConnection(DriverManager.java:181)
> at java.sql.DriverManager.getConnection(DriverManager.java:148)
> at myapp.JDBCTest.createConnection(JDBCTest.java:27)
> at myapp.JDBCTest.main(JDBCTest.java:20)
>


Re: Not able to create encrypted database

by Supal J Patel :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Rajesh Kartha <kartha02@...> writes:

>
> Hi Supal,
>
>  > JVMJ9VM011W Unable to load j9jit23: The specified module could not be
> found.
>
> The above error seems to stem from the JVM.  From the file name  j9jit23, it
seems you are using IBM15 sdk,
> is that true?
>
> I tried your test case and did not see the JVMJ9VM011W exception, but my
create db still failed.
> I checked the ibm15 version that I have and did not find any J9 related JCE
extensions, which makes sense why
> the
> db creation fails with the following errors:
>
> <snip>
> SQL Exception: Failed to create database 'SupalDB', see the next exception
for d
> etails.
>
> ERROR XBM0G: Failed to start encryption engine. Please make sure you are
running
>  Java 2 and have downloaded an encryption provider such as jce and put it in
you
> r class path.
>
> ERROR XBCXF: The class 'com.ibm.j9.jce.provider.J9JCEProvider' representing
the
> encryption provider cannot be found.
> </snip>
>
> My IBM15 version:
>
> Java(TM) 2 Runtime Environment, Standard Edition (build pwi32dev-20060511
(SR2))
>
> IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Windows 2000 x86-32 j9vmwi3223-
20060
> 504 (JIT enabled)
> J9VM - 20060501_06428_lHdSMR
> JIT  - 20060428_1800_r8
> GC   - 20060501_AA)
> JCL  - 20060511a
>
> Also, the db creation works fine with com.ibm.crypto.provider.IBMJCE (the
one available with IBM15)
>
> Are you using the default installation of the IBM15 sdk (with the JRE) ? Can
you verify if there

> is any J9 specific JCE provider in your jre/lib/ext directory ?
>
> Regards,
> Rajesh
>
> Supal J Patel wrote:
>
> >
> > Hi,
> >
> > I am using Derby 10.1.1 release. I am trying to create a encrypted
> > database with J9 JRE. With J9 I am getting one JCE provider which is
> > called J9JCEProvider. When I try to run the attached JDBCTest.java
> > class I am getting the error "ERROR XBCXG: The encryption provider
> > 'J9JCEProvider' does not exist.". For complete error message please
> > refer to the attached ErrrorLog.txt file.
> >
> > Can anyone help me with this problem?
> >
> > Thanks and Regards,
> >
> > Supal Patel
> >
> >
> >------------------------------------------------------------------------
> >
> >JVMJ9VM011W Unable to load j9jit23: The specified module could not be
found.
> >SQL Exception: Failed to create database 'c:\SupalDB', see the next
exception for details.
> > at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> > at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> > at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
Source)
> > at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown
Source)
> > at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown
Source)
> > at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> > at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
> > at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> > at java.sql.DriverManager.getConnection(DriverManager.java:181)
> > at java.sql.DriverManager.getConnection(DriverManager.java:148)
> > at myapp.JDBCTest.createConnection(JDBCTest.java:27)
> > at myapp.JDBCTest.main(JDBCTest.java:20)
> >ERROR XBM01: Startup failed due to an exception. See next exception for
details.
> > at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
> > at
org.apache.derby.iapi.services.monitor.Monitor.exceptionStartingModule(Unknown
Source)
> > at org.apache.derby.impl.services.monitor.BaseMonitor.bootService
(Unknown Source)
> > at
org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService
(Unknown Source)
> > at
org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown
Source)
> > at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown
Source)
> > at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> > at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
> > at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> > at java.sql.DriverManager.getConnection(DriverManager.java:181)
> > at java.sql.DriverManager.getConnection(DriverManager.java:148)
> > at myapp.JDBCTest.createConnection(JDBCTest.java:27)
> > at myapp.JDBCTest.main(JDBCTest.java:20)
> >ERROR XBCXG: The encryption provider 'J9JCEProvider' does not exist.
> > at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
> > at
org.apache.derby.impl.services.jce.JCECipherFactory.generateUniqueBytes
(Unknown Source)
> > at
org.apache.derby.impl.services.jce.JCECipherFactory.handleBootPassword(Unknown
Source)
> > at org.apache.derby.impl.services.jce.JCECipherFactory.boot(Unknown
Source)
> > at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown
Source)
> > at org.apache.derby.impl.services.monitor.TopService.bootModule
(Unknown Source)
> > at org.apache.derby.impl.services.monitor.BaseMonitor.startModule
(Unknown Source)
> > at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule
(Unknown Source)
> > at org.apache.derby.impl.store.raw.RawStore.boot(Unknown Source)
> > at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown
Source)
> > at org.apache.derby.impl.services.monitor.TopService.bootModule
(Unknown Source)
> > at org.apache.derby.impl.services.monitor.BaseMonitor.startModule
(Unknown Source)
> > at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule
(Unknown Source)
> > at org.apache.derby.impl.store.access.RAMAccessManager.boot(Unknown
Source)
> > at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown
Source)
> > at org.apache.derby.impl.services.monitor.TopService.bootModule
(Unknown Source)
> > at org.apache.derby.impl.services.monitor.BaseMonitor.startModule
(Unknown Source)
> > at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule
(Unknown Source)
> > at org.apache.derby.impl.db.BasicDatabase.bootStore(Unknown Source)
> > at org.apache.derby.impl.db.BasicDatabase.boot(Unknown Source)
> > at org.apache.derby.impl.services.monitor.BaseMonitor.boot(Unknown
Source)
> > at org.apache.derby.impl.services.monitor.TopService.bootModule
(Unknown Source)
> > at org.apache.derby.impl.services.monitor.BaseMonitor.bootService
(Unknown Source)
> > at
org.apache.derby.impl.services.monitor.BaseMonitor.createPersistentService
(Unknown Source)
> > at
org.apache.derby.iapi.services.monitor.Monitor.createPersistentService(Unknown
Source)
> > at org.apache.derby.impl.jdbc.EmbedConnection.createDatabase(Unknown
Source)

> > at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
> > at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Unknown Source)
> > at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
> > at java.sql.DriverManager.getConnection(DriverManager.java:181)
> > at java.sql.DriverManager.getConnection(DriverManager.java:148)
> > at myapp.JDBCTest.createConnection(JDBCTest.java:27)
> > at myapp.JDBCTest.main(JDBCTest.java:20)
> >
>
>

Hi Rajesh,

Thanks for the help.

In your case when you try to use 'com.ibm.j9.jce.provider.J9JCEProvider' as a
Encryption provider you are getting error as mentioned below :

<snip>
SQL Exception: Failed to create database 'SupalDB', see the next exception for
details.
ERROR XBM0G: Failed to start encryption engine. Please make sure you are
running Java 2 and have downloaded an encryption provider such as jce and put
it in your class path.

ERROR XBCXF: The class 'com.ibm.j9.jce.provider.J9JCEProvider' representing the
encryption provider cannot be found.
</snip>

This makes sense because you dont have 'com.ibm.j9.jce.provider.J9JCEProvider'
in your classpath.

But in my case I do have j9jceprov.jar in my classpath. And that is why I am
getting error as mentioned below :

ERROR XBM01: Startup failed due to an exception. See next exception for
details.
ERROR XBCXG: The encryption provider 'J9JCEProvider' does not exist.

So now what I want to understand is what causes this error message  :
"ERROR XBCXG"

I am using J9 (JCL:MAX) JRE and Derby 10.1.2 database.

Can anyone please help me ?

Thanks and Regards,

Supal Patel




Re: Not able to create encrypted database

by Myrna van Lunteren :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 7/6/06, Supal Patel <supal.patel@...> wrote:
[snip details about the problem]

> This makes sense because you dont have 'com.ibm.j9.jce.provider.J9JCEProvider'
> in your classpath.
>
> But in my case I do have j9jceprov.jar in my classpath. And that is why I am
> getting error as mentioned below :
>
> ERROR XBM01: Startup failed due to an exception. See next exception for
> details.
> ERROR XBCXG: The encryption provider 'J9JCEProvider' does not exist.
>
> So now what I want to understand is what causes this error message  :
> "ERROR XBCXG"
>
> I am using J9 (JCL:MAX) JRE and Derby 10.1.2 database.
>
> Can anyone please help me ?
>
> Thanks and Regards,
>
> Supal Patel
>
>
>
Hi Supal,

I have never tried the encryption provider you mentioned, and I lost
(due to a hard disk crash) my installed j9 files...But I will try to
help...

What OS are you working on, and what version of j9 do you have (so I
can try to get a similar set up)?
Also, I am wondering how exactly your jvm is started.
Specifically, do you use the -Xbootclasspath?
Have you been able to use the j9jceprov.jar with other products (not derby)?
And, based on the commented-out line in JDBC_Test.java I wonder if you
were able to create an encrypted database with the
BouncyCastleProvider?

Thx,
Myrna

Re: Not able to create encrypted database

by Supal J Patel :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Myrna van Lunteren <m.v.lunteren@...> writes:

>
> On 7/6/06, Supal Patel <supal.patel@...> wrote:
> [snip details about the problem]
> > This makes sense because you dont
have 'com.ibm.j9.jce.provider.J9JCEProvider'
> > in your classpath.
> >
> > But in my case I do have j9jceprov.jar in my classpath. And that is why I
am

> > getting error as mentioned below :
> >
> > ERROR XBM01: Startup failed due to an exception. See next exception for
> > details.
> > ERROR XBCXG: The encryption provider 'J9JCEProvider' does not exist.
> >
> > So now what I want to understand is what causes this error message  :
> > "ERROR XBCXG"
> >
> > I am using J9 (JCL:MAX) JRE and Derby 10.1.2 database.
> >
> > Can anyone please help me ?
> >
> > Thanks and Regards,
> >
> > Supal Patel
> >
> >
> >
> Hi Supal,

Hi Myrna,

Sorry for replying late.. Thanks in advance for helping me...
>
> I have never tried the encryption provider you mentioned, and I lost
> (due to a hard disk crash) my installed j9 files...But I will try to
> help...

>
> What OS are you working on, and what version of j9 do you have (so I
> can try to get a similar set up)?

I am using WinXP and J9 JCL MAX.

> Also, I am wondering how exactly your jvm is started.
> Specifically, do you use the -Xbootclasspath?
> Have you been able to use the j9jceprov.jar with other products (not derby)?
I have not tried this. I tried to use this jar for the first time with Derby
only.

> And, based on the commented-out line in JDBC_Test.java I wonder if you
> were able to create an encrypted database with the
> BouncyCastleProvider?
Let me explain this in detail. Currently I have two JREs on my system: 1. IBM
JRE1.4.2 and J9 JCL Max.

If I run the same code on IBM 1.4.2 JRE and use BouncyCastle provider then it
works fine. I can successfully create a encrypted databse. Now if I just
change the JRE to J9 then the same code gives me exception that :
ERROR XBCXC: Encryption algorithm 'DES/CBC/NoPadding' does not exist. Please
check that the chosen provider 'BC' supports this algorithm.

Now on J9 JRE if I use j9jceprov.jar and com.ibm.j9.jce.provider.J9JCEProvider
then as mentioned in my previous post it gives me exception that :
ERROR XBCXG: The encryption provider 'J9JCEProvider' does not exist.
Please note that its not a class path issue because the j9jceprov.jar is in
classpath.

Thanks and Regards,

Supal
>
> Thx,
> Myrna
>
>





Re: Not able to create encrypted database

by Cuong :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
I know this thread is a while old now, but I seem to be having the same issues.
Can you tell me if you ever resolved this problem and whether you have managed to get an encrypted derby db working for J9?

Re: Not able to create encrypted database

by Kathey Marsden :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Cuong wrote:
> Hi,
> I know this thread is a while old now, but I seem to be having the same
> issues.
> Can you tell me if you ever resolved this problem and whether you have
> managed to get an encrypted derby db working for J9?
>  
There is a comment in our tests:
 // Encryption only supported for Derby in J2SE/J2EE environments.
        // J2ME (JSR169) does not support encryption.
and then the encryption tests are skipped.  My theory always is that if
it is not tested, it doesn't exist.

I don't immediately see this (or any of the other J2ME restrictions)
documented in a comprehensive way. Perhaps I am just missing something.  
Maybe a description of the restrictions should be listed under
http://db.apache.org/derby/docs/dev/devguide/cdevstart18978.html
Do we need a new issue to list the restrictions or am I just missing
something?

If you think that J2ME/J9  has enough encryption support that we could
get this to work with some development effort please file an improvement
request in Jira.
http://db.apache.org/derby/DerbyBugGuidelines.html

Then if you would like to join the development community to implement
it, I am sure you will find lots of support there in doing so, providing
there is not some insurmountable technical obstacle.

Kathey


Re: Not able to create encrypted database

by Rick Hillegas-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Kathey Marsden wrote:

> Cuong wrote:
>> Hi,
>> I know this thread is a while old now, but I seem to be having the same
>> issues.
>> Can you tell me if you ever resolved this problem and whether you have
>> managed to get an encrypted derby db working for J9?
>>  
> There is a comment in our tests:
> // Encryption only supported for Derby in J2SE/J2EE environments.
>        // J2ME (JSR169) does not support encryption.
> and then the encryption tests are skipped.  My theory always is that
> if it is not tested, it doesn't exist.
>
> I don't immediately see this (or any of the other J2ME restrictions)
> documented in a comprehensive way. Perhaps I am just missing
> something.  Maybe a description of the restrictions should be listed
> under http://db.apache.org/derby/docs/dev/devguide/cdevstart18978.html
> Do we need a new issue to list the restrictions or am I just missing
> something?
Kim recently added some useful documentation on the limitations of
Derby's support for small devices:
http://db.apache.org/derby/docs/10.5/ref/ref-single.html#rrefjdbcjsr169 
As you can see, we do not claim to support encrypted databases on small
devices.

However, the limitation isn't in Derby. It's just that the encryption
libraries aren't a standard part of the CDC/FP 1.1 platform. Most of the
small device limitations listed in the Reference Guide can be lifted by
loading more libraries onto your small device. From this thread it seems
that, by wiring encryption libraries into the classpath, some people
have gotten encryption to work on Derby databases on small devices. Of
course, as you note, we don't test these combinations so there may be
some gotchas out there.

Regards,
-Rick

>
> If you think that J2ME/J9  has enough encryption support that we could
> get this to work with some development effort please file an
> improvement request in Jira.
> http://db.apache.org/derby/DerbyBugGuidelines.html
>
> Then if you would like to join the development community to implement
> it, I am sure you will find lots of support there in doing so,
> providing there is not some insurmountable technical obstacle.
>
> Kathey
>


Re: Not able to create encrypted database

by Kathey Marsden :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Rick Hillegas wrote:
>>
> Kim recently added some useful documentation on the limitations of
> Derby's support for small devices:
> http://db.apache.org/derby/docs/10.5/ref/ref-single.html#rrefjdbcjsr169 
> As you can see, we do not claim to support encrypted databases on
> small devices.
>
Thanks Rick for pointing this out and Kim for adding the information. It
is good to see we do have this documented.
>  From this thread it seems that, by wiring encryption libraries into
> the classpath, some people have gotten encryption to work on Derby
> databases on small devices. Of course, as you note, we don't test
> these combinations so there may be some gotchas out there.
>
Mostly what I have seen on this thread is people that *haven't*  gotten
encryption to work on small devices, but if anyone does get it working
it would  be great to outline how it is done and create an issue to add
a test so it keeps on working.

Kathey

Re: Not able to create encrypted database

by Rick Hillegas-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Kathey Marsden wrote:

> Rick Hillegas wrote:
>>>
>> Kim recently added some useful documentation on the limitations of
>> Derby's support for small devices:
>> http://db.apache.org/derby/docs/10.5/ref/ref-single.html#rrefjdbcjsr169 
>> As you can see, we do not claim to support encrypted databases on
>> small devices.
>>
> Thanks Rick for pointing this out and Kim for adding the information.
> It is good to see we do have this documented.
>>  From this thread it seems that, by wiring encryption libraries into
>> the classpath, some people have gotten encryption to work on Derby
>> databases on small devices. Of course, as you note, we don't test
>> these combinations so there may be some gotchas out there.
>>
> Mostly what I have seen on this thread is people that *haven't*  
> gotten encryption to work on small devices, but if anyone does get it
> working it would  be great to outline how it is done and create an
> issue to add a test so it keeps on working.
You are, of course, right. As I go back through the thread, I don't see
any success stories. It might be worth experimenting with a different
encryption package, like this old package from the 10.3 days:
http://java.sun.com/products/archive/jce/
>
> Kathey


Re: Not able to create encrypted database

by Rick Hillegas-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Rick Hillegas wrote:

> Kathey Marsden wrote:
>> Rick Hillegas wrote:
>>>>
>>> Kim recently added some useful documentation on the limitations of
>>> Derby's support for small devices:
>>> http://db.apache.org/derby/docs/10.5/ref/ref-single.html#rrefjdbcjsr169 
>>> As you can see, we do not claim to support encrypted databases on
>>> small devices.
>>>
>> Thanks Rick for pointing this out and Kim for adding the information.
>> It is good to see we do have this documented.
>>>  From this thread it seems that, by wiring encryption libraries into
>>> the classpath, some people have gotten encryption to work on Derby
>>> databases on small devices. Of course, as you note, we don't test
>>> these combinations so there may be some gotchas out there.
>>>
>> Mostly what I have seen on this thread is people that *haven't*  
>> gotten encryption to work on small devices, but if anyone does get it
>> working it would  be great to outline how it is done and create an
>> issue to add a test so it keeps on working.
> You are, of course, right. As I go back through the thread, I don't
> see any success stories. It might be worth experimenting with a
> different encryption package, like this old package from the 10.3
> days: http://java.sun.com/products/archive/jce/
Sigh. Make that the jdk1.3 days.
>>
>> Kathey
>


Re: Not able to create encrypted database

by Daniel John Debrunner-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Rick Hillegas wrote:

> You are, of course, right. As I go back through the thread, I don't see
> any success stories. It might be worth experimenting with a different
> encryption package, like this old package from the JDK 1.3 days:
> http://java.sun.com/products/archive/jce/

That might be a hopeless task, standard Java methods and classes have
been removed from CDC/Foundation, there is probably a significant chance
that the JDK 1.3 security features depend on those classes.

 From a quick look at the JME web-site, it seems that Foundation 1.1
supports crypto, the best approach would be to make the changes in Derby
to support that environment, it may be mainly build changes to allow
Derby to load its crypto support in an CDC/Foundation environment.

http://java.sun.com/javame/reference/apis.jsp
http://java.sun.com/javame/reference/apis/jsr219/

Dan.