使用 apache commons 基本数据源安全连接到 oracle 数据库
Secure connection to oracle database using apache commons Basic Datasource
作为保护所有连接的一部分,我们在 Oracle 数据库中启用了 ASO,我能够使用 oracle.jdbc.pool.OracleDataSource 从我的 java 建立安全连接。但是我们有使用 apache 基本数据源的项目。我尝试了以下但数据仍然没有被加密。
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);");
如果我在连接属性中遗漏了什么,请告诉我。谢谢
方法BasicDataSource#setConnectionProperties(String)覆盖之前添加到数据源的所有属性
您需要使用方法 BasicDataSource#addConnectionProperty(String, String) 添加单个 属性:
BasicDataSource ods = new BasicDataSource();
ods.addConnectionProperty("OracleConnection.CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL", "REQUIRED")
或者用相关数据构建 Properties 实例,然后才将其添加到 DataSource:
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);
作为保护所有连接的一部分,我们在 Oracle 数据库中启用了 ASO,我能够使用 oracle.jdbc.pool.OracleDataSource 从我的 java 建立安全连接。但是我们有使用 apache 基本数据源的项目。我尝试了以下但数据仍然没有被加密。
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);");
如果我在连接属性中遗漏了什么,请告诉我。谢谢
方法BasicDataSource#setConnectionProperties(String)覆盖之前添加到数据源的所有属性
您需要使用方法 BasicDataSource#addConnectionProperty(String, String) 添加单个 属性:
BasicDataSource ods = new BasicDataSource();
ods.addConnectionProperty("OracleConnection.CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL", "REQUIRED")
或者用相关数据构建 Properties 实例,然后才将其添加到 DataSource:
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);