我遇到了一篇有趣的文章,展示了如何使用java瘦客户端透明地加密jdbc连接。
但是我想知道如何为应用服务器(如oc4j)数据源实现这一点。
答案 0 :(得分:1)
可以类似地完成。我相信Oracle AS在创建数据源时会在页面底部有一个选项,即添加属性。我相信你可以在那里添加以下内容并尝试一下。
// Set the Client encryption level
"oracle.net.encryption_client" = Service.getLevelString(level)
// Set the Client encryption selected list
"oracle.net.encryption_types_client"= "(RC4_40)"
// Set the Client integrity level
"oracle.net.crypto_checksum_client"= Service.getLevelString(level)
// Set the client integrity selected list
"oracle.net.crypto_checksum_types_client"="( MD5 )"
如果它成功了。请告诉我们。
谢谢, 富兰克林。
答案 1 :(得分:0)
某种程度上迟到的回复,但对于任何再次遇到这个问题的人来说
对于Enryption / Integrity:
您将需要在$ J2EE_HOME / config / data-sources.xml中手动插入此属性,如下所示: - 未经过彻底测试但应该可以正常工作,至少只需要很少的工作,但应该使用OracleDataSource工厂类 -
<connection-factory factory-class="oracle.jdbc.pool.OracleDataSource" user=... >
<connection-properties>
<property name="oracle.net.encryption_client" value="REQUIRED123"/>
<property name="oracle.net.crypto_checksum_types_client" value="(SHA1123)"/>
<property name="oracle.net.crypto_checksum_client" value="REQUIRED"/>
<property name="oracle.net.encryption_types_client" value="(AES256)"/>
</connection-properties>
</connection-factory>
对于SSL:
检查&#34;配置TCPS数据源&#34;此link
中的部分富兰克林的解决方案无法正常工作,因为允许在OC4J中添加的属性仅限于某些枚举值,因此没有类似于&#34; oracle.net.encryption_client&#34;例如,无法添加...而是您将获得此oc4j error