Can any body let me know what this exception means, its confusing because I attempted all possiblity to alter the path from the keystore.. does not work.

Atmosphere: ORACLE database server, setting up SSL

Exception in thread "main" java.sql.SQLException: Io exception: 

java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
 at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
 at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
 at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
 at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
 at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
 at java.sql.DriverManager.getConnection(DriverManager.java:582)
 at java.sql.DriverManager.getConnection(DriverManager.java:154)
 at project1.JDBCSSLTest.getConnection(JDBCSSLTest.java:42)
 at project1.JDBCSSLTest.run(JDBCSSLTest.java:22)
 at project1.JDBCSSLTest.main(JDBCSSLTest.java:49)

The java class I'm using is.

package project1;

import java.security.Security;

import java.sql.Connection;
import java.sql.SQLException;

import java.sql.*;
import oracle.jdbc.OracleDriver;

public class JDBCSSLTest
{

public JDBCSSLTest()
{
 // must enable this
 Security.addProvider(new oracle.security.pki.OraclePKIProvider());
}

public void run () throws SQLException
{
 Connection conn = getConnection();
 System.out.println("Auto Commit = " + conn.getAutoCommit());
 conn.close();
}

public static Connection getConnection() throws SQLException
{
 String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)" +
              "(HOST=localhost)(PORT=2484))" +
              "(CONNECT_DATA=(SERVICE_NAME=orcl)))";
 java.util.Properties props = new java.util.Properties();

 props.setProperty("user", "system");
 props.setProperty("password", "weblogic");
    props.setProperty("javax.net.ssl.trustStore","C://lib//ewallet.p12");
    props.setProperty("javax.net.ssl.trustStoreType","PKCS12");
    props.setProperty("javax.net.ssl.trustStorePassword","weblogic123");
  props.setProperty("oracle.net.ssl_cipher_suites", "SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA");

 DriverManager.registerDriver(new OracleDriver());
 Connection conn = DriverManager.getConnection(url, props);
 return conn;
}

public static void main(String[] args) throws SQLException
{
 JDBCSSLTest dSTest = new JDBCSSLTest();
 dSTest.run();
 System.out.println("all done..");
}
}

From this Oracle document:

“java.sql.SQLException: Io exception: java.lang.RuntimeException:
 Unexpected error: java.security.InvalidAlgorithmParameterException: 
 the trustAnchors parameter must be non-empty”: 

if you work with PKCS12 purses and Oracle’s PKI provider isn’t correctly enabled. This exception originates from the PKCS12 implementation from Sun (Sun’s PKI provider) which isn’t suitable for Oracle purses. Oracle’s PKI provider should be correctly enabled for PKCS12 either statically or dynamically if you are using PKCS12 purses.

Enabling the PKI provider is referred to in section 2.2.4 of the identical document.

I am different this with this particular but going through the exception information along your user code was triggered

   at project1.JDBCSSLTest.getConnection(JDBCSSLTest.java:42)

and also the runtime is missing a needed property when locating an association

Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

It appears just like you haven't set up this needed 'trustAnchors' property.