如何在crystal和db服务器之间加密数据

时间:2013-12-10 02:05:34

标签: java encryption crystal-reports ejb jndi

Total Crystal / EJB / JNDI noob所以请体谅:)我没有任何源代码发布(还)因为我不太了解这3个结合发布任何有意义的内容。

总之...

我正在维护一个使用EJB3和JNDI连接到我的Crystal报表的数据库的应用程序。现在,由于我们的要求,我们需要确保应用程序和数据库之间的通信是安全的(例如加密)。该怎么做?

我一直在讨论使用安全域,JAAS和角色(如this之一)的讨论,但从我所看到的情况来看,这将迫使我在每个与连接有关的方法上加注释到DB,更不用说为用户定义角色了(此时不需要)。然后有人说这只是配置我的应用服务器(在这种情况下,它是JBoss)或在我的web.xml中放置传输保证(例如机密)。

什么是最好的方法(或者您认为这是多余/不必要的)?任何关于从哪里开始的帮助或提示都会非常感激,因为我真的没有看到如何解决这个问题。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您有两个选择:

  1. 的IPsec
  2. 第一个选项是操作系统级加密。主机端点之间的所有网络流量都是加密的。您需要为IPsec配置APP和DB服务器的操作系统。

    1. 加密的JDBC连接
    2. 在此选项中,仅加密数据库服务器和客户端之间的JDBC网络流量。在数据库服务器端,您需要将数据库服务器配置为SUPPORT或REQUIRE加密。在客户端,您需要配置JDBC连接属性以使用加密。 SSL密钥的确切配置和路径取决于您使用的数据库。

      这2个选项并不相互排斥,您可以同时实现这两个选项,但我认为这是一个过度杀伤。