我使用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没有显示任何其他连接到主机的方法。
答案 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
现在这是需要传递给程序的密钥库文件。