【发布时间】:2017-10-22 11:34:43
【问题描述】:
我的代码(我在运行时使用-Dhttps.protocols=TLSv1.2 VM 参数):
FTPSClient ftpClient = new FTPSClient("TLS", false);
ftpClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
ftpClient.setAuthValue("TLS");
ftpClient.connect("myhost", 990);
ftpClient.login("mylogin", "mypassword");
堆栈跟踪:
javax.net.ssl.SSLHandshakeException:远程主机关闭连接 握手期间
在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:992)
// 太多痕迹...
原因:java.io.EOFException:SSL 对等体错误关闭
在 sun.security.ssl.InputRecord.read(InputRecord.java:505)
在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
... 33 更多
来自 WinSCP 的日志(我可以使用 WinSCP 发送文件):
536 复制 1 个文件/目录到远程目录 "/" 536 PrTime: 是的; PrRO:没有;右:rw-r--r--; PrR:否(否); FnCs:N; RIC:0100; 简历:S(102400);计算:是的;面具:. 536 TM:B; ClAr:没有; RemEOF:没有; RemBOM:没有; CPS:0;仅更新:否;包括:;简历L:0 536 AscM: *.*html; *.htm; *。文本文件; *.php; *.php3; *.cgi; *。C; *.cpp; *。H; *.pas; *.bas; *.tex; *.pl; *.js; .htaccess; *.xml; *.css; *.cfg; *.ini; *.sh; *.xml 539 文件:'C:\Users\trescon.jramos\Documents\cliente-dados.sql' [2016-10-06T16:34:29.298Z] [4869] 557 复制 “C:\Users\trescon.jramos\Documents\cliente-dados.sql”到远程 目录启动。 560 选择了二进制传输模式。第560章 carregamento de C:\Users\trescon.jramos\Documents\cliente-dados.sql 560 TYPE I 562 200 类型设置为 I 563 PASV 568 227 进入被动 模式 (10,28,14,218,250,0) 569 STOR cliente-dados.sql 569 Conectando a 10.28.14.218:64000... 575 150 打开数据通道以将文件上传到“/cliente-dados.sql”的服务器 579 会话 ID 重用 579 使用 TLSv1.2,密码 TLSv1/SSLv3:ECDHE-RSA-AES256-GCM-SHA384,2048 位 RSA、ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD 580 Conexão SSL estabelecida 586 226 成功传输“/cliente-dados.sql” 586 MFMT 20161006163429 客户端-dados.sql 590 213 修改=20161006163429; /cliente-dados.sql 590 Carregamento bem-succedido 591 转移完成: 'C:\Users\trescon.jramos\Documents\cliente-dados.sql' [4869]
【问题讨论】:
标签: java ssl ftp apache-commons-net