2017-06-28 21 views
0

OracleデータベースでASOを有効にするすべての接続を保護するために、oracle.jdbc.pool.OracleDataSourceを使用してJavaからの安全な接続を確立できました。しかし、私たちはapacheの基本データソースを使用したプロジェクトを持っています。私は以下を試しましたが、データはまだ暗号化されていません。apacheコモンズを使用したOracleデータベースへのセキュアな接続基本データソース

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);"); 

接続プロパティに何か不足している場合は教えてください。ありがとう。

答えて

1

方法のBasicDataSource番号のsetConnectionProperties(String)を以前

データソースに追加されたすべてのプロパティは、あなたは、単一のプロパティを追加する方法のBasicDataSource#addConnectionProperty(文字列、文字列)を使用する必要がオーバーライド:

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

関連するデータでPropertiesインスタンスを作成してから、それをDat 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);