我正嘗試使用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