You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Martin Lichtin <li...@yahoo.com> on 2017/04/08 22:49:16 UTC

Karaf Support for Oracle Wallet

Having trouble with adding support for Oracle Wallet. Has anyone had success with it?

One needs to register oracle.security.pki.OraclePKIProvider, therefore add three JARs
    oraclepki.jar, osdt_cert.jar, osdt_core.jar
to "lib/ext" and extend org.apache.karaf.security.providers with the class name.
So I did that.

However, this doesn't seem to be enough, still getting:

Caused by: java.sql.SQLException: PKI classes not found. To use 'connect /' functionality, oraclepki.jar must be in the classpath: java.lang.NoClassDefFoundError: oracle/security/pki/OracleWallet
         at oracle.jdbc.driver.PhysicalConnection.getSecretStoreCredentials(PhysicalConnection.java:1449)
         at oracle.jdbc.driver.PhysicalConnection.parseUrl(PhysicalConnection.java:1214)
         at oracle.jdbc.driver.PhysicalConnection.readConnectionProperties(PhysicalConnection.java:965)
         at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:624)
         at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:398)
         at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)
         at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:317)
         at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:241)
         at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:184)

I checked Security.getProviders() and OraclePKIProvider is part of the list.
Also, I tried adding oracle.security.pki.* to org.osgi.framework.bootdelegation but that didn't help.

Any further ideas on what I could try?

- Martin

PS: It's for Karaf 3.


Re: Karaf Support for Oracle Wallet

Posted by Martin Lichtin <li...@yahoo.com>.

The solution was to add "oracle.security.pki" to org.osgi.framework.bootdelegation (without the .*)

It works now.
________________________________
From: Martin Lichtin <li...@yahoo.com>
To: "user@karaf.apache.org" <us...@karaf.apache.org> 
Sent: Sunday, April 9, 2017 12:49 AM
Subject: Karaf Support for Oracle Wallet


Having trouble with adding support for Oracle Wallet. Has anyone had success with it?
One needs to register oracle.security.pki.OraclePKIProvider, therefore add three JARs

    oraclepki.jar, osdt_cert.jar, osdt_core.jar

to "lib/ext" and extend org.apache.karaf.security.providers with the class name.

So I did that.

However, this doesn't seem to be enough, still getting:

Caused by: java.sql.SQLException: PKI classes not found. To use 'connect /' functionality, oraclepki.jar must be in the classpath: java.lang.NoClassDefFoundError: oracle/security/pki/OracleWallet

I checked Security.getProviders() and OraclePKIProvider is part of the list.
Also, I tried adding oracle.security.pki.* to org.osgi.framework.bootdelegation but that didn't help.

Any further ideas on what I could try?