Пожалуйста, сообщите об исключении

Может ли кто-нибудь сказать мне, что означает это исключение, это сбивает с толку, потому что я пробовал все возможные способы изменить путь к хранилищу ключей .. не работает.

Среда: сервер базы данных ORACLE, настройка 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)

Я использую класс java.

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..");
}
}
1
задан Jonathan Leffler 19 September 2010 в 05:18
поделиться