2017-06-28 1 views
0

Im Rahmen all die Verbindung zu sichern wir ASO in Oracle-Datenbank ermöglicht, konnte ich eine sichere Verbindung von meinem Java machen oracle.jdbc.pool.OracleDataSource verwenden. Aber wir haben Projekte mit Apache Basisdatenquelle. Ich habe das unten versucht, aber die Daten werden nicht verschlüsselt.Sichere Verbindung mit Oracle-Datenbank unter Verwendung von Apache Commons Grunddatenquelle

BasicDataSource ods = new BasicDataSource(); 
    ods.setUrl(URL); 
    ods.setUsername(user); 
    ods.setPassword(password); 
    ods.setConnectionProperties("AutoCommit=false;"); 
    ods.setConnectionProperties("OracleConnection.CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL=REQUIRED;"); 
    ods.setConnectionProperties("OracleConnection.CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_TYPES=(AES256);"); 
    ods.setConnectionProperties("OracleConnection.CONNECTION_PROPERTY_THIN_NET_CRYPTO_SEED=(sfdsvcfdssegdsvg);"); 

Bitte lassen Sie mich wissen, wenn ich etwas in den Verbindungseigenschaften vermisse. Vielen Dank.

Antwort

1

Methode BasicDataSource # setConnectionProperties (String) überschreibt alle Eigenschaften, die auf die Datasource zuvor

Sie müssen hinzugefügt Methode verwenden BasicDataSource # addConnectionProperty (String, String) einzelne Eigenschaft hinzufügen :

BasicDataSource ods = new BasicDataSource(); 
ods.addConnectionProperty("OracleConnection.CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL", "REQUIRED") 

oder erstellen Sie die Properties-Instanz mit den relevanten Daten, und fügen Sie sie erst dann dem Dat hinzu aSource:

Properties prop = new Properties(); 
prop.setProperty("OracleConnection.CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL", "REQUIRED"); 
prop.setProperty("OracleConnection.CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_TYPES", "(AES256)") 
... 
BasicDataSource ods = new BasicDataSource(); 
ods.setConnectionProperties(prop); 
Verwandte Themen