我遇到了一篇有趣的文章,它展示了我们如何使用 java 瘦客户端透明地加密 jdbc 连接。
但是我想知道如何为应用程序服务器(如 oc4j)数据源实现这一点。
我遇到了一篇有趣的文章,它展示了我们如何使用 java 瘦客户端透明地加密 jdbc 连接。
但是我想知道如何为应用程序服务器(如 oc4j)数据源实现这一点。
可以类似地进行。我相信在 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 )"
如果成功了。请告诉我们。
谢谢,富兰克林。
不知何故回复迟了,但对于任何再次遇到这个问题的人
对于加密/完整性:
您将需要在 $J2EE_HOME/config/data-sources.xml 中手动插入此属性,如下所示: - 未经过彻底测试,但应该可以工作,至少需要很少的 twicking,但应该使用 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:
富兰克林的解决方案不起作用,因为允许在 OC4J 中添加的属性仅限于某些枚举值,因此无法添加诸如“oracle.net.encryption_client”之类的属性......相反,您将收到此oc4j 错误