Java SSLSocket重用会话用于不同的端口

时间:2015-09-23 15:14:06

标签: java session ssl client ftps

我正在使用org.apache.commons.net.ftp.FTPSClient从外部ftp服务器下载文件。此服务器不受我管理,并且配置了选项“ require_ssl_reuse ”。这意味着,据我所知,必须使用相同的会话进行命令和数据连接。

对于命令连接,使用端口21但是对于数据,端口是从未使用的端口范围中选择的。因此,在成功连接到服务器之后,我尝试使用列表目录,由于此限制,连接已关闭。

java客户端在内部使用SSLSockets。是否可以将SSLSession重用于相同的IP但不同的端口?有人知道支持ssl会话重用的java客户端吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

我找到了解决方案!这是来自Cyber​​duck核心的FTPClient class。它从org.apache.commons.net扩展了FTPSClient并重用Session,使用java反射将其注入SSLSocket。

答案 1 :(得分:1)

SSL会话未绑定到特定端口,JSSE已支持会话恢复。

这应该是开箱即用的。

你有证据表明不是吗?