2017-06-28 3 views
0

Dans le cadre de la sécurisation de toutes les connexions que nous activons ASO dans la base de données Oracle, j'ai pu établir une connexion sécurisée depuis mon Java en utilisant oracle.jdbc.pool.OracleDataSource. Mais nous avons des projets utilisant apache basic datasource. J'ai essayé le ci-dessous mais toujours les données ne sont pas cryptées.Connexion sécurisée à la base de données Oracle à l'aide d'Apache Source de données de base

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

Veuillez me faire savoir s'il me manque quelque chose dans les propriétés de connexion. Merci.

Répondre

1

Méthode BasicDataSource # setConnectionProperties (String) Remplace toutes les propriétés qui été ajoutées à la source de données précédemment

Vous devez utiliser la méthode BasicDataSource # addConnectionProperty (String, String) pour ajouter propriété unique :

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

ou de construire instance de propriétés avec des données pertinentes, et seulement puis l'ajouter à la Dat a Source:

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