Java 不同端口的 SSLSocket 重用会话
Java SSLSocket reuse session for different port
我正在使用 org.apache.commons.net.ftp.FTPSClient 从外部 ftp 服务器下载文件。该服务器不是由我管理的,它配置为启用选项“require_ssl_reuse”。这意味着,据我所知,同一会话必须用于命令和数据连接。
对于命令连接,使用端口 21,但对于数据,该端口是从未使用的端口范围内选择的。因此,当成功连接到服务器后,我尝试 yo list directory 由于此限制,连接已关闭。
java 客户端在内部使用 SSLSockets。是否可以为相同的 IP 但不同的端口重用 SSLSession?有人知道支持 ssl 会话重用的 java 客户端吗?
提前致谢!
我找到解决办法了!它是来自 Cyberduck 核心的 FTPClient class。它从 org.apache.commons.net 扩展 FTPSClient 并重用会话,使用 java 反射将其注入 SSLSocket。
SSL 会话未绑定到特定端口,并且 JSSE 已经支持会话恢复。
这应该开箱即用。
你有证据证明它不是吗?
我正在使用 org.apache.commons.net.ftp.FTPSClient 从外部 ftp 服务器下载文件。该服务器不是由我管理的,它配置为启用选项“require_ssl_reuse”。这意味着,据我所知,同一会话必须用于命令和数据连接。
对于命令连接,使用端口 21,但对于数据,该端口是从未使用的端口范围内选择的。因此,当成功连接到服务器后,我尝试 yo list directory 由于此限制,连接已关闭。
java 客户端在内部使用 SSLSockets。是否可以为相同的 IP 但不同的端口重用 SSLSession?有人知道支持 ssl 会话重用的 java 客户端吗?
提前致谢!
我找到解决办法了!它是来自 Cyberduck 核心的 FTPClient class。它从 org.apache.commons.net 扩展 FTPSClient 并重用会话,使用 java 反射将其注入 SSLSocket。
SSL 会话未绑定到特定端口,并且 JSSE 已经支持会话恢复。
这应该开箱即用。
你有证据证明它不是吗?