2009-09-14 47 views
1

我有一个Java应用程序的工作原型,它使用Apache Commons Net FTPSClient通过SSL连接到FileZilla服务器(端口990是值得的)。使用数字证书或私钥对FTP服务器进行FTPSClient验证

没问题。问题是,该应用程序目前正在以用户名和密码的形式维护FTP用户的凭据。

是否可以通过提供客户端证书/公钥来执行FTP用户(如FTP登录,而不仅仅是SSL协商/验证)的身份验证?

我知道我可以用SCP或SFTP来做到这一点,因为SSH服务器可以处理这些问题。如果这是正确的解决方案,那么就这样吧,但我不想放弃FTPS,直到我明白了。

所以问题有两个部分:

一)是否有通过认证支持SSL(FTPS)和客户端身份验证/登录FTP服务器的任何实现?

b)如何获得org.apache.commons.net.ftp.FTPSClient来做到这一点?

回答

1

a)有很多服务器支持通过证书进行客户端身份验证。 Windows上的CompleteFTP是一个,Unix上的ProFTPD是另一个。需要注意的一点是,端口990通常与隐式模式FTPS相关联,因此已弃用。

b)不确定FTPSClient,但在edtFTPj/PRO容易做。有关howto,请参见this link

相关问题