0

我遇到了一篇有趣的文章,它展示了我们如何使用 java 瘦客户端透明地加密 jdbc 连接。

http://javasight.wordpress.com/2008/08/29/network-data-encryption-and-integrity-for-thin-jdbc-clients/

但是我想知道如何为应用程序服务器(如 oc4j)数据源实现这一点。

4

2 回答 2

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 )"

如果成功了。请告诉我们。

谢谢,富兰克林。

于 2009-02-22T06:40:00.810 回答
0

不知何故回复迟了,但对于任何再次遇到这个问题的人

对于加密/完整性:

您将需要在 $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:

检查此链接中的“配置 TCPS 数据源”部分

富兰克林的解决方案不起作用,因为允许在 OC4J 中添加的属性仅限于某些枚举值,因此无法添加诸如“oracle.net.encryption_client”之类的属性......相反,您将收到此oc4j 错误

于 2015-10-15T16:52:35.167 回答