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.