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.

Reply via email to