Oracleの暗号化機能を高度化する方法はありますか セキュリティをSpringのJDBCデータソース設定に変換しますか?
Spring JDBC xmlコンフィグレーションによるOracle Advanced Secuity暗号化
DBAは、クライアント側の接続に次の引数を渡すように指示しました。
sqlnet.encryption_client = requested
sqlnet.encryption_types_client = (RC4_128)
sqlnet.crypto_checksum_client = requested
sqlnet.crypto_checksum_types_client = (MD5)
Oracle Documentationによると、暗号化は、古き良きjava.util.Properties
経由のOracleConnectionに引数を追加することで、シン・ドライバを設定することができます。
しかし、私は自分のSpring dataSource.xml
の設定でこれを行う方法を見つけることができません。
のdataSource Beanは正常に動作します:
<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>
しかし残念ながら、必要な特性が理解され、Spring documentationでは、以下の例外
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}"/>
- を持っていませんが私はeには、ほんの一握りの属性しか言及されていない。 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の暗号化プロパティを引き渡すためのすべてのソリューションがあります
ありがとうございます@Nirmala。あなたの例は正しい方向に私を押し込んだ。 XML Beanはこの点ではあまりにも制限的なようです。 – jonny