RC4_256 の代わりに AES256 を使用して、クライアント アプリケーションを暗号化された Oracle 11g サーバーに強制的に接続しようとしています。RC4_256 暗号化タイプが「間もなく」無効になることが通知されました。
接続プールとして c3p0 で最新の 11g ドライバーを使用しています。以下はBeanの設定です。
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="oracle.jdbc.OracleDriver"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<!-- other pool properties -->
<property name="properties">
<props>
<prop key="user">${jdbc.username}</prop>
<prop key="password">${jdbc.password}</prop>
<!-- this is one set of many I've tried -->
<prop key="oracle.net.encryption_client">REQUIRED</prop>
<prop key="oracle.net.encryption_types_client">( AES256 )</prop>
</props>
</property>
</bean>
oracle.net.encryption_types_client、およびoracle.net.encryption_client、CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_LEVEL、CONNECTION_PROPERTY_THIN_NET_ENCRYPTION_TYPESを使用して、多くの順列を試しました。Oracle ドキュメントにあるように、Java プロパティなどのように名前を付けました。
RC4_256 以外では接続できませんでした。
データベース サーバーで次のクエリを使用して、クライアントの接続方法を確認しています。v$session_connect_info テーブルの Network_Service_Banner は、接続方法を示しています。ここに私が受け取っている現在のメッセージがあります
Oracle Advanced Security: Solaris用RC4_256暗号化サービス・アダプタ: バージョン11.2.0.3.0 - Prod
select s.username,s.machine,s.program,S.LOGON_TIME,s1.*
from v$session s, v$session_connect_info s1
where s.sid = s1.sid and s.username in ('MYAPP') and s.machine = 'MY-PC'
order by S.LOGON_TIME DESC, s.sid
この時点で車軸に巻き付いているので、助けていただければ幸いです。