使用java通过FTP传输文件时重置连接

时间:2012-06-11 15:00:28

标签: java ftps

我使用Java(Zehon)通过FTPS传输文件。这是我的代码段。

try {
FTPsClient ftpClient = new FTPsClient(host, port,username ,password ,false,keyStorePath,keyStorePass);
ftpClient.sendFile(absFilePath, ftpsFolder);
}catch (FileTransferException e) {e.printStackTrace();}

我已经telnet主机IP,我正在连接。我很确定我传递的凭据是正确的。我得到的例外是com.zehon.exception.FileTransferException: java.net.SocketException: Connection reset 有关连接到主机时可能需要添加的其他内容的任何建议,因为FTPsClient的javadoc没有显示任何其他连接到主机的方法。

1 个答案:

答案 0 :(得分:0)

问题在于配置密钥库文件。这就是你实际需要的方式: 下载OPENSSL并输入此命令

openssl pkcs12 -export -in  /path/to/YourVeriSignSSLCert.crt -inkey /path/to/YourPrivateKey.key -out mycert.p12 -name tomcat -CAfile /path/to/YourIntermediateCertificate.cer -caname root

YourVeriSignSSLCert.crt是您当前的openssl证书

YourPrivateKey.key是您当前的私钥

YourIntermediateCertificate.cer是VeriSign中间CA

导出的密钥库将位于“mycert.p12”

现在密钥库文件是pkcs12格式我将其转换为jks格式:

keytool -v -importkeystore -trustcacerts -srckeystore mycert.p12 -srcstoretype PKCS12 -destkeystore md_keystore.jks -deststoretype JKS

现在这是需要传递给程序的密钥库文件。