我正尝试使用JDBC驱动程序建立与Sybase ASE 15.7的SSL连接,但没有运气。 我尝试以下选项:如何使用JDBC驱动程序和SSL连接来连接到Sybase ASE
使用JTDS 1.25驱动程序(JTDS-1.2.5.jar)
具有以下连接字符串:
jdbc:jtds:sybase://host:port;databaseName=dbname;ssl=request
我
Network error IOException: Connection refused
使用Jconnect 4(jconn4.jar)
使用以下连接字符串:
JDBC:SYBASE:TDS:主机:端口/ DBNAME ENABLE_SSL =真
我
java.sql.SQLException: JZ00L: Login failed. Examine the SQLWarnings chained to this exception for the reason(s) ... java.sql.SQLException: I/O Error: DB server closed connection.
我查了Sybase日志看到以下错误:
kernel SSL or Crypto Error Message: 'The SSL handshake failed. Root error: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol'.
它看起来像Sybase服务器期望SSL连接,但java客户端仍然不使用SSL(尽管连接字符串属性标记ssl = true)。
尝试搜索Sybase文档并没有太大的运气,对于此错误和SSL与JConnect都没有。
任何答案将不胜感激 - 我对驱动程序和配置类型很灵活。
谢谢
哪个Java版本? – RealSkeptic
试过1.6和1.7 – zuckermanori
请试用最新的jTDS。在过去的几年中已经暴露出几个SSL/TLS相关的漏洞,并且相应地发布了许多补丁。看起来客户端正在尝试使用SSL2或SSL3,并且大多数安全服务器不再支持这些协议。 – RealSkeptic