java加密jdbc连接到大型机上的db2
我通过JDBC连接到大型机上运行的DB2服务器。 我需要建立一个加密连接!我需要通过网络实现加密连接或数据加密。 你能帮我怎样才能达到同样的效果吗
我已经与运行在linux上的Oracle server建立了加密连接,如链接here所示
你可以在下面搜索框中键入要查询的问题!
我通过JDBC连接到大型机上运行的DB2服务器。 我需要建立一个加密连接!我需要通过网络实现加密连接或数据加密。 你能帮我怎样才能达到同样的效果吗
我已经与运行在linux上的Oracle server建立了加密连接,如链接here所示
# 1 楼答案
步骤1:通过JDBC建立到DB2的非加密连接。让它工作并彻底测试它
第2步:将加密的简单数据传输到大型机,即使只是传递“Hello World!”让它工作并彻底测试它
第3步:将两者合并以实现完全连接:
分阶段进行有助于隔离任何问题。在第2步中,您需要避免使用系统默认值进行加密或解密,明确指定两侧的所有内容。如果事情不完全匹配,一个字节接一个字节,那么加密就注定要失败。此外,还要注意一些吹毛求疵的事情,如字符编码和字节顺序。例如,您的大型机是否使用EBCDIC、ASCII/ANSI或Unicode?PC世界中的常见假设并不总是适用于大型机
# 2 楼答案
除了Ebbe的答案之外,您还可以将SSL/TLS用于jdbc连接——尽管这需要在服务器端做一些工作。特别是在您的系统中,人们必须为大型机的TCP堆栈设置AT-TLS,如果尚未为某些应用程序实现,这将是一项艰巨的工作。然后,您必须为DB2的jdbc端口定义一个使用SSL/TLS的策略
最后,在客户端,您只需在jdbc连接上设置一个属性即可启用TLS:
详细说明见this redpaper
# 3 楼答案
在DB2JDBC驱动程序中使用securityMechanism 13(加密的用户密码和数据安全)。例如,使用db2simpledasource:
要使其工作,您需要使用JCE的无限制策略文件修补JVM强>
# 4 楼答案
除了已经发布的答案外,还有一个我很少提到的非常简单的解决方案——将连接从IPv4切换到IPv6。在它的许多其他属性中,IPv6在任何会话上都包含内置加密,因此只需将您的网络地址从IPv4地址更改为IPv6地址就可以了。在大型机上可以进行一些网络和系统配置,但是一旦设置完成,您就可以保证所有JDBC网络连接都默认加密