我正在对使用 QuickFIX/J 并使用 Groovy 2.4.5 编写的应用程序进行故障排除,该应用程序使用 Gradle 2.10 构建。此 FIX 服务器还通过 Spring-boot 1.2.6 提供 API。
虽然从 OS X 运行时应用程序可以通过 SSL 连接连接到测试对等接受器,但从 Ubuntu 14.04 运行时它不起作用。
Linux 事件日志:
[时间戳]:断开连接:套接字异常(/ [ip:port]):javax.net.ssl.SSLHandshakeException:SSL握手失败。
我试过检查证书,keytool
但找不到证书问题。我还检查了文件的路径是否匹配大小写,排除了 OSX 文件系统不区分大小写的性质。
证书由运行接受者的公司生成和签名。如何进一步解决Ubuntu 上的握手失败问题?
更新
在为 QuickFIX/J 实现更多日志记录后,我得到了额外的信息。我尝试的所有谷歌搜索都没有很好地解释错误的含义:
[时间戳] [NioProcessor-3] 调试 o.apache.mina.filter.ssl.SslHandler - 来自 SSLEngine.closeInbound() 的意外异常。javax.net.ssl.SSLException:入站在收到对等方的 close_notify 之前关闭:可能的截断攻击?