Есть ли способ внедрить функции шифрования Oracle Advanced Security в конфигурацию Spring JDBC dataSource?
Администратор базы данных сказал мне передать следующие аргументы в соединение на стороне клиента.
sqlnet.encryption_client = requested
sqlnet.encryption_types_client = (RC4_128)
sqlnet.crypto_checksum_client = requested
sqlnet.crypto_checksum_types_client = (MD5)
Согласно документации Oracle, шифрование может быть установить для тонкого драйвера, добавив аргументы в OracleConnection через старый добрый java.util.Properties
.
Однако я не могу найти способ сделать это с моей конфигурацией Spring dataSource.xml
.
Бин dataSource работает нормально:
<bean id="dataSource"
class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
<property name="URL" value="${datasource.url}" />
<property name="user" value="${datasource.user}" />
<property name="password" value="${datasource.password}" />
<property name="connectionCachingEnabled" value="true"/>
</bean>
Но, к сожалению, необходимые свойства не поняты и приводят к следующему исключению
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'encryption_client' of bean class [oracle.jdbc.pool.OracleDataSource]
<property name="encryption_client" value="${datasource.encryption_client}"/>
<property name="encryption_types_client" value="${datasource.encryption_types_client}"/>
<property name="crypto_checksum_client" value="${datasource.crypto_checksum_client}"/>
<property name="crypto_checksum_types_client" value="${datasource.crypto_checksum_types_client}"/>
- В Документация Spring Я вижу, что упоминается лишь несколько атрибутов.
- Снова взглянув на пример в Документации Oracle, свойства задаются следующим образом
OracleDataSource ods = new OracleDataSource();ods.setProperties(prop)
... но в API нет методаsetProperties()
.
(https://docs.oracle.com/cd/E18283_01/appdev.112/e13995/oracle/jdbc/pool/OracleDataSource.html)
Я совсем запутался :(
Любая помощь или подсказка очень ценятся.
TL;TR
Есть ли решение для передачи этих свойств шифрования Oracle в Spring?