0

我正在使用 FTPClient 与 FTP 服务器进行通信。它工作完美。

Apache 为 FTPSClient 提供 API 以使用 SSL/TLS 与 FTP 服务器通信。但它是使用自己的套接字工厂。所以,我无法访问套接字会话。

我想创建自定义套接字工厂,并手动处理套接字会话。

请帮我。

4

1 回答 1

1

虽然FTPSClient是 a SocketClient,但我发现最好不要 setSocketFactory(SocketFactory)像方法那样调用它execProt(String),甚至 FTPS 连接逻辑也会对您的工作进行内部调用setSocketFactory(SocketFactory)并撤消您的工作。

我建议将 SSL 上下文设置为构造函数的参数,和/或使用 和 等方法为setEnabledProtocols(String[])Apache setTrustManager(TrustManager)Commons 代码将在 FTPSClient 的生命周期内创建的无数 SocketFactory 对象设置条件。

仅供参考:TrustManager对象和SSLContext对象可以配置为使用您自己的 trustStore 和/或 JVM 的默认 trustStore。

于 2015-01-30T19:16:26.013 回答