如何在apache FTPS Client中使用Custom Socket Factory

时间:2013-07-24 09:57:51

标签: java ssl sslsocketfactory

我使用FTPClient与FTP服务器通信。它工作得很好。

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

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

请帮帮我。

1 个答案:

答案 0 :(得分:1)

虽然FTPSClientSocketClient,但我发现最好像execProt(String)这样的方法调用setSocketFactory(SocketFactory),甚至FTPS连接逻辑也会致电setSocketFactory(SocketFactory)并撤消您的工作。

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

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