【问题标题】:Java SSLSocket reuse session for different port不同端口的Java SSLSocket重用会话
【发布时间】:2015-09-23 15:14:06
【问题描述】:

我正在使用 org.apache.commons.net.ftp.FTPSClient 从外部 ftp 服务器下载文件。该服务器不是由我管理的,它配置了启用选项“require_ssl_reuse”。这意味着,据我了解,必须将同一会话用于命令和数据连接。

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

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

提前致谢!

【问题讨论】:

    标签: java session ssl client ftps


    【解决方案1】:

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

    这应该是开箱即用的。

    你有证据证明不是吗?

    【讨论】:

    • 我在使用 org.apache.commons.net 的 FTPSClient 启用了 requiere_ssl_reuse 选项的 ftp 服务器下载文件时遇到问题。它似乎不支持 ssl 会话重用。我发现在 Cyber​​Duck 核心类中,它们扩展了 FTPSClient 以支持此功能。它对我有用!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-02-05
      • 2012-11-11
      • 2015-03-09
      • 1970-01-01
      • 2014-08-04
      • 2020-06-07
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多