Попытка включить Oracle Transparent Data Encryption в источнике данных JDBC - PullRequest
2 голосов
/ 02 мая 2011

Я пытаюсь использовать Oracle TDE для подключения к источнику данных JDBC со следующей строкой подключения:

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.1.101)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=SECUREDATA)))

Есть ли способ указать свойства JDBC, чтобы для этого подключения было включено Прозрачное шифрование данных?

http://www.orafaq.com/wiki/Network_Encryption#Thin_JDBC_client немного говорит о том, как это сделать, но из-за имеющейся у нас архитектуры программного обеспечения я могу в значительной степени изменять только строку подключения источника данных.

 Thin JDBC client

 In this case, sqlnet.ora file is not read and taken into account; we have to set 
 properties on the connection.

 For example:

 DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
 Properties props = new Properties();
 props.put("oracle.net.encryption_client", "accepted");
 props.put("oracle.net.encryption_types_client", "RC4_128"); 
 props.put("user", "XXX");
 props.put("password", "YYY");
 Connection conn =  DriverManager.getConnection("jdbc:oracle:thin:@myhost:1521:mySID", props);

1 Ответ

0 голосов
/ 02 мая 2011

10-граммовый опыт моего магазина с Oracle Network Encryption заключался в том, что он работал, внося эти изменения только на стороне сервера :

SQLNET.ENCRYPTION_SERVER = required
SQLNET.ENCRYPTION_TYPES_SERVER = (list of acceptable crypto algorithms)
SQLNET.CRYPTO_SEED = [my seed value]
SQLNET.CRYPTO_CHECKSUM_SERVER = required
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (list of acceptable crypto algorithms)

В качестве значений по умолчанию для SQLNET.ENCRYPTION_CLIENT и SQLNET.CRYPTO_CHECKSUM_CLIENT are accepted, будет создано зашифрованное соединение.

...