2016-12-18 2 views
0

Ich habe eine Standard-Datenbankverbindung konfiguriert, ich verbinde mich mit einer Oracle-Datenbank. Die Datenbank wird für die Verwendung von SSL konfiguriert. Dies bedeutet, dass ich das Serverzertifikat angeben muss, um eine Verbindung herzustellen.JDBC verbinden mit Oracle-Datenbank mit SSL

Das SSL selbst ist mit SSL_CLIENT_AUTHENTICATION = FALSE und ein Oracle Wallet konfiguriert.

Kann es mit JDBC getan werden?

Dies ist meine aktuellen Code:

 Class.forName("oracle.jdbc.OracleDriver"); 

     connection = DriverManager.getConnection("jdbc:oracle:thin:@192.168.200.96:1521:NNVSDB", "VSU22","VSU22"); 
+0

will Könnte eine nehmen schau dir [this] an (https://docs.oracle.com/cd/B19306_01/java.102/b14355/sslthin.htm#BABJIHFJ) – GurV

+0

Mögliche Duplikate von http://stackoverflow.com/questions/10415733/jdbc- connection-to-oracle-database-using-tls-certificate (nicht stimmend, um zu schließen, als diese Frage + meine Antwort sind 4 Jahre alt, und ich bin mir nicht sicher, ob sich die Dinge seither verändert/verbessert haben). –

Antwort

1

Sie ein pdf mit einigen Dokumentation finden Sie hier: SSL With Oracle JDBC, haben Sie einige Codebeispiel Seite 11 und 12:

String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=servername)(PORT=2484))(CONNECT_DATA=(SERVICE_NAME=servicename)))"); 
Properties props = new Properties(); 
props.setProperty("user", "scott"); 
props.setProperty("password", "tiger"); 
props.setProperty("javax.net.ssl.trustStore", 
        "/truststore/ewallet.p12"); 
props.setProperty("javax.net.ssl.trustStoreType","PKCS12"); 
props.setProperty("javax.net.ssl.trustStorePassword","welcome123"); 
Connection conn = DriverManager.getConnection(url, props); 
+0

Ich habe dieses Beispiel gesehen, aber ich benutze eine Wallet nicht einen Truststore. –

+0

Yeap, Sie haben zwei Arten von Brieftasche: SSO und PKCS12, können Sie entweder Eigenschaft für SSO, wo Sie nicht einmal Passwort 'props.setProperty (" javax.net.ssl.trustStore ","/Truststore /cwallet.sso "); props.setProperty ("javax.net.ssl.trustStoreType", "SSO"); ' – Xephi