Jdbc Can';t使用DataGrip连接到DB2,securityMechanism=13

Jdbc Can';t使用DataGrip连接到DB2,securityMechanism=13,jdbc,db2,datagrip,Jdbc,Db2,Datagrip,我正在尝试使用DataGrip与DB2数据库建立连接。对于连接,需要安全机制=13 连接失败,出现以下消息: [4223][jcc][1071][10615][3.68.61]被抓获 初始化时java.security.invalidalgorithParameterException 加密管理器。有关详细信息,请参见随附的一次性广告。 ERRORCODE=-4223,SQLSTATE=null DH密钥大小必须是64的倍数,并且 只能从512到8192(包括512和8192)。特定密钥大小为2

我正在尝试使用DataGrip与DB2数据库建立连接。对于连接,需要
安全机制=13

连接失败,出现以下消息:

[4223][jcc][1071][10615][3.68.61]被抓获 初始化时java.security.invalidalgorithParameterException 加密管理器。有关详细信息,请参见随附的一次性广告。 ERRORCODE=-4223,SQLSTATE=null DH密钥大小必须是64的倍数,并且 只能从512到8192(包括512和8192)。特定密钥大小为256 不支持

我们使用了以下字符串:

 jdbc:db2://<ip-adress>:<port>/<schema>:securityMechanism=13;
jdbc:db2://://:securityMechanism=13;
当我们禁用安全措施时,我们可以连接到数据库,但一旦启用了加密的用户密码和数据安全,我们就无法建立连接

我们还使用DataStudio,通过该应用程序可以创建到DB2数据库的jdbc连接。我们更喜欢使用DataGrip,因为我们需要维护不同类型的数据库,这在DataStudio中是不可能的。

重要提示:DATA_ENCRYPT身份验证类型已弃用,可能会在将来的版本中删除

要加密Linux®、UNIX和Windows系统数据库上的客户端和Db2®之间传输的数据,建议您使用Linux、UNIX和Windows系统上的Db2数据库系统支持的安全套接字层(SSL)

来自

DB2V11以后的版本不支持数据加密。没有计划使用openJDK 11支持数据加密。建议使用SSL


DataGrip使用JAVA 11,而
DATA\u ENCRYPT
不支持JAVA 11

比较成功案例(IBM DataStudio)和失败案例(DataGrip)中使用的jvm/jdk/jre的确切版本。您可能会发现失败的案例使用Java11或更高版本,如果这是真的,那么这个技术说明将给出原因:您的第一语言可能不是英语。写“is not working”是不正确的,因为IBM故意取消了对该特性的支持。所以它是“设计的”。它正以IBM预期的方式工作。IBM强制您将Db2实例和客户端配置为使用SSL/TLS。