首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ftp4j: client.login返回无法识别的SSL消息,是否为明文连接?

ftp4j: client.login返回无法识别的SSL消息,是否为明文连接?
EN

Stack Overflow用户
提问于 2013-03-15 21:59:11
回答 2查看 4.2K关注 0票数 0

这是我的代码

代码语言:javascript
复制
try{
    TrustManager[] trustManager = new TrustManager[] { new X509TrustManager() {
        public X509Certificate[] getAcceptedIssuers() { return null; }
        public void checkClientTrusted(X509Certificate[] certs, String authType) {}
        public void checkServerTrusted(X509Certificate[] certs, String authType) {}
    } };

    SSLContext sslContext = null;

    sslContext = SSLContext.getInstance("TLS");
    sslContext.init(null, trustManager, new SecureRandom());
    SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
    FTPClient client = new FTPClient();

    client.setSSLSocketFactory(sslSocketFactory);
    client.setSecurity(FTPClient.SECURITY_FTPES);

    client.connect("xxx.xxx.xxx", 21);
    System.out.println("Connected (" + client.isConnected() + ") to host " + client.getHost() + ":" + client.getPort());
    client.login("xxxxx", "xxxxx");            
}catch (Exception e) {
    e.printStackTrace();
}

它在运行时返回

代码语言:javascript
复制
Connected (true) to host xxx.xxx.xxx:21

然后在client.login("xxxxx",“xxxxx”)上中断;

代码语言:javascript
复制
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

知道为什么会这样吗?

java版本为1.4.2,ftp4j版本为1.7.2

EN

回答 2

Stack Overflow用户

发布于 2013-03-16 08:14:55

信息是明确的。您正在与明文对等方对话SSL。该主机的端口21上是否真的有FTPS服务器?

票数 0
EN

Stack Overflow用户

发布于 2016-01-28 06:04:16

请确保使用正确的安全设置,例如FTPClient.SECURITY_FTPSFTPClient.SECURITY_FTPES

FTPS (基于隐式

/SSL)和FTPES (基于显式TLS/SSL)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15434338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档