Я пытаюсь получить доступ к БД через порт прослушивателя SSL, используя код, указанный ниже.
import java.security.Security;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class SSLTester
{
public static void main(String[] args)
throws Exception
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Security.insertProviderAt(new oracle.security.pki.OraclePKIProvider(), 3);
String url = "jdbc:oracle:thin:@(DESCRIPTION = " +
"(ADDRESS_LIST = " +
"(ADDRESS = " +
"(PROTOCOL = TCPS)" +
"(HOST = <hostname>)" +
"(PORT = <port>)" +
")" +
") " +
"(CONNECT_DATA = (SERVICE_NAME = <servicename>))" +
")";
java.util.Properties info = new java.util.Properties();
info.setProperty("oracle.net.authentication_services", "(TCPS)");
info.setProperty("javax.net.ssl.trustStore", "YOUR_WALLET_LOCATION/cwallet.sso");
info.setProperty("javax.net.ssl.trustStoreType", "SSO");
info.setProperty("javax.net.ssl.keyStore", "YOUR_WALLET_LOCATON/cwallet.sso");
info.setProperty("javax.net.ssl.keyStoreType", "SSO");
Connection conn = DriverManager.getConnection(url, info);
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("select user from dual");
while (rset.next())
System.out.println(rset.getString(1));
rset.close();
stmt.close();
conn.close();
}
}
Но я вижу ошибку ниже.Я попытался обновить идентификатор пользователя и пароль с помощью «setProperty», но все еще вижу ту же ошибку.
java.sql.SQLRecoverableException: IO Error: Сетевой адаптер не смог установить соединение в Oracle.jdbc.driver.T4CConnection.logon (T4CConnection.java:673) по адресу oracle.jdbc.driver.PhysicalConnection. (PhysicalConnection.java:715) по адресу oracle.jdbc.driver.T4CConnection. (T4CConnection.jcjjj: 5).driver.T4CDriverExtension.getConnection (T4CDriverExtension.java:30) в oracle.jdbc.driver.OracleDriver.connect (OracleDriver.java:564) в java.sql.DriverManager.getConnection (DriverManager.java:664) в java.sqq.DriverManager.getConnection (DriverManager.java:208) в TestOracleSSLConnection.main (TestOracleSSLConnection.java:22) Причина: oracle.net.ns.NetException: сетевому адаптеру не удалось установить соединение в oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:445) в oracle.net.resolver.AddrResolution.resolveAndExecute (AddrResolution.java:464) в oracle.net.ns.NSProtocol.establishConnection (NSProtocol.java:594) в oracle.net.ns.NSProtocol.connect (NSProtocol.java:229) в oracle.jdbc.driver.T4CConnection.connect (T4CConnection.java:1360)at oracle.jdbc.driver.T4CConnection.logon (T4CConnection.java:486) ... еще 7 причин: oracle.net.ns.NetException: Невозможно инициализировать контекст ssl.в oracle.net.nt.CustomSSLSocketFactory.getSSLSocketFactory (CustomSSLSocketFactory.java:325) в oracle.net.nt.TcpsNTAdapter.connect (TcpsNTAdapter.java:115) в oracle.net.nt.ConnOption.connect (ConnO133.j)) at oracle.net.nt.ConnStrategy.execute (ConnStrategy.java:411) ... еще 12 причин: oracle.net.ns.NetException: Невозможно инициализировать хранилище доверенных сертификатов.в oracle.net.nt.CustomSSLSocketFactory.getTrustManagerArray (CustomSSLSocketFactory.java:413) в oracle.net.nt.CustomSSLSocketFactory.getSSLSocketFactory (CustomSSLSocketFactory.java:309) ... еще 15 причин, вызванных: oracle.secas.ry.r.ASN1FormatException: oracle.security.crypto.core.CipherException: неверная строка заполнения (или неверный пароль) в oracle.security.crypto.cert.PKCS12Safe.input (PKCS12Safe.java:226) в oracle.security.crypto.cert.PCS.(PKCS12Safe.java:120) в oracle.security.crypto.cert.PKCS12.input (PKCS12.java:179) в oracle.security.crypto.cert.PKCS12. (PKCS12.java:119) в oracle.security.pki.OracleKeyStoreSpi.engineLoad (Неизвестный источник) в oracle.security.pki.OracleSSOKeyStoreSpi.engineLoad (Неизвестный источник) в java.security.KeyStore.load (KeyStore.java:1445) в oracle.net.nt.CustomSSLSocketFactory.ArToxtan.Java: 404) ... еще 16